summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/cygwin/lib/perl5/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/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/5.10/i686-cygwin')
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/.packlist2387
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B.pm1189
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Concise.pm1824
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Debug.pm333
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Deparse.pm4842
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Lint.pm792
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Showlex.pm205
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Terse.pm102
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Xref.pm430
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/EXTERN.h61
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/INTERN.h54
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/XSUB.h655
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/av.h126
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cc_runtime.h83
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/config.h4493
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cop.h913
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cv.h276
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/dosish.h209
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embed.h4738
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embedvar.h842
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakesdio.h133
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakethr.h75
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/form.h27
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/gv.h227
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/handy.h865
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/hv.h552
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/intrpvar.h686
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/iperlsys.h1420
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/keywords.h269
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.abin2070568 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.abin1289112 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/malloc_ctl.h64
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mg.h72
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mydtrace.h42
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/nostdio.h136
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/op.h749
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opcode.h1911
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opnames.h433
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/overload.h88
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pad.h356
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/parser.h118
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/patchlevel.h140
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perl.h5996
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlapi.h829
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlio.h394
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perliol.h297
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsdio.h164
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsfio.h84
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlvars.h188
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perly.h214
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp.h511
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp_proto.h410
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/proto.h4754
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/reentr.h1540
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcharclass.h454
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcomp.h828
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regexp.h679
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regnodes.h664
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/scope.h271
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/sv.h2109
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/thread.h484
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uconfig.h4481
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/unixish.h156
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utf8.h352
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utfebcdic.h429
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/util.h53
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uudmap.h18
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/warnings.h123
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Raw/Zlib.pm1175
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Zlib.pm1451
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pm95
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pod8638
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config_heavy.pl1240
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Cwd.pm763
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DB_File.pm2299
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Data/Dumper.pm1286
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/DProf.pm238
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/InnerPackage.pm128
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/PPPort.pm7580
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/Peek.pm570
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/MD5.pm376
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/SHA.pm669
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DynaLoader.pm773
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode.pm948
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Alias.pm375
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Byte.pm120
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CJKConstants.pm66
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN.pm78
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN/HZ.pm198
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Config.pm170
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/EBCDIC.pm45
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoder.pm253
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoding.pm360
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/GSM0338.pm292
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Guess.pm355
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP.pm99
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/H2Z.pm176
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/JIS7.pm164
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR.pm73
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR/2022_KR.pm81
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header.pm242
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header/ISO_2022_JP.pm131
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Name.pm94
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Symbol.pm44
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/TW.pm79
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode.pm270
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode/UTF7.pm128
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Errno.pm275
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Fcntl.pm244
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/Glob.pm496
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/GlobMapper.pm679
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Filter/Util/Call.pm498
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/GDBM_File.pm86
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util.pm520
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util/FieldHash.pm860
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/I18N/Langinfo.pm215
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO.pm68
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Deflate.pm165
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Identity.pm101
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base.pm978
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base/Common.pm914
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Deflate.pm889
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip.pm1201
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip/Constants.pm148
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/RawDeflate.pm976
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip.pm1512
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip/Constants.pm102
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Constants.pm77
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Extra.pm198
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Dir.pm247
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/File.pm204
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Handle.pm633
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Pipe.pm257
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Poll.pm209
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Seekable.pm128
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Select.pm381
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket.pm529
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/INET.pm464
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/UNIX.pm143
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Identity.pm102
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Inflate.pm161
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyInflate.pm946
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyUncompress.pm922
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Base.pm1454
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Gunzip.pm1070
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Inflate.pm941
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/RawInflate.pm1052
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Unzip.pm1485
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Msg.pm245
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Semaphore.pm319
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SharedMem.pm276
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SysV.pm188
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/List/Util.pm281
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/Base64.pm177
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/QuotedPrint.pm116
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Math/BigInt/FastCalc.pm125
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable.pm355
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable/Object.pm351
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/NDBM_File.pm116
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/O.pm143
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ODBM_File.pm113
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Opcode.pm590
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pm1042
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pod2210
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/encoding.pm53
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/scalar.pm41
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/via.pm244
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/SDBM_File.pm116
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Safe.pm630
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Scalar/Util.pm334
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Socket.pm414
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Storable.pm1188
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Hostname.pm165
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Syslog.pm1531
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Text/Soundex.pm260
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/HiRes.pm588
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Piece.pm800
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm230
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Unicode/Normalize.pm518
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32.pm783
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32API/File.pm3035
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32CORE.pm38
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/XSLoader.pm350
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/attrs.pm58
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/B/B.dllbin176920 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/Zlib.dllbin180222 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/autosplit.ix3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Zlib/autosplit.ix3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Cwd/Cwd.dllbin24167 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/DB_File.dllbin75673 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/autosplit.ix3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Data/Dumper/Dumper.dllbin51769 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/DProf/DProf.dllbin30163 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/PPPort/PPPort.dllbin177991 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/Peek/Peek.dllbin34265 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/MD5/MD5.dllbin26644 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/SHA/SHA.dllbin77883 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/autosplit.ix8
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_expandspec.al31
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_find_symbol_anywhere.al19
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_findfile.al87
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Byte/Byte.dllbin165818 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/CN/CN.dllbin864509 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/EBCDIC/EBCDIC.dllbin30716 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Encode.dllbin52887 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/JP/JP.dllbin975990 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/KR/KR.dllbin950757 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Symbol/Symbol.dllbin37730 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/TW/TW.dllbin881980 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Unicode/Unicode.dllbin31974 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Fcntl/Fcntl.dllbin22585 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dllbin33565 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Filter/Util/Call/Call.dllbin27610 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/GDBM_File/GDBM_File.dllbin59134 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/FieldHash/FieldHash.dllbin39930 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/Util.dllbin21990 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/Langinfo.dllbin23913 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/autosplit.ix3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IO/IO.dllbin31224 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IPC/SysV/SysV.dllbin44091 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/List/Util/Util.dllbin50771 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/MIME/Base64/Base64.dllbin22391 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dllbin36372 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/NDBM_File/NDBM_File.dllbin49114 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/ODBM_File/ODBM_File.dllbin50667 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Opcode/Opcode.dllbin39835 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/POSIX.dllbin141462 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/flags.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/handler.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/mask.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/new.al11
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/safe.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/CLEAR.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/DELETE.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/EXISTS.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/FETCH.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/SCALAR.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/STORE.al9
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_check.al15
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_croak.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_exist.al14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_getsig.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_init.al14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/new.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/abs.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/alarm.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/assert.al15
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atan2.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atexit.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atof.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atoi.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atol.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/autosplit.ix173
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/bsearch.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/calloc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chdir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chmod.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chown.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/clearerr.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/closedir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/cos.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/creat.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/div.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/errno.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execl.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execle.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execlp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execv.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execve.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execvp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exit.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exp.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fabs.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fclose.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fcntl.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fdopen.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/feof.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ferror.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fflush.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetpos.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgets.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fileno.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fopen.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fork.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fprintf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputs.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fread.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/free.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/freopen.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fscanf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fseek.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsetpos.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fstat.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsync.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ftell.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fwrite.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getc.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getchar.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getegid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getenv.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/geteuid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrgid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrnam.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgroups.al14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getlogin.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpgrp.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getppid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwnam.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwuid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gets.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getuid.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gmtime.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/isatty.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/kill.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/labs.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ldiv.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/link.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/load_imports.al230
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/localtime.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/log.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/longjmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/malloc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memchr.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcpy.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memmove.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memset.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/mkdir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/offsetof.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/opendir.al16
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/perror.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/pow.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/printf.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putchar.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/puts.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/qsort.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/raise.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rand.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/readdir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/realloc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/redef.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/remove.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rename.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewind.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewinddir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rmdir.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/scanf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setbuf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setjmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setvbuf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/siglongjmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sigsetjmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sin.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sleep.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sprintf.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sqrt.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/srand.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sscanf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/stat.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcat.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strchr.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcpy.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcspn.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strerror.al14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strlen.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncat.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncmp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncpy.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strpbrk.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strrchr.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strspn.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strstr.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strtok.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/system.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/time.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tmpfile.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tolower.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/toupper.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/umask.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ungetc.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unimpl.al14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unlink.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/usage.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/utime.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vfprintf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vprintf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vsprintf.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/wait.al13
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/waitpid.al13
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/encoding/encoding.dllbin43141 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/scalar/scalar.dllbin23718 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/via/via.dllbin35673 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/SDBM_File/SDBM_File.dllbin48543 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Socket/Socket.dllbin32789 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_VERSION_NV.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_WRITE_VERSION_NV.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/CAN_FLOCK.al21
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/Storable.dllbin99824 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_freeze.al23
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_retrieve.al31
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store.al41
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store_fd.al27
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/autosplit.ix28
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/fd_retrieve.al25
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/file_magic.al21
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/freeze.al18
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_nstore.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_retrieve.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_store.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcarp.al12
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcroak.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nfreeze.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore.al17
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore_fd.al18
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/read_magic.al69
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/retrieve.al18
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/show_file_magic.al30
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store.al20
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store_fd.al18
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/thaw.al28
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/Hostname.dllbin17933 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/autosplit.ix3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Syslog/Syslog.dllbin32041 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Text/Soundex/Soundex.dllbin18958 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/HiRes/HiRes.dllbin42350 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dllbin25372 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Unicode/Normalize/Normalize.dllbin278609 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32/Win32.dllbin79927 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32API/File/File.dllbin149032 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32CORE/extralibs.ld1
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/attrs/attrs.dllbin18093 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/re/re.dllbin351698 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/sdbm/extralibs.ld1
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/shared/shared.dllbin61521 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/threads.dllbin66685 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/encoding.pm669
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/lib.pm236
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ops.pm47
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/perllocal.pod1034
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/re.pm504
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads.pm1039
-rw-r--r--chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads/shared.pm566
448 files changed, 0 insertions, 139377 deletions
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/.packlist b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/.packlist
deleted file mode 100644
index 5f82cd70379..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/.packlist
+++ /dev/null
@@ -1,2387 +0,0 @@
-/usr/bin/a2p5.10.0.exe type=file
-/usr/bin/c2ph5.10.0 type=file
-/usr/bin/config_data5.10.0 type=file
-/usr/bin/corelist5.10.0 type=file
-/usr/bin/cpan2dist5.10.0 type=file
-/usr/bin/cpan5.10.0 type=file
-/usr/bin/cpanp-run-perl5.10.0 type=file
-/usr/bin/cpanp5.10.0 type=file
-/usr/bin/cygperl5_10.dll type=file
-/usr/bin/dprofpp5.10.0 type=file
-/usr/bin/enc2xs5.10.0 type=file
-/usr/bin/find2perl5.10.0 type=file
-/usr/bin/h2ph5.10.0 type=file
-/usr/bin/h2xs5.10.0 type=file
-/usr/bin/instmodsh5.10.0 type=file
-/usr/bin/libnetcfg5.10.0 type=file
-/usr/bin/perl5.10.0.exe type=file
-/usr/bin/perlbug5.10.0 type=file
-/usr/bin/perldoc5.10.0 type=file
-/usr/bin/perlivp5.10.0 type=file
-/usr/bin/perlthanks5.10.0 from=/usr/bin/perlbug5.10.0 type=link
-/usr/bin/piconv5.10.0 type=file
-/usr/bin/pl2pm5.10.0 type=file
-/usr/bin/pod2html5.10.0 type=file
-/usr/bin/pod2latex5.10.0 type=file
-/usr/bin/pod2man5.10.0 type=file
-/usr/bin/pod2text5.10.0 type=file
-/usr/bin/pod2usage5.10.0 type=file
-/usr/bin/podchecker5.10.0 type=file
-/usr/bin/podselect5.10.0 type=file
-/usr/bin/prove5.10.0 type=file
-/usr/bin/psed5.10.0 from=/usr/bin/s2p5.10.0 type=link
-/usr/bin/pstruct5.10.0 from=/usr/bin/c2ph5.10.0 type=link
-/usr/bin/ptar5.10.0 type=file
-/usr/bin/ptardiff5.10.0 type=file
-/usr/bin/s2p5.10.0 type=file
-/usr/bin/shasum5.10.0 type=file
-/usr/bin/splain5.10.0 type=file
-/usr/bin/xsubpp5.10.0 type=file
-/usr/lib/perl5/5.10/AnyDBM_File.pm type=file
-/usr/lib/perl5/5.10/App/Prove.pm type=file
-/usr/lib/perl5/5.10/App/Prove/State.pm type=file
-/usr/lib/perl5/5.10/Archive/Extract.pm type=file
-/usr/lib/perl5/5.10/Archive/Tar.pm type=file
-/usr/lib/perl5/5.10/Archive/Tar/Constant.pm type=file
-/usr/lib/perl5/5.10/Archive/Tar/File.pm type=file
-/usr/lib/perl5/5.10/Attribute/Handlers.pm type=file
-/usr/lib/perl5/5.10/AutoLoader.pm type=file
-/usr/lib/perl5/5.10/AutoSplit.pm type=file
-/usr/lib/perl5/5.10/B/Lint/Debug.pm type=file
-/usr/lib/perl5/5.10/Benchmark.pm type=file
-/usr/lib/perl5/5.10/CGI.pm type=file
-/usr/lib/perl5/5.10/CGI/Apache.pm type=file
-/usr/lib/perl5/5.10/CGI/Carp.pm type=file
-/usr/lib/perl5/5.10/CGI/Cookie.pm type=file
-/usr/lib/perl5/5.10/CGI/Fast.pm type=file
-/usr/lib/perl5/5.10/CGI/Pretty.pm type=file
-/usr/lib/perl5/5.10/CGI/Push.pm type=file
-/usr/lib/perl5/5.10/CGI/Switch.pm type=file
-/usr/lib/perl5/5.10/CGI/Util.pm type=file
-/usr/lib/perl5/5.10/CORE.pod type=file
-/usr/lib/perl5/5.10/CPAN.pm type=file
-/usr/lib/perl5/5.10/CPAN/API/HOWTO.pm type=file
-/usr/lib/perl5/5.10/CPAN/Debug.pm type=file
-/usr/lib/perl5/5.10/CPAN/DeferedCode.pm type=file
-/usr/lib/perl5/5.10/CPAN/FirstTime.pm type=file
-/usr/lib/perl5/5.10/CPAN/HandleConfig.pm type=file
-/usr/lib/perl5/5.10/CPAN/Kwalify.pm type=file
-/usr/lib/perl5/5.10/CPAN/Kwalify/distroprefs.dd type=file
-/usr/lib/perl5/5.10/CPAN/Kwalify/distroprefs.yml type=file
-/usr/lib/perl5/5.10/CPAN/Nox.pm type=file
-/usr/lib/perl5/5.10/CPAN/Queue.pm type=file
-/usr/lib/perl5/5.10/CPAN/Tarzip.pm type=file
-/usr/lib/perl5/5.10/CPAN/Version.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Backend.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Backend/RV.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Config.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Configure.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Configure/Setup.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist/Base.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist/Build.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist/Build/Constants.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist/MM.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Dist/Sample.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Error.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/FAQ.pod type=file
-/usr/lib/perl5/5.10/CPANPLUS/Hacking.pod type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Constants.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Constants/Report.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Extract.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Fetch.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Report.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Search.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Source.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Utils.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Internals/Utils/Autoflush.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module/Author.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module/Author/Fake.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module/Checksums.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module/Fake.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Module/Signature.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Selfupdate.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Classic.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Default.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Default/Plugins/CustomSource.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Default/Plugins/HOWTO.pod type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Default/Plugins/Remote.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/Shell/Default/Plugins/Source.pm type=file
-/usr/lib/perl5/5.10/CPANPLUS/inc.pm type=file
-/usr/lib/perl5/5.10/Carp.pm type=file
-/usr/lib/perl5/5.10/Carp/Heavy.pm type=file
-/usr/lib/perl5/5.10/Class/ISA.pm type=file
-/usr/lib/perl5/5.10/Class/Struct.pm type=file
-/usr/lib/perl5/5.10/Config/Extensions.pm type=file
-/usr/lib/perl5/5.10/DB.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter/compress.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter/encode.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter/int32.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter/null.pm type=file
-/usr/lib/perl5/5.10/DBM_Filter/utf8.pm type=file
-/usr/lib/perl5/5.10/Devel/SelfStubber.pm type=file
-/usr/lib/perl5/5.10/Digest.pm type=file
-/usr/lib/perl5/5.10/Digest/base.pm type=file
-/usr/lib/perl5/5.10/Digest/file.pm type=file
-/usr/lib/perl5/5.10/DirHandle.pm type=file
-/usr/lib/perl5/5.10/Dumpvalue.pm type=file
-/usr/lib/perl5/5.10/Encode/Changes.e2x type=file
-/usr/lib/perl5/5.10/Encode/ConfigLocal_PM.e2x type=file
-/usr/lib/perl5/5.10/Encode/Makefile_PL.e2x type=file
-/usr/lib/perl5/5.10/Encode/PerlIO.pod type=file
-/usr/lib/perl5/5.10/Encode/README.e2x type=file
-/usr/lib/perl5/5.10/Encode/Supported.pod type=file
-/usr/lib/perl5/5.10/Encode/_PM.e2x type=file
-/usr/lib/perl5/5.10/Encode/_T.e2x type=file
-/usr/lib/perl5/5.10/Encode/encode.h type=file
-/usr/lib/perl5/5.10/English.pm type=file
-/usr/lib/perl5/5.10/Env.pm type=file
-/usr/lib/perl5/5.10/Exporter.pm type=file
-/usr/lib/perl5/5.10/Exporter/Heavy.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Base.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/Unix.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/VMS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/Windows.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/aix.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/cygwin.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/darwin.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/CBuilder/Platform/os2.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Command.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Command/MM.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Constant.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Constant/Base.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Constant/ProxySubs.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Constant/Utils.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Constant/XS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Embed.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Install.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Installed.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Liblist.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Liblist/Kid.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MANIFEST.SKIP type=file
-/usr/lib/perl5/5.10/ExtUtils/MM.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_AIX.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Any.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_BeOS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Cygwin.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_DOS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Darwin.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_MacOS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_NW5.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_OS2.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_QNX.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_UWIN.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Unix.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_VMS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_VOS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Win32.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MM_Win95.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MY.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker/Config.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker/FAQ.pod type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker/Tutorial.pod type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker/bytes.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/MakeMaker/vmsish.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Manifest.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Miniperl.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Mkbootstrap.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Mksymlists.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/Packlist.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/ParseXS.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/testlib.pm type=file
-/usr/lib/perl5/5.10/ExtUtils/typemap type=file
-/usr/lib/perl5/5.10/ExtUtils/xsubpp type=file
-/usr/lib/perl5/5.10/Fatal.pm type=file
-/usr/lib/perl5/5.10/File/Basename.pm type=file
-/usr/lib/perl5/5.10/File/CheckTree.pm type=file
-/usr/lib/perl5/5.10/File/Compare.pm type=file
-/usr/lib/perl5/5.10/File/Copy.pm type=file
-/usr/lib/perl5/5.10/File/DosGlob.pm type=file
-/usr/lib/perl5/5.10/File/Fetch.pm type=file
-/usr/lib/perl5/5.10/File/Find.pm type=file
-/usr/lib/perl5/5.10/File/Path.pm type=file
-/usr/lib/perl5/5.10/File/Spec.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Cygwin.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Epoc.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Functions.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Mac.pm type=file
-/usr/lib/perl5/5.10/File/Spec/OS2.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Unix.pm type=file
-/usr/lib/perl5/5.10/File/Spec/VMS.pm type=file
-/usr/lib/perl5/5.10/File/Spec/Win32.pm type=file
-/usr/lib/perl5/5.10/File/Temp.pm type=file
-/usr/lib/perl5/5.10/File/stat.pm type=file
-/usr/lib/perl5/5.10/FileCache.pm type=file
-/usr/lib/perl5/5.10/FileHandle.pm type=file
-/usr/lib/perl5/5.10/Filter/Simple.pm type=file
-/usr/lib/perl5/5.10/FindBin.pm type=file
-/usr/lib/perl5/5.10/Getopt/Long.pm type=file
-/usr/lib/perl5/5.10/Getopt/Std.pm type=file
-/usr/lib/perl5/5.10/I18N/Collate.pm type=file
-/usr/lib/perl5/5.10/I18N/LangTags.pm type=file
-/usr/lib/perl5/5.10/I18N/LangTags/Detect.pm type=file
-/usr/lib/perl5/5.10/I18N/LangTags/List.pm type=file
-/usr/lib/perl5/5.10/IO/Zlib.pm type=file
-/usr/lib/perl5/5.10/IPC/Cmd.pm type=file
-/usr/lib/perl5/5.10/IPC/Open2.pm type=file
-/usr/lib/perl5/5.10/IPC/Open3.pm type=file
-/usr/lib/perl5/5.10/IPC/regen.pl type=file
-/usr/lib/perl5/5.10/Locale/Constants.pm type=file
-/usr/lib/perl5/5.10/Locale/Constants.pod type=file
-/usr/lib/perl5/5.10/Locale/Country.pm type=file
-/usr/lib/perl5/5.10/Locale/Country.pod type=file
-/usr/lib/perl5/5.10/Locale/Currency.pm type=file
-/usr/lib/perl5/5.10/Locale/Currency.pod type=file
-/usr/lib/perl5/5.10/Locale/Language.pm type=file
-/usr/lib/perl5/5.10/Locale/Language.pod type=file
-/usr/lib/perl5/5.10/Locale/Maketext.pm type=file
-/usr/lib/perl5/5.10/Locale/Maketext.pod type=file
-/usr/lib/perl5/5.10/Locale/Maketext/Guts.pm type=file
-/usr/lib/perl5/5.10/Locale/Maketext/GutsLoader.pm type=file
-/usr/lib/perl5/5.10/Locale/Maketext/Simple.pm type=file
-/usr/lib/perl5/5.10/Locale/Maketext/TPJ13.pod type=file
-/usr/lib/perl5/5.10/Locale/Script.pm type=file
-/usr/lib/perl5/5.10/Locale/Script.pod type=file
-/usr/lib/perl5/5.10/Log/Message.pm type=file
-/usr/lib/perl5/5.10/Log/Message/Config.pm type=file
-/usr/lib/perl5/5.10/Log/Message/Handlers.pm type=file
-/usr/lib/perl5/5.10/Log/Message/Item.pm type=file
-/usr/lib/perl5/5.10/Log/Message/Simple.pm type=file
-/usr/lib/perl5/5.10/Math/BigFloat.pm type=file
-/usr/lib/perl5/5.10/Math/BigFloat/Trace.pm type=file
-/usr/lib/perl5/5.10/Math/BigInt.pm type=file
-/usr/lib/perl5/5.10/Math/BigInt/Calc.pm type=file
-/usr/lib/perl5/5.10/Math/BigInt/CalcEmu.pm type=file
-/usr/lib/perl5/5.10/Math/BigInt/Trace.pm type=file
-/usr/lib/perl5/5.10/Math/BigRat.pm type=file
-/usr/lib/perl5/5.10/Math/Complex.pm type=file
-/usr/lib/perl5/5.10/Math/Trig.pm type=file
-/usr/lib/perl5/5.10/Memoize.pm type=file
-/usr/lib/perl5/5.10/Memoize/AnyDBM_File.pm type=file
-/usr/lib/perl5/5.10/Memoize/Expire.pm type=file
-/usr/lib/perl5/5.10/Memoize/ExpireFile.pm type=file
-/usr/lib/perl5/5.10/Memoize/ExpireTest.pm type=file
-/usr/lib/perl5/5.10/Memoize/NDBM_File.pm type=file
-/usr/lib/perl5/5.10/Memoize/SDBM_File.pm type=file
-/usr/lib/perl5/5.10/Memoize/Storable.pm type=file
-/usr/lib/perl5/5.10/Module/Build.pm type=file
-/usr/lib/perl5/5.10/Module/Build/API.pod type=file
-/usr/lib/perl5/5.10/Module/Build/Authoring.pod type=file
-/usr/lib/perl5/5.10/Module/Build/Base.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Compat.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Config.pm type=file
-/usr/lib/perl5/5.10/Module/Build/ConfigData.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Cookbook.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Dumper.pm type=file
-/usr/lib/perl5/5.10/Module/Build/ModuleInfo.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Notes.pm type=file
-/usr/lib/perl5/5.10/Module/Build/PPMMaker.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/Amiga.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/Default.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/EBCDIC.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/MPEiX.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/MacOS.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/RiscOS.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/Unix.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/VMS.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/VOS.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/Windows.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/aix.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/cygwin.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/darwin.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Platform/os2.pm type=file
-/usr/lib/perl5/5.10/Module/Build/PodParser.pm type=file
-/usr/lib/perl5/5.10/Module/Build/Version.pm type=file
-/usr/lib/perl5/5.10/Module/Build/YAML.pm type=file
-/usr/lib/perl5/5.10/Module/CoreList.pm type=file
-/usr/lib/perl5/5.10/Module/Load.pm type=file
-/usr/lib/perl5/5.10/Module/Load/Conditional.pm type=file
-/usr/lib/perl5/5.10/Module/Loaded.pm type=file
-/usr/lib/perl5/5.10/NEXT.pm type=file
-/usr/lib/perl5/5.10/Net/Cmd.pm type=file
-/usr/lib/perl5/5.10/Net/Config.eg type=file
-/usr/lib/perl5/5.10/Net/Config.pm type=file
-/usr/lib/perl5/5.10/Net/Domain.pm type=file
-/usr/lib/perl5/5.10/Net/FTP.pm type=file
-/usr/lib/perl5/5.10/Net/FTP/A.pm type=file
-/usr/lib/perl5/5.10/Net/FTP/E.pm type=file
-/usr/lib/perl5/5.10/Net/FTP/I.pm type=file
-/usr/lib/perl5/5.10/Net/FTP/L.pm type=file
-/usr/lib/perl5/5.10/Net/FTP/dataconn.pm type=file
-/usr/lib/perl5/5.10/Net/Hostname.pm.eg type=file
-/usr/lib/perl5/5.10/Net/NNTP.pm type=file
-/usr/lib/perl5/5.10/Net/Netrc.pm type=file
-/usr/lib/perl5/5.10/Net/POP3.pm type=file
-/usr/lib/perl5/5.10/Net/Ping.pm type=file
-/usr/lib/perl5/5.10/Net/SMTP.pm type=file
-/usr/lib/perl5/5.10/Net/Time.pm type=file
-/usr/lib/perl5/5.10/Net/hostent.pm type=file
-/usr/lib/perl5/5.10/Net/libnetFAQ.pod type=file
-/usr/lib/perl5/5.10/Net/netent.pm type=file
-/usr/lib/perl5/5.10/Net/protoent.pm type=file
-/usr/lib/perl5/5.10/Net/servent.pm type=file
-/usr/lib/perl5/5.10/Object/Accessor.pm type=file
-/usr/lib/perl5/5.10/Package/Constants.pm type=file
-/usr/lib/perl5/5.10/Params/Check.pm type=file
-/usr/lib/perl5/5.10/PerlIO.pm type=file
-/usr/lib/perl5/5.10/PerlIO/via/QuotedPrint.pm type=file
-/usr/lib/perl5/5.10/Pod/Checker.pm type=file
-/usr/lib/perl5/5.10/Pod/Escapes.pm type=file
-/usr/lib/perl5/5.10/Pod/Find.pm type=file
-/usr/lib/perl5/5.10/Pod/Functions.pm type=file
-/usr/lib/perl5/5.10/Pod/Html.pm type=file
-/usr/lib/perl5/5.10/Pod/InputObjects.pm type=file
-/usr/lib/perl5/5.10/Pod/LaTeX.pm type=file
-/usr/lib/perl5/5.10/Pod/Man.pm type=file
-/usr/lib/perl5/5.10/Pod/ParseLink.pm type=file
-/usr/lib/perl5/5.10/Pod/ParseUtils.pm type=file
-/usr/lib/perl5/5.10/Pod/Parser.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/BaseTo.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/GetOptsOO.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToChecker.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToMan.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToNroff.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToPod.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToRtf.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToText.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToTk.pm type=file
-/usr/lib/perl5/5.10/Pod/Perldoc/ToXml.pm type=file
-/usr/lib/perl5/5.10/Pod/PlainText.pm type=file
-/usr/lib/perl5/5.10/Pod/Plainer.pm type=file
-/usr/lib/perl5/5.10/Pod/Select.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple.pod type=file
-/usr/lib/perl5/5.10/Pod/Simple/BlackBox.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Checker.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Debug.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/DumpAsText.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/DumpAsXML.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/HTML.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/HTMLBatch.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/HTMLLegacy.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/LinkSection.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Methody.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Progress.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/PullParser.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/PullParserEndToken.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/PullParserStartToken.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/PullParserTextToken.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/PullParserToken.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/RTF.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Search.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/SimpleTree.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Subclassing.pod type=file
-/usr/lib/perl5/5.10/Pod/Simple/Text.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/TextContent.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/TiedOutFH.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/Transcode.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/TranscodeDumb.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/TranscodeSmart.pm type=file
-/usr/lib/perl5/5.10/Pod/Simple/XMLOutStream.pm type=file
-/usr/lib/perl5/5.10/Pod/Text.pm type=file
-/usr/lib/perl5/5.10/Pod/Text/Color.pm type=file
-/usr/lib/perl5/5.10/Pod/Text/Overstrike.pm type=file
-/usr/lib/perl5/5.10/Pod/Text/Termcap.pm type=file
-/usr/lib/perl5/5.10/Pod/Usage.pm type=file
-/usr/lib/perl5/5.10/Search/Dict.pm type=file
-/usr/lib/perl5/5.10/SelectSaver.pm type=file
-/usr/lib/perl5/5.10/SelfLoader.pm type=file
-/usr/lib/perl5/5.10/Shell.pm type=file
-/usr/lib/perl5/5.10/Switch.pm type=file
-/usr/lib/perl5/5.10/Symbol.pm type=file
-/usr/lib/perl5/5.10/TAP/Base.pm type=file
-/usr/lib/perl5/5.10/TAP/Formatter/Color.pm type=file
-/usr/lib/perl5/5.10/TAP/Formatter/Console.pm type=file
-/usr/lib/perl5/5.10/TAP/Formatter/Console/ParallelSession.pm type=file
-/usr/lib/perl5/5.10/TAP/Formatter/Console/Session.pm type=file
-/usr/lib/perl5/5.10/TAP/Harness.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Aggregator.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Grammar.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Iterator.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Iterator/Array.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Iterator/Process.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Iterator/Stream.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Multiplexer.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Bailout.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Comment.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Plan.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Pragma.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Test.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Unknown.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/Version.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Result/YAML.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Source.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Source/Perl.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/Utils.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/YAMLish/Reader.pm type=file
-/usr/lib/perl5/5.10/TAP/Parser/YAMLish/Writer.pm type=file
-/usr/lib/perl5/5.10/Term/ANSIColor.pm type=file
-/usr/lib/perl5/5.10/Term/Cap.pm type=file
-/usr/lib/perl5/5.10/Term/Complete.pm type=file
-/usr/lib/perl5/5.10/Term/ReadLine.pm type=file
-/usr/lib/perl5/5.10/Term/UI.pm type=file
-/usr/lib/perl5/5.10/Term/UI/History.pm type=file
-/usr/lib/perl5/5.10/Test.pm type=file
-/usr/lib/perl5/5.10/Test/Builder.pm type=file
-/usr/lib/perl5/5.10/Test/Builder/Module.pm type=file
-/usr/lib/perl5/5.10/Test/Builder/Tester.pm type=file
-/usr/lib/perl5/5.10/Test/Builder/Tester/Color.pm type=file
-/usr/lib/perl5/5.10/Test/Harness.pm type=file
-/usr/lib/perl5/5.10/Test/More.pm type=file
-/usr/lib/perl5/5.10/Test/Simple.pm type=file
-/usr/lib/perl5/5.10/Test/Tutorial.pod type=file
-/usr/lib/perl5/5.10/Text/Abbrev.pm type=file
-/usr/lib/perl5/5.10/Text/Balanced.pm type=file
-/usr/lib/perl5/5.10/Text/ParseWords.pm type=file
-/usr/lib/perl5/5.10/Text/Tabs.pm type=file
-/usr/lib/perl5/5.10/Text/Wrap.pm type=file
-/usr/lib/perl5/5.10/Thread.pm type=file
-/usr/lib/perl5/5.10/Thread/Queue.pm type=file
-/usr/lib/perl5/5.10/Thread/Semaphore.pm type=file
-/usr/lib/perl5/5.10/Tie/Array.pm type=file
-/usr/lib/perl5/5.10/Tie/File.pm type=file
-/usr/lib/perl5/5.10/Tie/Handle.pm type=file
-/usr/lib/perl5/5.10/Tie/Hash.pm type=file
-/usr/lib/perl5/5.10/Tie/Hash/NamedCapture.pm type=file
-/usr/lib/perl5/5.10/Tie/Memoize.pm type=file
-/usr/lib/perl5/5.10/Tie/RefHash.pm type=file
-/usr/lib/perl5/5.10/Tie/Scalar.pm type=file
-/usr/lib/perl5/5.10/Tie/StdHandle.pm type=file
-/usr/lib/perl5/5.10/Tie/SubstrHash.pm type=file
-/usr/lib/perl5/5.10/Time/Local.pm type=file
-/usr/lib/perl5/5.10/Time/gmtime.pm type=file
-/usr/lib/perl5/5.10/Time/localtime.pm type=file
-/usr/lib/perl5/5.10/Time/tm.pm type=file
-/usr/lib/perl5/5.10/UNIVERSAL.pm type=file
-/usr/lib/perl5/5.10/Unicode/Collate.pm type=file
-/usr/lib/perl5/5.10/Unicode/Collate/allkeys.txt type=file
-/usr/lib/perl5/5.10/Unicode/Collate/keys.txt type=file
-/usr/lib/perl5/5.10/Unicode/UCD.pm type=file
-/usr/lib/perl5/5.10/User/grent.pm type=file
-/usr/lib/perl5/5.10/User/pwent.pm type=file
-/usr/lib/perl5/5.10/Win32API/File/cFile.pc type=file
-/usr/lib/perl5/5.10/abbrev.pl type=file
-/usr/lib/perl5/5.10/assert.pl type=file
-/usr/lib/perl5/5.10/attributes.pm type=file
-/usr/lib/perl5/5.10/autouse.pm type=file
-/usr/lib/perl5/5.10/base.pm type=file
-/usr/lib/perl5/5.10/bigfloat.pl type=file
-/usr/lib/perl5/5.10/bigint.pl type=file
-/usr/lib/perl5/5.10/bigint.pm type=file
-/usr/lib/perl5/5.10/bignum.pm type=file
-/usr/lib/perl5/5.10/bigrat.pl type=file
-/usr/lib/perl5/5.10/bigrat.pm type=file
-/usr/lib/perl5/5.10/blib.pm type=file
-/usr/lib/perl5/5.10/bytes.pm type=file
-/usr/lib/perl5/5.10/bytes_heavy.pl type=file
-/usr/lib/perl5/5.10/cacheout.pl type=file
-/usr/lib/perl5/5.10/charnames.pm type=file
-/usr/lib/perl5/5.10/complete.pl type=file
-/usr/lib/perl5/5.10/constant.pm type=file
-/usr/lib/perl5/5.10/ctime.pl type=file
-/usr/lib/perl5/5.10/diagnostics.pm type=file
-/usr/lib/perl5/5.10/dotsh.pl type=file
-/usr/lib/perl5/5.10/dumpvar.pl type=file
-/usr/lib/perl5/5.10/encoding/warnings.pm type=file
-/usr/lib/perl5/5.10/exceptions.pl type=file
-/usr/lib/perl5/5.10/fastcwd.pl type=file
-/usr/lib/perl5/5.10/feature.pm type=file
-/usr/lib/perl5/5.10/fields.pm type=file
-/usr/lib/perl5/5.10/filetest.pm type=file
-/usr/lib/perl5/5.10/find.pl type=file
-/usr/lib/perl5/5.10/finddepth.pl type=file
-/usr/lib/perl5/5.10/flush.pl type=file
-/usr/lib/perl5/5.10/getcwd.pl type=file
-/usr/lib/perl5/5.10/getopt.pl type=file
-/usr/lib/perl5/5.10/getopts.pl type=file
-/usr/lib/perl5/5.10/hostname.pl type=file
-/usr/lib/perl5/5.10/i686-cygwin/B.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Concise.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Debug.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Deparse.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Lint.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Showlex.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Terse.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/B/Xref.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/EXTERN.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/INTERN.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/XSUB.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/av.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/cc_runtime.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/config.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/cop.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/cv.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/dosish.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/embed.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/embedvar.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/fakesdio.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/fakethr.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/form.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/gv.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/handy.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/hv.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/intrpvar.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/iperlsys.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/keywords.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/libperl.a type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.a type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/malloc_ctl.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/mg.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/mydtrace.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/nostdio.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/op.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/opcode.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/opnames.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/overload.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/pad.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/parser.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/patchlevel.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perl.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perlapi.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perlio.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perliol.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perlsdio.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perlsfio.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perlvars.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/perly.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/pp.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/pp_proto.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/proto.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/reentr.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/regcharclass.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/regcomp.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/regexp.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/regnodes.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/scope.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/sv.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/thread.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/uconfig.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/unixish.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/utf8.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/utfebcdic.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/util.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/uudmap.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/CORE/warnings.h type=file
-/usr/lib/perl5/5.10/i686-cygwin/Compress/Raw/Zlib.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Compress/Zlib.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Config.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Config.pod type=file
-/usr/lib/perl5/5.10/i686-cygwin/Config_heavy.pl type=file
-/usr/lib/perl5/5.10/i686-cygwin/Cwd.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/DB_File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Data/Dumper.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Devel/DProf.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Devel/InnerPackage.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Devel/PPPort.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Devel/Peek.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Digest/MD5.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Digest/SHA.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/DynaLoader.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Alias.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Byte.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/CJKConstants.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/CN.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/CN/HZ.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Config.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/EBCDIC.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Encoder.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Encoding.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/GSM0338.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Guess.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/JP.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/JP/H2Z.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/JP/JIS7.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/KR.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/KR/2022_KR.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header/ISO_2022_JP.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/MIME/Name.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Symbol.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/TW.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Unicode.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Encode/Unicode/UTF7.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Errno.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Fcntl.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/File/Glob.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/File/GlobMapper.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Filter/Util/Call.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/GDBM_File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Hash/Util.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Hash/Util/FieldHash.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/I18N/Langinfo.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Deflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Identity.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Base.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Base/Common.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Deflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip/Constants.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/RawDeflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip/Constants.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Constants.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Extra.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Dir.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Handle.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Pipe.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Poll.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Seekable.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Select.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Socket.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Socket/INET.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Socket/UNIX.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Identity.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Inflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyInflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyUncompress.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Base.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Gunzip.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Inflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/RawInflate.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Unzip.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IPC/Msg.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IPC/Semaphore.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IPC/SharedMem.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/IPC/SysV.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/List/Util.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/MIME/Base64.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/MIME/QuotedPrint.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Math/BigInt/FastCalc.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Module/Pluggable.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Module/Pluggable/Object.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/NDBM_File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/O.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/ODBM_File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Opcode.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/POSIX.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/POSIX.pod type=file
-/usr/lib/perl5/5.10/i686-cygwin/PerlIO/encoding.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/PerlIO/scalar.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/PerlIO/via.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/SDBM_File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Safe.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Scalar/Util.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Socket.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Storable.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Sys/Hostname.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Sys/Syslog.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Text/Soundex.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Time/HiRes.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Time/Piece.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Unicode/Normalize.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Win32.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Win32API/File.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/Win32CORE.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/XSLoader.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/attrs.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/B/B.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/Zlib.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Compress/Zlib/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Cwd/Cwd.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DB_File/DB_File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DB_File/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Data/Dumper/Dumper.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Devel/DProf/DProf.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Devel/PPPort/PPPort.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Devel/Peek/Peek.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Digest/MD5/MD5.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_expandspec.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_find_symbol_anywhere.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_findfile.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/Byte/Byte.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/CN/CN.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/EBCDIC/EBCDIC.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/Encode.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/JP/JP.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/KR/KR.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/Symbol/Symbol.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/TW/TW.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Encode/Unicode/Unicode.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Fcntl/Fcntl.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Filter/Util/Call/Call.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/GDBM_File/GDBM_File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/FieldHash/FieldHash.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/Util.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/Langinfo.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/IO/IO.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/IPC/SysV/SysV.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/List/Util/Util.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/MIME/Base64/Base64.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/NDBM_File/NDBM_File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/ODBM_File/ODBM_File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Opcode/Opcode.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/POSIX.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/flags.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/handler.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/mask.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/new.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/safe.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/CLEAR.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/DELETE.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/EXISTS.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/FETCH.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/SCALAR.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/STORE.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_check.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_croak.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_exist.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_getsig.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_init.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/new.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/abs.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/alarm.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/assert.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/atan2.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/atexit.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/atof.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/atoi.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/atol.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/bsearch.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/calloc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/chdir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/chmod.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/chown.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/clearerr.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/closedir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/cos.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/creat.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/div.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/errno.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execl.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execle.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execlp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execv.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execve.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/execvp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/exit.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/exp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fabs.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fclose.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fcntl.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fdopen.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/feof.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/ferror.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fflush.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetpos.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgets.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fileno.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fopen.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fork.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fprintf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputs.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fread.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/free.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/freopen.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fscanf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fseek.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsetpos.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fstat.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsync.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/ftell.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/fwrite.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getchar.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getegid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getenv.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/geteuid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrgid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrnam.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgroups.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getlogin.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpgrp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getppid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwnam.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwuid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/gets.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/getuid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/gmtime.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/isatty.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/kill.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/labs.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/ldiv.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/link.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/load_imports.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/localtime.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/log.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/longjmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/malloc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/memchr.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcpy.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/memmove.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/memset.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/mkdir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/offsetof.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/opendir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/perror.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/pow.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/printf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/putc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/putchar.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/puts.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/qsort.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/raise.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/rand.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/readdir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/realloc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/redef.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/remove.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/rename.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewind.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewinddir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/rmdir.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/scanf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/setbuf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/setjmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/setvbuf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/siglongjmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sigsetjmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sin.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sleep.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sprintf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sqrt.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/srand.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/sscanf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/stat.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcat.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strchr.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcpy.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcspn.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strerror.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strlen.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncat.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncmp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncpy.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strpbrk.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strrchr.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strspn.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strstr.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/strtok.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/system.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/time.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/tmpfile.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/tolower.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/toupper.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/umask.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/ungetc.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/unimpl.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/unlink.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/usage.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/utime.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/vfprintf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/vprintf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/vsprintf.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/wait.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/POSIX/waitpid.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/PerlIO/encoding/encoding.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/PerlIO/scalar/scalar.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/PerlIO/via/via.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/SDBM_File/SDBM_File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Socket/Socket.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_VERSION_NV.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_WRITE_VERSION_NV.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/CAN_FLOCK.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/Storable.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/_freeze.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/_retrieve.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/_store.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/_store_fd.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/fd_retrieve.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/file_magic.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/freeze.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_nstore.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_retrieve.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_store.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/logcarp.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/logcroak.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/nfreeze.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore_fd.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/read_magic.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/retrieve.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/show_file_magic.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/store.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/store_fd.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Storable/thaw.al type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/Hostname.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/autosplit.ix type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Sys/Syslog/Syslog.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Text/Soundex/Soundex.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Time/HiRes/HiRes.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Unicode/Normalize/Normalize.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Win32/Win32.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Win32API/File/File.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/Win32CORE/extralibs.ld type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/attrs/attrs.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/re/re.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/sdbm/extralibs.ld type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/threads/shared/shared.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/auto/threads/threads.dll type=file
-/usr/lib/perl5/5.10/i686-cygwin/encoding.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/lib.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/ops.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/re.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/threads.pm type=file
-/usr/lib/perl5/5.10/i686-cygwin/threads/shared.pm type=file
-/usr/lib/perl5/5.10/if.pm type=file
-/usr/lib/perl5/5.10/importenv.pl type=file
-/usr/lib/perl5/5.10/integer.pm type=file
-/usr/lib/perl5/5.10/less.pm type=file
-/usr/lib/perl5/5.10/locale.pm type=file
-/usr/lib/perl5/5.10/look.pl type=file
-/usr/lib/perl5/5.10/mro.pm type=file
-/usr/lib/perl5/5.10/newgetopt.pl type=file
-/usr/lib/perl5/5.10/open.pm type=file
-/usr/lib/perl5/5.10/open2.pl type=file
-/usr/lib/perl5/5.10/open3.pl type=file
-/usr/lib/perl5/5.10/overload.pm type=file
-/usr/lib/perl5/5.10/parent.pm type=file
-/usr/lib/perl5/5.10/perl5db.pl type=file
-/usr/lib/perl5/5.10/pods/a2p.pod type=file
-/usr/lib/perl5/5.10/pods/perl.pod type=file
-/usr/lib/perl5/5.10/pods/perl5004delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl5005delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl5100delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl5101delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl561delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl56delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl570delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl571delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl572delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl573delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl581delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl582delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl583delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl584delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl585delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl586delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl587delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl588delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl58delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl590delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl591delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl592delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl593delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl594delta.pod type=file
-/usr/lib/perl5/5.10/pods/perl595delta.pod type=file
-/usr/lib/perl5/5.10/pods/perlaix.pod type=file
-/usr/lib/perl5/5.10/pods/perlamiga.pod type=file
-/usr/lib/perl5/5.10/pods/perlapi.pod type=file
-/usr/lib/perl5/5.10/pods/perlapio.pod type=file
-/usr/lib/perl5/5.10/pods/perlapollo.pod type=file
-/usr/lib/perl5/5.10/pods/perlartistic.pod type=file
-/usr/lib/perl5/5.10/pods/perlbeos.pod type=file
-/usr/lib/perl5/5.10/pods/perlbook.pod type=file
-/usr/lib/perl5/5.10/pods/perlboot.pod type=file
-/usr/lib/perl5/5.10/pods/perlbot.pod type=file
-/usr/lib/perl5/5.10/pods/perlbs2000.pod type=file
-/usr/lib/perl5/5.10/pods/perlcall.pod type=file
-/usr/lib/perl5/5.10/pods/perlce.pod type=file
-/usr/lib/perl5/5.10/pods/perlcheat.pod type=file
-/usr/lib/perl5/5.10/pods/perlclib.pod type=file
-/usr/lib/perl5/5.10/pods/perlcn.pod type=file
-/usr/lib/perl5/5.10/pods/perlcommunity.pod type=file
-/usr/lib/perl5/5.10/pods/perlcompile.pod type=file
-/usr/lib/perl5/5.10/pods/perlcygwin.pod type=file
-/usr/lib/perl5/5.10/pods/perldata.pod type=file
-/usr/lib/perl5/5.10/pods/perldbmfilter.pod type=file
-/usr/lib/perl5/5.10/pods/perldebguts.pod type=file
-/usr/lib/perl5/5.10/pods/perldebtut.pod type=file
-/usr/lib/perl5/5.10/pods/perldebug.pod type=file
-/usr/lib/perl5/5.10/pods/perldelta.pod type=file
-/usr/lib/perl5/5.10/pods/perldgux.pod type=file
-/usr/lib/perl5/5.10/pods/perldiag.pod type=file
-/usr/lib/perl5/5.10/pods/perldoc.pod type=file
-/usr/lib/perl5/5.10/pods/perldos.pod type=file
-/usr/lib/perl5/5.10/pods/perldsc.pod type=file
-/usr/lib/perl5/5.10/pods/perlebcdic.pod type=file
-/usr/lib/perl5/5.10/pods/perlembed.pod type=file
-/usr/lib/perl5/5.10/pods/perlepoc.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq1.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq2.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq3.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq4.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq5.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq6.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq7.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq8.pod type=file
-/usr/lib/perl5/5.10/pods/perlfaq9.pod type=file
-/usr/lib/perl5/5.10/pods/perlfilter.pod type=file
-/usr/lib/perl5/5.10/pods/perlfork.pod type=file
-/usr/lib/perl5/5.10/pods/perlform.pod type=file
-/usr/lib/perl5/5.10/pods/perlfreebsd.pod type=file
-/usr/lib/perl5/5.10/pods/perlfunc.pod type=file
-/usr/lib/perl5/5.10/pods/perlglossary.pod type=file
-/usr/lib/perl5/5.10/pods/perlgpl.pod type=file
-/usr/lib/perl5/5.10/pods/perlguts.pod type=file
-/usr/lib/perl5/5.10/pods/perlhack.pod type=file
-/usr/lib/perl5/5.10/pods/perlhist.pod type=file
-/usr/lib/perl5/5.10/pods/perlhpux.pod type=file
-/usr/lib/perl5/5.10/pods/perlhurd.pod type=file
-/usr/lib/perl5/5.10/pods/perlintern.pod type=file
-/usr/lib/perl5/5.10/pods/perlintro.pod type=file
-/usr/lib/perl5/5.10/pods/perliol.pod type=file
-/usr/lib/perl5/5.10/pods/perlipc.pod type=file
-/usr/lib/perl5/5.10/pods/perlirix.pod type=file
-/usr/lib/perl5/5.10/pods/perljp.pod type=file
-/usr/lib/perl5/5.10/pods/perlko.pod type=file
-/usr/lib/perl5/5.10/pods/perllexwarn.pod type=file
-/usr/lib/perl5/5.10/pods/perllinux.pod type=file
-/usr/lib/perl5/5.10/pods/perllocale.pod type=file
-/usr/lib/perl5/5.10/pods/perllol.pod type=file
-/usr/lib/perl5/5.10/pods/perlmachten.pod type=file
-/usr/lib/perl5/5.10/pods/perlmacos.pod type=file
-/usr/lib/perl5/5.10/pods/perlmacosx.pod type=file
-/usr/lib/perl5/5.10/pods/perlmint.pod type=file
-/usr/lib/perl5/5.10/pods/perlmod.pod type=file
-/usr/lib/perl5/5.10/pods/perlmodinstall.pod type=file
-/usr/lib/perl5/5.10/pods/perlmodlib.pod type=file
-/usr/lib/perl5/5.10/pods/perlmodstyle.pod type=file
-/usr/lib/perl5/5.10/pods/perlmpeix.pod type=file
-/usr/lib/perl5/5.10/pods/perlnetware.pod type=file
-/usr/lib/perl5/5.10/pods/perlnewmod.pod type=file
-/usr/lib/perl5/5.10/pods/perlnumber.pod type=file
-/usr/lib/perl5/5.10/pods/perlobj.pod type=file
-/usr/lib/perl5/5.10/pods/perlop.pod type=file
-/usr/lib/perl5/5.10/pods/perlopenbsd.pod type=file
-/usr/lib/perl5/5.10/pods/perlopentut.pod type=file
-/usr/lib/perl5/5.10/pods/perlos2.pod type=file
-/usr/lib/perl5/5.10/pods/perlos390.pod type=file
-/usr/lib/perl5/5.10/pods/perlos400.pod type=file
-/usr/lib/perl5/5.10/pods/perlothrtut.pod type=file
-/usr/lib/perl5/5.10/pods/perlpacktut.pod type=file
-/usr/lib/perl5/5.10/pods/perlplan9.pod type=file
-/usr/lib/perl5/5.10/pods/perlpod.pod type=file
-/usr/lib/perl5/5.10/pods/perlpodspec.pod type=file
-/usr/lib/perl5/5.10/pods/perlport.pod type=file
-/usr/lib/perl5/5.10/pods/perlpragma.pod type=file
-/usr/lib/perl5/5.10/pods/perlqnx.pod type=file
-/usr/lib/perl5/5.10/pods/perlre.pod type=file
-/usr/lib/perl5/5.10/pods/perlreapi.pod type=file
-/usr/lib/perl5/5.10/pods/perlrebackslash.pod type=file
-/usr/lib/perl5/5.10/pods/perlrecharclass.pod type=file
-/usr/lib/perl5/5.10/pods/perlref.pod type=file
-/usr/lib/perl5/5.10/pods/perlreftut.pod type=file
-/usr/lib/perl5/5.10/pods/perlreguts.pod type=file
-/usr/lib/perl5/5.10/pods/perlrequick.pod type=file
-/usr/lib/perl5/5.10/pods/perlreref.pod type=file
-/usr/lib/perl5/5.10/pods/perlretut.pod type=file
-/usr/lib/perl5/5.10/pods/perlriscos.pod type=file
-/usr/lib/perl5/5.10/pods/perlrun.pod type=file
-/usr/lib/perl5/5.10/pods/perlsec.pod type=file
-/usr/lib/perl5/5.10/pods/perlsolaris.pod type=file
-/usr/lib/perl5/5.10/pods/perlstyle.pod type=file
-/usr/lib/perl5/5.10/pods/perlsub.pod type=file
-/usr/lib/perl5/5.10/pods/perlsymbian.pod type=file
-/usr/lib/perl5/5.10/pods/perlsyn.pod type=file
-/usr/lib/perl5/5.10/pods/perlthrtut.pod type=file
-/usr/lib/perl5/5.10/pods/perltie.pod type=file
-/usr/lib/perl5/5.10/pods/perltoc.pod type=file
-/usr/lib/perl5/5.10/pods/perltodo.pod type=file
-/usr/lib/perl5/5.10/pods/perltooc.pod type=file
-/usr/lib/perl5/5.10/pods/perltoot.pod type=file
-/usr/lib/perl5/5.10/pods/perltrap.pod type=file
-/usr/lib/perl5/5.10/pods/perltru64.pod type=file
-/usr/lib/perl5/5.10/pods/perltw.pod type=file
-/usr/lib/perl5/5.10/pods/perlunicode.pod type=file
-/usr/lib/perl5/5.10/pods/perlunifaq.pod type=file
-/usr/lib/perl5/5.10/pods/perluniintro.pod type=file
-/usr/lib/perl5/5.10/pods/perlunitut.pod type=file
-/usr/lib/perl5/5.10/pods/perlutil.pod type=file
-/usr/lib/perl5/5.10/pods/perluts.pod type=file
-/usr/lib/perl5/5.10/pods/perlvar.pod type=file
-/usr/lib/perl5/5.10/pods/perlvmesa.pod type=file
-/usr/lib/perl5/5.10/pods/perlvms.pod type=file
-/usr/lib/perl5/5.10/pods/perlvos.pod type=file
-/usr/lib/perl5/5.10/pods/perlwin32.pod type=file
-/usr/lib/perl5/5.10/pods/perlxs.pod type=file
-/usr/lib/perl5/5.10/pods/perlxstut.pod type=file
-/usr/lib/perl5/5.10/pwd.pl type=file
-/usr/lib/perl5/5.10/shellwords.pl type=file
-/usr/lib/perl5/5.10/sigtrap.pm type=file
-/usr/lib/perl5/5.10/sort.pm type=file
-/usr/lib/perl5/5.10/stat.pl type=file
-/usr/lib/perl5/5.10/strict.pm type=file
-/usr/lib/perl5/5.10/subs.pm type=file
-/usr/lib/perl5/5.10/syslog.pl type=file
-/usr/lib/perl5/5.10/tainted.pl type=file
-/usr/lib/perl5/5.10/termcap.pl type=file
-/usr/lib/perl5/5.10/timelocal.pl type=file
-/usr/lib/perl5/5.10/unicore/ArabicShaping.txt type=file
-/usr/lib/perl5/5.10/unicore/BidiMirroring.txt type=file
-/usr/lib/perl5/5.10/unicore/Blocks.txt type=file
-/usr/lib/perl5/5.10/unicore/Canonical.pl type=file
-/usr/lib/perl5/5.10/unicore/CaseFolding.txt type=file
-/usr/lib/perl5/5.10/unicore/CombiningClass.pl type=file
-/usr/lib/perl5/5.10/unicore/CompositionExclusions.txt type=file
-/usr/lib/perl5/5.10/unicore/Decomposition.pl type=file
-/usr/lib/perl5/5.10/unicore/EastAsianWidth.txt type=file
-/usr/lib/perl5/5.10/unicore/Exact.pl type=file
-/usr/lib/perl5/5.10/unicore/HangulSyllableType.txt type=file
-/usr/lib/perl5/5.10/unicore/Index.txt type=file
-/usr/lib/perl5/5.10/unicore/Jamo.txt type=file
-/usr/lib/perl5/5.10/unicore/LineBreak.txt type=file
-/usr/lib/perl5/5.10/unicore/Name.pl type=file
-/usr/lib/perl5/5.10/unicore/NamedSequences.txt type=file
-/usr/lib/perl5/5.10/unicore/NamedSqProv.txt type=file
-/usr/lib/perl5/5.10/unicore/NamesList.txt type=file
-/usr/lib/perl5/5.10/unicore/NormalizationCorrections.txt type=file
-/usr/lib/perl5/5.10/unicore/PVA.pl type=file
-/usr/lib/perl5/5.10/unicore/PropList.txt type=file
-/usr/lib/perl5/5.10/unicore/PropValueAliases.txt type=file
-/usr/lib/perl5/5.10/unicore/Properties type=file
-/usr/lib/perl5/5.10/unicore/PropertyAliases.txt type=file
-/usr/lib/perl5/5.10/unicore/ReadMe.txt type=file
-/usr/lib/perl5/5.10/unicore/Scripts.txt type=file
-/usr/lib/perl5/5.10/unicore/SpecialCasing.txt type=file
-/usr/lib/perl5/5.10/unicore/StandardizedVariants.txt type=file
-/usr/lib/perl5/5.10/unicore/To/Digit.pl type=file
-/usr/lib/perl5/5.10/unicore/To/Fold.pl type=file
-/usr/lib/perl5/5.10/unicore/To/Lower.pl type=file
-/usr/lib/perl5/5.10/unicore/To/Title.pl type=file
-/usr/lib/perl5/5.10/unicore/To/Upper.pl type=file
-/usr/lib/perl5/5.10/unicore/UnicodeData.txt type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/AL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/AN.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/B.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/BN.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/CS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/EN.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/ES.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/ET.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/L.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/LRE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/LRO.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/NSM.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/ON.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/PDF.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/R.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/RLE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/RLO.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/S.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/bc/WS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/A.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/AL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/AR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/ATAR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/ATB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/ATBL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/B.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/BL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/BR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/DA.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/DB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/IS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/KV.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/L.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/NK.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/NR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/OV.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/R.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ccc/VR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/can.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/com.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/enc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/fin.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/font.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/fra.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/init.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/iso.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/med.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/nar.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/nb.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/sml.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/sqr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/sub.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/sup.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/vert.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/dt/wide.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/A.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/F.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/H.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/N.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/Na.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/ea/W.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/AHex.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/ASCII.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Alnum.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Alpha.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Alphabet.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Any.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Arab.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Armn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/AsciiHex.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Assigned.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Bali.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Beng.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/BidiC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/BidiCont.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Blank.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Bopo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Brai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Bugi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Buhd.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/C.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Canadian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Carian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cf.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cham.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cher.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cntrl.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Co.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Copt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cprt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cs.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Cyrl.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Dash.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Dash2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/DefaultI.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Dep.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Deprecat.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Deva.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Dia.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Diacriti.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Digit.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Dsrt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ethi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ext.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Extender.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Geor.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Glag.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Goth.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Graph.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Grek.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Gujr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Guru.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hang.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hani.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hano.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hebr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hex.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/HexDigit.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hira.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/HorizSpa.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hyphen.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Hyphen2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IDSB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IDST.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IdContin.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IdStart.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ideo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ideograp.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IdsBinar.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/IdsTrina.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InAegean.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InAlphab.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InAncie2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InAncie3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InAncien.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArabi2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArabi3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArabi4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArabic.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArmeni.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InArrows.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBaline.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBasicL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBengal.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBlockE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBopom2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBopomo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBoxDra.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBraill.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBugine.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InBuhid.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InByzant.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCarian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCham.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCherok.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkCo2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkCo3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkCo4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkCom.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkRad.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkStr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkSym.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkUn2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkUn3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCjkUni.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCombi2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCombi3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCombi4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCombin.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InContro.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCoptic.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCounti.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCunei2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCuneif.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCurren.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCyprio.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCyril2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCyril3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCyril4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InCyrill.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InDesere.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InDevana.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InDingba.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InDomino.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InEnclo2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InEnclos.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InEthio2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InEthio3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InEthiop.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGenera.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGeomet.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGeorg2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGeorgi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGlagol.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGothic.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGreekA.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGreekE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGujara.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InGurmuk.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHalfwi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHangu2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHangu3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHangul.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHanuno.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHebrew.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHighPr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHighSu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InHiraga.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InIdeogr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InIpaExt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKanbun.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKangxi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKannad.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKatak2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKataka.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKayahL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKharos.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKhmer.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InKhmerS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLao.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatin1.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatin2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatin3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatin4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatin5.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLatinE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLepcha.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLetter.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLimbu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLinea2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLinear.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLowSur.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLycian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InLydian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMahjon.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMalaya.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMathe2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMathem.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMisce2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMisce3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMisce4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMisce5.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMiscel.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InModifi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMongol.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMusica.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InMyanma.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InNewTai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InNko.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InNumber.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOgham.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOlChik.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOldIta.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOldPer.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOptica.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOriya.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InOsmany.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPhagsP.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPhaist.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPhoeni.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPhone2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPhonet.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InPrivat.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InRejang.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InRunic.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSauras.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InShavia.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSinhal.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSmallF.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSpacin.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSpecia.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSundan.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSupers.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSuppl2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSuppl3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSuppl4.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSuppl5.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSuppl6.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSupple.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSyloti.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InSyriac.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTagalo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTagban.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTags.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTaiLe.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTaiXua.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTamil.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTelugu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InThaana.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InThai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTibeta.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InTifina.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InUgarit.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InUnifie.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InVai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InVaria2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InVariat.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InVertic.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InYiRadi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InYiSyll.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/InYijing.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/JoinC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/JoinCont.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Kana.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/KayahLi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Khar.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Khmr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Knda.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/L.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/LC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/LOE.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Laoo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Latn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lepcha.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Limb.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/LinearB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ll.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lm.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/LogicalO.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lower.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lowercas.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lycian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Lydian.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/M.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Math.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Mc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Me.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Mlym.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Mn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Mong.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Mymr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/N.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/NChar.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Nd.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/NewTaiLu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Nkoo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Nl.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/No.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Nonchara.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OAlpha.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/ODI.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OGrExt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OIDC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OIDS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OLower.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OMath.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OUpper.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ogam.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OlChiki.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OldItali.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OldPersi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Orya.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Osma.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherAlp.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherDef.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherGra.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherIdC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherIdS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherLow.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherMat.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/OtherUpp.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/P.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/PatSyn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/PatWS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/PatternS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/PatternW.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Pc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Pd.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Pe.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Pf.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/PhagsPa.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Phnx.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Pi.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Po.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Print.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ps.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Punct.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/QMark.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Qaai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Quotatio.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Radical.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Radical2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Rejang.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Runr.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/S.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/SD.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/STerm.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Saurasht.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Shaw.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sinh.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sk.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sm.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/So.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/SoftDott.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Space.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/SpacePer.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sterm2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Sundanes.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/SylotiNa.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Syrc.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Tagb.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/TaiLe.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Taml.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Telu.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Term.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Terminal.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Tfng.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Tglg.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Thaa.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Thai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Tibt.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Title.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/UIdeo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Ugar.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/UnifiedI.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Upper.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Uppercas.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/VS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Vai.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Variatio.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/VertSpac.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/WSpace.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/WhiteSpa.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Word.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/XDigit.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Xsux.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Yiii.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Z.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Zl.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Zp.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Zs.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/Zyyy.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/_CanonDC.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/_CaseIgn.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/gc_sc/_CombAbo.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/hst/L.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/hst/LV.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/hst/LVT.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/hst/T.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/hst/V.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/jt/C.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/jt/D.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/jt/R.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/jt/U.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/AI.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/AL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/B2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/BA.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/BB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/BK.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/CB.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/CL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/CM.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/CR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/EX.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/GL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/H2.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/H3.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/HY.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/ID.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/IN.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/IS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/JL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/JT.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/JV.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/LF.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/NL.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/NS.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/NU.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/OP.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/PO.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/PR.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/QU.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/SA.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/SG.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/SP.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/SY.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/WJ.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/XX.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/lb/ZW.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/nt/De.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/nt/Di.pl type=file
-/usr/lib/perl5/5.10/unicore/lib/nt/Nu.pl type=file
-/usr/lib/perl5/5.10/unicore/mktables type=file
-/usr/lib/perl5/5.10/unicore/mktables.lst type=file
-/usr/lib/perl5/5.10/unicore/version type=file
-/usr/lib/perl5/5.10/utf8.pm type=file
-/usr/lib/perl5/5.10/utf8_heavy.pl type=file
-/usr/lib/perl5/5.10/validate.pl type=file
-/usr/lib/perl5/5.10/vars.pm type=file
-/usr/lib/perl5/5.10/version.pm type=file
-/usr/lib/perl5/5.10/version.pod type=file
-/usr/lib/perl5/5.10/vmsish.pm type=file
-/usr/lib/perl5/5.10/warnings.pm type=file
-/usr/lib/perl5/5.10/warnings/register.pm type=file
-/usr/share/man/man1/a2p.1 type=file
-/usr/share/man/man1/c2ph.1 type=file
-/usr/share/man/man1/config_data.1 type=file
-/usr/share/man/man1/corelist.1 type=file
-/usr/share/man/man1/cpan.1 type=file
-/usr/share/man/man1/cpan2dist.1 type=file
-/usr/share/man/man1/cpanp.1 type=file
-/usr/share/man/man1/dprofpp.1 type=file
-/usr/share/man/man1/enc2xs.1 type=file
-/usr/share/man/man1/find2perl.1 type=file
-/usr/share/man/man1/h2ph.1 type=file
-/usr/share/man/man1/h2xs.1 type=file
-/usr/share/man/man1/instmodsh.1 type=file
-/usr/share/man/man1/libnetcfg.1 type=file
-/usr/share/man/man1/perl.1 type=file
-/usr/share/man/man1/perl5004delta.1 type=file
-/usr/share/man/man1/perl5005delta.1 type=file
-/usr/share/man/man1/perl5100delta.1 type=file
-/usr/share/man/man1/perl5101delta.1 type=file
-/usr/share/man/man1/perl561delta.1 type=file
-/usr/share/man/man1/perl56delta.1 type=file
-/usr/share/man/man1/perl570delta.1 type=file
-/usr/share/man/man1/perl571delta.1 type=file
-/usr/share/man/man1/perl572delta.1 type=file
-/usr/share/man/man1/perl573delta.1 type=file
-/usr/share/man/man1/perl581delta.1 type=file
-/usr/share/man/man1/perl582delta.1 type=file
-/usr/share/man/man1/perl583delta.1 type=file
-/usr/share/man/man1/perl584delta.1 type=file
-/usr/share/man/man1/perl585delta.1 type=file
-/usr/share/man/man1/perl586delta.1 type=file
-/usr/share/man/man1/perl587delta.1 type=file
-/usr/share/man/man1/perl588delta.1 type=file
-/usr/share/man/man1/perl58delta.1 type=file
-/usr/share/man/man1/perl590delta.1 type=file
-/usr/share/man/man1/perl591delta.1 type=file
-/usr/share/man/man1/perl592delta.1 type=file
-/usr/share/man/man1/perl593delta.1 type=file
-/usr/share/man/man1/perl594delta.1 type=file
-/usr/share/man/man1/perl595delta.1 type=file
-/usr/share/man/man1/perlaix.1 type=file
-/usr/share/man/man1/perlamiga.1 type=file
-/usr/share/man/man1/perlapi.1 type=file
-/usr/share/man/man1/perlapio.1 type=file
-/usr/share/man/man1/perlapollo.1 type=file
-/usr/share/man/man1/perlartistic.1 type=file
-/usr/share/man/man1/perlbeos.1 type=file
-/usr/share/man/man1/perlbook.1 type=file
-/usr/share/man/man1/perlboot.1 type=file
-/usr/share/man/man1/perlbot.1 type=file
-/usr/share/man/man1/perlbs2000.1 type=file
-/usr/share/man/man1/perlbug.1 type=file
-/usr/share/man/man1/perlcall.1 type=file
-/usr/share/man/man1/perlce.1 type=file
-/usr/share/man/man1/perlcheat.1 type=file
-/usr/share/man/man1/perlclib.1 type=file
-/usr/share/man/man1/perlcn.1 type=file
-/usr/share/man/man1/perlcommunity.1 type=file
-/usr/share/man/man1/perlcompile.1 type=file
-/usr/share/man/man1/perlcygwin.1 type=file
-/usr/share/man/man1/perldata.1 type=file
-/usr/share/man/man1/perldbmfilter.1 type=file
-/usr/share/man/man1/perldebguts.1 type=file
-/usr/share/man/man1/perldebtut.1 type=file
-/usr/share/man/man1/perldebug.1 type=file
-/usr/share/man/man1/perldelta.1 type=file
-/usr/share/man/man1/perldgux.1 type=file
-/usr/share/man/man1/perldiag.1 type=file
-/usr/share/man/man1/perldoc.1 type=file
-/usr/share/man/man1/perldos.1 type=file
-/usr/share/man/man1/perldsc.1 type=file
-/usr/share/man/man1/perlebcdic.1 type=file
-/usr/share/man/man1/perlembed.1 type=file
-/usr/share/man/man1/perlepoc.1 type=file
-/usr/share/man/man1/perlfaq.1 type=file
-/usr/share/man/man1/perlfaq1.1 type=file
-/usr/share/man/man1/perlfaq2.1 type=file
-/usr/share/man/man1/perlfaq3.1 type=file
-/usr/share/man/man1/perlfaq4.1 type=file
-/usr/share/man/man1/perlfaq5.1 type=file
-/usr/share/man/man1/perlfaq6.1 type=file
-/usr/share/man/man1/perlfaq7.1 type=file
-/usr/share/man/man1/perlfaq8.1 type=file
-/usr/share/man/man1/perlfaq9.1 type=file
-/usr/share/man/man1/perlfilter.1 type=file
-/usr/share/man/man1/perlfork.1 type=file
-/usr/share/man/man1/perlform.1 type=file
-/usr/share/man/man1/perlfreebsd.1 type=file
-/usr/share/man/man1/perlfunc.1 type=file
-/usr/share/man/man1/perlglossary.1 type=file
-/usr/share/man/man1/perlgpl.1 type=file
-/usr/share/man/man1/perlguts.1 type=file
-/usr/share/man/man1/perlhack.1 type=file
-/usr/share/man/man1/perlhist.1 type=file
-/usr/share/man/man1/perlhpux.1 type=file
-/usr/share/man/man1/perlhurd.1 type=file
-/usr/share/man/man1/perlintern.1 type=file
-/usr/share/man/man1/perlintro.1 type=file
-/usr/share/man/man1/perliol.1 type=file
-/usr/share/man/man1/perlipc.1 type=file
-/usr/share/man/man1/perlirix.1 type=file
-/usr/share/man/man1/perlivp.1 type=file
-/usr/share/man/man1/perljp.1 type=file
-/usr/share/man/man1/perlko.1 type=file
-/usr/share/man/man1/perllexwarn.1 type=file
-/usr/share/man/man1/perllinux.1 type=file
-/usr/share/man/man1/perllocale.1 type=file
-/usr/share/man/man1/perllol.1 type=file
-/usr/share/man/man1/perlmachten.1 type=file
-/usr/share/man/man1/perlmacos.1 type=file
-/usr/share/man/man1/perlmacosx.1 type=file
-/usr/share/man/man1/perlmint.1 type=file
-/usr/share/man/man1/perlmod.1 type=file
-/usr/share/man/man1/perlmodinstall.1 type=file
-/usr/share/man/man1/perlmodlib.1 type=file
-/usr/share/man/man1/perlmodstyle.1 type=file
-/usr/share/man/man1/perlmpeix.1 type=file
-/usr/share/man/man1/perlnetware.1 type=file
-/usr/share/man/man1/perlnewmod.1 type=file
-/usr/share/man/man1/perlnumber.1 type=file
-/usr/share/man/man1/perlobj.1 type=file
-/usr/share/man/man1/perlop.1 type=file
-/usr/share/man/man1/perlopenbsd.1 type=file
-/usr/share/man/man1/perlopentut.1 type=file
-/usr/share/man/man1/perlos2.1 type=file
-/usr/share/man/man1/perlos390.1 type=file
-/usr/share/man/man1/perlos400.1 type=file
-/usr/share/man/man1/perlothrtut.1 type=file
-/usr/share/man/man1/perlpacktut.1 type=file
-/usr/share/man/man1/perlplan9.1 type=file
-/usr/share/man/man1/perlpod.1 type=file
-/usr/share/man/man1/perlpodspec.1 type=file
-/usr/share/man/man1/perlport.1 type=file
-/usr/share/man/man1/perlpragma.1 type=file
-/usr/share/man/man1/perlqnx.1 type=file
-/usr/share/man/man1/perlre.1 type=file
-/usr/share/man/man1/perlreapi.1 type=file
-/usr/share/man/man1/perlrebackslash.1 type=file
-/usr/share/man/man1/perlrecharclass.1 type=file
-/usr/share/man/man1/perlref.1 type=file
-/usr/share/man/man1/perlreftut.1 type=file
-/usr/share/man/man1/perlreguts.1 type=file
-/usr/share/man/man1/perlrequick.1 type=file
-/usr/share/man/man1/perlreref.1 type=file
-/usr/share/man/man1/perlretut.1 type=file
-/usr/share/man/man1/perlriscos.1 type=file
-/usr/share/man/man1/perlrun.1 type=file
-/usr/share/man/man1/perlsec.1 type=file
-/usr/share/man/man1/perlsolaris.1 type=file
-/usr/share/man/man1/perlstyle.1 type=file
-/usr/share/man/man1/perlsub.1 type=file
-/usr/share/man/man1/perlsymbian.1 type=file
-/usr/share/man/man1/perlsyn.1 type=file
-/usr/share/man/man1/perlthanks.1 from=/usr/share/man/man1/perlbug.1 type=link
-/usr/share/man/man1/perlthrtut.1 type=file
-/usr/share/man/man1/perltie.1 type=file
-/usr/share/man/man1/perltoc.1 type=file
-/usr/share/man/man1/perltodo.1 type=file
-/usr/share/man/man1/perltooc.1 type=file
-/usr/share/man/man1/perltoot.1 type=file
-/usr/share/man/man1/perltrap.1 type=file
-/usr/share/man/man1/perltru64.1 type=file
-/usr/share/man/man1/perltw.1 type=file
-/usr/share/man/man1/perlunicode.1 type=file
-/usr/share/man/man1/perlunifaq.1 type=file
-/usr/share/man/man1/perluniintro.1 type=file
-/usr/share/man/man1/perlunitut.1 type=file
-/usr/share/man/man1/perlutil.1 type=file
-/usr/share/man/man1/perluts.1 type=file
-/usr/share/man/man1/perlvar.1 type=file
-/usr/share/man/man1/perlvmesa.1 type=file
-/usr/share/man/man1/perlvms.1 type=file
-/usr/share/man/man1/perlvos.1 type=file
-/usr/share/man/man1/perlwin32.1 type=file
-/usr/share/man/man1/perlxs.1 type=file
-/usr/share/man/man1/perlxstut.1 type=file
-/usr/share/man/man1/piconv.1 type=file
-/usr/share/man/man1/pl2pm.1 type=file
-/usr/share/man/man1/pod2html.1 type=file
-/usr/share/man/man1/pod2latex.1 type=file
-/usr/share/man/man1/pod2man.1 type=file
-/usr/share/man/man1/pod2text.1 type=file
-/usr/share/man/man1/pod2usage.1 type=file
-/usr/share/man/man1/podchecker.1 type=file
-/usr/share/man/man1/podselect.1 type=file
-/usr/share/man/man1/prove.1 type=file
-/usr/share/man/man1/psed.1 from=/usr/share/man/man1/s2p.1 type=link
-/usr/share/man/man1/pstruct.1 from=/usr/share/man/man1/c2ph.1 type=link
-/usr/share/man/man1/ptar.1 type=file
-/usr/share/man/man1/ptardiff.1 type=file
-/usr/share/man/man1/s2p.1 type=file
-/usr/share/man/man1/shasum.1 type=file
-/usr/share/man/man1/splain.1 type=file
-/usr/share/man/man1/xsubpp.1 type=file
-/usr/share/man/man3/AnyDBM_File.3pm type=file
-/usr/share/man/man3/App.Prove.3pm type=file
-/usr/share/man/man3/App.Prove.State.3pm type=file
-/usr/share/man/man3/Archive.Extract.3pm type=file
-/usr/share/man/man3/Archive.Tar.3pm type=file
-/usr/share/man/man3/Archive.Tar.File.3pm type=file
-/usr/share/man/man3/Attribute.Handlers.3pm type=file
-/usr/share/man/man3/AutoLoader.3pm type=file
-/usr/share/man/man3/AutoSplit.3pm type=file
-/usr/share/man/man3/B.3pm type=file
-/usr/share/man/man3/B.Concise.3pm type=file
-/usr/share/man/man3/B.Debug.3pm type=file
-/usr/share/man/man3/B.Deparse.3pm type=file
-/usr/share/man/man3/B.Lint.3pm type=file
-/usr/share/man/man3/B.Lint.Debug.3pm type=file
-/usr/share/man/man3/B.Showlex.3pm type=file
-/usr/share/man/man3/B.Terse.3pm type=file
-/usr/share/man/man3/B.Xref.3pm type=file
-/usr/share/man/man3/Benchmark.3pm type=file
-/usr/share/man/man3/CGI.3pm type=file
-/usr/share/man/man3/CGI.Apache.3pm type=file
-/usr/share/man/man3/CGI.Carp.3pm type=file
-/usr/share/man/man3/CGI.Cookie.3pm type=file
-/usr/share/man/man3/CGI.Fast.3pm type=file
-/usr/share/man/man3/CGI.Pretty.3pm type=file
-/usr/share/man/man3/CGI.Push.3pm type=file
-/usr/share/man/man3/CGI.Switch.3pm type=file
-/usr/share/man/man3/CGI.Util.3pm type=file
-/usr/share/man/man3/CORE.3pm type=file
-/usr/share/man/man3/CPAN.3pm type=file
-/usr/share/man/man3/CPAN.API.HOWTO.3pm type=file
-/usr/share/man/man3/CPAN.Debug.3pm type=file
-/usr/share/man/man3/CPAN.FirstTime.3pm type=file
-/usr/share/man/man3/CPAN.HandleConfig.3pm type=file
-/usr/share/man/man3/CPAN.Kwalify.3pm type=file
-/usr/share/man/man3/CPAN.Nox.3pm type=file
-/usr/share/man/man3/CPAN.Queue.3pm type=file
-/usr/share/man/man3/CPAN.Tarzip.3pm type=file
-/usr/share/man/man3/CPAN.Version.3pm type=file
-/usr/share/man/man3/CPANPLUS.3pm type=file
-/usr/share/man/man3/CPANPLUS.Backend.3pm type=file
-/usr/share/man/man3/CPANPLUS.Backend.RV.3pm type=file
-/usr/share/man/man3/CPANPLUS.Config.3pm type=file
-/usr/share/man/man3/CPANPLUS.Configure.3pm type=file
-/usr/share/man/man3/CPANPLUS.Dist.3pm type=file
-/usr/share/man/man3/CPANPLUS.Dist.Base.3pm type=file
-/usr/share/man/man3/CPANPLUS.Dist.Build.3pm type=file
-/usr/share/man/man3/CPANPLUS.Dist.MM.3pm type=file
-/usr/share/man/man3/CPANPLUS.Dist.Sample.3pm type=file
-/usr/share/man/man3/CPANPLUS.Error.3pm type=file
-/usr/share/man/man3/CPANPLUS.FAQ.3pm type=file
-/usr/share/man/man3/CPANPLUS.Hacking.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Extract.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Fetch.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Report.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Search.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Source.3pm type=file
-/usr/share/man/man3/CPANPLUS.Internals.Utils.3pm type=file
-/usr/share/man/man3/CPANPLUS.Module.3pm type=file
-/usr/share/man/man3/CPANPLUS.Module.Author.3pm type=file
-/usr/share/man/man3/CPANPLUS.Module.Author.Fake.3pm type=file
-/usr/share/man/man3/CPANPLUS.Module.Checksums.3pm type=file
-/usr/share/man/man3/CPANPLUS.Module.Fake.3pm type=file
-/usr/share/man/man3/CPANPLUS.Selfupdate.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Classic.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Default.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Default.Plugins.CustomSource.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Default.Plugins.HOWTO.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Default.Plugins.Remote.3pm type=file
-/usr/share/man/man3/CPANPLUS.Shell.Default.Plugins.Source.3pm type=file
-/usr/share/man/man3/CPANPLUS.inc.3pm type=file
-/usr/share/man/man3/Carp.3pm type=file
-/usr/share/man/man3/Carp.Heavy.3pm type=file
-/usr/share/man/man3/Class.ISA.3pm type=file
-/usr/share/man/man3/Class.Struct.3pm type=file
-/usr/share/man/man3/Compress.Raw.Zlib.3pm type=file
-/usr/share/man/man3/Compress.Zlib.3pm type=file
-/usr/share/man/man3/Config.3pm type=file
-/usr/share/man/man3/Config.Extensions.3pm type=file
-/usr/share/man/man3/Cwd.3pm type=file
-/usr/share/man/man3/DB.3pm type=file
-/usr/share/man/man3/DBM_Filter.3pm type=file
-/usr/share/man/man3/DBM_Filter.compress.3pm type=file
-/usr/share/man/man3/DBM_Filter.encode.3pm type=file
-/usr/share/man/man3/DBM_Filter.int32.3pm type=file
-/usr/share/man/man3/DBM_Filter.null.3pm type=file
-/usr/share/man/man3/DBM_Filter.utf8.3pm type=file
-/usr/share/man/man3/DB_File.3pm type=file
-/usr/share/man/man3/Data.Dumper.3pm type=file
-/usr/share/man/man3/Devel.DProf.3pm type=file
-/usr/share/man/man3/Devel.InnerPackage.3pm type=file
-/usr/share/man/man3/Devel.PPPort.3pm type=file
-/usr/share/man/man3/Devel.Peek.3pm type=file
-/usr/share/man/man3/Devel.SelfStubber.3pm type=file
-/usr/share/man/man3/Digest.3pm type=file
-/usr/share/man/man3/Digest.MD5.3pm type=file
-/usr/share/man/man3/Digest.SHA.3pm type=file
-/usr/share/man/man3/Digest.base.3pm type=file
-/usr/share/man/man3/Digest.file.3pm type=file
-/usr/share/man/man3/DirHandle.3pm type=file
-/usr/share/man/man3/Dumpvalue.3pm type=file
-/usr/share/man/man3/DynaLoader.3pm type=file
-/usr/share/man/man3/Encode.3pm type=file
-/usr/share/man/man3/Encode.Alias.3pm type=file
-/usr/share/man/man3/Encode.Byte.3pm type=file
-/usr/share/man/man3/Encode.CJKConstants.3pm type=file
-/usr/share/man/man3/Encode.CN.3pm type=file
-/usr/share/man/man3/Encode.CN.HZ.3pm type=file
-/usr/share/man/man3/Encode.Config.3pm type=file
-/usr/share/man/man3/Encode.EBCDIC.3pm type=file
-/usr/share/man/man3/Encode.Encoder.3pm type=file
-/usr/share/man/man3/Encode.Encoding.3pm type=file
-/usr/share/man/man3/Encode.GSM0338.3pm type=file
-/usr/share/man/man3/Encode.Guess.3pm type=file
-/usr/share/man/man3/Encode.JP.3pm type=file
-/usr/share/man/man3/Encode.JP.H2Z.3pm type=file
-/usr/share/man/man3/Encode.JP.JIS7.3pm type=file
-/usr/share/man/man3/Encode.KR.2022_KR.3pm type=file
-/usr/share/man/man3/Encode.KR.3pm type=file
-/usr/share/man/man3/Encode.MIME.Header.3pm type=file
-/usr/share/man/man3/Encode.MIME.Name.3pm type=file
-/usr/share/man/man3/Encode.PerlIO.3pm type=file
-/usr/share/man/man3/Encode.Supported.3pm type=file
-/usr/share/man/man3/Encode.Symbol.3pm type=file
-/usr/share/man/man3/Encode.TW.3pm type=file
-/usr/share/man/man3/Encode.Unicode.3pm type=file
-/usr/share/man/man3/Encode.Unicode.UTF7.3pm type=file
-/usr/share/man/man3/English.3pm type=file
-/usr/share/man/man3/Env.3pm type=file
-/usr/share/man/man3/Errno.3pm type=file
-/usr/share/man/man3/Exporter.3pm type=file
-/usr/share/man/man3/Exporter.Heavy.3pm type=file
-/usr/share/man/man3/ExtUtils.CBuilder.3pm type=file
-/usr/share/man/man3/ExtUtils.CBuilder.Platform.Windows.3pm type=file
-/usr/share/man/man3/ExtUtils.Command.3pm type=file
-/usr/share/man/man3/ExtUtils.Command.MM.3pm type=file
-/usr/share/man/man3/ExtUtils.Constant.3pm type=file
-/usr/share/man/man3/ExtUtils.Constant.Base.3pm type=file
-/usr/share/man/man3/ExtUtils.Constant.Utils.3pm type=file
-/usr/share/man/man3/ExtUtils.Constant.XS.3pm type=file
-/usr/share/man/man3/ExtUtils.Embed.3pm type=file
-/usr/share/man/man3/ExtUtils.Install.3pm type=file
-/usr/share/man/man3/ExtUtils.Installed.3pm type=file
-/usr/share/man/man3/ExtUtils.Liblist.3pm type=file
-/usr/share/man/man3/ExtUtils.MM.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_AIX.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Any.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_BeOS.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Cygwin.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_DOS.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Darwin.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_MacOS.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_NW5.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_OS2.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_QNX.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_UWIN.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Unix.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_VMS.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_VOS.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Win32.3pm type=file
-/usr/share/man/man3/ExtUtils.MM_Win95.3pm type=file
-/usr/share/man/man3/ExtUtils.MY.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.Config.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.FAQ.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.Tutorial.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.bytes.3pm type=file
-/usr/share/man/man3/ExtUtils.MakeMaker.vmsish.3pm type=file
-/usr/share/man/man3/ExtUtils.Manifest.3pm type=file
-/usr/share/man/man3/ExtUtils.Miniperl.3pm type=file
-/usr/share/man/man3/ExtUtils.Mkbootstrap.3pm type=file
-/usr/share/man/man3/ExtUtils.Mksymlists.3pm type=file
-/usr/share/man/man3/ExtUtils.Packlist.3pm type=file
-/usr/share/man/man3/ExtUtils.ParseXS.3pm type=file
-/usr/share/man/man3/ExtUtils.testlib.3pm type=file
-/usr/share/man/man3/Fatal.3pm type=file
-/usr/share/man/man3/Fcntl.3pm type=file
-/usr/share/man/man3/File.Basename.3pm type=file
-/usr/share/man/man3/File.CheckTree.3pm type=file
-/usr/share/man/man3/File.Compare.3pm type=file
-/usr/share/man/man3/File.Copy.3pm type=file
-/usr/share/man/man3/File.DosGlob.3pm type=file
-/usr/share/man/man3/File.Fetch.3pm type=file
-/usr/share/man/man3/File.Find.3pm type=file
-/usr/share/man/man3/File.Glob.3pm type=file
-/usr/share/man/man3/File.GlobMapper.3pm type=file
-/usr/share/man/man3/File.Path.3pm type=file
-/usr/share/man/man3/File.Spec.3pm type=file
-/usr/share/man/man3/File.Spec.Cygwin.3pm type=file
-/usr/share/man/man3/File.Spec.Epoc.3pm type=file
-/usr/share/man/man3/File.Spec.Functions.3pm type=file
-/usr/share/man/man3/File.Spec.Mac.3pm type=file
-/usr/share/man/man3/File.Spec.OS2.3pm type=file
-/usr/share/man/man3/File.Spec.Unix.3pm type=file
-/usr/share/man/man3/File.Spec.VMS.3pm type=file
-/usr/share/man/man3/File.Spec.Win32.3pm type=file
-/usr/share/man/man3/File.Temp.3pm type=file
-/usr/share/man/man3/File.stat.3pm type=file
-/usr/share/man/man3/FileCache.3pm type=file
-/usr/share/man/man3/FileHandle.3pm type=file
-/usr/share/man/man3/Filter.Simple.3pm type=file
-/usr/share/man/man3/Filter.Util.Call.3pm type=file
-/usr/share/man/man3/FindBin.3pm type=file
-/usr/share/man/man3/GDBM_File.3pm type=file
-/usr/share/man/man3/Getopt.Long.3pm type=file
-/usr/share/man/man3/Getopt.Std.3pm type=file
-/usr/share/man/man3/Hash.Util.3pm type=file
-/usr/share/man/man3/Hash.Util.FieldHash.3pm type=file
-/usr/share/man/man3/I18N.Collate.3pm type=file
-/usr/share/man/man3/I18N.LangTags.3pm type=file
-/usr/share/man/man3/I18N.LangTags.Detect.3pm type=file
-/usr/share/man/man3/I18N.LangTags.List.3pm type=file
-/usr/share/man/man3/I18N.Langinfo.3pm type=file
-/usr/share/man/man3/IO.3pm type=file
-/usr/share/man/man3/IO.Compress.Base.3pm type=file
-/usr/share/man/man3/IO.Compress.Deflate.3pm type=file
-/usr/share/man/man3/IO.Compress.Gzip.3pm type=file
-/usr/share/man/man3/IO.Compress.RawDeflate.3pm type=file
-/usr/share/man/man3/IO.Compress.Zip.3pm type=file
-/usr/share/man/man3/IO.Dir.3pm type=file
-/usr/share/man/man3/IO.File.3pm type=file
-/usr/share/man/man3/IO.Handle.3pm type=file
-/usr/share/man/man3/IO.Pipe.3pm type=file
-/usr/share/man/man3/IO.Poll.3pm type=file
-/usr/share/man/man3/IO.Seekable.3pm type=file
-/usr/share/man/man3/IO.Select.3pm type=file
-/usr/share/man/man3/IO.Socket.3pm type=file
-/usr/share/man/man3/IO.Socket.INET.3pm type=file
-/usr/share/man/man3/IO.Socket.UNIX.3pm type=file
-/usr/share/man/man3/IO.Uncompress.AnyInflate.3pm type=file
-/usr/share/man/man3/IO.Uncompress.AnyUncompress.3pm type=file
-/usr/share/man/man3/IO.Uncompress.Base.3pm type=file
-/usr/share/man/man3/IO.Uncompress.Gunzip.3pm type=file
-/usr/share/man/man3/IO.Uncompress.Inflate.3pm type=file
-/usr/share/man/man3/IO.Uncompress.RawInflate.3pm type=file
-/usr/share/man/man3/IO.Uncompress.Unzip.3pm type=file
-/usr/share/man/man3/IO.Zlib.3pm type=file
-/usr/share/man/man3/IPC.Cmd.3pm type=file
-/usr/share/man/man3/IPC.Msg.3pm type=file
-/usr/share/man/man3/IPC.Open2.3pm type=file
-/usr/share/man/man3/IPC.Open3.3pm type=file
-/usr/share/man/man3/IPC.Semaphore.3pm type=file
-/usr/share/man/man3/IPC.SharedMem.3pm type=file
-/usr/share/man/man3/IPC.SysV.3pm type=file
-/usr/share/man/man3/List.Util.3pm type=file
-/usr/share/man/man3/Locale.Constants.3pm type=file
-/usr/share/man/man3/Locale.Country.3pm type=file
-/usr/share/man/man3/Locale.Currency.3pm type=file
-/usr/share/man/man3/Locale.Language.3pm type=file
-/usr/share/man/man3/Locale.Maketext.3pm type=file
-/usr/share/man/man3/Locale.Maketext.Simple.3pm type=file
-/usr/share/man/man3/Locale.Maketext.TPJ13.3pm type=file
-/usr/share/man/man3/Locale.Script.3pm type=file
-/usr/share/man/man3/Log.Message.3pm type=file
-/usr/share/man/man3/Log.Message.Config.3pm type=file
-/usr/share/man/man3/Log.Message.Handlers.3pm type=file
-/usr/share/man/man3/Log.Message.Item.3pm type=file
-/usr/share/man/man3/Log.Message.Simple.3pm type=file
-/usr/share/man/man3/MIME.Base64.3pm type=file
-/usr/share/man/man3/MIME.QuotedPrint.3pm type=file
-/usr/share/man/man3/Math.BigFloat.3pm type=file
-/usr/share/man/man3/Math.BigInt.3pm type=file
-/usr/share/man/man3/Math.BigInt.Calc.3pm type=file
-/usr/share/man/man3/Math.BigInt.CalcEmu.3pm type=file
-/usr/share/man/man3/Math.BigInt.FastCalc.3pm type=file
-/usr/share/man/man3/Math.BigRat.3pm type=file
-/usr/share/man/man3/Math.Complex.3pm type=file
-/usr/share/man/man3/Math.Trig.3pm type=file
-/usr/share/man/man3/Memoize.3pm type=file
-/usr/share/man/man3/Memoize.AnyDBM_File.3pm type=file
-/usr/share/man/man3/Memoize.Expire.3pm type=file
-/usr/share/man/man3/Memoize.ExpireFile.3pm type=file
-/usr/share/man/man3/Memoize.ExpireTest.3pm type=file
-/usr/share/man/man3/Memoize.NDBM_File.3pm type=file
-/usr/share/man/man3/Memoize.SDBM_File.3pm type=file
-/usr/share/man/man3/Memoize.Storable.3pm type=file
-/usr/share/man/man3/Module.Build.3pm type=file
-/usr/share/man/man3/Module.Build.API.3pm type=file
-/usr/share/man/man3/Module.Build.Authoring.3pm type=file
-/usr/share/man/man3/Module.Build.Base.3pm type=file
-/usr/share/man/man3/Module.Build.Compat.3pm type=file
-/usr/share/man/man3/Module.Build.ConfigData.3pm type=file
-/usr/share/man/man3/Module.Build.Cookbook.3pm type=file
-/usr/share/man/man3/Module.Build.ModuleInfo.3pm type=file
-/usr/share/man/man3/Module.Build.Notes.3pm type=file
-/usr/share/man/man3/Module.Build.PPMMaker.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.Amiga.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.Default.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.EBCDIC.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.MPEiX.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.MacOS.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.RiscOS.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.Unix.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.VMS.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.VOS.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.Windows.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.aix.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.cygwin.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.darwin.3pm type=file
-/usr/share/man/man3/Module.Build.Platform.os2.3pm type=file
-/usr/share/man/man3/Module.Build.YAML.3pm type=file
-/usr/share/man/man3/Module.CoreList.3pm type=file
-/usr/share/man/man3/Module.Load.3pm type=file
-/usr/share/man/man3/Module.Load.Conditional.3pm type=file
-/usr/share/man/man3/Module.Loaded.3pm type=file
-/usr/share/man/man3/Module.Pluggable.3pm type=file
-/usr/share/man/man3/Module.Pluggable.Object.3pm type=file
-/usr/share/man/man3/NDBM_File.3pm type=file
-/usr/share/man/man3/NEXT.3pm type=file
-/usr/share/man/man3/Net.Cmd.3pm type=file
-/usr/share/man/man3/Net.Config.3pm type=file
-/usr/share/man/man3/Net.Domain.3pm type=file
-/usr/share/man/man3/Net.FTP.3pm type=file
-/usr/share/man/man3/Net.NNTP.3pm type=file
-/usr/share/man/man3/Net.Netrc.3pm type=file
-/usr/share/man/man3/Net.POP3.3pm type=file
-/usr/share/man/man3/Net.Ping.3pm type=file
-/usr/share/man/man3/Net.SMTP.3pm type=file
-/usr/share/man/man3/Net.Time.3pm type=file
-/usr/share/man/man3/Net.hostent.3pm type=file
-/usr/share/man/man3/Net.libnetFAQ.3pm type=file
-/usr/share/man/man3/Net.netent.3pm type=file
-/usr/share/man/man3/Net.protoent.3pm type=file
-/usr/share/man/man3/Net.servent.3pm type=file
-/usr/share/man/man3/O.3pm type=file
-/usr/share/man/man3/ODBM_File.3pm type=file
-/usr/share/man/man3/Object.Accessor.3pm type=file
-/usr/share/man/man3/Opcode.3pm type=file
-/usr/share/man/man3/POSIX.3pm type=file
-/usr/share/man/man3/Package.Constants.3pm type=file
-/usr/share/man/man3/Params.Check.3pm type=file
-/usr/share/man/man3/PerlIO.3pm type=file
-/usr/share/man/man3/PerlIO.encoding.3pm type=file
-/usr/share/man/man3/PerlIO.scalar.3pm type=file
-/usr/share/man/man3/PerlIO.via.3pm type=file
-/usr/share/man/man3/PerlIO.via.QuotedPrint.3pm type=file
-/usr/share/man/man3/Pod.Checker.3pm type=file
-/usr/share/man/man3/Pod.Escapes.3pm type=file
-/usr/share/man/man3/Pod.Find.3pm type=file
-/usr/share/man/man3/Pod.Html.3pm type=file
-/usr/share/man/man3/Pod.InputObjects.3pm type=file
-/usr/share/man/man3/Pod.LaTeX.3pm type=file
-/usr/share/man/man3/Pod.Man.3pm type=file
-/usr/share/man/man3/Pod.ParseLink.3pm type=file
-/usr/share/man/man3/Pod.ParseUtils.3pm type=file
-/usr/share/man/man3/Pod.Parser.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToChecker.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToMan.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToNroff.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToPod.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToRtf.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToText.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToTk.3pm type=file
-/usr/share/man/man3/Pod.Perldoc.ToXml.3pm type=file
-/usr/share/man/man3/Pod.PlainText.3pm type=file
-/usr/share/man/man3/Pod.Plainer.3pm type=file
-/usr/share/man/man3/Pod.Select.3pm type=file
-/usr/share/man/man3/Pod.Simple.3pm type=file
-/usr/share/man/man3/Pod.Simple.Checker.3pm type=file
-/usr/share/man/man3/Pod.Simple.Debug.3pm type=file
-/usr/share/man/man3/Pod.Simple.DumpAsText.3pm type=file
-/usr/share/man/man3/Pod.Simple.DumpAsXML.3pm type=file
-/usr/share/man/man3/Pod.Simple.HTML.3pm type=file
-/usr/share/man/man3/Pod.Simple.HTMLBatch.3pm type=file
-/usr/share/man/man3/Pod.Simple.LinkSection.3pm type=file
-/usr/share/man/man3/Pod.Simple.Methody.3pm type=file
-/usr/share/man/man3/Pod.Simple.PullParser.3pm type=file
-/usr/share/man/man3/Pod.Simple.PullParserEndToken.3pm type=file
-/usr/share/man/man3/Pod.Simple.PullParserStartToken.3pm type=file
-/usr/share/man/man3/Pod.Simple.PullParserTextToken.3pm type=file
-/usr/share/man/man3/Pod.Simple.PullParserToken.3pm type=file
-/usr/share/man/man3/Pod.Simple.RTF.3pm type=file
-/usr/share/man/man3/Pod.Simple.Search.3pm type=file
-/usr/share/man/man3/Pod.Simple.SimpleTree.3pm type=file
-/usr/share/man/man3/Pod.Simple.Subclassing.3pm type=file
-/usr/share/man/man3/Pod.Simple.Text.3pm type=file
-/usr/share/man/man3/Pod.Simple.TextContent.3pm type=file
-/usr/share/man/man3/Pod.Simple.XMLOutStream.3pm type=file
-/usr/share/man/man3/Pod.Text.3pm type=file
-/usr/share/man/man3/Pod.Text.Color.3pm type=file
-/usr/share/man/man3/Pod.Text.Overstrike.3pm type=file
-/usr/share/man/man3/Pod.Text.Termcap.3pm type=file
-/usr/share/man/man3/Pod.Usage.3pm type=file
-/usr/share/man/man3/SDBM_File.3pm type=file
-/usr/share/man/man3/Safe.3pm type=file
-/usr/share/man/man3/Scalar.Util.3pm type=file
-/usr/share/man/man3/Search.Dict.3pm type=file
-/usr/share/man/man3/SelectSaver.3pm type=file
-/usr/share/man/man3/SelfLoader.3pm type=file
-/usr/share/man/man3/Shell.3pm type=file
-/usr/share/man/man3/Socket.3pm type=file
-/usr/share/man/man3/Storable.3pm type=file
-/usr/share/man/man3/Switch.3pm type=file
-/usr/share/man/man3/Symbol.3pm type=file
-/usr/share/man/man3/Sys.Hostname.3pm type=file
-/usr/share/man/man3/Sys.Syslog.3pm type=file
-/usr/share/man/man3/TAP.Base.3pm type=file
-/usr/share/man/man3/TAP.Formatter.Color.3pm type=file
-/usr/share/man/man3/TAP.Formatter.Console.3pm type=file
-/usr/share/man/man3/TAP.Formatter.Console.ParallelSession.3pm type=file
-/usr/share/man/man3/TAP.Formatter.Console.Session.3pm type=file
-/usr/share/man/man3/TAP.Harness.3pm type=file
-/usr/share/man/man3/TAP.Parser.3pm type=file
-/usr/share/man/man3/TAP.Parser.Aggregator.3pm type=file
-/usr/share/man/man3/TAP.Parser.Grammar.3pm type=file
-/usr/share/man/man3/TAP.Parser.Iterator.3pm type=file
-/usr/share/man/man3/TAP.Parser.Iterator.Array.3pm type=file
-/usr/share/man/man3/TAP.Parser.Iterator.Process.3pm type=file
-/usr/share/man/man3/TAP.Parser.Iterator.Stream.3pm type=file
-/usr/share/man/man3/TAP.Parser.Multiplexer.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Bailout.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Comment.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Plan.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Pragma.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Test.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Unknown.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.Version.3pm type=file
-/usr/share/man/man3/TAP.Parser.Result.YAML.3pm type=file
-/usr/share/man/man3/TAP.Parser.Source.3pm type=file
-/usr/share/man/man3/TAP.Parser.Source.Perl.3pm type=file
-/usr/share/man/man3/TAP.Parser.Utils.3pm type=file
-/usr/share/man/man3/TAP.Parser.YAMLish.Reader.3pm type=file
-/usr/share/man/man3/TAP.Parser.YAMLish.Writer.3pm type=file
-/usr/share/man/man3/Term.ANSIColor.3pm type=file
-/usr/share/man/man3/Term.Cap.3pm type=file
-/usr/share/man/man3/Term.Complete.3pm type=file
-/usr/share/man/man3/Term.ReadLine.3pm type=file
-/usr/share/man/man3/Term.UI.3pm type=file
-/usr/share/man/man3/Term.UI.History.3pm type=file
-/usr/share/man/man3/Test.3pm type=file
-/usr/share/man/man3/Test.Builder.3pm type=file
-/usr/share/man/man3/Test.Builder.Module.3pm type=file
-/usr/share/man/man3/Test.Builder.Tester.3pm type=file
-/usr/share/man/man3/Test.Builder.Tester.Color.3pm type=file
-/usr/share/man/man3/Test.Harness.3pm type=file
-/usr/share/man/man3/Test.More.3pm type=file
-/usr/share/man/man3/Test.Simple.3pm type=file
-/usr/share/man/man3/Test.Tutorial.3pm type=file
-/usr/share/man/man3/Text.Abbrev.3pm type=file
-/usr/share/man/man3/Text.Balanced.3pm type=file
-/usr/share/man/man3/Text.ParseWords.3pm type=file
-/usr/share/man/man3/Text.Soundex.3pm type=file
-/usr/share/man/man3/Text.Tabs.3pm type=file
-/usr/share/man/man3/Text.Wrap.3pm type=file
-/usr/share/man/man3/Thread.3pm type=file
-/usr/share/man/man3/Thread.Queue.3pm type=file
-/usr/share/man/man3/Thread.Semaphore.3pm type=file
-/usr/share/man/man3/Tie.Array.3pm type=file
-/usr/share/man/man3/Tie.File.3pm type=file
-/usr/share/man/man3/Tie.Handle.3pm type=file
-/usr/share/man/man3/Tie.Hash.3pm type=file
-/usr/share/man/man3/Tie.Hash.NamedCapture.3pm type=file
-/usr/share/man/man3/Tie.Memoize.3pm type=file
-/usr/share/man/man3/Tie.RefHash.3pm type=file
-/usr/share/man/man3/Tie.Scalar.3pm type=file
-/usr/share/man/man3/Tie.SubstrHash.3pm type=file
-/usr/share/man/man3/Time.HiRes.3pm type=file
-/usr/share/man/man3/Time.Local.3pm type=file
-/usr/share/man/man3/Time.Piece.3pm type=file
-/usr/share/man/man3/Time.Seconds.3pm type=file
-/usr/share/man/man3/Time.gmtime.3pm type=file
-/usr/share/man/man3/Time.localtime.3pm type=file
-/usr/share/man/man3/Time.tm.3pm type=file
-/usr/share/man/man3/UNIVERSAL.3pm type=file
-/usr/share/man/man3/Unicode.Collate.3pm type=file
-/usr/share/man/man3/Unicode.Normalize.3pm type=file
-/usr/share/man/man3/Unicode.UCD.3pm type=file
-/usr/share/man/man3/User.grent.3pm type=file
-/usr/share/man/man3/User.pwent.3pm type=file
-/usr/share/man/man3/Win32.3pm type=file
-/usr/share/man/man3/Win32API.File.3pm type=file
-/usr/share/man/man3/Win32CORE.3pm type=file
-/usr/share/man/man3/XS.APItest.3pm type=file
-/usr/share/man/man3/XS.Typemap.3pm type=file
-/usr/share/man/man3/XSLoader.3pm type=file
-/usr/share/man/man3/attributes.3pm type=file
-/usr/share/man/man3/attrs.3pm type=file
-/usr/share/man/man3/autouse.3pm type=file
-/usr/share/man/man3/base.3pm type=file
-/usr/share/man/man3/bigint.3pm type=file
-/usr/share/man/man3/bignum.3pm type=file
-/usr/share/man/man3/bigrat.3pm type=file
-/usr/share/man/man3/blib.3pm type=file
-/usr/share/man/man3/bytes.3pm type=file
-/usr/share/man/man3/charnames.3pm type=file
-/usr/share/man/man3/constant.3pm type=file
-/usr/share/man/man3/diagnostics.3pm type=file
-/usr/share/man/man3/encoding.3pm type=file
-/usr/share/man/man3/encoding.warnings.3pm type=file
-/usr/share/man/man3/feature.3pm type=file
-/usr/share/man/man3/fields.3pm type=file
-/usr/share/man/man3/filetest.3pm type=file
-/usr/share/man/man3/if.3pm type=file
-/usr/share/man/man3/integer.3pm type=file
-/usr/share/man/man3/less.3pm type=file
-/usr/share/man/man3/lib.3pm type=file
-/usr/share/man/man3/locale.3pm type=file
-/usr/share/man/man3/mro.3pm type=file
-/usr/share/man/man3/open.3pm type=file
-/usr/share/man/man3/ops.3pm type=file
-/usr/share/man/man3/overload.3pm type=file
-/usr/share/man/man3/parent.3pm type=file
-/usr/share/man/man3/re.3pm type=file
-/usr/share/man/man3/sigtrap.3pm type=file
-/usr/share/man/man3/sort.3pm type=file
-/usr/share/man/man3/strict.3pm type=file
-/usr/share/man/man3/subs.3pm type=file
-/usr/share/man/man3/threads.3pm type=file
-/usr/share/man/man3/threads.shared.3pm type=file
-/usr/share/man/man3/utf8.3pm type=file
-/usr/share/man/man3/vars.3pm type=file
-/usr/share/man/man3/version.3pm type=file
-/usr/share/man/man3/vmsish.3pm type=file
-/usr/share/man/man3/warnings.3pm type=file
-/usr/share/man/man3/warnings.register.3pm type=file
-/usr/bin/cygperl5_10.dll type=file
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B.pm
deleted file mode 100644
index 5d491b48991..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B.pm
+++ /dev/null
@@ -1,1189 +0,0 @@
-# B.pm
-#
-# Copyright (c) 1996, 1997, 1998 Malcolm Beattie
-#
-# You may distribute under the terms of either the GNU General Public
-# License or the Artistic License, as specified in the README file.
-#
-package B;
-
-our $VERSION = '1.20';
-
-use XSLoader ();
-require Exporter;
-@ISA = qw(Exporter);
-
-# walkoptree_slow comes from B.pm (you are there),
-# walkoptree comes from B.xs
-@EXPORT_OK = qw(minus_c ppname save_BEGINs
- class peekop cast_I32 cstring cchar hash threadsv_names
- main_root main_start main_cv svref_2object opnumber
- sub_generation amagic_generation perlstring
- walkoptree_slow walkoptree walkoptree_exec walksymtable
- parents comppadlist sv_undef compile_stats timing_info
- begin_av init_av check_av end_av regex_padav dowarn defstash
- curstash warnhook diehook inc_gv @optype @specialsv_name
- );
-push @EXPORT_OK, qw(unitcheck_av) if $] > 5.009;
-
-sub OPf_KIDS ();
-use strict;
-@B::SV::ISA = 'B::OBJECT';
-@B::NULL::ISA = 'B::SV';
-@B::PV::ISA = 'B::SV';
-@B::IV::ISA = 'B::SV';
-@B::NV::ISA = 'B::SV';
-# RV is eliminated with 5.11.0, but effectively is a specialisation of IV now.
-@B::RV::ISA = $] >= 5.011 ? 'B::IV' : 'B::SV';
-@B::PVIV::ISA = qw(B::PV B::IV);
-@B::PVNV::ISA = qw(B::PVIV B::NV);
-@B::PVMG::ISA = 'B::PVNV';
-@B::REGEXP::ISA = 'B::PVMG' if $] >= 5.011;
-# Change in the inheritance hierarchy post 5.9.0
-@B::PVLV::ISA = $] > 5.009 ? 'B::GV' : 'B::PVMG';
-# BM is eliminated post 5.9.5, but effectively is a specialisation of GV now.
-@B::BM::ISA = $] > 5.009005 ? 'B::GV' : 'B::PVMG';
-@B::AV::ISA = 'B::PVMG';
-@B::GV::ISA = 'B::PVMG';
-@B::HV::ISA = 'B::PVMG';
-@B::CV::ISA = 'B::PVMG';
-@B::IO::ISA = 'B::PVMG';
-@B::FM::ISA = 'B::CV';
-
-@B::OP::ISA = 'B::OBJECT';
-@B::UNOP::ISA = 'B::OP';
-@B::BINOP::ISA = 'B::UNOP';
-@B::LOGOP::ISA = 'B::UNOP';
-@B::LISTOP::ISA = 'B::BINOP';
-@B::SVOP::ISA = 'B::OP';
-@B::PADOP::ISA = 'B::OP';
-@B::PVOP::ISA = 'B::OP';
-@B::LOOP::ISA = 'B::LISTOP';
-@B::PMOP::ISA = 'B::LISTOP';
-@B::COP::ISA = 'B::OP';
-
-@B::SPECIAL::ISA = 'B::OBJECT';
-
-@B::optype = qw(OP UNOP BINOP LOGOP LISTOP PMOP SVOP PADOP PVOP LOOP COP);
-# bytecode.pl contained the following comment:
-# Nullsv *must* come first in the following so that the condition
-# ($$sv == 0) can continue to be used to test (sv == Nullsv).
-@B::specialsv_name = qw(Nullsv &PL_sv_undef &PL_sv_yes &PL_sv_no
- (SV*)pWARN_ALL (SV*)pWARN_NONE (SV*)pWARN_STD);
-
-{
- # Stop "-w" from complaining about the lack of a real B::OBJECT class
- package B::OBJECT;
-}
-
-sub B::GV::SAFENAME {
- my $name = (shift())->NAME;
-
- # The regex below corresponds to the isCONTROLVAR macro
- # from toke.c
-
- $name =~ s/^([\cA-\cZ\c\\c[\c]\c?\c_\c^])/"^".
- chr( utf8::unicode_to_native( 64 ^ ord($1) ))/e;
-
- # When we say unicode_to_native we really mean ascii_to_native,
- # which matters iff this is a non-ASCII platform (EBCDIC).
-
- return $name;
-}
-
-sub B::IV::int_value {
- my ($self) = @_;
- return (($self->FLAGS() & SVf_IVisUV()) ? $self->UVX : $self->IV);
-}
-
-sub B::NULL::as_string() {""}
-sub B::IV::as_string() {goto &B::IV::int_value}
-sub B::PV::as_string() {goto &B::PV::PV}
-
-my $debug;
-my $op_count = 0;
-my @parents = ();
-
-sub debug {
- my ($class, $value) = @_;
- $debug = $value;
- walkoptree_debug($value);
-}
-
-sub class {
- my $obj = shift;
- my $name = ref $obj;
- $name =~ s/^.*:://;
- return $name;
-}
-
-sub parents { \@parents }
-
-# For debugging
-sub peekop {
- my $op = shift;
- return sprintf("%s (0x%x) %s", class($op), $$op, $op->name);
-}
-
-sub walkoptree_slow {
- my($op, $method, $level) = @_;
- $op_count++; # just for statistics
- $level ||= 0;
- warn(sprintf("walkoptree: %d. %s\n", $level, peekop($op))) if $debug;
- $op->$method($level) if $op->can($method);
- if ($$op && ($op->flags & OPf_KIDS)) {
- my $kid;
- unshift(@parents, $op);
- for ($kid = $op->first; $$kid; $kid = $kid->sibling) {
- walkoptree_slow($kid, $method, $level + 1);
- }
- shift @parents;
- }
- if (class($op) eq 'PMOP'
- && ref($op->pmreplroot)
- && ${$op->pmreplroot}
- && $op->pmreplroot->isa( 'B::OP' ))
- {
- unshift(@parents, $op);
- walkoptree_slow($op->pmreplroot, $method, $level + 1);
- shift @parents;
- }
-}
-
-sub compile_stats {
- return "Total number of OPs processed: $op_count\n";
-}
-
-sub timing_info {
- my ($sec, $min, $hr) = localtime;
- my ($user, $sys) = times;
- sprintf("%02d:%02d:%02d user=$user sys=$sys",
- $hr, $min, $sec, $user, $sys);
-}
-
-my %symtable;
-
-sub clearsym {
- %symtable = ();
-}
-
-sub savesym {
- my ($obj, $value) = @_;
-# warn(sprintf("savesym: sym_%x => %s\n", $$obj, $value)); # debug
- $symtable{sprintf("sym_%x", $$obj)} = $value;
-}
-
-sub objsym {
- my $obj = shift;
- return $symtable{sprintf("sym_%x", $$obj)};
-}
-
-sub walkoptree_exec {
- my ($op, $method, $level) = @_;
- $level ||= 0;
- my ($sym, $ppname);
- my $prefix = " " x $level;
- for (; $$op; $op = $op->next) {
- $sym = objsym($op);
- if (defined($sym)) {
- print $prefix, "goto $sym\n";
- return;
- }
- savesym($op, sprintf("%s (0x%lx)", class($op), $$op));
- $op->$method($level);
- $ppname = $op->name;
- if ($ppname =~
- /^(d?or(assign)?|and(assign)?|mapwhile|grepwhile|entertry|range|cond_expr)$/)
- {
- print $prefix, uc($1), " => {\n";
- walkoptree_exec($op->other, $method, $level + 1);
- print $prefix, "}\n";
- } elsif ($ppname eq "match" || $ppname eq "subst") {
- my $pmreplstart = $op->pmreplstart;
- if ($$pmreplstart) {
- print $prefix, "PMREPLSTART => {\n";
- walkoptree_exec($pmreplstart, $method, $level + 1);
- print $prefix, "}\n";
- }
- } elsif ($ppname eq "substcont") {
- print $prefix, "SUBSTCONT => {\n";
- walkoptree_exec($op->other->pmreplstart, $method, $level + 1);
- print $prefix, "}\n";
- $op = $op->other;
- } elsif ($ppname eq "enterloop") {
- print $prefix, "REDO => {\n";
- walkoptree_exec($op->redoop, $method, $level + 1);
- print $prefix, "}\n", $prefix, "NEXT => {\n";
- walkoptree_exec($op->nextop, $method, $level + 1);
- print $prefix, "}\n", $prefix, "LAST => {\n";
- walkoptree_exec($op->lastop, $method, $level + 1);
- print $prefix, "}\n";
- } elsif ($ppname eq "subst") {
- my $replstart = $op->pmreplstart;
- if ($$replstart) {
- print $prefix, "SUBST => {\n";
- walkoptree_exec($replstart, $method, $level + 1);
- print $prefix, "}\n";
- }
- }
- }
-}
-
-sub walksymtable {
- my ($symref, $method, $recurse, $prefix) = @_;
- my $sym;
- my $ref;
- my $fullname;
- no strict 'refs';
- $prefix = '' unless defined $prefix;
- while (($sym, $ref) = each %$symref) {
- $fullname = "*main::".$prefix.$sym;
- if ($sym =~ /::$/) {
- $sym = $prefix . $sym;
- if ($sym ne "main::" && $sym ne "<none>::" && &$recurse($sym)) {
- walksymtable(\%$fullname, $method, $recurse, $sym);
- }
- } else {
- svref_2object(\*$fullname)->$method();
- }
- }
-}
-
-{
- package B::Section;
- my $output_fh;
- my %sections;
-
- sub new {
- my ($class, $section, $symtable, $default) = @_;
- $output_fh ||= FileHandle->new_tmpfile;
- my $obj = bless [-1, $section, $symtable, $default], $class;
- $sections{$section} = $obj;
- return $obj;
- }
-
- sub get {
- my ($class, $section) = @_;
- return $sections{$section};
- }
-
- sub add {
- my $section = shift;
- while (defined($_ = shift)) {
- print $output_fh "$section->[1]\t$_\n";
- $section->[0]++;
- }
- }
-
- sub index {
- my $section = shift;
- return $section->[0];
- }
-
- sub name {
- my $section = shift;
- return $section->[1];
- }
-
- sub symtable {
- my $section = shift;
- return $section->[2];
- }
-
- sub default {
- my $section = shift;
- return $section->[3];
- }
-
- sub output {
- my ($section, $fh, $format) = @_;
- my $name = $section->name;
- my $sym = $section->symtable || {};
- my $default = $section->default;
-
- seek($output_fh, 0, 0);
- while (<$output_fh>) {
- chomp;
- s/^(.*?)\t//;
- if ($1 eq $name) {
- s{(s\\_[0-9a-f]+)} {
- exists($sym->{$1}) ? $sym->{$1} : $default;
- }ge;
- printf $fh $format, $_;
- }
- }
- }
-}
-
-XSLoader::load 'B';
-
-1;
-
-__END__
-
-=head1 NAME
-
-B - The Perl Compiler
-
-=head1 SYNOPSIS
-
- use B;
-
-=head1 DESCRIPTION
-
-The C<B> module supplies classes which allow a Perl program to delve
-into its own innards. It is the module used to implement the
-"backends" of the Perl compiler. Usage of the compiler does not
-require knowledge of this module: see the F<O> module for the
-user-visible part. The C<B> module is of use to those who want to
-write new compiler backends. This documentation assumes that the
-reader knows a fair amount about perl's internals including such
-things as SVs, OPs and the internal symbol table and syntax tree
-of a program.
-
-=head1 OVERVIEW
-
-The C<B> module contains a set of utility functions for querying the
-current state of the Perl interpreter; typically these functions
-return objects from the B::SV and B::OP classes, or their derived
-classes. These classes in turn define methods for querying the
-resulting objects about their own internal state.
-
-=head1 Utility Functions
-
-The C<B> module exports a variety of functions: some are simple
-utility functions, others provide a Perl program with a way to
-get an initial "handle" on an internal object.
-
-=head2 Functions Returning C<B::SV>, C<B::AV>, C<B::HV>, and C<B::CV> objects
-
-For descriptions of the class hierarchy of these objects and the
-methods that can be called on them, see below, L<"OVERVIEW OF
-CLASSES"> and L<"SV-RELATED CLASSES">.
-
-=over 4
-
-=item sv_undef
-
-Returns the SV object corresponding to the C variable C<sv_undef>.
-
-=item sv_yes
-
-Returns the SV object corresponding to the C variable C<sv_yes>.
-
-=item sv_no
-
-Returns the SV object corresponding to the C variable C<sv_no>.
-
-=item svref_2object(SVREF)
-
-Takes a reference to any Perl value, and turns the referred-to value
-into an object in the appropriate B::OP-derived or B::SV-derived
-class. Apart from functions such as C<main_root>, this is the primary
-way to get an initial "handle" on an internal perl data structure
-which can then be followed with the other access methods.
-
-The returned object will only be valid as long as the underlying OPs
-and SVs continue to exist. Do not attempt to use the object after the
-underlying structures are freed.
-
-=item amagic_generation
-
-Returns the SV object corresponding to the C variable C<amagic_generation>.
-
-=item init_av
-
-Returns the AV object (i.e. in class B::AV) representing INIT blocks.
-
-=item check_av
-
-Returns the AV object (i.e. in class B::AV) representing CHECK blocks.
-
-=item unitcheck_av
-
-Returns the AV object (i.e. in class B::AV) representing UNITCHECK blocks.
-
-=item begin_av
-
-Returns the AV object (i.e. in class B::AV) representing BEGIN blocks.
-
-=item end_av
-
-Returns the AV object (i.e. in class B::AV) representing END blocks.
-
-=item comppadlist
-
-Returns the AV object (i.e. in class B::AV) of the global comppadlist.
-
-=item regex_padav
-
-Only when perl was compiled with ithreads.
-
-=item main_cv
-
-Return the (faked) CV corresponding to the main part of the Perl
-program.
-
-=back
-
-=head2 Functions for Examining the Symbol Table
-
-=over 4
-
-=item walksymtable(SYMREF, METHOD, RECURSE, PREFIX)
-
-Walk the symbol table starting at SYMREF and call METHOD on each
-symbol (a B::GV object) visited. When the walk reaches package
-symbols (such as "Foo::") it invokes RECURSE, passing in the symbol
-name, and only recurses into the package if that sub returns true.
-
-PREFIX is the name of the SYMREF you're walking.
-
-For example:
-
- # Walk CGI's symbol table calling print_subs on each symbol.
- # Recurse only into CGI::Util::
- walksymtable(\%CGI::, 'print_subs', sub { $_[0] eq 'CGI::Util::' },
- 'CGI::');
-
-print_subs() is a B::GV method you have declared. Also see L<"B::GV
-Methods">, below.
-
-=back
-
-=head2 Functions Returning C<B::OP> objects or for walking op trees
-
-For descriptions of the class hierarchy of these objects and the
-methods that can be called on them, see below, L<"OVERVIEW OF
-CLASSES"> and L<"OP-RELATED CLASSES">.
-
-=over 4
-
-=item main_root
-
-Returns the root op (i.e. an object in the appropriate B::OP-derived
-class) of the main part of the Perl program.
-
-=item main_start
-
-Returns the starting op of the main part of the Perl program.
-
-=item walkoptree(OP, METHOD)
-
-Does a tree-walk of the syntax tree based at OP and calls METHOD on
-each op it visits. Each node is visited before its children. If
-C<walkoptree_debug> (see below) has been called to turn debugging on then
-the method C<walkoptree_debug> is called on each op before METHOD is
-called.
-
-=item walkoptree_debug(DEBUG)
-
-Returns the current debugging flag for C<walkoptree>. If the optional
-DEBUG argument is non-zero, it sets the debugging flag to that. See
-the description of C<walkoptree> above for what the debugging flag
-does.
-
-=back
-
-=head2 Miscellaneous Utility Functions
-
-=over 4
-
-=item ppname(OPNUM)
-
-Return the PP function name (e.g. "pp_add") of op number OPNUM.
-
-=item hash(STR)
-
-Returns a string in the form "0x..." representing the value of the
-internal hash function used by perl on string STR.
-
-=item cast_I32(I)
-
-Casts I to the internal I32 type used by that perl.
-
-=item minus_c
-
-Does the equivalent of the C<-c> command-line option. Obviously, this
-is only useful in a BEGIN block or else the flag is set too late.
-
-=item cstring(STR)
-
-Returns a double-quote-surrounded escaped version of STR which can
-be used as a string in C source code.
-
-=item perlstring(STR)
-
-Returns a double-quote-surrounded escaped version of STR which can
-be used as a string in Perl source code.
-
-=item class(OBJ)
-
-Returns the class of an object without the part of the classname
-preceding the first C<"::">. This is used to turn C<"B::UNOP"> into
-C<"UNOP"> for example.
-
-=item threadsv_names
-
-In a perl compiled for threads, this returns a list of the special
-per-thread threadsv variables.
-
-=back
-
-=head2 Exported utility variabiles
-
-=over 4
-
-=item @optype
-
- my $op_type = $optype[$op_type_num];
-
-A simple mapping of the op type number to its type (like 'COP' or 'BINOP').
-
-=item @specialsv_name
-
- my $sv_name = $specialsv_name[$sv_index];
-
-Certain SV types are considered 'special'. They're represented by
-B::SPECIAL and are referred to by a number from the specialsv_list.
-This array maps that number back to the name of the SV (like 'Nullsv'
-or '&PL_sv_undef').
-
-=back
-
-
-=head1 OVERVIEW OF CLASSES
-
-The C structures used by Perl's internals to hold SV and OP
-information (PVIV, AV, HV, ..., OP, SVOP, UNOP, ...) are modelled on a
-class hierarchy and the C<B> module gives access to them via a true
-object hierarchy. Structure fields which point to other objects
-(whether types of SV or types of OP) are represented by the C<B>
-module as Perl objects of the appropriate class.
-
-The bulk of the C<B> module is the methods for accessing fields of
-these structures.
-
-Note that all access is read-only. You cannot modify the internals by
-using this module. Also, note that the B::OP and B::SV objects created
-by this module are only valid for as long as the underlying objects
-exist; their creation doesn't increase the reference counts of the
-underlying objects. Trying to access the fields of a freed object will
-give incomprehensible results, or worse.
-
-=head2 SV-RELATED CLASSES
-
-B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and
-earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
-correspond in the obvious way to the underlying C structures of similar names.
-The inheritance hierarchy mimics the underlying C "inheritance". For the
-5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
-
- B::SV
- |
- +------------+------------+------------+
- | | | |
- B::PV B::IV B::NV B::RV
- \ / /
- \ / /
- B::PVIV /
- \ /
- \ /
- \ /
- B::PVNV
- |
- |
- B::PVMG
- |
- +-----+-----+-----+-----+
- | | | | |
- B::AV B::GV B::HV B::CV B::IO
- | |
- | |
- B::PVLV B::FM
-
-For 5.9.0 and earlier, PVLV is a direct subclass of PVMG, and BM is still
-present as a distinct type, so the base of this diagram is
-
-
- |
- |
- B::PVMG
- |
- +------+-----+-----+-----+-----+-----+
- | | | | | | |
- B::PVLV B::BM B::AV B::GV B::HV B::CV B::IO
- |
- |
- B::FM
-
-For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
-references, and a new type B::REGEXP is introduced, giving this structure:
-
- B::SV
- |
- +------------+------------+
- | | |
- B::PV B::IV B::NV
- \ / /
- \ / /
- B::PVIV /
- \ /
- \ /
- \ /
- B::PVNV
- |
- |
- B::PVMG
- |
- +-------+-------+---+---+-------+-------+
- | | | | | |
- B::AV B::GV B::HV B::CV B::IO B::REGEXP
- | |
- | |
- B::PVLV B::FM
-
-
-Access methods correspond to the underlying C macros for field access,
-usually with the leading "class indication" prefix removed (Sv, Av,
-Hv, ...). The leading prefix is only left in cases where its removal
-would cause a clash in method name. For example, C<GvREFCNT> stays
-as-is since its abbreviation would clash with the "superclass" method
-C<REFCNT> (corresponding to the C function C<SvREFCNT>).
-
-=head2 B::SV Methods
-
-=over 4
-
-=item REFCNT
-
-=item FLAGS
-
-=item object_2svref
-
-Returns a reference to the regular scalar corresponding to this
-B::SV object. In other words, this method is the inverse operation
-to the svref_2object() subroutine. This scalar and other data it points
-at should be considered read-only: modifying them is neither safe nor
-guaranteed to have a sensible effect.
-
-=back
-
-=head2 B::IV Methods
-
-=over 4
-
-=item IV
-
-Returns the value of the IV, I<interpreted as
-a signed integer>. This will be misleading
-if C<FLAGS & SVf_IVisUV>. Perhaps you want the
-C<int_value> method instead?
-
-=item IVX
-
-=item UVX
-
-=item int_value
-
-This method returns the value of the IV as an integer.
-It differs from C<IV> in that it returns the correct
-value regardless of whether it's stored signed or
-unsigned.
-
-=item needs64bits
-
-=item packiv
-
-=back
-
-=head2 B::NV Methods
-
-=over 4
-
-=item NV
-
-=item NVX
-
-=back
-
-=head2 B::RV Methods
-
-=over 4
-
-=item RV
-
-=back
-
-=head2 B::PV Methods
-
-=over 4
-
-=item PV
-
-This method is the one you usually want. It constructs a
-string using the length and offset information in the struct:
-for ordinary scalars it will return the string that you'd see
-from Perl, even if it contains null characters.
-
-=item RV
-
-Same as B::RV::RV, except that it will die() if the PV isn't
-a reference.
-
-=item PVX
-
-This method is less often useful. It assumes that the string
-stored in the struct is null-terminated, and disregards the
-length information.
-
-It is the appropriate method to use if you need to get the name
-of a lexical variable from a padname array. Lexical variable names
-are always stored with a null terminator, and the length field
-(SvCUR) is overloaded for other purposes and can't be relied on here.
-
-=back
-
-=head2 B::PVMG Methods
-
-=over 4
-
-=item MAGIC
-
-=item SvSTASH
-
-=back
-
-=head2 B::MAGIC Methods
-
-=over 4
-
-=item MOREMAGIC
-
-=item precomp
-
-Only valid on r-magic, returns the string that generated the regexp.
-
-=item PRIVATE
-
-=item TYPE
-
-=item FLAGS
-
-=item OBJ
-
-Will die() if called on r-magic.
-
-=item PTR
-
-=item REGEX
-
-Only valid on r-magic, returns the integer value of the REGEX stored
-in the MAGIC.
-
-=back
-
-=head2 B::PVLV Methods
-
-=over 4
-
-=item TARGOFF
-
-=item TARGLEN
-
-=item TYPE
-
-=item TARG
-
-=back
-
-=head2 B::BM Methods
-
-=over 4
-
-=item USEFUL
-
-=item PREVIOUS
-
-=item RARE
-
-=item TABLE
-
-=back
-
-=head2 B::GV Methods
-
-=over 4
-
-=item is_empty
-
-This method returns TRUE if the GP field of the GV is NULL.
-
-=item NAME
-
-=item SAFENAME
-
-This method returns the name of the glob, but if the first
-character of the name is a control character, then it converts
-it to ^X first, so that *^G would return "^G" rather than "\cG".
-
-It's useful if you want to print out the name of a variable.
-If you restrict yourself to globs which exist at compile-time
-then the result ought to be unambiguous, because code like
-C<${"^G"} = 1> is compiled as two ops - a constant string and
-a dereference (rv2gv) - so that the glob is created at runtime.
-
-If you're working with globs at runtime, and need to disambiguate
-*^G from *{"^G"}, then you should use the raw NAME method.
-
-=item STASH
-
-=item SV
-
-=item IO
-
-=item FORM
-
-=item AV
-
-=item HV
-
-=item EGV
-
-=item CV
-
-=item CVGEN
-
-=item LINE
-
-=item FILE
-
-=item FILEGV
-
-=item GvREFCNT
-
-=item FLAGS
-
-=back
-
-=head2 B::IO Methods
-
-=over 4
-
-=item LINES
-
-=item PAGE
-
-=item PAGE_LEN
-
-=item LINES_LEFT
-
-=item TOP_NAME
-
-=item TOP_GV
-
-=item FMT_NAME
-
-=item FMT_GV
-
-=item BOTTOM_NAME
-
-=item BOTTOM_GV
-
-=item SUBPROCESS
-
-=item IoTYPE
-
-=item IoFLAGS
-
-=item IsSTD
-
-Takes one arguments ( 'stdin' | 'stdout' | 'stderr' ) and returns true
-if the IoIFP of the object is equal to the handle whose name was
-passed as argument ( i.e. $io->IsSTD('stderr') is true if
-IoIFP($io) == PerlIO_stdin() ).
-
-=back
-
-=head2 B::AV Methods
-
-=over 4
-
-=item FILL
-
-=item MAX
-
-=item ARRAY
-
-=item ARRAYelt
-
-Like C<ARRAY>, but takes an index as an argument to get only one element,
-rather than a list of all of them.
-
-=item OFF
-
-This method is deprecated if running under Perl 5.8, and is no longer present
-if running under Perl 5.9
-
-=item AvFLAGS
-
-This method returns the AV specific flags. In Perl 5.9 these are now stored
-in with the main SV flags, so this method is no longer present.
-
-=back
-
-=head2 B::CV Methods
-
-=over 4
-
-=item STASH
-
-=item START
-
-=item ROOT
-
-=item GV
-
-=item FILE
-
-=item DEPTH
-
-=item PADLIST
-
-=item OUTSIDE
-
-=item OUTSIDE_SEQ
-
-=item XSUB
-
-=item XSUBANY
-
-For constant subroutines, returns the constant SV returned by the subroutine.
-
-=item CvFLAGS
-
-=item const_sv
-
-=back
-
-=head2 B::HV Methods
-
-=over 4
-
-=item FILL
-
-=item MAX
-
-=item KEYS
-
-=item RITER
-
-=item NAME
-
-=item ARRAY
-
-=item PMROOT
-
-This method is not present if running under Perl 5.9, as the PMROOT
-information is no longer stored directly in the hash.
-
-=back
-
-=head2 OP-RELATED CLASSES
-
-C<B::OP>, C<B::UNOP>, C<B::BINOP>, C<B::LOGOP>, C<B::LISTOP>, C<B::PMOP>,
-C<B::SVOP>, C<B::PADOP>, C<B::PVOP>, C<B::LOOP>, C<B::COP>.
-
-These classes correspond in the obvious way to the underlying C
-structures of similar names. The inheritance hierarchy mimics the
-underlying C "inheritance":
-
- B::OP
- |
- +---------------+--------+--------+-------+
- | | | | |
- B::UNOP B::SVOP B::PADOP B::COP B::PVOP
- ,' `-.
- / `--.
- B::BINOP B::LOGOP
- |
- |
- B::LISTOP
- ,' `.
- / \
- B::LOOP B::PMOP
-
-Access methods correspond to the underlying C structre field names,
-with the leading "class indication" prefix (C<"op_">) removed.
-
-=head2 B::OP Methods
-
-These methods get the values of similarly named fields within the OP
-data structure. See top of C<op.h> for more info.
-
-=over 4
-
-=item next
-
-=item sibling
-
-=item name
-
-This returns the op name as a string (e.g. "add", "rv2av").
-
-=item ppaddr
-
-This returns the function name as a string (e.g. "PL_ppaddr[OP_ADD]",
-"PL_ppaddr[OP_RV2AV]").
-
-=item desc
-
-This returns the op description from the global C PL_op_desc array
-(e.g. "addition" "array deref").
-
-=item targ
-
-=item type
-
-=item opt
-
-=item flags
-
-=item private
-
-=item spare
-
-=back
-
-=head2 B::UNOP METHOD
-
-=over 4
-
-=item first
-
-=back
-
-=head2 B::BINOP METHOD
-
-=over 4
-
-=item last
-
-=back
-
-=head2 B::LOGOP METHOD
-
-=over 4
-
-=item other
-
-=back
-
-=head2 B::LISTOP METHOD
-
-=over 4
-
-=item children
-
-=back
-
-=head2 B::PMOP Methods
-
-=over 4
-
-=item pmreplroot
-
-=item pmreplstart
-
-=item pmnext
-
-Only up to Perl 5.9.4
-
-=item pmregexp
-
-=item pmflags
-
-=item extflags
-
-Since Perl 5.9.5
-
-=item precomp
-
-=item pmoffset
-
-Only when perl was compiled with ithreads.
-
-=back
-
-=head2 B::SVOP METHOD
-
-=over 4
-
-=item sv
-
-=item gv
-
-=back
-
-=head2 B::PADOP METHOD
-
-=over 4
-
-=item padix
-
-=back
-
-=head2 B::PVOP METHOD
-
-=over 4
-
-=item pv
-
-=back
-
-=head2 B::LOOP Methods
-
-=over 4
-
-=item redoop
-
-=item nextop
-
-=item lastop
-
-=back
-
-=head2 B::COP Methods
-
-=over 4
-
-=item label
-
-=item stash
-
-=item stashpv
-
-=item file
-
-=item cop_seq
-
-=item arybase
-
-=item line
-
-=item warnings
-
-=item io
-
-=item hints
-
-=item hints_hash
-
-=back
-
-
-=head1 AUTHOR
-
-Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Concise.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Concise.pm
deleted file mode 100644
index 7ddf1d7bfb6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Concise.pm
+++ /dev/null
@@ -1,1824 +0,0 @@
-package B::Concise;
-# Copyright (C) 2000-2003 Stephen McCamant. All rights reserved.
-# This program is free software; you can redistribute and/or modify it
-# under the same terms as Perl itself.
-
-# Note: we need to keep track of how many use declarations/BEGIN
-# blocks this module uses, so we can avoid printing them when user
-# asks for the BEGIN blocks in her program. Update the comments and
-# the count in concise_specials if you add or delete one. The
-# -MO=Concise counts as use #1.
-
-use strict; # use #2
-use warnings; # uses #3 and #4, since warnings uses Carp
-
-use Exporter (); # use #5
-
-our $VERSION = "0.75";
-our @ISA = qw(Exporter);
-our @EXPORT_OK = qw( set_style set_style_standard add_callback
- concise_subref concise_cv concise_main
- add_style walk_output compile reset_sequence );
-our %EXPORT_TAGS =
- ( io => [qw( walk_output compile reset_sequence )],
- style => [qw( add_style set_style_standard )],
- cb => [qw( add_callback )],
- mech => [qw( concise_subref concise_cv concise_main )], );
-
-# use #6
-use B qw(class ppname main_start main_root main_cv cstring svref_2object
- SVf_IOK SVf_NOK SVf_POK SVf_IVisUV SVf_FAKE OPf_KIDS OPf_SPECIAL
- CVf_ANON PAD_FAKELEX_ANON PAD_FAKELEX_MULTI SVf_ROK);
-
-my %style =
- ("terse" =>
- ["(?(#label =>\n)?)(*( )*)#class (#addr) #name (?([#targ])?) "
- . "#svclass~(?((#svaddr))?)~#svval~(?(label \"#coplabel\")?)\n",
- "(*( )*)goto #class (#addr)\n",
- "#class pp_#name"],
- "concise" =>
- ["#hyphseq2 (*( (x( ;)x))*)<#classsym> #exname#arg(?([#targarglife])?)"
- . "~#flags(?(/#private)?)(?(:#hints)?)(x(;~->#next)x)\n"
- , " (*( )*) goto #seq\n",
- "(?(<#seq>)?)#exname#arg(?([#targarglife])?)"],
- "linenoise" =>
- ["(x(;(*( )*))x)#noise#arg(?([#targarg])?)(x( ;\n)x)",
- "gt_#seq ",
- "(?(#seq)?)#noise#arg(?([#targarg])?)"],
- "debug" =>
- ["#class (#addr)\n\top_next\t\t#nextaddr\n\top_sibling\t#sibaddr\n\t"
- . "op_ppaddr\tPL_ppaddr[OP_#NAME]\n\top_type\t\t#typenum\n" .
- ($] > 5.009 ? '' : "\top_seq\t\t#seqnum\n")
- . "\top_flags\t#flagval\n\top_private\t#privval\t#hintsval\n"
- . "(?(\top_first\t#firstaddr\n)?)(?(\top_last\t\t#lastaddr\n)?)"
- . "(?(\top_sv\t\t#svaddr\n)?)",
- " GOTO #addr\n",
- "#addr"],
- "env" => [$ENV{B_CONCISE_FORMAT}, $ENV{B_CONCISE_GOTO_FORMAT},
- $ENV{B_CONCISE_TREE_FORMAT}],
- );
-
-# Renderings, ie how Concise prints, is controlled by these vars
-# primary:
-our $stylename; # selects current style from %style
-my $order = "basic"; # how optree is walked & printed: basic, exec, tree
-
-# rendering mechanics:
-# these 'formats' are the line-rendering templates
-# they're updated from %style when $stylename changes
-my ($format, $gotofmt, $treefmt);
-
-# lesser players:
-my $base = 36; # how <sequence#> is displayed
-my $big_endian = 1; # more <sequence#> display
-my $tree_style = 0; # tree-order details
-my $banner = 1; # print banner before optree is traversed
-my $do_main = 0; # force printing of main routine
-my $show_src; # show source code
-
-# another factor: can affect all styles!
-our @callbacks; # allow external management
-
-set_style_standard("concise");
-
-my $curcv;
-my $cop_seq_base;
-
-sub set_style {
- ($format, $gotofmt, $treefmt) = @_;
- #warn "set_style: deprecated, use set_style_standard instead\n"; # someday
- die "expecting 3 style-format args\n" unless @_ == 3;
-}
-
-sub add_style {
- my ($newstyle,@args) = @_;
- die "style '$newstyle' already exists, choose a new name\n"
- if exists $style{$newstyle};
- die "expecting 3 style-format args\n" unless @args == 3;
- $style{$newstyle} = [@args];
- $stylename = $newstyle; # update rendering state
-}
-
-sub set_style_standard {
- ($stylename) = @_; # update rendering state
- die "err: style '$stylename' unknown\n" unless exists $style{$stylename};
- set_style(@{$style{$stylename}});
-}
-
-sub add_callback {
- push @callbacks, @_;
-}
-
-# output handle, used with all Concise-output printing
-our $walkHandle; # public for your convenience
-BEGIN { $walkHandle = \*STDOUT }
-
-sub walk_output { # updates $walkHandle
- my $handle = shift;
- return $walkHandle unless $handle; # allow use as accessor
-
- if (ref $handle eq 'SCALAR') {
- require Config;
- die "no perlio in this build, can't call walk_output (\\\$scalar)\n"
- unless $Config::Config{useperlio};
- # in 5.8+, open(FILEHANDLE,MODE,REFERENCE) writes to string
- open my $tmp, '>', $handle; # but cant re-set existing STDOUT
- $walkHandle = $tmp; # so use my $tmp as intermediate var
- return $walkHandle;
- }
- my $iotype = ref $handle;
- die "expecting argument/object that can print\n"
- unless $iotype eq 'GLOB' or $iotype and $handle->can('print');
- $walkHandle = $handle;
-}
-
-sub concise_subref {
- my($order, $coderef, $name) = @_;
- my $codeobj = svref_2object($coderef);
-
- return concise_stashref(@_)
- unless ref $codeobj eq 'B::CV';
- concise_cv_obj($order, $codeobj, $name);
-}
-
-sub concise_stashref {
- my($order, $h) = @_;
- local *s;
- foreach my $k (sort keys %$h) {
- next unless defined $h->{$k};
- *s = $h->{$k};
- my $coderef = *s{CODE} or next;
- reset_sequence();
- print "FUNC: ", *s, "\n";
- my $codeobj = svref_2object($coderef);
- next unless ref $codeobj eq 'B::CV';
- eval { concise_cv_obj($order, $codeobj, $k) };
- warn "err $@ on $codeobj" if $@;
- }
-}
-
-# This should have been called concise_subref, but it was exported
-# under this name in versions before 0.56
-*concise_cv = \&concise_subref;
-
-sub concise_cv_obj {
- my ($order, $cv, $name) = @_;
- # name is either a string, or a CODE ref (copy of $cv arg??)
-
- $curcv = $cv;
-
- if (ref($cv->XSUBANY) =~ /B::(\w+)/) {
- print $walkHandle "$name is a constant sub, optimized to a $1\n";
- return;
- }
- if ($cv->XSUB) {
- print $walkHandle "$name is XS code\n";
- return;
- }
- if (class($cv->START) eq "NULL") {
- no strict 'refs';
- if (ref $name eq 'CODE') {
- print $walkHandle "coderef $name has no START\n";
- }
- elsif (exists &$name) {
- print $walkHandle "$name exists in stash, but has no START\n";
- }
- else {
- print $walkHandle "$name not in symbol table\n";
- }
- return;
- }
- sequence($cv->START);
- if ($order eq "exec") {
- walk_exec($cv->START);
- }
- elsif ($order eq "basic") {
- # walk_topdown($cv->ROOT, sub { $_[0]->concise($_[1]) }, 0);
- my $root = $cv->ROOT;
- unless (ref $root eq 'B::NULL') {
- walk_topdown($root, sub { $_[0]->concise($_[1]) }, 0);
- } else {
- print $walkHandle "B::NULL encountered doing ROOT on $cv. avoiding disaster\n";
- }
- } else {
- print $walkHandle tree($cv->ROOT, 0);
- }
-}
-
-sub concise_main {
- my($order) = @_;
- sequence(main_start);
- $curcv = main_cv;
- if ($order eq "exec") {
- return if class(main_start) eq "NULL";
- walk_exec(main_start);
- } elsif ($order eq "tree") {
- return if class(main_root) eq "NULL";
- print $walkHandle tree(main_root, 0);
- } elsif ($order eq "basic") {
- return if class(main_root) eq "NULL";
- walk_topdown(main_root,
- sub { $_[0]->concise($_[1]) }, 0);
- }
-}
-
-sub concise_specials {
- my($name, $order, @cv_s) = @_;
- my $i = 1;
- if ($name eq "BEGIN") {
- splice(@cv_s, 0, 8); # skip 7 BEGIN blocks in this file. NOW 8 ??
- } elsif ($name eq "CHECK") {
- pop @cv_s; # skip the CHECK block that calls us
- }
- for my $cv (@cv_s) {
- print $walkHandle "$name $i:\n";
- $i++;
- concise_cv_obj($order, $cv, $name);
- }
-}
-
-my $start_sym = "\e(0"; # "\cN" sometimes also works
-my $end_sym = "\e(B"; # "\cO" respectively
-
-my @tree_decorations =
- ([" ", "--", "+-", "|-", "| ", "`-", "-", 1],
- [" ", "-", "+", "+", "|", "`", "", 0],
- [" ", map("$start_sym$_$end_sym", "qq", "wq", "tq", "x ", "mq", "q"), 1],
- [" ", map("$start_sym$_$end_sym", "q", "w", "t", "x", "m"), "", 0],
- );
-
-my @render_packs; # collect -stash=<packages>
-
-sub compileOpts {
- # set rendering state from options and args
- my (@options,@args);
- if (@_) {
- @options = grep(/^-/, @_);
- @args = grep(!/^-/, @_);
- }
- for my $o (@options) {
- # mode/order
- if ($o eq "-basic") {
- $order = "basic";
- } elsif ($o eq "-exec") {
- $order = "exec";
- } elsif ($o eq "-tree") {
- $order = "tree";
- }
- # tree-specific
- elsif ($o eq "-compact") {
- $tree_style |= 1;
- } elsif ($o eq "-loose") {
- $tree_style &= ~1;
- } elsif ($o eq "-vt") {
- $tree_style |= 2;
- } elsif ($o eq "-ascii") {
- $tree_style &= ~2;
- }
- # sequence numbering
- elsif ($o =~ /^-base(\d+)$/) {
- $base = $1;
- } elsif ($o eq "-bigendian") {
- $big_endian = 1;
- } elsif ($o eq "-littleendian") {
- $big_endian = 0;
- }
- # miscellaneous, presentation
- elsif ($o eq "-nobanner") {
- $banner = 0;
- } elsif ($o eq "-banner") {
- $banner = 1;
- }
- elsif ($o eq "-main") {
- $do_main = 1;
- } elsif ($o eq "-nomain") {
- $do_main = 0;
- } elsif ($o eq "-src") {
- $show_src = 1;
- }
- elsif ($o =~ /^-stash=(.*)/) {
- my $pkg = $1;
- no strict 'refs';
- eval "require $pkg" unless defined %{$pkg.'::'};
- push @render_packs, $pkg;
- }
- # line-style options
- elsif (exists $style{substr($o, 1)}) {
- $stylename = substr($o, 1);
- set_style_standard($stylename);
- } else {
- warn "Option $o unrecognized";
- }
- }
- return (@args);
-}
-
-sub compile {
- my (@args) = compileOpts(@_);
- return sub {
- my @newargs = compileOpts(@_); # accept new rendering options
- warn "disregarding non-options: @newargs\n" if @newargs;
-
- for my $objname (@args) {
- next unless $objname; # skip null args to avoid noisy responses
-
- if ($objname eq "BEGIN") {
- concise_specials("BEGIN", $order,
- B::begin_av->isa("B::AV") ?
- B::begin_av->ARRAY : ());
- } elsif ($objname eq "INIT") {
- concise_specials("INIT", $order,
- B::init_av->isa("B::AV") ?
- B::init_av->ARRAY : ());
- } elsif ($objname eq "CHECK") {
- concise_specials("CHECK", $order,
- B::check_av->isa("B::AV") ?
- B::check_av->ARRAY : ());
- } elsif ($objname eq "UNITCHECK") {
- concise_specials("UNITCHECK", $order,
- B::unitcheck_av->isa("B::AV") ?
- B::unitcheck_av->ARRAY : ());
- } elsif ($objname eq "END") {
- concise_specials("END", $order,
- B::end_av->isa("B::AV") ?
- B::end_av->ARRAY : ());
- }
- else {
- # convert function names to subrefs
- my $objref;
- if (ref $objname) {
- print $walkHandle "B::Concise::compile($objname)\n"
- if $banner;
- $objref = $objname;
- } else {
- $objname = "main::" . $objname unless $objname =~ /::/;
- print $walkHandle "$objname:\n";
- no strict 'refs';
- unless (exists &$objname) {
- print $walkHandle "err: unknown function ($objname)\n";
- return;
- }
- $objref = \&$objname;
- }
- concise_subref($order, $objref, $objname);
- }
- }
- for my $pkg (@render_packs) {
- no strict 'refs';
- concise_stashref($order, \%{$pkg.'::'});
- }
-
- if (!@args or $do_main or @render_packs) {
- print $walkHandle "main program:\n" if $do_main;
- concise_main($order);
- }
- return @args; # something
- }
-}
-
-my %labels;
-my $lastnext; # remembers op-chain, used to insert gotos
-
-my %opclass = ('OP' => "0", 'UNOP' => "1", 'BINOP' => "2", 'LOGOP' => "|",
- 'LISTOP' => "@", 'PMOP' => "/", 'SVOP' => "\$", 'GVOP' => "*",
- 'PVOP' => '"', 'LOOP' => "{", 'COP' => ";", 'PADOP' => "#");
-
-no warnings 'qw'; # "Possible attempt to put comments..."; use #7
-my @linenoise =
- qw'# () sc ( @? 1 $* gv *{ m$ m@ m% m? p/ *$ $ $# & a& pt \\ s\\ rf bl
- ` *? <> ?? ?/ r/ c/ // qr s/ /c y/ = @= C sC Cp sp df un BM po +1 +I
- -1 -I 1+ I+ 1- I- ** * i* / i/ %$ i% x + i+ - i- . " << >> < i<
- > i> <= i, >= i. == i= != i! <? i? s< s> s, s. s= s! s? b& b^ b| -0 -i
- ! ~ a2 si cs rd sr e^ lg sq in %x %o ab le ss ve ix ri sf FL od ch cy
- uf lf uc lc qm @ [f [ @[ eh vl ky dl ex % ${ @{ uk pk st jn ) )[ a@
- a% sl +] -] [- [+ so rv GS GW MS MW .. f. .f && || ^^ ?: &= |= -> s{ s}
- v} ca wa di rs ;; ; ;d }{ { } {} f{ it {l l} rt }l }n }r dm }g }e ^o
- ^c ^| ^# um bm t~ u~ ~d DB db ^s se ^g ^r {w }w pf pr ^O ^K ^R ^W ^d ^v
- ^e ^t ^k t. fc ic fl .s .p .b .c .l .a .h g1 s1 g2 s2 ?. l? -R -W -X -r
- -w -x -e -o -O -z -s -M -A -C -S -c -b -f -d -p -l -u -g -k -t -T -B cd
- co cr u. cm ut r. l@ s@ r@ mD uD oD rD tD sD wD cD f$ w$ p$ sh e$ k$ g3
- g4 s4 g5 s5 T@ C@ L@ G@ A@ S@ Hg Hc Hr Hw Mg Mc Ms Mr Sg Sc So rq do {e
- e} {t t} g6 G6 6e g7 G7 7e g8 G8 8e g9 G9 9e 6s 7s 8s 9s 6E 7E 8E 9E Pn
- Pu GP SP EP Gn Gg GG SG EG g0 c$ lk t$ ;s n> // /= CO';
-
-my $chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
-sub op_flags { # common flags (see BASOP.op_flags in op.h)
- my($x) = @_;
- my(@v);
- push @v, "v" if ($x & 3) == 1;
- push @v, "s" if ($x & 3) == 2;
- push @v, "l" if ($x & 3) == 3;
- push @v, "K" if $x & 4;
- push @v, "P" if $x & 8;
- push @v, "R" if $x & 16;
- push @v, "M" if $x & 32;
- push @v, "S" if $x & 64;
- push @v, "*" if $x & 128;
- return join("", @v);
-}
-
-sub base_n {
- my $x = shift;
- return "-" . base_n(-$x) if $x < 0;
- my $str = "";
- do { $str .= substr($chars, $x % $base, 1) } while $x = int($x / $base);
- $str = reverse $str if $big_endian;
- return $str;
-}
-
-my %sequence_num;
-my $seq_max = 1;
-
-sub reset_sequence {
- # reset the sequence
- %sequence_num = ();
- $seq_max = 1;
- $lastnext = 0;
-}
-
-sub seq {
- my($op) = @_;
- return "-" if not exists $sequence_num{$$op};
- return base_n($sequence_num{$$op});
-}
-
-sub walk_topdown {
- my($op, $sub, $level) = @_;
- $sub->($op, $level);
- if ($op->flags & OPf_KIDS) {
- for (my $kid = $op->first; $$kid; $kid = $kid->sibling) {
- walk_topdown($kid, $sub, $level + 1);
- }
- }
- elsif (class($op) eq "PMOP") {
- my $maybe_root = $op->pmreplroot;
- if (ref($maybe_root) and $maybe_root->isa("B::OP")) {
- # It really is the root of the replacement, not something
- # else stored here for lack of space elsewhere
- walk_topdown($maybe_root, $sub, $level + 1);
- }
- }
-}
-
-sub walklines {
- my($ar, $level) = @_;
- for my $l (@$ar) {
- if (ref($l) eq "ARRAY") {
- walklines($l, $level + 1);
- } else {
- $l->concise($level);
- }
- }
-}
-
-sub walk_exec {
- my($top, $level) = @_;
- my %opsseen;
- my @lines;
- my @todo = ([$top, \@lines]);
- while (@todo and my($op, $targ) = @{shift @todo}) {
- for (; $$op; $op = $op->next) {
- last if $opsseen{$$op}++;
- push @$targ, $op;
- my $name = $op->name;
- if (class($op) eq "LOGOP") {
- my $ar = [];
- push @$targ, $ar;
- push @todo, [$op->other, $ar];
- } elsif ($name eq "subst" and $ {$op->pmreplstart}) {
- my $ar = [];
- push @$targ, $ar;
- push @todo, [$op->pmreplstart, $ar];
- } elsif ($name =~ /^enter(loop|iter)$/) {
- if ($] > 5.009) {
- $labels{${$op->nextop}} = "NEXT";
- $labels{${$op->lastop}} = "LAST";
- $labels{${$op->redoop}} = "REDO";
- } else {
- $labels{$op->nextop->seq} = "NEXT";
- $labels{$op->lastop->seq} = "LAST";
- $labels{$op->redoop->seq} = "REDO";
- }
- }
- }
- }
- walklines(\@lines, 0);
-}
-
-# The structure of this routine is purposely modeled after op.c's peep()
-sub sequence {
- my($op) = @_;
- my $oldop = 0;
- return if class($op) eq "NULL" or exists $sequence_num{$$op};
- for (; $$op; $op = $op->next) {
- last if exists $sequence_num{$$op};
- my $name = $op->name;
- if ($name =~ /^(null|scalar|lineseq|scope)$/) {
- next if $oldop and $ {$op->next};
- } else {
- $sequence_num{$$op} = $seq_max++;
- if (class($op) eq "LOGOP") {
- my $other = $op->other;
- $other = $other->next while $other->name eq "null";
- sequence($other);
- } elsif (class($op) eq "LOOP") {
- my $redoop = $op->redoop;
- $redoop = $redoop->next while $redoop->name eq "null";
- sequence($redoop);
- my $nextop = $op->nextop;
- $nextop = $nextop->next while $nextop->name eq "null";
- sequence($nextop);
- my $lastop = $op->lastop;
- $lastop = $lastop->next while $lastop->name eq "null";
- sequence($lastop);
- } elsif ($name eq "subst" and $ {$op->pmreplstart}) {
- my $replstart = $op->pmreplstart;
- $replstart = $replstart->next while $replstart->name eq "null";
- sequence($replstart);
- }
- }
- $oldop = $op;
- }
-}
-
-sub fmt_line { # generate text-line for op.
- my($hr, $op, $text, $level) = @_;
-
- $_->($hr, $op, \$text, \$level, $stylename) for @callbacks;
-
- return '' if $hr->{SKIP}; # suppress line if a callback said so
- return '' if $hr->{goto} and $hr->{goto} eq '-'; # no goto nowhere
-
- # spec: (?(text1#varText2)?)
- $text =~ s/\(\?\(([^\#]*?)\#(\w+)([^\#]*?)\)\?\)/
- $hr->{$2} ? $1.$hr->{$2}.$3 : ""/eg;
-
- # spec: (x(exec_text;basic_text)x)
- $text =~ s/\(x\((.*?);(.*?)\)x\)/$order eq "exec" ? $1 : $2/egs;
-
- # spec: (*(text)*)
- $text =~ s/\(\*\(([^;]*?)\)\*\)/$1 x $level/egs;
-
- # spec: (*(text1;text2)*)
- $text =~ s/\(\*\((.*?);(.*?)\)\*\)/$1 x ($level - 1) . $2 x ($level>0)/egs;
-
- # convert #Var to tag=>val form: Var\t#var
- $text =~ s/\#([A-Z][a-z]+)(\d+)?/\t\u$1\t\L#$1$2/gs;
-
- # spec: #varN
- $text =~ s/\#([a-zA-Z]+)(\d+)/sprintf("%-$2s", $hr->{$1})/eg;
-
- $text =~ s/\#([a-zA-Z]+)/$hr->{$1}/eg; # populate #var's
- $text =~ s/[ \t]*~+[ \t]*/ /g; # squeeze tildes
-
- $text = "# $hr->{src}\n$text" if $show_src and $hr->{src};
-
- chomp $text;
- return "$text\n" if $text ne "";
- return $text; # suppress empty lines
-}
-
-our %priv; # used to display each opcode's BASEOP.op_private values
-
-$priv{$_}{128} = "LVINTRO"
- for ("pos", "substr", "vec", "threadsv", "gvsv", "rv2sv", "rv2hv", "rv2gv",
- "rv2av", "rv2arylen", "aelem", "helem", "aslice", "hslice", "padsv",
- "padav", "padhv", "enteriter");
-$priv{$_}{64} = "REFC" for ("leave", "leavesub", "leavesublv", "leavewrite");
-$priv{"aassign"}{64} = "COMMON";
-$priv{"aassign"}{32} = $] < 5.009 ? "PHASH" : "STATE";
-$priv{"sassign"}{32} = "STATE";
-$priv{"sassign"}{64} = "BKWARD";
-$priv{$_}{64} = "RTIME" for ("match", "subst", "substcont", "qr");
-@{$priv{"trans"}}{1,2,4,8,16,64} = ("<UTF", ">UTF", "IDENT", "SQUASH", "DEL",
- "COMPL", "GROWS");
-$priv{"repeat"}{64} = "DOLIST";
-$priv{"leaveloop"}{64} = "CONT";
-@{$priv{$_}}{32,64,96} = ("DREFAV", "DREFHV", "DREFSV")
- for (qw(rv2gv rv2sv padsv aelem helem));
-$priv{$_}{16} = "STATE" for ("padav", "padhv", "padsv");
-@{$priv{"entersub"}}{16,32,64} = ("DBG","TARG","NOMOD");
-@{$priv{$_}}{4,8,128} = ("INARGS","AMPER","NO()") for ("entersub", "rv2cv");
-$priv{"gv"}{32} = "EARLYCV";
-$priv{"aelem"}{16} = $priv{"helem"}{16} = "LVDEFER";
-$priv{$_}{16} = "OURINTR" for ("gvsv", "rv2sv", "rv2av", "rv2hv", "r2gv",
- "enteriter");
-$priv{$_}{16} = "TARGMY"
- for (map(($_,"s$_"),"chop", "chomp"),
- map(($_,"i_$_"), "postinc", "postdec", "multiply", "divide", "modulo",
- "add", "subtract", "negate"), "pow", "concat", "stringify",
- "left_shift", "right_shift", "bit_and", "bit_xor", "bit_or",
- "complement", "atan2", "sin", "cos", "rand", "exp", "log", "sqrt",
- "int", "hex", "oct", "abs", "length", "index", "rindex", "sprintf",
- "ord", "chr", "crypt", "quotemeta", "join", "push", "unshift", "flock",
- "chdir", "chown", "chroot", "unlink", "chmod", "utime", "rename",
- "link", "symlink", "mkdir", "rmdir", "wait", "waitpid", "system",
- "exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority",
- "setpriority", "time", "sleep");
-$priv{$_}{4} = "REVERSED" for ("enteriter", "iter");
-@{$priv{"const"}}{4,8,16,32,64,128} = ("SHORT","STRICT","ENTERED",'$[',"BARE","WARN");
-$priv{"flip"}{64} = $priv{"flop"}{64} = "LINENUM";
-$priv{"list"}{64} = "GUESSED";
-$priv{"delete"}{64} = "SLICE";
-$priv{"exists"}{64} = "SUB";
-@{$priv{"sort"}}{1,2,4,8,16,32,64} = ("NUM", "INT", "REV", "INPLACE","DESC","QSORT","STABLE");
-$priv{"threadsv"}{64} = "SVREFd";
-@{$priv{$_}}{16,32,64,128} = ("INBIN","INCR","OUTBIN","OUTCR")
- for ("open", "backtick");
-$priv{"exit"}{128} = "VMS";
-$priv{$_}{2} = "FTACCESS"
- for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec");
-$priv{"entereval"}{2} = "HAS_HH";
-if ($] >= 5.009) {
- # Stacked filetests are post 5.8.x
- $priv{$_}{4} = "FTSTACKED"
- for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec",
- "ftis", "fteowned", "ftrowned", "ftzero", "ftsize", "ftmtime",
- "ftatime", "ftctime", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir",
- "ftpipe", "ftlink", "ftsuid", "ftsgid", "ftsvtx", "fttty", "fttext",
- "ftbinary");
- # Lexical $_ is post 5.8.x
- $priv{$_}{2} = "GREPLEX"
- for ("mapwhile", "mapstart", "grepwhile", "grepstart");
-}
-
-our %hints; # used to display each COP's op_hints values
-
-# strict refs, subs, vars
-@hints{2,512,1024} = ('$', '&', '*');
-# integers, locale, bytes, arybase
-@hints{1,4,8,16,32} = ('i', 'l', 'b', '[');
-# block scope, localise %^H, $^OPEN (in), $^OPEN (out)
-@hints{256,131072,262144,524288} = ('{','%','<','>');
-# overload new integer, float, binary, string, re
-@hints{4096,8192,16384,32768,65536} = ('I', 'F', 'B', 'S', 'R');
-# taint and eval
-@hints{1048576,2097152} = ('T', 'E');
-# filetest access, UTF-8
-@hints{4194304,8388608} = ('X', 'U');
-
-sub _flags {
- my($hash, $x) = @_;
- my @s;
- for my $flag (sort {$b <=> $a} keys %$hash) {
- if ($hash->{$flag} and $x & $flag and $x >= $flag) {
- $x -= $flag;
- push @s, $hash->{$flag};
- }
- }
- push @s, $x if $x;
- return join(",", @s);
-}
-
-sub private_flags {
- my($name, $x) = @_;
- _flags($priv{$name}, $x);
-}
-
-sub hints_flags {
- my($x) = @_;
- _flags(\%hints, $x);
-}
-
-sub concise_sv {
- my($sv, $hr, $preferpv) = @_;
- $hr->{svclass} = class($sv);
- $hr->{svclass} = "UV"
- if $hr->{svclass} eq "IV" and $sv->FLAGS & SVf_IVisUV;
- Carp::cluck("bad concise_sv: $sv") unless $sv and $$sv;
- $hr->{svaddr} = sprintf("%#x", $$sv);
- if ($hr->{svclass} eq "GV" && $sv->isGV_with_GP()) {
- my $gv = $sv;
- my $stash = $gv->STASH->NAME; if ($stash eq "main") {
- $stash = "";
- } else {
- $stash = $stash . "::";
- }
- $hr->{svval} = "*$stash" . $gv->SAFENAME;
- return "*$stash" . $gv->SAFENAME;
- } else {
- if ($] >= 5.011) {
- while (class($sv) eq "IV" && $sv->FLAGS & SVf_ROK) {
- $hr->{svval} .= "\\";
- $sv = $sv->RV;
- }
- } else {
- while (class($sv) eq "RV") {
- $hr->{svval} .= "\\";
- $sv = $sv->RV;
- }
- }
- if (class($sv) eq "SPECIAL") {
- $hr->{svval} .= ["Null", "sv_undef", "sv_yes", "sv_no"]->[$$sv];
- } elsif ($preferpv && $sv->FLAGS & SVf_POK) {
- $hr->{svval} .= cstring($sv->PV);
- } elsif ($sv->FLAGS & SVf_NOK) {
- $hr->{svval} .= $sv->NV;
- } elsif ($sv->FLAGS & SVf_IOK) {
- $hr->{svval} .= $sv->int_value;
- } elsif ($sv->FLAGS & SVf_POK) {
- $hr->{svval} .= cstring($sv->PV);
- } elsif (class($sv) eq "HV") {
- $hr->{svval} .= 'HASH';
- }
-
- $hr->{svval} = 'undef' unless defined $hr->{svval};
- my $out = $hr->{svclass};
- return $out .= " $hr->{svval}" ;
- }
-}
-
-my %srclines;
-
-sub fill_srclines {
- my $fullnm = shift;
- if ($fullnm eq '-e') {
- $srclines{$fullnm} = [ $fullnm, "-src not supported for -e" ];
- return;
- }
- open (my $fh, '<', $fullnm)
- or warn "# $fullnm: $!, (chdirs not supported by this feature yet)\n"
- and return;
- my @l = <$fh>;
- chomp @l;
- unshift @l, $fullnm; # like @{_<$fullnm} in debug, array starts at 1
- $srclines{$fullnm} = \@l;
-}
-
-sub concise_op {
- my ($op, $level, $format) = @_;
- my %h;
- $h{exname} = $h{name} = $op->name;
- $h{NAME} = uc $h{name};
- $h{class} = class($op);
- $h{extarg} = $h{targ} = $op->targ;
- $h{extarg} = "" unless $h{extarg};
- if ($h{name} eq "null" and $h{targ}) {
- # targ holds the old type
- $h{exname} = "ex-" . substr(ppname($h{targ}), 3);
- $h{extarg} = "";
- } elsif ($op->name =~ /^leave(sub(lv)?|write)?$/) {
- # targ potentially holds a reference count
- if ($op->private & 64) {
- my $refs = "ref" . ($h{targ} != 1 ? "s" : "");
- $h{targarglife} = $h{targarg} = "$h{targ} $refs";
- }
- } elsif ($h{targ}) {
- my $padname = (($curcv->PADLIST->ARRAY)[0]->ARRAY)[$h{targ}];
- if (defined $padname and class($padname) ne "SPECIAL") {
- $h{targarg} = $padname->PVX;
- if ($padname->FLAGS & SVf_FAKE) {
- if ($] < 5.009) {
- $h{targarglife} = "$h{targarg}:FAKE";
- } else {
- # These changes relate to the jumbo closure fix.
- # See changes 19939 and 20005
- my $fake = '';
- $fake .= 'a'
- if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_ANON;
- $fake .= 'm'
- if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_MULTI;
- $fake .= ':' . $padname->PARENT_PAD_INDEX
- if $curcv->CvFLAGS & CVf_ANON;
- $h{targarglife} = "$h{targarg}:FAKE:$fake";
- }
- }
- else {
- my $intro = $padname->COP_SEQ_RANGE_LOW - $cop_seq_base;
- my $finish = int($padname->COP_SEQ_RANGE_HIGH) - $cop_seq_base;
- $finish = "end" if $finish == 999999999 - $cop_seq_base;
- $h{targarglife} = "$h{targarg}:$intro,$finish";
- }
- } else {
- $h{targarglife} = $h{targarg} = "t" . $h{targ};
- }
- }
- $h{arg} = "";
- $h{svclass} = $h{svaddr} = $h{svval} = "";
- if ($h{class} eq "PMOP") {
- my $precomp = $op->precomp;
- if (defined $precomp) {
- $precomp = cstring($precomp); # Escape literal control sequences
- $precomp = "/$precomp/";
- } else {
- $precomp = "";
- }
- my $pmreplroot = $op->pmreplroot;
- my $pmreplstart;
- if (ref($pmreplroot) eq "B::GV") {
- # with C<@stash_array = split(/pat/, str);>,
- # *stash_array is stored in /pat/'s pmreplroot.
- $h{arg} = "($precomp => \@" . $pmreplroot->NAME . ")";
- } elsif (!ref($pmreplroot) and $pmreplroot) {
- # same as the last case, except the value is actually a
- # pad offset for where the GV is kept (this happens under
- # ithreads)
- my $gv = (($curcv->PADLIST->ARRAY)[1]->ARRAY)[$pmreplroot];
- $h{arg} = "($precomp => \@" . $gv->NAME . ")";
- } elsif ($ {$op->pmreplstart}) {
- undef $lastnext;
- $pmreplstart = "replstart->" . seq($op->pmreplstart);
- $h{arg} = "(" . join(" ", $precomp, $pmreplstart) . ")";
- } else {
- $h{arg} = "($precomp)";
- }
- } elsif ($h{class} eq "PVOP" and $h{name} ne "trans") {
- $h{arg} = '("' . $op->pv . '")';
- $h{svval} = '"' . $op->pv . '"';
- } elsif ($h{class} eq "COP") {
- my $label = $op->label;
- $h{coplabel} = $label;
- $label = $label ? "$label: " : "";
- my $loc = $op->file;
- my $pathnm = $loc;
- $loc =~ s[.*/][];
- my $ln = $op->line;
- $loc .= ":$ln";
- my($stash, $cseq) = ($op->stash->NAME, $op->cop_seq - $cop_seq_base);
- my $arybase = $op->arybase;
- $arybase = $arybase ? ' $[=' . $arybase : "";
- $h{arg} = "($label$stash $cseq $loc$arybase)";
- if ($show_src) {
- fill_srclines($pathnm) unless exists $srclines{$pathnm};
- # Would love to retain Jim's use of // but this code needs to be
- # portable to 5.8.x
- my $line = $srclines{$pathnm}[$ln];
- $line = "-src unavailable under -e" unless defined $line;
- $h{src} = "$ln: $line";
- }
- } elsif ($h{class} eq "LOOP") {
- $h{arg} = "(next->" . seq($op->nextop) . " last->" . seq($op->lastop)
- . " redo->" . seq($op->redoop) . ")";
- } elsif ($h{class} eq "LOGOP") {
- undef $lastnext;
- $h{arg} = "(other->" . seq($op->other) . ")";
- }
- elsif ($h{class} eq "SVOP" or $h{class} eq "PADOP") {
- unless ($h{name} eq 'aelemfast' and $op->flags & OPf_SPECIAL) {
- my $idx = ($h{class} eq "SVOP") ? $op->targ : $op->padix;
- my $preferpv = $h{name} eq "method_named";
- if ($h{class} eq "PADOP" or !${$op->sv}) {
- my $sv = (($curcv->PADLIST->ARRAY)[1]->ARRAY)[$idx];
- $h{arg} = "[" . concise_sv($sv, \%h, $preferpv) . "]";
- $h{targarglife} = $h{targarg} = "";
- } else {
- $h{arg} = "(" . concise_sv($op->sv, \%h, $preferpv) . ")";
- }
- }
- }
- $h{seq} = $h{hyphseq} = seq($op);
- $h{seq} = "" if $h{seq} eq "-";
- if ($] > 5.009) {
- $h{opt} = $op->opt;
- $h{label} = $labels{$$op};
- } else {
- $h{seqnum} = $op->seq;
- $h{label} = $labels{$op->seq};
- }
- $h{next} = $op->next;
- $h{next} = (class($h{next}) eq "NULL") ? "(end)" : seq($h{next});
- $h{nextaddr} = sprintf("%#x", $ {$op->next});
- $h{sibaddr} = sprintf("%#x", $ {$op->sibling});
- $h{firstaddr} = sprintf("%#x", $ {$op->first}) if $op->can("first");
- $h{lastaddr} = sprintf("%#x", $ {$op->last}) if $op->can("last");
-
- $h{classsym} = $opclass{$h{class}};
- $h{flagval} = $op->flags;
- $h{flags} = op_flags($op->flags);
- $h{privval} = $op->private;
- $h{private} = private_flags($h{name}, $op->private);
- if ($op->can("hints")) {
- $h{hintsval} = $op->hints;
- $h{hints} = hints_flags($h{hintsval});
- } else {
- $h{hintsval} = $h{hints} = '';
- }
- $h{addr} = sprintf("%#x", $$op);
- $h{typenum} = $op->type;
- $h{noise} = $linenoise[$op->type];
-
- return fmt_line(\%h, $op, $format, $level);
-}
-
-sub B::OP::concise {
- my($op, $level) = @_;
- if ($order eq "exec" and $lastnext and $$lastnext != $$op) {
- # insert a 'goto' line
- my $synth = {"seq" => seq($lastnext), "class" => class($lastnext),
- "addr" => sprintf("%#x", $$lastnext),
- "goto" => seq($lastnext), # simplify goto '-' removal
- };
- print $walkHandle fmt_line($synth, $op, $gotofmt, $level+1);
- }
- $lastnext = $op->next;
- print $walkHandle concise_op($op, $level, $format);
-}
-
-# B::OP::terse (see Terse.pm) now just calls this
-sub b_terse {
- my($op, $level) = @_;
-
- # This isn't necessarily right, but there's no easy way to get
- # from an OP to the right CV. This is a limitation of the
- # ->terse() interface style, and there isn't much to do about
- # it. In particular, we can die in concise_op if the main pad
- # isn't long enough, or has the wrong kind of entries, compared to
- # the pad a sub was compiled with. The fix for that would be to
- # make a backwards compatible "terse" format that never even
- # looked at the pad, just like the old B::Terse. I don't think
- # that's worth the effort, though.
- $curcv = main_cv unless $curcv;
-
- if ($order eq "exec" and $lastnext and $$lastnext != $$op) {
- # insert a 'goto'
- my $h = {"seq" => seq($lastnext), "class" => class($lastnext),
- "addr" => sprintf("%#x", $$lastnext)};
- print # $walkHandle
- fmt_line($h, $op, $style{"terse"}[1], $level+1);
- }
- $lastnext = $op->next;
- print # $walkHandle
- concise_op($op, $level, $style{"terse"}[0]);
-}
-
-sub tree {
- my $op = shift;
- my $level = shift;
- my $style = $tree_decorations[$tree_style];
- my($space, $single, $kids, $kid, $nokid, $last, $lead, $size) = @$style;
- my $name = concise_op($op, $level, $treefmt);
- if (not $op->flags & OPf_KIDS) {
- return $name . "\n";
- }
- my @lines;
- for (my $kid = $op->first; $$kid; $kid = $kid->sibling) {
- push @lines, tree($kid, $level+1);
- }
- my $i;
- for ($i = $#lines; substr($lines[$i], 0, 1) eq " "; $i--) {
- $lines[$i] = $space . $lines[$i];
- }
- if ($i > 0) {
- $lines[$i] = $last . $lines[$i];
- while ($i-- > 1) {
- if (substr($lines[$i], 0, 1) eq " ") {
- $lines[$i] = $nokid . $lines[$i];
- } else {
- $lines[$i] = $kid . $lines[$i];
- }
- }
- $lines[$i] = $kids . $lines[$i];
- } else {
- $lines[0] = $single . $lines[0];
- }
- return("$name$lead" . shift @lines,
- map(" " x (length($name)+$size) . $_, @lines));
-}
-
-# *** Warning: fragile kludge ahead ***
-# Because the B::* modules run in the same interpreter as the code
-# they're compiling, their presence tends to distort the view we have of
-# the code we're looking at. In particular, perl gives sequence numbers
-# to COPs. If the program we're looking at were run on its own, this
-# would start at 1. Because all of B::Concise and all the modules it
-# uses are compiled first, though, by the time we get to the user's
-# program the sequence number is already pretty high, which could be
-# distracting if you're trying to tell OPs apart. Therefore we'd like to
-# subtract an offset from all the sequence numbers we display, to
-# restore the simpler view of the world. The trick is to know what that
-# offset will be, when we're still compiling B::Concise! If we
-# hardcoded a value, it would have to change every time B::Concise or
-# other modules we use do. To help a little, what we do here is compile
-# a little code at the end of the module, and compute the base sequence
-# number for the user's program as being a small offset later, so all we
-# have to worry about are changes in the offset.
-
-# [For 5.8.x and earlier perl is generating sequence numbers for all ops,
-# and using them to reference labels]
-
-
-# When you say "perl -MO=Concise -e '$a'", the output should look like:
-
-# 4 <@> leave[t1] vKP/REFC ->(end)
-# 1 <0> enter ->2
- #^ smallest OP sequence number should be 1
-# 2 <;> nextstate(main 1 -e:1) v ->3
- # ^ smallest COP sequence number should be 1
-# - <1> ex-rv2sv vK/1 ->4
-# 3 <$> gvsv(*a) s ->4
-
-# If the second of the marked numbers there isn't 1, it means you need
-# to update the corresponding magic number in the next line.
-# Remember, this needs to stay the last things in the module.
-
-# Why is this different for MacOS? Does it matter?
-my $cop_seq_mnum = $^O eq 'MacOS' ? 12 : 11;
-$cop_seq_base = svref_2object(eval 'sub{0;}')->START->cop_seq + $cop_seq_mnum;
-
-1;
-
-__END__
-
-=head1 NAME
-
-B::Concise - Walk Perl syntax tree, printing concise info about ops
-
-=head1 SYNOPSIS
-
- perl -MO=Concise[,OPTIONS] foo.pl
-
- use B::Concise qw(set_style add_callback);
-
-=head1 DESCRIPTION
-
-This compiler backend prints the internal OPs of a Perl program's syntax
-tree in one of several space-efficient text formats suitable for debugging
-the inner workings of perl or other compiler backends. It can print OPs in
-the order they appear in the OP tree, in the order they will execute, or
-in a text approximation to their tree structure, and the format of the
-information displayed is customizable. Its function is similar to that of
-perl's B<-Dx> debugging flag or the B<B::Terse> module, but it is more
-sophisticated and flexible.
-
-=head1 EXAMPLE
-
-Here's two outputs (or 'renderings'), using the -exec and -basic
-(i.e. default) formatting conventions on the same code snippet.
-
- % perl -MO=Concise,-exec -e '$a = $b + 42'
- 1 <0> enter
- 2 <;> nextstate(main 1 -e:1) v
- 3 <#> gvsv[*b] s
- 4 <$> const[IV 42] s
- * 5 <2> add[t3] sK/2
- 6 <#> gvsv[*a] s
- 7 <2> sassign vKS/2
- 8 <@> leave[1 ref] vKP/REFC
-
-In this -exec rendering, each opcode is executed in the order shown.
-The add opcode, marked with '*', is discussed in more detail.
-
-The 1st column is the op's sequence number, starting at 1, and is
-displayed in base 36 by default. Here they're purely linear; the
-sequences are very helpful when looking at code with loops and
-branches.
-
-The symbol between angle brackets indicates the op's type, for
-example; <2> is a BINOP, <@> a LISTOP, and <#> is a PADOP, which is
-used in threaded perls. (see L</"OP class abbreviations">).
-
-The opname, as in B<'add[t1]'>, may be followed by op-specific
-information in parentheses or brackets (ex B<'[t1]'>).
-
-The op-flags (ex B<'sK/2'>) are described in (L</"OP flags
-abbreviations">).
-
- % perl -MO=Concise -e '$a = $b + 42'
- 8 <@> leave[1 ref] vKP/REFC ->(end)
- 1 <0> enter ->2
- 2 <;> nextstate(main 1 -e:1) v ->3
- 7 <2> sassign vKS/2 ->8
- * 5 <2> add[t1] sK/2 ->6
- - <1> ex-rv2sv sK/1 ->4
- 3 <$> gvsv(*b) s ->4
- 4 <$> const(IV 42) s ->5
- - <1> ex-rv2sv sKRM*/1 ->7
- 6 <$> gvsv(*a) s ->7
-
-The default rendering is top-down, so they're not in execution order.
-This form reflects the way the stack is used to parse and evaluate
-expressions; the add operates on the two terms below it in the tree.
-
-Nullops appear as C<ex-opname>, where I<opname> is an op that has been
-optimized away by perl. They're displayed with a sequence-number of
-'-', because they are not executed (they don't appear in previous
-example), they're printed here because they reflect the parse.
-
-The arrow points to the sequence number of the next op; they're not
-displayed in -exec mode, for obvious reasons.
-
-Note that because this rendering was done on a non-threaded perl, the
-PADOPs in the previous examples are now SVOPs, and some (but not all)
-of the square brackets have been replaced by round ones. This is a
-subtle feature to provide some visual distinction between renderings
-on threaded and un-threaded perls.
-
-
-=head1 OPTIONS
-
-Arguments that don't start with a hyphen are taken to be the names of
-subroutines to render; if no such functions are specified, the main
-body of the program (outside any subroutines, and not including use'd
-or require'd files) is rendered. Passing C<BEGIN>, C<UNITCHECK>,
-C<CHECK>, C<INIT>, or C<END> will cause all of the corresponding
-special blocks to be printed. Arguments must follow options.
-
-Options affect how things are rendered (ie printed). They're presented
-here by their visual effect, 1st being strongest. They're grouped
-according to how they interrelate; within each group the options are
-mutually exclusive (unless otherwise stated).
-
-=head2 Options for Opcode Ordering
-
-These options control the 'vertical display' of opcodes. The display
-'order' is also called 'mode' elsewhere in this document.
-
-=over 4
-
-=item B<-basic>
-
-Print OPs in the order they appear in the OP tree (a preorder
-traversal, starting at the root). The indentation of each OP shows its
-level in the tree, and the '->' at the end of the line indicates the
-next opcode in execution order. This mode is the default, so the flag
-is included simply for completeness.
-
-=item B<-exec>
-
-Print OPs in the order they would normally execute (for the majority
-of constructs this is a postorder traversal of the tree, ending at the
-root). In most cases the OP that usually follows a given OP will
-appear directly below it; alternate paths are shown by indentation. In
-cases like loops when control jumps out of a linear path, a 'goto'
-line is generated.
-
-=item B<-tree>
-
-Print OPs in a text approximation of a tree, with the root of the tree
-at the left and 'left-to-right' order of children transformed into
-'top-to-bottom'. Because this mode grows both to the right and down,
-it isn't suitable for large programs (unless you have a very wide
-terminal).
-
-=back
-
-=head2 Options for Line-Style
-
-These options select the line-style (or just style) used to render
-each opcode, and dictates what info is actually printed into each line.
-
-=over 4
-
-=item B<-concise>
-
-Use the author's favorite set of formatting conventions. This is the
-default, of course.
-
-=item B<-terse>
-
-Use formatting conventions that emulate the output of B<B::Terse>. The
-basic mode is almost indistinguishable from the real B<B::Terse>, and the
-exec mode looks very similar, but is in a more logical order and lacks
-curly brackets. B<B::Terse> doesn't have a tree mode, so the tree mode
-is only vaguely reminiscent of B<B::Terse>.
-
-=item B<-linenoise>
-
-Use formatting conventions in which the name of each OP, rather than being
-written out in full, is represented by a one- or two-character abbreviation.
-This is mainly a joke.
-
-=item B<-debug>
-
-Use formatting conventions reminiscent of B<B::Debug>; these aren't
-very concise at all.
-
-=item B<-env>
-
-Use formatting conventions read from the environment variables
-C<B_CONCISE_FORMAT>, C<B_CONCISE_GOTO_FORMAT>, and C<B_CONCISE_TREE_FORMAT>.
-
-=back
-
-=head2 Options for tree-specific formatting
-
-=over 4
-
-=item B<-compact>
-
-Use a tree format in which the minimum amount of space is used for the
-lines connecting nodes (one character in most cases). This squeezes out
-a few precious columns of screen real estate.
-
-=item B<-loose>
-
-Use a tree format that uses longer edges to separate OP nodes. This format
-tends to look better than the compact one, especially in ASCII, and is
-the default.
-
-=item B<-vt>
-
-Use tree connecting characters drawn from the VT100 line-drawing set.
-This looks better if your terminal supports it.
-
-=item B<-ascii>
-
-Draw the tree with standard ASCII characters like C<+> and C<|>. These don't
-look as clean as the VT100 characters, but they'll work with almost any
-terminal (or the horizontal scrolling mode of less(1)) and are suitable
-for text documentation or email. This is the default.
-
-=back
-
-These are pairwise exclusive, i.e. compact or loose, vt or ascii.
-
-=head2 Options controlling sequence numbering
-
-=over 4
-
-=item B<-base>I<n>
-
-Print OP sequence numbers in base I<n>. If I<n> is greater than 10, the
-digit for 11 will be 'a', and so on. If I<n> is greater than 36, the digit
-for 37 will be 'A', and so on until 62. Values greater than 62 are not
-currently supported. The default is 36.
-
-=item B<-bigendian>
-
-Print sequence numbers with the most significant digit first. This is the
-usual convention for Arabic numerals, and the default.
-
-=item B<-littleendian>
-
-Print seqence numbers with the least significant digit first. This is
-obviously mutually exclusive with bigendian.
-
-=back
-
-=head2 Other options
-
-=over 4
-
-=item B<-src>
-
-With this option, the rendering of each statement (starting with the
-nextstate OP) will be preceded by the 1st line of source code that
-generates it. For example:
-
- 1 <0> enter
- # 1: my $i;
- 2 <;> nextstate(main 1 junk.pl:1) v:{
- 3 <0> padsv[$i:1,10] vM/LVINTRO
- # 3: for $i (0..9) {
- 4 <;> nextstate(main 3 junk.pl:3) v:{
- 5 <0> pushmark s
- 6 <$> const[IV 0] s
- 7 <$> const[IV 9] s
- 8 <{> enteriter(next->j last->m redo->9)[$i:1,10] lKS
- k <0> iter s
- l <|> and(other->9) vK/1
- # 4: print "line ";
- 9 <;> nextstate(main 2 junk.pl:4) v
- a <0> pushmark s
- b <$> const[PV "line "] s
- c <@> print vK
- # 5: print "$i\n";
- ...
-
-=item B<-stash="somepackage">
-
-With this, "somepackage" will be required, then the stash is
-inspected, and each function is rendered.
-
-=back
-
-The following options are pairwise exclusive.
-
-=over 4
-
-=item B<-main>
-
-Include the main program in the output, even if subroutines were also
-specified. This rendering is normally suppressed when a subroutine
-name or reference is given.
-
-=item B<-nomain>
-
-This restores the default behavior after you've changed it with '-main'
-(it's not normally needed). If no subroutine name/ref is given, main is
-rendered, regardless of this flag.
-
-=item B<-nobanner>
-
-Renderings usually include a banner line identifying the function name
-or stringified subref. This suppresses the printing of the banner.
-
-TBC: Remove the stringified coderef; while it provides a 'cookie' for
-each function rendered, the cookies used should be 1,2,3.. not a
-random hex-address. It also complicates string comparison of two
-different trees.
-
-=item B<-banner>
-
-restores default banner behavior.
-
-=item B<-banneris> => subref
-
-TBC: a hookpoint (and an option to set it) for a user-supplied
-function to produce a banner appropriate for users needs. It's not
-ideal, because the rendering-state variables, which are a natural
-candidate for use in concise.t, are unavailable to the user.
-
-=back
-
-=head2 Option Stickiness
-
-If you invoke Concise more than once in a program, you should know that
-the options are 'sticky'. This means that the options you provide in
-the first call will be remembered for the 2nd call, unless you
-re-specify or change them.
-
-=head1 ABBREVIATIONS
-
-The concise style uses symbols to convey maximum info with minimal
-clutter (like hex addresses). With just a little practice, you can
-start to see the flowers, not just the branches, in the trees.
-
-=head2 OP class abbreviations
-
-These symbols appear before the op-name, and indicate the
-B:: namespace that represents the ops in your Perl code.
-
- 0 OP (aka BASEOP) An OP with no children
- 1 UNOP An OP with one child
- 2 BINOP An OP with two children
- | LOGOP A control branch OP
- @ LISTOP An OP that could have lots of children
- / PMOP An OP with a regular expression
- $ SVOP An OP with an SV
- " PVOP An OP with a string
- { LOOP An OP that holds pointers for a loop
- ; COP An OP that marks the start of a statement
- # PADOP An OP with a GV on the pad
-
-=head2 OP flags abbreviations
-
-OP flags are either public or private. The public flags alter the
-behavior of each opcode in consistent ways, and are represented by 0
-or more single characters.
-
- v OPf_WANT_VOID Want nothing (void context)
- s OPf_WANT_SCALAR Want single value (scalar context)
- l OPf_WANT_LIST Want list of any length (list context)
- Want is unknown
- K OPf_KIDS There is a firstborn child.
- P OPf_PARENS This operator was parenthesized.
- (Or block needs explicit scope entry.)
- R OPf_REF Certified reference.
- (Return container, not containee).
- M OPf_MOD Will modify (lvalue).
- S OPf_STACKED Some arg is arriving on the stack.
- * OPf_SPECIAL Do something weird for this op (see op.h)
-
-Private flags, if any are set for an opcode, are displayed after a '/'
-
- 8 <@> leave[1 ref] vKP/REFC ->(end)
- 7 <2> sassign vKS/2 ->8
-
-They're opcode specific, and occur less often than the public ones, so
-they're represented by short mnemonics instead of single-chars; see
-F<op.h> for gory details, or try this quick 2-liner:
-
- $> perl -MB::Concise -de 1
- DB<1> |x \%B::Concise::priv
-
-=head1 FORMATTING SPECIFICATIONS
-
-For each line-style ('concise', 'terse', 'linenoise', etc.) there are
-3 format-specs which control how OPs are rendered.
-
-The first is the 'default' format, which is used in both basic and exec
-modes to print all opcodes. The 2nd, goto-format, is used in exec
-mode when branches are encountered. They're not real opcodes, and are
-inserted to look like a closing curly brace. The tree-format is tree
-specific.
-
-When a line is rendered, the correct format-spec is copied and scanned
-for the following items; data is substituted in, and other
-manipulations like basic indenting are done, for each opcode rendered.
-
-There are 3 kinds of items that may be populated; special patterns,
-#vars, and literal text, which is copied verbatim. (Yes, it's a set
-of s///g steps.)
-
-=head2 Special Patterns
-
-These items are the primitives used to perform indenting, and to
-select text from amongst alternatives.
-
-=over 4
-
-=item B<(x(>I<exec_text>B<;>I<basic_text>B<)x)>
-
-Generates I<exec_text> in exec mode, or I<basic_text> in basic mode.
-
-=item B<(*(>I<text>B<)*)>
-
-Generates one copy of I<text> for each indentation level.
-
-=item B<(*(>I<text1>B<;>I<text2>B<)*)>
-
-Generates one fewer copies of I<text1> than the indentation level, followed
-by one copy of I<text2> if the indentation level is more than 0.
-
-=item B<(?(>I<text1>B<#>I<var>I<Text2>B<)?)>
-
-If the value of I<var> is true (not empty or zero), generates the
-value of I<var> surrounded by I<text1> and I<Text2>, otherwise
-nothing.
-
-=item B<~>
-
-Any number of tildes and surrounding whitespace will be collapsed to
-a single space.
-
-=back
-
-=head2 # Variables
-
-These #vars represent opcode properties that you may want as part of
-your rendering. The '#' is intended as a private sigil; a #var's
-value is interpolated into the style-line, much like "read $this".
-
-These vars take 3 forms:
-
-=over 4
-
-=item B<#>I<var>
-
-A property named 'var' is assumed to exist for the opcodes, and is
-interpolated into the rendering.
-
-=item B<#>I<var>I<N>
-
-Generates the value of I<var>, left justified to fill I<N> spaces.
-Note that this means while you can have properties 'foo' and 'foo2',
-you cannot render 'foo2', but you could with 'foo2a'. You would be
-wise not to rely on this behavior going forward ;-)
-
-=item B<#>I<Var>
-
-This ucfirst form of #var generates a tag-value form of itself for
-display; it converts '#Var' into a 'Var => #var' style, which is then
-handled as described above. (Imp-note: #Vars cannot be used for
-conditional-fills, because the => #var transform is done after the check
-for #Var's value).
-
-=back
-
-The following variables are 'defined' by B::Concise; when they are
-used in a style, their respective values are plugged into the
-rendering of each opcode.
-
-Only some of these are used by the standard styles, the others are
-provided for you to delve into optree mechanics, should you wish to
-add a new style (see L</add_style> below) that uses them. You can
-also add new ones using L</add_callback>.
-
-=over 4
-
-=item B<#addr>
-
-The address of the OP, in hexadecimal.
-
-=item B<#arg>
-
-The OP-specific information of the OP (such as the SV for an SVOP, the
-non-local exit pointers for a LOOP, etc.) enclosed in parentheses.
-
-=item B<#class>
-
-The B-determined class of the OP, in all caps.
-
-=item B<#classsym>
-
-A single symbol abbreviating the class of the OP.
-
-=item B<#coplabel>
-
-The label of the statement or block the OP is the start of, if any.
-
-=item B<#exname>
-
-The name of the OP, or 'ex-foo' if the OP is a null that used to be a foo.
-
-=item B<#extarg>
-
-The target of the OP, or nothing for a nulled OP.
-
-=item B<#firstaddr>
-
-The address of the OP's first child, in hexadecimal.
-
-=item B<#flags>
-
-The OP's flags, abbreviated as a series of symbols.
-
-=item B<#flagval>
-
-The numeric value of the OP's flags.
-
-=item B<#hints>
-
-The COP's hint flags, rendered with abbreviated names if possible. An empty
-string if this is not a COP. Here are the symbols used:
-
- $ strict refs
- & strict subs
- * strict vars
- i integers
- l locale
- b bytes
- [ arybase
- { block scope
- % localise %^H
- < open in
- > open out
- I overload int
- F overload float
- B overload binary
- S overload string
- R overload re
- T taint
- E eval
- X filetest access
- U utf-8
-
-=item B<#hintsval>
-
-The numeric value of the COP's hint flags, or an empty string if this is not
-a COP.
-
-=item B<#hyphseq>
-
-The sequence number of the OP, or a hyphen if it doesn't have one.
-
-=item B<#label>
-
-'NEXT', 'LAST', or 'REDO' if the OP is a target of one of those in exec
-mode, or empty otherwise.
-
-=item B<#lastaddr>
-
-The address of the OP's last child, in hexadecimal.
-
-=item B<#name>
-
-The OP's name.
-
-=item B<#NAME>
-
-The OP's name, in all caps.
-
-=item B<#next>
-
-The sequence number of the OP's next OP.
-
-=item B<#nextaddr>
-
-The address of the OP's next OP, in hexadecimal.
-
-=item B<#noise>
-
-A one- or two-character abbreviation for the OP's name.
-
-=item B<#private>
-
-The OP's private flags, rendered with abbreviated names if possible.
-
-=item B<#privval>
-
-The numeric value of the OP's private flags.
-
-=item B<#seq>
-
-The sequence number of the OP. Note that this is a sequence number
-generated by B::Concise.
-
-=item B<#seqnum>
-
-5.8.x and earlier only. 5.9 and later do not provide this.
-
-The real sequence number of the OP, as a regular number and not adjusted
-to be relative to the start of the real program. (This will generally be
-a fairly large number because all of B<B::Concise> is compiled before
-your program is).
-
-=item B<#opt>
-
-Whether or not the op has been optimised by the peephole optimiser.
-
-Only available in 5.9 and later.
-
-=item B<#sibaddr>
-
-The address of the OP's next youngest sibling, in hexadecimal.
-
-=item B<#svaddr>
-
-The address of the OP's SV, if it has an SV, in hexadecimal.
-
-=item B<#svclass>
-
-The class of the OP's SV, if it has one, in all caps (e.g., 'IV').
-
-=item B<#svval>
-
-The value of the OP's SV, if it has one, in a short human-readable format.
-
-=item B<#targ>
-
-The numeric value of the OP's targ.
-
-=item B<#targarg>
-
-The name of the variable the OP's targ refers to, if any, otherwise the
-letter t followed by the OP's targ in decimal.
-
-=item B<#targarglife>
-
-Same as B<#targarg>, but followed by the COP sequence numbers that delimit
-the variable's lifetime (or 'end' for a variable in an open scope) for a
-variable.
-
-=item B<#typenum>
-
-The numeric value of the OP's type, in decimal.
-
-=back
-
-=head1 One-Liner Command tips
-
-=over 4
-
-=item perl -MO=Concise,bar foo.pl
-
-Renders only bar() from foo.pl. To see main, drop the ',bar'. To see
-both, add ',-main'
-
-=item perl -MDigest::MD5=md5 -MO=Concise,md5 -e1
-
-Identifies md5 as an XS function. The export is needed so that BC can
-find it in main.
-
-=item perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1
-
-Identifies _POSIX_ARG_MAX as a constant sub, optimized to an IV.
-Although POSIX isn't entirely consistent across platforms, this is
-likely to be present in virtually all of them.
-
-=item perl -MPOSIX -MO=Concise,a -e 'print _POSIX_SAVED_IDS'
-
-This renders a print statement, which includes a call to the function.
-It's identical to rendering a file with a use call and that single
-statement, except for the filename which appears in the nextstate ops.
-
-=item perl -MPOSIX -MO=Concise,a -e 'sub a{_POSIX_SAVED_IDS}'
-
-This is B<very> similar to previous, only the first two ops differ. This
-subroutine rendering is more representative, insofar as a single main
-program will have many subs.
-
-=item perl -MB::Concise -e 'B::Concise::compile("-exec","-src", \%B::Concise::)->()'
-
-This renders all functions in the B::Concise package with the source
-lines. It eschews the O framework so that the stashref can be passed
-directly to B::Concise::compile(). See -stash option for a more
-convenient way to render a package.
-
-=back
-
-=head1 Using B::Concise outside of the O framework
-
-The common (and original) usage of B::Concise was for command-line
-renderings of simple code, as given in EXAMPLE. But you can also use
-B<B::Concise> from your code, and call compile() directly, and
-repeatedly. By doing so, you can avoid the compile-time only
-operation of O.pm, and even use the debugger to step through
-B::Concise::compile() itself.
-
-Once you're doing this, you may alter Concise output by adding new
-rendering styles, and by optionally adding callback routines which
-populate new variables, if such were referenced from those (just
-added) styles.
-
-=head2 Example: Altering Concise Renderings
-
- use B::Concise qw(set_style add_callback);
- add_style($yourStyleName => $defaultfmt, $gotofmt, $treefmt);
- add_callback
- ( sub {
- my ($h, $op, $format, $level, $stylename) = @_;
- $h->{variable} = some_func($op);
- });
- $walker = B::Concise::compile(@options,@subnames,@subrefs);
- $walker->();
-
-=head2 set_style()
-
-B<set_style> accepts 3 arguments, and updates the three format-specs
-comprising a line-style (basic-exec, goto, tree). It has one minor
-drawback though; it doesn't register the style under a new name. This
-can become an issue if you render more than once and switch styles.
-Thus you may prefer to use add_style() and/or set_style_standard()
-instead.
-
-=head2 set_style_standard($name)
-
-This restores one of the standard line-styles: C<terse>, C<concise>,
-C<linenoise>, C<debug>, C<env>, into effect. It also accepts style
-names previously defined with add_style().
-
-=head2 add_style()
-
-This subroutine accepts a new style name and three style arguments as
-above, and creates, registers, and selects the newly named style. It is
-an error to re-add a style; call set_style_standard() to switch between
-several styles.
-
-=head2 add_callback()
-
-If your newly minted styles refer to any new #variables, you'll need
-to define a callback subroutine that will populate (or modify) those
-variables. They are then available for use in the style you've
-chosen.
-
-The callbacks are called for each opcode visited by Concise, in the
-same order as they are added. Each subroutine is passed five
-parameters.
-
- 1. A hashref, containing the variable names and values which are
- populated into the report-line for the op
- 2. the op, as a B<B::OP> object
- 3. a reference to the format string
- 4. the formatting (indent) level
- 5. the selected stylename
-
-To define your own variables, simply add them to the hash, or change
-existing values if you need to. The level and format are passed in as
-references to scalars, but it is unlikely that they will need to be
-changed or even used.
-
-=head2 Running B::Concise::compile()
-
-B<compile> accepts options as described above in L</OPTIONS>, and
-arguments, which are either coderefs, or subroutine names.
-
-It constructs and returns a $treewalker coderef, which when invoked,
-traverses, or walks, and renders the optrees of the given arguments to
-STDOUT. You can reuse this, and can change the rendering style used
-each time; thereafter the coderef renders in the new style.
-
-B<walk_output> lets you change the print destination from STDOUT to
-another open filehandle, or into a string passed as a ref (unless
-you've built perl with -Uuseperlio).
-
- my $walker = B::Concise::compile('-terse','aFuncName', \&aSubRef); # 1
- walk_output(\my $buf);
- $walker->(); # 1 renders -terse
- set_style_standard('concise'); # 2
- $walker->(); # 2 renders -concise
- $walker->(@new); # 3 renders whatever
- print "3 different renderings: terse, concise, and @new: $buf\n";
-
-When $walker is called, it traverses the subroutines supplied when it
-was created, and renders them using the current style. You can change
-the style afterwards in several different ways:
-
- 1. call C<compile>, altering style or mode/order
- 2. call C<set_style_standard>
- 3. call $walker, passing @new options
-
-Passing new options to the $walker is the easiest way to change
-amongst any pre-defined styles (the ones you add are automatically
-recognized as options), and is the only way to alter rendering order
-without calling compile again. Note however that rendering state is
-still shared amongst multiple $walker objects, so they must still be
-used in a coordinated manner.
-
-=head2 B::Concise::reset_sequence()
-
-This function (not exported) lets you reset the sequence numbers (note
-that they're numbered arbitrarily, their goal being to be human
-readable). Its purpose is mostly to support testing, i.e. to compare
-the concise output from two identical anonymous subroutines (but
-different instances). Without the reset, B::Concise, seeing that
-they're separate optrees, generates different sequence numbers in
-the output.
-
-=head2 Errors
-
-Errors in rendering (non-existent function-name, non-existent coderef)
-are written to the STDOUT, or wherever you've set it via
-walk_output().
-
-Errors using the various *style* calls, and bad args to walk_output(),
-result in die(). Use an eval if you wish to catch these errors and
-continue processing.
-
-=head1 AUTHOR
-
-Stephen McCamant, E<lt>smcc@CSUA.Berkeley.EDUE<gt>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Debug.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Debug.pm
deleted file mode 100644
index 970f2213867..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Debug.pm
+++ /dev/null
@@ -1,333 +0,0 @@
-package B::Debug;
-
-our $VERSION = '1.05_02';
-
-use strict;
-use B qw(peekop class walkoptree walkoptree_exec
- main_start main_root cstring sv_undef @specialsv_name);
-# <=5.008 had @specialsv_name exported from B::Asmdata
-BEGIN {
- use Config;
- my $ithreads = $Config{'useithreads'} eq 'define';
- eval qq{
- sub ITHREADS() { $ithreads }
- sub VERSION() { $] }
- }; die $@ if $@;
-}
-
-my %done_gv;
-
-sub _printop {
- my $op = shift;
- my $addr = ${$op} ? $op->ppaddr : '';
- $addr =~ s/^PL_ppaddr// if $addr;
- return sprintf "0x%x %s %s", ${$op}, ${$op} ? class($op) : '', $addr;
-}
-
-sub B::OP::debug {
- my ($op) = @_;
- printf <<'EOT', class($op), $$op, $op->ppaddr, _printop($op->next), _printop($op->sibling), $op->targ, $op->type;
-%s (0x%lx)
- op_ppaddr %s
- op_next %s
- op_sibling %s
- op_targ %d
- op_type %d
-EOT
- if ($] > 5.009) {
- printf <<'EOT', $op->opt;
- op_opt %d
-EOT
- } else {
- printf <<'EOT', $op->seq;
- op_seq %d
-EOT
- }
- printf <<'EOT', $op->flags, $op->private;
- op_flags %d
- op_private %d
-EOT
-}
-
-sub B::UNOP::debug {
- my ($op) = @_;
- $op->B::OP::debug();
- printf "\top_first\t%s\n", _printop($op->first);
-}
-
-sub B::BINOP::debug {
- my ($op) = @_;
- $op->B::UNOP::debug();
- printf "\top_last \t%s\n", _printop($op->last);
-}
-
-sub B::LOOP::debug {
- my ($op) = @_;
- $op->B::BINOP::debug();
- printf <<'EOT', _printop($op->redoop), _printop($op->nextop), _printop($op->lastop);
- op_redoop %s
- op_nextop %s
- op_lastop %s
-EOT
-}
-
-sub B::LOGOP::debug {
- my ($op) = @_;
- $op->B::UNOP::debug();
- printf "\top_other\t%s\n", _printop($op->other);
-}
-
-sub B::LISTOP::debug {
- my ($op) = @_;
- $op->B::BINOP::debug();
- printf "\top_children\t%d\n", $op->children;
-}
-
-sub B::PMOP::debug {
- my ($op) = @_;
- $op->B::LISTOP::debug();
- printf "\top_pmreplroot\t0x%x\n", ${$op->pmreplroot};
- printf "\top_pmreplstart\t0x%x\n", ${$op->pmreplstart};
- printf "\top_pmnext\t0x%x\n", ${$op->pmnext} if $] < 5.009005;
- if (ITHREADS) {
- printf "\top_pmstashpv\t%s\n", cstring($op->pmstashpv);
- printf "\top_pmoffset\t%d\n", $op->pmoffset;
- } else {
- printf "\top_pmstash\t%s\n", cstring($op->pmstash);
- }
- printf "\top_precomp->precomp\t%s\n", cstring($op->precomp);
- printf "\top_pmflags\t0x%x\n", $op->pmflags;
- printf "\top_reflags\t0x%x\n", $op->reflags if $] >= 5.009;
- printf "\top_pmpermflags\t0x%x\n", $op->pmpermflags if $] < 5.009;
- printf "\top_pmdynflags\t0x%x\n", $op->pmdynflags if $] < 5.009;
- $op->pmreplroot->debug;
-}
-
-sub B::COP::debug {
- my ($op) = @_;
- $op->B::OP::debug();
- my $cop_io = class($op->io) eq 'SPECIAL' ? '' : $op->io->as_string;
- printf <<'EOT', $op->label, $op->stashpv, $op->file, $op->cop_seq, $op->arybase, $op->line, ${$op->warnings}, cstring($cop_io);
- cop_label "%s"
- cop_stashpv "%s"
- cop_file "%s"
- cop_seq %d
- cop_arybase %d
- cop_line %d
- cop_warnings 0x%x
- cop_io %s
-EOT
-}
-
-sub B::SVOP::debug {
- my ($op) = @_;
- $op->B::OP::debug();
- printf "\top_sv\t\t0x%x\n", ${$op->sv};
- $op->sv->debug;
-}
-
-sub B::PVOP::debug {
- my ($op) = @_;
- $op->B::OP::debug();
- printf "\top_pv\t\t%s\n", cstring($op->pv);
-}
-
-sub B::PADOP::debug {
- my ($op) = @_;
- $op->B::OP::debug();
- printf "\top_padix\t%ld\n", $op->padix;
-}
-
-sub B::NULL::debug {
- my ($sv) = @_;
- if ($$sv == ${sv_undef()}) {
- print "&sv_undef\n";
- } else {
- printf "NULL (0x%x)\n", $$sv;
- }
-}
-
-sub B::SV::debug {
- my ($sv) = @_;
- if (!$$sv) {
- print class($sv), " = NULL\n";
- return;
- }
- printf <<'EOT', class($sv), $$sv, $sv->REFCNT, $sv->FLAGS;
-%s (0x%x)
- REFCNT %d
- FLAGS 0x%x
-EOT
-}
-
-sub B::RV::debug {
- my ($rv) = @_;
- B::SV::debug($rv);
- printf <<'EOT', ${$rv->RV};
- RV 0x%x
-EOT
- $rv->RV->debug;
-}
-
-sub B::PV::debug {
- my ($sv) = @_;
- $sv->B::SV::debug();
- my $pv = $sv->PV();
- printf <<'EOT', cstring($pv), length($pv);
- xpv_pv %s
- xpv_cur %d
-EOT
-}
-
-sub B::IV::debug {
- my ($sv) = @_;
- $sv->B::SV::debug();
- printf "\txiv_iv\t\t%d\n", $sv->IV;
-}
-
-sub B::NV::debug {
- my ($sv) = @_;
- $sv->B::IV::debug();
- printf "\txnv_nv\t\t%s\n", $sv->NV;
-}
-
-sub B::PVIV::debug {
- my ($sv) = @_;
- $sv->B::PV::debug();
- printf "\txiv_iv\t\t%d\n", $sv->IV;
-}
-
-sub B::PVNV::debug {
- my ($sv) = @_;
- $sv->B::PVIV::debug();
- printf "\txnv_nv\t\t%s\n", $sv->NV;
-}
-
-sub B::PVLV::debug {
- my ($sv) = @_;
- $sv->B::PVNV::debug();
- printf "\txlv_targoff\t%d\n", $sv->TARGOFF;
- printf "\txlv_targlen\t%u\n", $sv->TARGLEN;
- printf "\txlv_type\t%s\n", cstring(chr($sv->TYPE));
-}
-
-sub B::BM::debug {
- my ($sv) = @_;
- $sv->B::PVNV::debug();
- printf "\txbm_useful\t%d\n", $sv->USEFUL;
- printf "\txbm_previous\t%u\n", $sv->PREVIOUS;
- printf "\txbm_rare\t%s\n", cstring(chr($sv->RARE));
-}
-
-sub B::CV::debug {
- my ($sv) = @_;
- $sv->B::PVNV::debug();
- my ($stash) = $sv->STASH;
- my ($start) = $sv->START;
- my ($root) = $sv->ROOT;
- my ($padlist) = $sv->PADLIST;
- my ($file) = $sv->FILE;
- my ($gv) = $sv->GV;
- printf <<'EOT', $$stash, $$start, $$root, $$gv, $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE}, $sv->OUTSIDE_SEQ;
- STASH 0x%x
- START 0x%x
- ROOT 0x%x
- GV 0x%x
- FILE %s
- DEPTH %d
- PADLIST 0x%x
- OUTSIDE 0x%x
- OUTSIDE_SEQ %d
-EOT
- $start->debug if $start;
- $root->debug if $root;
- $gv->debug if $gv;
- $padlist->debug if $padlist;
-}
-
-sub B::AV::debug {
- my ($av) = @_;
- $av->B::SV::debug;
- my(@array) = $av->ARRAY;
- print "\tARRAY\t\t(", join(", ", map("0x" . $$_, @array)), ")\n";
- printf <<'EOT', scalar(@array), $av->MAX, $av->OFF;
- FILL %d
- MAX %d
- OFF %d
-EOT
- printf <<'EOT', $av->AvFLAGS if $] < 5.009;
- AvFLAGS %d
-EOT
-}
-
-sub B::GV::debug {
- my ($gv) = @_;
- if ($done_gv{$$gv}++) {
- printf "GV %s::%s\n", $gv->STASH->NAME, $gv->SAFENAME;
- return;
- }
- my ($sv) = $gv->SV;
- my ($av) = $gv->AV;
- my ($cv) = $gv->CV;
- $gv->B::SV::debug;
- printf <<'EOT', $gv->SAFENAME, $gv->STASH->NAME, $gv->STASH, $$sv, $gv->GvREFCNT, $gv->FORM, $$av, ${$gv->HV}, ${$gv->EGV}, $$cv, $gv->CVGEN, $gv->LINE, $gv->FILE, $gv->GvFLAGS;
- NAME %s
- STASH %s (0x%x)
- SV 0x%x
- GvREFCNT %d
- FORM 0x%x
- AV 0x%x
- HV 0x%x
- EGV 0x%x
- CV 0x%x
- CVGEN %d
- LINE %d
- FILE %s
- GvFLAGS 0x%x
-EOT
- $sv->debug if $sv;
- $av->debug if $av;
- $cv->debug if $cv;
-}
-
-sub B::SPECIAL::debug {
- my $sv = shift;
- print $specialsv_name[$$sv], "\n";
-}
-
-sub compile {
- my $order = shift;
- B::clearsym();
- if ($order && $order eq "exec") {
- return sub { walkoptree_exec(main_start, "debug") }
- } else {
- return sub { walkoptree(main_root, "debug") }
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-B::Debug - Walk Perl syntax tree, printing debug info about ops
-
-=head1 SYNOPSIS
-
- perl -MO=Debug[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-See F<ext/B/README> and the newer L<B::Concise>, L<B::Terse>.
-
-=head1 OPTIONS
-
-With option -exec, walks tree in execute order,
-otherwise in basic order.
-
-=head1 AUTHOR
-
-Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Deparse.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Deparse.pm
deleted file mode 100644
index b70a17ce75e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Deparse.pm
+++ /dev/null
@@ -1,4842 +0,0 @@
-# B::Deparse.pm
-# Copyright (c) 1998-2000, 2002, 2003, 2004, 2005, 2006 Stephen McCamant.
-# All rights reserved.
-# This module is free software; you can redistribute and/or modify
-# it under the same terms as Perl itself.
-
-# This is based on the module of the same name by Malcolm Beattie,
-# but essentially none of his code remains.
-
-package B::Deparse;
-use Carp;
-use B qw(class main_root main_start main_cv svref_2object opnumber perlstring
- OPf_WANT OPf_WANT_VOID OPf_WANT_SCALAR OPf_WANT_LIST
- OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD OPpPAD_STATE
- OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE
- OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY
- OPpCONST_ARYBASE OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
- OPpSORT_REVERSE OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED
- SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG
- CVf_METHOD CVf_LOCKED CVf_LVALUE
- PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
- PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED),
- ($] < 5.009 ? 'PMf_SKIPWHITE' : 'RXf_SKIPWHITE');
-$VERSION = 0.87;
-use strict;
-use vars qw/$AUTOLOAD/;
-use warnings ();
-
-# Changes between 0.50 and 0.51:
-# - fixed nulled leave with live enter in sort { }
-# - fixed reference constants (\"str")
-# - handle empty programs gracefully
-# - handle infinte loops (for (;;) {}, while (1) {})
-# - differentiate between `for my $x ...' and `my $x; for $x ...'
-# - various minor cleanups
-# - moved globals into an object
-# - added `-u', like B::C
-# - package declarations using cop_stash
-# - subs, formats and code sorted by cop_seq
-# Changes between 0.51 and 0.52:
-# - added pp_threadsv (special variables under USE_5005THREADS)
-# - added documentation
-# Changes between 0.52 and 0.53:
-# - many changes adding precedence contexts and associativity
-# - added `-p' and `-s' output style options
-# - various other minor fixes
-# Changes between 0.53 and 0.54:
-# - added support for new `for (1..100)' optimization,
-# thanks to Gisle Aas
-# Changes between 0.54 and 0.55:
-# - added support for new qr// construct
-# - added support for new pp_regcreset OP
-# Changes between 0.55 and 0.56:
-# - tested on base/*.t, cmd/*.t, comp/*.t, io/*.t
-# - fixed $# on non-lexicals broken in last big rewrite
-# - added temporary fix for change in opcode of OP_STRINGIFY
-# - fixed problem in 0.54's for() patch in `for (@ary)'
-# - fixed precedence in conditional of ?:
-# - tweaked list paren elimination in `my($x) = @_'
-# - made continue-block detection trickier wrt. null ops
-# - fixed various prototype problems in pp_entersub
-# - added support for sub prototypes that never get GVs
-# - added unquoting for special filehandle first arg in truncate
-# - print doubled rv2gv (a bug) as `*{*GV}' instead of illegal `**GV'
-# - added semicolons at the ends of blocks
-# - added -l `#line' declaration option -- fixes cmd/subval.t 27,28
-# Changes between 0.56 and 0.561:
-# - fixed multiply-declared my var in pp_truncate (thanks to Sarathy)
-# - used new B.pm symbolic constants (done by Nick Ing-Simmons)
-# Changes between 0.561 and 0.57:
-# - stylistic changes to symbolic constant stuff
-# - handled scope in s///e replacement code
-# - added unquote option for expanding "" into concats, etc.
-# - split method and proto parts of pp_entersub into separate functions
-# - various minor cleanups
-# Changes after 0.57:
-# - added parens in \&foo (patch by Albert Dvornik)
-# Changes between 0.57 and 0.58:
-# - fixed `0' statements that weren't being printed
-# - added methods for use from other programs
-# (based on patches from James Duncan and Hugo van der Sanden)
-# - added -si and -sT to control indenting (also based on a patch from Hugo)
-# - added -sv to print something else instead of '???'
-# - preliminary version of utf8 tr/// handling
-# Changes after 0.58:
-# - uses of $op->ppaddr changed to new $op->name (done by Sarathy)
-# - added support for Hugo's new OP_SETSTATE (like nextstate)
-# Changes between 0.58 and 0.59
-# - added support for Chip's OP_METHOD_NAMED
-# - added support for Ilya's OPpTARGET_MY optimization
-# - elided arrows before `()' subscripts when possible
-# Changes between 0.59 and 0.60
-# - support for method attribues was added
-# - some warnings fixed
-# - separate recognition of constant subs
-# - rewrote continue block handling, now recoginizing for loops
-# - added more control of expanding control structures
-# Changes between 0.60 and 0.61 (mostly by Robin Houston)
-# - many bug-fixes
-# - support for pragmas and 'use'
-# - support for the little-used $[ variable
-# - support for __DATA__ sections
-# - UTF8 support
-# - BEGIN, CHECK, INIT and END blocks
-# - scoping of subroutine declarations fixed
-# - compile-time output from the input program can be suppressed, so that the
-# output is just the deparsed code. (a change to O.pm in fact)
-# - our() declarations
-# - *all* the known bugs are now listed in the BUGS section
-# - comprehensive test mechanism (TEST -deparse)
-# Changes between 0.62 and 0.63 (mostly by Rafael Garcia-Suarez)
-# - bug-fixes
-# - new switch -P
-# - support for command-line switches (-l, -0, etc.)
-# Changes between 0.63 and 0.64
-# - support for //, CHECK blocks, and assertions
-# - improved handling of foreach loops and lexicals
-# - option to use Data::Dumper for constants
-# - more bug fixes
-# - discovered lots more bugs not yet fixed
-#
-# ...
-#
-# Changes between 0.72 and 0.73
-# - support new switch constructs
-
-# Todo:
-# (See also BUGS section at the end of this file)
-#
-# - finish tr/// changes
-# - add option for even more parens (generalize \&foo change)
-# - left/right context
-# - copy comments (look at real text with $^P?)
-# - avoid semis in one-statement blocks
-# - associativity of &&=, ||=, ?:
-# - ',' => '=>' (auto-unquote?)
-# - break long lines ("\r" as discretionary break?)
-# - configurable syntax highlighting: ANSI color, HTML, TeX, etc.
-# - more style options: brace style, hex vs. octal, quotes, ...
-# - print big ints as hex/octal instead of decimal (heuristic?)
-# - handle `my $x if 0'?
-# - version using op_next instead of op_first/sibling?
-# - avoid string copies (pass arrays, one big join?)
-# - here-docs?
-
-# Current test.deparse failures
-# comp/hints 6 - location of BEGIN blocks wrt. block openings
-# run/switchI 1 - missing -I switches entirely
-# perl -Ifoo -e 'print @INC'
-# op/caller 2 - warning mask propagates backwards before warnings::register
-# 'use warnings; BEGIN {${^WARNING_BITS} eq "U"x12;} use warnings::register'
-# op/getpid 2 - can't assign to shared my() declaration (threads only)
-# 'my $x : shared = 5'
-# op/override 7 - parens on overriden require change v-string interpretation
-# 'BEGIN{*CORE::GLOBAL::require=sub {}} require v5.6'
-# c.f. 'BEGIN { *f = sub {0} }; f 2'
-# op/pat 774 - losing Unicode-ness of Latin1-only strings
-# 'use charnames ":short"; $x="\N{latin:a with acute}"'
-# op/recurse 12 - missing parens on recursive call makes it look like method
-# 'sub f { f($x) }'
-# op/subst 90 - inconsistent handling of utf8 under "use utf8"
-# op/taint 29 - "use re 'taint'" deparsed in the wrong place wrt. block open
-# op/tiehandle compile - "use strict" deparsed in the wrong place
-# uni/tr_ several
-# ext/B/t/xref 11 - line numbers when we add newlines to one-line subs
-# ext/Data/Dumper/t/dumper compile
-# ext/DB_file/several
-# ext/Encode/several
-# ext/Ernno/Errno warnings
-# ext/IO/lib/IO/t/io_sel 23
-# ext/PerlIO/t/encoding compile
-# ext/POSIX/t/posix 6
-# ext/Socket/Socket 8
-# ext/Storable/t/croak compile
-# lib/Attribute/Handlers/t/multi compile
-# lib/bignum/ several
-# lib/charnames 35
-# lib/constant 32
-# lib/English 40
-# lib/ExtUtils/t/bytes 4
-# lib/File/DosGlob compile
-# lib/Filter/Simple/t/data 1
-# lib/Math/BigInt/t/constant 1
-# lib/Net/t/config Deparse-warning
-# lib/overload compile
-# lib/Switch/ several
-# lib/Symbol 4
-# lib/Test/Simple several
-# lib/Term/Complete
-# lib/Tie/File/t/29_downcopy 5
-# lib/vars 22
-
-# Object fields (were globals):
-#
-# avoid_local:
-# (local($a), local($b)) and local($a, $b) have the same internal
-# representation but the short form looks better. We notice we can
-# use a large-scale local when checking the list, but need to prevent
-# individual locals too. This hash holds the addresses of OPs that
-# have already had their local-ness accounted for. The same thing
-# is done with my().
-#
-# curcv:
-# CV for current sub (or main program) being deparsed
-#
-# curcvlex:
-# Cached hash of lexical variables for curcv: keys are names,
-# each value is an array of pairs, indicating the cop_seq of scopes
-# in which a var of that name is valid.
-#
-# curcop:
-# COP for statement being deparsed
-#
-# curstash:
-# name of the current package for deparsed code
-#
-# subs_todo:
-# array of [cop_seq, CV, is_format?] for subs and formats we still
-# want to deparse
-#
-# protos_todo:
-# as above, but [name, prototype] for subs that never got a GV
-#
-# subs_done, forms_done:
-# keys are addresses of GVs for subs and formats we've already
-# deparsed (or at least put into subs_todo)
-#
-# subs_declared
-# keys are names of subs for which we've printed declarations.
-# That means we can omit parentheses from the arguments.
-#
-# subs_deparsed
-# Keeps track of fully qualified names of all deparsed subs.
-#
-# parens: -p
-# linenums: -l
-# unquote: -q
-# cuddle: ` ' or `\n', depending on -sC
-# indent_size: -si
-# use_tabs: -sT
-# ex_const: -sv
-
-# A little explanation of how precedence contexts and associativity
-# work:
-#
-# deparse() calls each per-op subroutine with an argument $cx (short
-# for context, but not the same as the cx* in the perl core), which is
-# a number describing the op's parents in terms of precedence, whether
-# they're inside an expression or at statement level, etc. (see
-# chart below). When ops with children call deparse on them, they pass
-# along their precedence. Fractional values are used to implement
-# associativity (`($x + $y) + $z' => `$x + $y + $y') and related
-# parentheses hacks. The major disadvantage of this scheme is that
-# it doesn't know about right sides and left sides, so say if you
-# assign a listop to a variable, it can't tell it's allowed to leave
-# the parens off the listop.
-
-# Precedences:
-# 26 [TODO] inside interpolation context ("")
-# 25 left terms and list operators (leftward)
-# 24 left ->
-# 23 nonassoc ++ --
-# 22 right **
-# 21 right ! ~ \ and unary + and -
-# 20 left =~ !~
-# 19 left * / % x
-# 18 left + - .
-# 17 left << >>
-# 16 nonassoc named unary operators
-# 15 nonassoc < > <= >= lt gt le ge
-# 14 nonassoc == != <=> eq ne cmp
-# 13 left &
-# 12 left | ^
-# 11 left &&
-# 10 left ||
-# 9 nonassoc .. ...
-# 8 right ?:
-# 7 right = += -= *= etc.
-# 6 left , =>
-# 5 nonassoc list operators (rightward)
-# 4 right not
-# 3 left and
-# 2 left or xor
-# 1 statement modifiers
-# 0.5 statements, but still print scopes as do { ... }
-# 0 statement level
-
-# Nonprinting characters with special meaning:
-# \cS - steal parens (see maybe_parens_unop)
-# \n - newline and indent
-# \t - increase indent
-# \b - decrease indent (`outdent')
-# \f - flush left (no indent)
-# \cK - kill following semicolon, if any
-
-sub null {
- my $op = shift;
- return class($op) eq "NULL";
-}
-
-sub todo {
- my $self = shift;
- my($cv, $is_form) = @_;
- return unless ($cv->FILE eq $0 || exists $self->{files}{$cv->FILE});
- my $seq;
- if ($cv->OUTSIDE_SEQ) {
- $seq = $cv->OUTSIDE_SEQ;
- } elsif (!null($cv->START) and is_state($cv->START)) {
- $seq = $cv->START->cop_seq;
- } else {
- $seq = 0;
- }
- push @{$self->{'subs_todo'}}, [$seq, $cv, $is_form];
- unless ($is_form || class($cv->STASH) eq 'SPECIAL') {
- $self->{'subs_deparsed'}{$cv->STASH->NAME."::".$cv->GV->NAME} = 1;
- }
-}
-
-sub next_todo {
- my $self = shift;
- my $ent = shift @{$self->{'subs_todo'}};
- my $cv = $ent->[1];
- my $gv = $cv->GV;
- my $name = $self->gv_name($gv);
- if ($ent->[2]) {
- return "format $name =\n"
- . $self->deparse_format($ent->[1]). "\n";
- } else {
- $self->{'subs_declared'}{$name} = 1;
- if ($name eq "BEGIN") {
- my $use_dec = $self->begin_is_use($cv);
- if (defined ($use_dec) and $self->{'expand'} < 5) {
- return () if 0 == length($use_dec);
- return $use_dec;
- }
- }
- my $l = '';
- if ($self->{'linenums'}) {
- my $line = $gv->LINE;
- my $file = $gv->FILE;
- $l = "\n\f#line $line \"$file\"\n";
- }
- my $p = '';
- if (class($cv->STASH) ne "SPECIAL") {
- my $stash = $cv->STASH->NAME;
- if ($stash ne $self->{'curstash'}) {
- $p = "package $stash;\n";
- $name = "$self->{'curstash'}::$name" unless $name =~ /::/;
- $self->{'curstash'} = $stash;
- }
- $name =~ s/^\Q$stash\E::(?!\z|.*::)//;
- }
- return "${p}${l}sub $name " . $self->deparse_sub($cv);
- }
-}
-
-# Return a "use" declaration for this BEGIN block, if appropriate
-sub begin_is_use {
- my ($self, $cv) = @_;
- my $root = $cv->ROOT;
- local @$self{qw'curcv curcvlex'} = ($cv);
-#require B::Debug;
-#B::walkoptree($cv->ROOT, "debug");
- my $lineseq = $root->first;
- return if $lineseq->name ne "lineseq";
-
- my $req_op = $lineseq->first->sibling;
- return if $req_op->name ne "require";
-
- my $module;
- if ($req_op->first->private & OPpCONST_BARE) {
- # Actually it should always be a bareword
- $module = $self->const_sv($req_op->first)->PV;
- $module =~ s[/][::]g;
- $module =~ s/.pm$//;
- }
- else {
- $module = $self->const($self->const_sv($req_op->first), 6);
- }
-
- my $version;
- my $version_op = $req_op->sibling;
- return if class($version_op) eq "NULL";
- if ($version_op->name eq "lineseq") {
- # We have a version parameter; skip nextstate & pushmark
- my $constop = $version_op->first->next->next;
-
- return unless $self->const_sv($constop)->PV eq $module;
- $constop = $constop->sibling;
- $version = $self->const_sv($constop);
- if (class($version) eq "IV") {
- $version = $version->int_value;
- } elsif (class($version) eq "NV") {
- $version = $version->NV;
- } elsif (class($version) ne "PVMG") {
- # Includes PVIV and PVNV
- $version = $version->PV;
- } else {
- # version specified as a v-string
- $version = 'v'.join '.', map ord, split //, $version->PV;
- }
- $constop = $constop->sibling;
- return if $constop->name ne "method_named";
- return if $self->const_sv($constop)->PV ne "VERSION";
- }
-
- $lineseq = $version_op->sibling;
- return if $lineseq->name ne "lineseq";
- my $entersub = $lineseq->first->sibling;
- if ($entersub->name eq "stub") {
- return "use $module $version ();\n" if defined $version;
- return "use $module ();\n";
- }
- return if $entersub->name ne "entersub";
-
- # See if there are import arguments
- my $args = '';
-
- my $svop = $entersub->first->sibling; # Skip over pushmark
- return unless $self->const_sv($svop)->PV eq $module;
-
- # Pull out the arguments
- for ($svop=$svop->sibling; $svop->name ne "method_named";
- $svop = $svop->sibling) {
- $args .= ", " if length($args);
- $args .= $self->deparse($svop, 6);
- }
-
- my $use = 'use';
- my $method_named = $svop;
- return if $method_named->name ne "method_named";
- my $method_name = $self->const_sv($method_named)->PV;
-
- if ($method_name eq "unimport") {
- $use = 'no';
- }
-
- # Certain pragmas are dealt with using hint bits,
- # so we ignore them here
- if ($module eq 'strict' || $module eq 'integer'
- || $module eq 'bytes' || $module eq 'warnings'
- || $module eq 'feature') {
- return "";
- }
-
- if (defined $version && length $args) {
- return "$use $module $version ($args);\n";
- } elsif (defined $version) {
- return "$use $module $version;\n";
- } elsif (length $args) {
- return "$use $module ($args);\n";
- } else {
- return "$use $module;\n";
- }
-}
-
-sub stash_subs {
- my ($self, $pack) = @_;
- my (@ret, $stash);
- if (!defined $pack) {
- $pack = '';
- $stash = \%::;
- }
- else {
- $pack =~ s/(::)?$/::/;
- no strict 'refs';
- $stash = \%$pack;
- }
- my %stash = svref_2object($stash)->ARRAY;
- while (my ($key, $val) = each %stash) {
- my $class = class($val);
- if ($class eq "PV") {
- # Just a prototype. As an ugly but fairly effective way
- # to find out if it belongs here is to see if the AUTOLOAD
- # (if any) for the stash was defined in one of our files.
- my $A = $stash{"AUTOLOAD"};
- if (defined ($A) && class($A) eq "GV" && defined($A->CV)
- && class($A->CV) eq "CV") {
- my $AF = $A->FILE;
- next unless $AF eq $0 || exists $self->{'files'}{$AF};
- }
- push @{$self->{'protos_todo'}}, [$pack . $key, $val->PV];
- } elsif ($class eq "IV") {
- # Just a name. As above.
- my $A = $stash{"AUTOLOAD"};
- if (defined ($A) && class($A) eq "GV" && defined($A->CV)
- && class($A->CV) eq "CV") {
- my $AF = $A->FILE;
- next unless $AF eq $0 || exists $self->{'files'}{$AF};
- }
- push @{$self->{'protos_todo'}}, [$pack . $key, undef];
- } elsif ($class eq "GV") {
- if (class(my $cv = $val->CV) ne "SPECIAL") {
- next if $self->{'subs_done'}{$$val}++;
- next if $$val != ${$cv->GV}; # Ignore imposters
- $self->todo($cv, 0);
- }
- if (class(my $cv = $val->FORM) ne "SPECIAL") {
- next if $self->{'forms_done'}{$$val}++;
- next if $$val != ${$cv->GV}; # Ignore imposters
- $self->todo($cv, 1);
- }
- if (class($val->HV) ne "SPECIAL" && $key =~ /::$/) {
- $self->stash_subs($pack . $key)
- unless $pack eq '' && $key eq 'main::';
- # avoid infinite recursion
- }
- }
- }
-}
-
-sub print_protos {
- my $self = shift;
- my $ar;
- my @ret;
- foreach $ar (@{$self->{'protos_todo'}}) {
- my $proto = (defined $ar->[1] ? " (". $ar->[1] . ")" : "");
- push @ret, "sub " . $ar->[0] . "$proto;\n";
- }
- delete $self->{'protos_todo'};
- return @ret;
-}
-
-sub style_opts {
- my $self = shift;
- my $opts = shift;
- my $opt;
- while (length($opt = substr($opts, 0, 1))) {
- if ($opt eq "C") {
- $self->{'cuddle'} = " ";
- $opts = substr($opts, 1);
- } elsif ($opt eq "i") {
- $opts =~ s/^i(\d+)//;
- $self->{'indent_size'} = $1;
- } elsif ($opt eq "T") {
- $self->{'use_tabs'} = 1;
- $opts = substr($opts, 1);
- } elsif ($opt eq "v") {
- $opts =~ s/^v([^.]*)(.|$)//;
- $self->{'ex_const'} = $1;
- }
- }
-}
-
-sub new {
- my $class = shift;
- my $self = bless {}, $class;
- $self->{'cuddle'} = "\n";
- $self->{'curcop'} = undef;
- $self->{'curstash'} = "main";
- $self->{'ex_const'} = "'???'";
- $self->{'expand'} = 0;
- $self->{'files'} = {};
- $self->{'indent_size'} = 4;
- $self->{'linenums'} = 0;
- $self->{'parens'} = 0;
- $self->{'subs_todo'} = [];
- $self->{'unquote'} = 0;
- $self->{'use_dumper'} = 0;
- $self->{'use_tabs'} = 0;
-
- $self->{'ambient_arybase'} = 0;
- $self->{'ambient_warnings'} = undef; # Assume no lexical warnings
- $self->{'ambient_hints'} = 0;
- $self->{'ambient_hinthash'} = undef;
- $self->init();
-
- while (my $arg = shift @_) {
- if ($arg eq "-d") {
- $self->{'use_dumper'} = 1;
- require Data::Dumper;
- } elsif ($arg =~ /^-f(.*)/) {
- $self->{'files'}{$1} = 1;
- } elsif ($arg eq "-l") {
- $self->{'linenums'} = 1;
- } elsif ($arg eq "-p") {
- $self->{'parens'} = 1;
- } elsif ($arg eq "-P") {
- $self->{'noproto'} = 1;
- } elsif ($arg eq "-q") {
- $self->{'unquote'} = 1;
- } elsif (substr($arg, 0, 2) eq "-s") {
- $self->style_opts(substr $arg, 2);
- } elsif ($arg =~ /^-x(\d)$/) {
- $self->{'expand'} = $1;
- }
- }
- return $self;
-}
-
-{
- # Mask out the bits that L<warnings::register> uses
- my $WARN_MASK;
- BEGIN {
- $WARN_MASK = $warnings::Bits{all} | $warnings::DeadBits{all};
- }
- sub WARN_MASK () {
- return $WARN_MASK;
- }
-}
-
-# Initialise the contextual information, either from
-# defaults provided with the ambient_pragmas method,
-# or from perl's own defaults otherwise.
-sub init {
- my $self = shift;
-
- $self->{'arybase'} = $self->{'ambient_arybase'};
- $self->{'warnings'} = defined ($self->{'ambient_warnings'})
- ? $self->{'ambient_warnings'} & WARN_MASK
- : undef;
- $self->{'hints'} = $self->{'ambient_hints'};
- $self->{'hints'} &= 0xFF if $] < 5.009;
- $self->{'hinthash'} = $self->{'ambient_hinthash'};
-
- # also a convenient place to clear out subs_declared
- delete $self->{'subs_declared'};
-}
-
-sub compile {
- my(@args) = @_;
- return sub {
- my $self = B::Deparse->new(@args);
- # First deparse command-line args
- if (defined $^I) { # deparse -i
- print q(BEGIN { $^I = ).perlstring($^I).qq(; }\n);
- }
- if ($^W) { # deparse -w
- print qq(BEGIN { \$^W = $^W; }\n);
- }
- if ($/ ne "\n" or defined $O::savebackslash) { # deparse -l and -0
- my $fs = perlstring($/) || 'undef';
- my $bs = perlstring($O::savebackslash) || 'undef';
- print qq(BEGIN { \$/ = $fs; \$\\ = $bs; }\n);
- }
- my @BEGINs = B::begin_av->isa("B::AV") ? B::begin_av->ARRAY : ();
- my @UNITCHECKs = B::unitcheck_av->isa("B::AV")
- ? B::unitcheck_av->ARRAY
- : ();
- my @CHECKs = B::check_av->isa("B::AV") ? B::check_av->ARRAY : ();
- my @INITs = B::init_av->isa("B::AV") ? B::init_av->ARRAY : ();
- my @ENDs = B::end_av->isa("B::AV") ? B::end_av->ARRAY : ();
- for my $block (@BEGINs, @UNITCHECKs, @CHECKs, @INITs, @ENDs) {
- $self->todo($block, 0);
- }
- $self->stash_subs();
- local($SIG{"__DIE__"}) =
- sub {
- if ($self->{'curcop'}) {
- my $cop = $self->{'curcop'};
- my($line, $file) = ($cop->line, $cop->file);
- print STDERR "While deparsing $file near line $line,\n";
- }
- };
- $self->{'curcv'} = main_cv;
- $self->{'curcvlex'} = undef;
- print $self->print_protos;
- @{$self->{'subs_todo'}} =
- sort {$a->[0] <=> $b->[0]} @{$self->{'subs_todo'}};
- print $self->indent($self->deparse_root(main_root)), "\n"
- unless null main_root;
- my @text;
- while (scalar(@{$self->{'subs_todo'}})) {
- push @text, $self->next_todo;
- }
- print $self->indent(join("", @text)), "\n" if @text;
-
- # Print __DATA__ section, if necessary
- no strict 'refs';
- my $laststash = defined $self->{'curcop'}
- ? $self->{'curcop'}->stash->NAME : $self->{'curstash'};
- if (defined *{$laststash."::DATA"}{IO}) {
- print "package $laststash;\n"
- unless $laststash eq $self->{'curstash'};
- print "__DATA__\n";
- print readline(*{$laststash."::DATA"});
- }
- }
-}
-
-sub coderef2text {
- my $self = shift;
- my $sub = shift;
- croak "Usage: ->coderef2text(CODEREF)" unless UNIVERSAL::isa($sub, "CODE");
-
- $self->init();
- return $self->indent($self->deparse_sub(svref_2object($sub)));
-}
-
-sub ambient_pragmas {
- my $self = shift;
- my ($arybase, $hint_bits, $warning_bits, $hinthash) = (0, 0);
-
- while (@_ > 1) {
- my $name = shift();
- my $val = shift();
-
- if ($name eq 'strict') {
- require strict;
-
- if ($val eq 'none') {
- $hint_bits &= ~strict::bits(qw/refs subs vars/);
- next();
- }
-
- my @names;
- if ($val eq "all") {
- @names = qw/refs subs vars/;
- }
- elsif (ref $val) {
- @names = @$val;
- }
- else {
- @names = split' ', $val;
- }
- $hint_bits |= strict::bits(@names);
- }
-
- elsif ($name eq '$[') {
- $arybase = $val;
- }
-
- elsif ($name eq 'integer'
- || $name eq 'bytes'
- || $name eq 'utf8') {
- require "$name.pm";
- if ($val) {
- $hint_bits |= ${$::{"${name}::"}{"hint_bits"}};
- }
- else {
- $hint_bits &= ~${$::{"${name}::"}{"hint_bits"}};
- }
- }
-
- elsif ($name eq 're') {
- require re;
- if ($val eq 'none') {
- $hint_bits &= ~re::bits(qw/taint eval/);
- next();
- }
-
- my @names;
- if ($val eq 'all') {
- @names = qw/taint eval/;
- }
- elsif (ref $val) {
- @names = @$val;
- }
- else {
- @names = split' ',$val;
- }
- $hint_bits |= re::bits(@names);
- }
-
- elsif ($name eq 'warnings') {
- if ($val eq 'none') {
- $warning_bits = $warnings::NONE;
- next();
- }
-
- my @names;
- if (ref $val) {
- @names = @$val;
- }
- else {
- @names = split/\s+/, $val;
- }
-
- $warning_bits = $warnings::NONE if !defined ($warning_bits);
- $warning_bits |= warnings::bits(@names);
- }
-
- elsif ($name eq 'warning_bits') {
- $warning_bits = $val;
- }
-
- elsif ($name eq 'hint_bits') {
- $hint_bits = $val;
- }
-
- elsif ($name eq '%^H') {
- $hinthash = $val;
- }
-
- else {
- croak "Unknown pragma type: $name";
- }
- }
- if (@_) {
- croak "The ambient_pragmas method expects an even number of args";
- }
-
- $self->{'ambient_arybase'} = $arybase;
- $self->{'ambient_warnings'} = $warning_bits;
- $self->{'ambient_hints'} = $hint_bits;
- $self->{'ambient_hinthash'} = $hinthash;
-}
-
-# This method is the inner loop, so try to keep it simple
-sub deparse {
- my $self = shift;
- my($op, $cx) = @_;
-
- Carp::confess("Null op in deparse") if !defined($op)
- || class($op) eq "NULL";
- my $meth = "pp_" . $op->name;
- return $self->$meth($op, $cx);
-}
-
-sub indent {
- my $self = shift;
- my $txt = shift;
- my @lines = split(/\n/, $txt);
- my $leader = "";
- my $level = 0;
- my $line;
- for $line (@lines) {
- my $cmd = substr($line, 0, 1);
- if ($cmd eq "\t" or $cmd eq "\b") {
- $level += ($cmd eq "\t" ? 1 : -1) * $self->{'indent_size'};
- if ($self->{'use_tabs'}) {
- $leader = "\t" x ($level / 8) . " " x ($level % 8);
- } else {
- $leader = " " x $level;
- }
- $line = substr($line, 1);
- }
- if (substr($line, 0, 1) eq "\f") {
- $line = substr($line, 1); # no indent
- } else {
- $line = $leader . $line;
- }
- $line =~ s/\cK;?//g;
- }
- return join("\n", @lines);
-}
-
-sub deparse_sub {
- my $self = shift;
- my $cv = shift;
- my $proto = "";
-Carp::confess("NULL in deparse_sub") if !defined($cv) || $cv->isa("B::NULL");
-Carp::confess("SPECIAL in deparse_sub") if $cv->isa("B::SPECIAL");
- local $self->{'curcop'} = $self->{'curcop'};
- if ($cv->FLAGS & SVf_POK) {
- $proto = "(". $cv->PV . ") ";
- }
- if ($cv->CvFLAGS & (CVf_METHOD|CVf_LOCKED|CVf_LVALUE)) {
- $proto .= ": ";
- $proto .= "lvalue " if $cv->CvFLAGS & CVf_LVALUE;
- $proto .= "locked " if $cv->CvFLAGS & CVf_LOCKED;
- $proto .= "method " if $cv->CvFLAGS & CVf_METHOD;
- }
-
- local($self->{'curcv'}) = $cv;
- local($self->{'curcvlex'});
- local(@$self{qw'curstash warnings hints hinthash'})
- = @$self{qw'curstash warnings hints hinthash'};
- my $body;
- if (not null $cv->ROOT) {
- my $lineseq = $cv->ROOT->first;
- if ($lineseq->name eq "lineseq") {
- my @ops;
- for(my$o=$lineseq->first; $$o; $o=$o->sibling) {
- push @ops, $o;
- }
- $body = $self->lineseq(undef, @ops).";";
- my $scope_en = $self->find_scope_en($lineseq);
- if (defined $scope_en) {
- my $subs = join"", $self->seq_subs($scope_en);
- $body .= ";\n$subs" if length($subs);
- }
- }
- else {
- $body = $self->deparse($cv->ROOT->first, 0);
- }
- }
- else {
- my $sv = $cv->const_sv;
- if ($$sv) {
- # uh-oh. inlinable sub... format it differently
- return $proto . "{ " . $self->const($sv, 0) . " }\n";
- } else { # XSUB? (or just a declaration)
- return "$proto;\n";
- }
- }
- return $proto ."{\n\t$body\n\b}" ."\n";
-}
-
-sub deparse_format {
- my $self = shift;
- my $form = shift;
- my @text;
- local($self->{'curcv'}) = $form;
- local($self->{'curcvlex'});
- local($self->{'in_format'}) = 1;
- local(@$self{qw'curstash warnings hints hinthash'})
- = @$self{qw'curstash warnings hints hinthash'};
- my $op = $form->ROOT;
- my $kid;
- return "\f." if $op->first->name eq 'stub'
- || $op->first->name eq 'nextstate';
- $op = $op->first->first; # skip leavewrite, lineseq
- while (not null $op) {
- $op = $op->sibling; # skip nextstate
- my @exprs;
- $kid = $op->first->sibling; # skip pushmark
- push @text, "\f".$self->const_sv($kid)->PV;
- $kid = $kid->sibling;
- for (; not null $kid; $kid = $kid->sibling) {
- push @exprs, $self->deparse($kid, 0);
- }
- push @text, "\f".join(", ", @exprs)."\n" if @exprs;
- $op = $op->sibling;
- }
- return join("", @text) . "\f.";
-}
-
-sub is_scope {
- my $op = shift;
- return $op->name eq "leave" || $op->name eq "scope"
- || $op->name eq "lineseq"
- || ($op->name eq "null" && class($op) eq "UNOP"
- && (is_scope($op->first) || $op->first->name eq "enter"));
-}
-
-sub is_state {
- my $name = $_[0]->name;
- return $name eq "nextstate" || $name eq "dbstate" || $name eq "setstate";
-}
-
-sub is_miniwhile { # check for one-line loop (`foo() while $y--')
- my $op = shift;
- return (!null($op) and null($op->sibling)
- and $op->name eq "null" and class($op) eq "UNOP"
- and (($op->first->name =~ /^(and|or)$/
- and $op->first->first->sibling->name eq "lineseq")
- or ($op->first->name eq "lineseq"
- and not null $op->first->first->sibling
- and $op->first->first->sibling->name eq "unstack")
- ));
-}
-
-# Check if the op and its sibling are the initialization and the rest of a
-# for (..;..;..) { ... } loop
-sub is_for_loop {
- my $op = shift;
- # This OP might be almost anything, though it won't be a
- # nextstate. (It's the initialization, so in the canonical case it
- # will be an sassign.) The sibling is a lineseq whose first child
- # is a nextstate and whose second is a leaveloop.
- my $lseq = $op->sibling;
- if (!is_state $op and !null($lseq) and $lseq->name eq "lineseq") {
- if ($lseq->first && !null($lseq->first) && is_state($lseq->first)
- && (my $sib = $lseq->first->sibling)) {
- return (!null($sib) && $sib->name eq "leaveloop");
- }
- }
- return 0;
-}
-
-sub is_scalar {
- my $op = shift;
- return ($op->name eq "rv2sv" or
- $op->name eq "padsv" or
- $op->name eq "gv" or # only in array/hash constructs
- $op->flags & OPf_KIDS && !null($op->first)
- && $op->first->name eq "gvsv");
-}
-
-sub maybe_parens {
- my $self = shift;
- my($text, $cx, $prec) = @_;
- if ($prec < $cx # unary ops nest just fine
- or $prec == $cx and $cx != 4 and $cx != 16 and $cx != 21
- or $self->{'parens'})
- {
- $text = "($text)";
- # In a unop, let parent reuse our parens; see maybe_parens_unop
- $text = "\cS" . $text if $cx == 16;
- return $text;
- } else {
- return $text;
- }
-}
-
-# same as above, but get around the `if it looks like a function' rule
-sub maybe_parens_unop {
- my $self = shift;
- my($name, $kid, $cx) = @_;
- if ($cx > 16 or $self->{'parens'}) {
- $kid = $self->deparse($kid, 1);
- if ($name eq "umask" && $kid =~ /^\d+$/) {
- $kid = sprintf("%#o", $kid);
- }
- return "$name($kid)";
- } else {
- $kid = $self->deparse($kid, 16);
- if ($name eq "umask" && $kid =~ /^\d+$/) {
- $kid = sprintf("%#o", $kid);
- }
- if (substr($kid, 0, 1) eq "\cS") {
- # use kid's parens
- return $name . substr($kid, 1);
- } elsif (substr($kid, 0, 1) eq "(") {
- # avoid looks-like-a-function trap with extra parens
- # (`+' can lead to ambiguities)
- return "$name(" . $kid . ")";
- } else {
- return "$name $kid";
- }
- }
-}
-
-sub maybe_parens_func {
- my $self = shift;
- my($func, $text, $cx, $prec) = @_;
- if ($prec <= $cx or substr($text, 0, 1) eq "(" or $self->{'parens'}) {
- return "$func($text)";
- } else {
- return "$func $text";
- }
-}
-
-sub maybe_local {
- my $self = shift;
- my($op, $cx, $text) = @_;
- my $our_intro = ($op->name =~ /^(gv|rv2)[ash]v$/) ? OPpOUR_INTRO : 0;
- if ($op->private & (OPpLVAL_INTRO|$our_intro)
- and not $self->{'avoid_local'}{$$op}) {
- my $our_local = ($op->private & OPpLVAL_INTRO) ? "local" : "our";
- if( $our_local eq 'our' ) {
- # XXX This assertion fails code with non-ASCII identifiers,
- # like ./ext/Encode/t/jperl.t
- die "Unexpected our($text)\n" unless $text =~ /^\W(\w+::)*\w+\z/;
- $text =~ s/(\w+::)+//;
- }
- if (want_scalar($op)) {
- return "$our_local $text";
- } else {
- return $self->maybe_parens_func("$our_local", $text, $cx, 16);
- }
- } else {
- return $text;
- }
-}
-
-sub maybe_targmy {
- my $self = shift;
- my($op, $cx, $func, @args) = @_;
- if ($op->private & OPpTARGET_MY) {
- my $var = $self->padname($op->targ);
- my $val = $func->($self, $op, 7, @args);
- return $self->maybe_parens("$var = $val", $cx, 7);
- } else {
- return $func->($self, $op, $cx, @args);
- }
-}
-
-sub padname_sv {
- my $self = shift;
- my $targ = shift;
- return $self->{'curcv'}->PADLIST->ARRAYelt(0)->ARRAYelt($targ);
-}
-
-sub maybe_my {
- my $self = shift;
- my($op, $cx, $text) = @_;
- if ($op->private & OPpLVAL_INTRO and not $self->{'avoid_local'}{$$op}) {
- my $my = $op->private & OPpPAD_STATE ? "state" : "my";
- if (want_scalar($op)) {
- return "$my $text";
- } else {
- return $self->maybe_parens_func($my, $text, $cx, 16);
- }
- } else {
- return $text;
- }
-}
-
-# The following OPs don't have functions:
-
-# pp_padany -- does not exist after parsing
-
-sub AUTOLOAD {
- if ($AUTOLOAD =~ s/^.*::pp_//) {
- warn "unexpected OP_".uc $AUTOLOAD;
- return "XXX";
- } else {
- die "Undefined subroutine $AUTOLOAD called";
- }
-}
-
-sub DESTROY {} # Do not AUTOLOAD
-
-# $root should be the op which represents the root of whatever
-# we're sequencing here. If it's undefined, then we don't append
-# any subroutine declarations to the deparsed ops, otherwise we
-# append appropriate declarations.
-sub lineseq {
- my($self, $root, @ops) = @_;
- my($expr, @exprs);
-
- my $out_cop = $self->{'curcop'};
- my $out_seq = defined($out_cop) ? $out_cop->cop_seq : undef;
- my $limit_seq;
- if (defined $root) {
- $limit_seq = $out_seq;
- my $nseq;
- $nseq = $self->find_scope_st($root->sibling) if ${$root->sibling};
- $limit_seq = $nseq if !defined($limit_seq)
- or defined($nseq) && $nseq < $limit_seq;
- }
- $limit_seq = $self->{'limit_seq'}
- if defined($self->{'limit_seq'})
- && (!defined($limit_seq) || $self->{'limit_seq'} < $limit_seq);
- local $self->{'limit_seq'} = $limit_seq;
-
- $self->walk_lineseq($root, \@ops,
- sub { push @exprs, $_[0]} );
-
- my $body = join(";\n", grep {length} @exprs);
- my $subs = "";
- if (defined $root && defined $limit_seq && !$self->{'in_format'}) {
- $subs = join "\n", $self->seq_subs($limit_seq);
- }
- return join(";\n", grep {length} $body, $subs);
-}
-
-sub scopeop {
- my($real_block, $self, $op, $cx) = @_;
- my $kid;
- my @kids;
-
- local(@$self{qw'curstash warnings hints hinthash'})
- = @$self{qw'curstash warnings hints hinthash'} if $real_block;
- if ($real_block) {
- $kid = $op->first->sibling; # skip enter
- if (is_miniwhile($kid)) {
- my $top = $kid->first;
- my $name = $top->name;
- if ($name eq "and") {
- $name = "while";
- } elsif ($name eq "or") {
- $name = "until";
- } else { # no conditional -> while 1 or until 0
- return $self->deparse($top->first, 1) . " while 1";
- }
- my $cond = $top->first;
- my $body = $cond->sibling->first; # skip lineseq
- $cond = $self->deparse($cond, 1);
- $body = $self->deparse($body, 1);
- return "$body $name $cond";
- }
- } else {
- $kid = $op->first;
- }
- for (; !null($kid); $kid = $kid->sibling) {
- push @kids, $kid;
- }
- if ($cx > 0) { # inside an expression, (a do {} while for lineseq)
- return "do {\n\t" . $self->lineseq($op, @kids) . "\n\b}";
- } else {
- my $lineseq = $self->lineseq($op, @kids);
- return (length ($lineseq) ? "$lineseq;" : "");
- }
-}
-
-sub pp_scope { scopeop(0, @_); }
-sub pp_lineseq { scopeop(0, @_); }
-sub pp_leave { scopeop(1, @_); }
-
-# This is a special case of scopeop and lineseq, for the case of the
-# main_root. The difference is that we print the output statements as
-# soon as we get them, for the sake of impatient users.
-sub deparse_root {
- my $self = shift;
- my($op) = @_;
- local(@$self{qw'curstash warnings hints hinthash'})
- = @$self{qw'curstash warnings hints hinthash'};
- my @kids;
- return if null $op->first; # Can happen, e.g., for Bytecode without -k
- for (my $kid = $op->first->sibling; !null($kid); $kid = $kid->sibling) {
- push @kids, $kid;
- }
- $self->walk_lineseq($op, \@kids,
- sub { print $self->indent($_[0].';');
- print "\n" unless $_[1] == $#kids;
- });
-}
-
-sub walk_lineseq {
- my ($self, $op, $kids, $callback) = @_;
- my @kids = @$kids;
- for (my $i = 0; $i < @kids; $i++) {
- my $expr = "";
- if (is_state $kids[$i]) {
- $expr = $self->deparse($kids[$i++], 0);
- if ($i > $#kids) {
- $callback->($expr, $i);
- last;
- }
- }
- if (is_for_loop($kids[$i])) {
- $callback->($expr . $self->for_loop($kids[$i], 0), $i++);
- next;
- }
- $expr .= $self->deparse($kids[$i], (@kids != 1)/2);
- $expr =~ s/;\n?\z//;
- $callback->($expr, $i);
- }
-}
-
-# The BEGIN {} is used here because otherwise this code isn't executed
-# when you run B::Deparse on itself.
-my %globalnames;
-BEGIN { map($globalnames{$_}++, "SIG", "STDIN", "STDOUT", "STDERR", "INC",
- "ENV", "ARGV", "ARGVOUT", "_"); }
-
-sub gv_name {
- my $self = shift;
- my $gv = shift;
-Carp::confess() unless ref($gv) eq "B::GV";
- my $stash = $gv->STASH->NAME;
- my $name = $gv->SAFENAME;
- if ($stash eq 'main' && $name =~ /^::/) {
- $stash = '::';
- }
- elsif (($stash eq 'main' && $globalnames{$name})
- or ($stash eq $self->{'curstash'} && !$globalnames{$name}
- && ($stash eq 'main' || $name !~ /::/))
- or $name =~ /^[^A-Za-z_:]/)
- {
- $stash = "";
- } else {
- $stash = $stash . "::";
- }
- if ($name =~ /^(\^..|{)/) {
- $name = "{$name}"; # ${^WARNING_BITS}, etc and ${
- }
- return $stash . $name;
-}
-
-# Return the name to use for a stash variable.
-# If a lexical with the same name is in scope, it may need to be
-# fully-qualified.
-sub stash_variable {
- my ($self, $prefix, $name) = @_;
-
- return "$prefix$name" if $name =~ /::/;
-
- unless ($prefix eq '$' || $prefix eq '@' || #'
- $prefix eq '%' || $prefix eq '$#') {
- return "$prefix$name";
- }
-
- my $v = ($prefix eq '$#' ? '@' : $prefix) . $name;
- return $prefix .$self->{'curstash'}.'::'. $name if $self->lex_in_scope($v);
- return "$prefix$name";
-}
-
-sub lex_in_scope {
- my ($self, $name) = @_;
- $self->populate_curcvlex() if !defined $self->{'curcvlex'};
-
- return 0 if !defined($self->{'curcop'});
- my $seq = $self->{'curcop'}->cop_seq;
- return 0 if !exists $self->{'curcvlex'}{$name};
- for my $a (@{$self->{'curcvlex'}{$name}}) {
- my ($st, $en) = @$a;
- return 1 if $seq > $st && $seq <= $en;
- }
- return 0;
-}
-
-sub populate_curcvlex {
- my $self = shift;
- for (my $cv = $self->{'curcv'}; class($cv) eq "CV"; $cv = $cv->OUTSIDE) {
- my $padlist = $cv->PADLIST;
- # an undef CV still in lexical chain
- next if class($padlist) eq "SPECIAL";
- my @padlist = $padlist->ARRAY;
- my @ns = $padlist[0]->ARRAY;
-
- for (my $i=0; $i<@ns; ++$i) {
- next if class($ns[$i]) eq "SPECIAL";
- next if $ns[$i]->FLAGS & SVpad_OUR; # Skip "our" vars
- if (class($ns[$i]) eq "PV") {
- # Probably that pesky lexical @_
- next;
- }
- my $name = $ns[$i]->PVX;
- my ($seq_st, $seq_en) =
- ($ns[$i]->FLAGS & SVf_FAKE)
- ? (0, 999999)
- : ($ns[$i]->COP_SEQ_RANGE_LOW, $ns[$i]->COP_SEQ_RANGE_HIGH);
-
- push @{$self->{'curcvlex'}{$name}}, [$seq_st, $seq_en];
- }
- }
-}
-
-sub find_scope_st { ((find_scope(@_))[0]); }
-sub find_scope_en { ((find_scope(@_))[1]); }
-
-# Recurses down the tree, looking for pad variable introductions and COPs
-sub find_scope {
- my ($self, $op, $scope_st, $scope_en) = @_;
- carp("Undefined op in find_scope") if !defined $op;
- return ($scope_st, $scope_en) unless $op->flags & OPf_KIDS;
-
- my @queue = ($op);
- while(my $op = shift @queue ) {
- for (my $o=$op->first; $$o; $o=$o->sibling) {
- if ($o->name =~ /^pad.v$/ && $o->private & OPpLVAL_INTRO) {
- my $s = int($self->padname_sv($o->targ)->COP_SEQ_RANGE_LOW);
- my $e = $self->padname_sv($o->targ)->COP_SEQ_RANGE_HIGH;
- $scope_st = $s if !defined($scope_st) || $s < $scope_st;
- $scope_en = $e if !defined($scope_en) || $e > $scope_en;
- return ($scope_st, $scope_en);
- }
- elsif (is_state($o)) {
- my $c = $o->cop_seq;
- $scope_st = $c if !defined($scope_st) || $c < $scope_st;
- $scope_en = $c if !defined($scope_en) || $c > $scope_en;
- return ($scope_st, $scope_en);
- }
- elsif ($o->flags & OPf_KIDS) {
- unshift (@queue, $o);
- }
- }
- }
-
- return ($scope_st, $scope_en);
-}
-
-# Returns a list of subs which should be inserted before the COP
-sub cop_subs {
- my ($self, $op, $out_seq) = @_;
- my $seq = $op->cop_seq;
- # If we have nephews, then our sequence number indicates
- # the cop_seq of the end of some sort of scope.
- if (class($op->sibling) ne "NULL" && $op->sibling->flags & OPf_KIDS
- and my $nseq = $self->find_scope_st($op->sibling) ) {
- $seq = $nseq;
- }
- $seq = $out_seq if defined($out_seq) && $out_seq < $seq;
- return $self->seq_subs($seq);
-}
-
-sub seq_subs {
- my ($self, $seq) = @_;
- my @text;
-#push @text, "# ($seq)\n";
-
- return "" if !defined $seq;
- while (scalar(@{$self->{'subs_todo'}})
- and $seq > $self->{'subs_todo'}[0][0]) {
- push @text, $self->next_todo;
- }
- return @text;
-}
-
-# Notice how subs and formats are inserted between statements here;
-# also $[ assignments and pragmas.
-sub pp_nextstate {
- my $self = shift;
- my($op, $cx) = @_;
- $self->{'curcop'} = $op;
- my @text;
- push @text, $self->cop_subs($op);
- push @text, $op->label . ": " if $op->label;
- my $stash = $op->stashpv;
- if ($stash ne $self->{'curstash'}) {
- push @text, "package $stash;\n";
- $self->{'curstash'} = $stash;
- }
-
- if ($self->{'arybase'} != $op->arybase) {
- push @text, '$[ = '. $op->arybase .";\n";
- $self->{'arybase'} = $op->arybase;
- }
-
- my $warnings = $op->warnings;
- my $warning_bits;
- if ($warnings->isa("B::SPECIAL") && $$warnings == 4) {
- $warning_bits = $warnings::Bits{"all"} & WARN_MASK;
- }
- elsif ($warnings->isa("B::SPECIAL") && $$warnings == 5) {
- $warning_bits = $warnings::NONE;
- }
- elsif ($warnings->isa("B::SPECIAL")) {
- $warning_bits = undef;
- }
- else {
- $warning_bits = $warnings->PV & WARN_MASK;
- }
-
- if (defined ($warning_bits) and
- !defined($self->{warnings}) || $self->{'warnings'} ne $warning_bits) {
- push @text, declare_warnings($self->{'warnings'}, $warning_bits);
- $self->{'warnings'} = $warning_bits;
- }
-
- if ($self->{'hints'} != $op->hints) {
- push @text, declare_hints($self->{'hints'}, $op->hints);
- $self->{'hints'} = $op->hints;
- }
-
- # hack to check that the hint hash hasn't changed
- if ($] > 5.009 &&
- "@{[sort %{$self->{'hinthash'} || {}}]}"
- ne "@{[sort %{$op->hints_hash->HASH || {}}]}") {
- push @text, declare_hinthash($self->{'hinthash'}, $op->hints_hash->HASH, $self->{indent_size});
- $self->{'hinthash'} = $op->hints_hash->HASH;
- }
-
- # This should go after of any branches that add statements, to
- # increase the chances that it refers to the same line it did in
- # the original program.
- if ($self->{'linenums'}) {
- push @text, "\f#line " . $op->line .
- ' "' . $op->file, qq'"\n';
- }
-
- return join("", @text);
-}
-
-sub declare_warnings {
- my ($from, $to) = @_;
- if (($to & WARN_MASK) eq (warnings::bits("all") & WARN_MASK)) {
- return "use warnings;\n";
- }
- elsif (($to & WARN_MASK) eq ("\0"x length($to) & WARN_MASK)) {
- return "no warnings;\n";
- }
- return "BEGIN {\${^WARNING_BITS} = ".perlstring($to)."}\n";
-}
-
-sub declare_hints {
- my ($from, $to) = @_;
- my $use = $to & ~$from;
- my $no = $from & ~$to;
- my $decls = "";
- for my $pragma (hint_pragmas($use)) {
- $decls .= "use $pragma;\n";
- }
- for my $pragma (hint_pragmas($no)) {
- $decls .= "no $pragma;\n";
- }
- return $decls;
-}
-
-# Internal implementation hints that the core sets automatically, so don't need
-# (or want) to be passed back to the user
-my %ignored_hints = (
- 'open<' => 1,
- 'open>' => 1,
- ':' => 1,
-);
-
-sub declare_hinthash {
- my ($from, $to, $indent) = @_;
- my @decls;
- for my $key (keys %$to) {
- next if $ignored_hints{$key};
- if (!defined $from->{$key} or $from->{$key} ne $to->{$key}) {
- push @decls, qq(\$^H{'$key'} = q($to->{$key}););
- }
- }
- for my $key (keys %$from) {
- next if $ignored_hints{$key};
- if (!exists $to->{$key}) {
- push @decls, qq(delete \$^H{'$key'};);
- }
- }
- @decls or return '';
- return join("\n" . (" " x $indent), "BEGIN {", @decls) . "\n}\n";
-}
-
-sub hint_pragmas {
- my ($bits) = @_;
- my @pragmas;
- push @pragmas, "integer" if $bits & 0x1;
- push @pragmas, "strict 'refs'" if $bits & 0x2;
- push @pragmas, "bytes" if $bits & 0x8;
- return @pragmas;
-}
-
-sub pp_dbstate { pp_nextstate(@_) }
-sub pp_setstate { pp_nextstate(@_) }
-
-sub pp_unstack { return "" } # see also leaveloop
-
-sub baseop {
- my $self = shift;
- my($op, $cx, $name) = @_;
- return $name;
-}
-
-sub pp_stub {
- my $self = shift;
- my($op, $cx, $name) = @_;
- if ($cx >= 1) {
- return "()";
- }
- else {
- return "();";
- }
-}
-sub pp_wantarray { baseop(@_, "wantarray") }
-sub pp_fork { baseop(@_, "fork") }
-sub pp_wait { maybe_targmy(@_, \&baseop, "wait") }
-sub pp_getppid { maybe_targmy(@_, \&baseop, "getppid") }
-sub pp_time { maybe_targmy(@_, \&baseop, "time") }
-sub pp_tms { baseop(@_, "times") }
-sub pp_ghostent { baseop(@_, "gethostent") }
-sub pp_gnetent { baseop(@_, "getnetent") }
-sub pp_gprotoent { baseop(@_, "getprotoent") }
-sub pp_gservent { baseop(@_, "getservent") }
-sub pp_ehostent { baseop(@_, "endhostent") }
-sub pp_enetent { baseop(@_, "endnetent") }
-sub pp_eprotoent { baseop(@_, "endprotoent") }
-sub pp_eservent { baseop(@_, "endservent") }
-sub pp_gpwent { baseop(@_, "getpwent") }
-sub pp_spwent { baseop(@_, "setpwent") }
-sub pp_epwent { baseop(@_, "endpwent") }
-sub pp_ggrent { baseop(@_, "getgrent") }
-sub pp_sgrent { baseop(@_, "setgrent") }
-sub pp_egrent { baseop(@_, "endgrent") }
-sub pp_getlogin { baseop(@_, "getlogin") }
-
-sub POSTFIX () { 1 }
-
-# I couldn't think of a good short name, but this is the category of
-# symbolic unary operators with interesting precedence
-
-sub pfixop {
- my $self = shift;
- my($op, $cx, $name, $prec, $flags) = (@_, 0);
- my $kid = $op->first;
- $kid = $self->deparse($kid, $prec);
- return $self->maybe_parens(($flags & POSTFIX) ? "$kid$name" : "$name$kid",
- $cx, $prec);
-}
-
-sub pp_preinc { pfixop(@_, "++", 23) }
-sub pp_predec { pfixop(@_, "--", 23) }
-sub pp_postinc { maybe_targmy(@_, \&pfixop, "++", 23, POSTFIX) }
-sub pp_postdec { maybe_targmy(@_, \&pfixop, "--", 23, POSTFIX) }
-sub pp_i_preinc { pfixop(@_, "++", 23) }
-sub pp_i_predec { pfixop(@_, "--", 23) }
-sub pp_i_postinc { maybe_targmy(@_, \&pfixop, "++", 23, POSTFIX) }
-sub pp_i_postdec { maybe_targmy(@_, \&pfixop, "--", 23, POSTFIX) }
-sub pp_complement { maybe_targmy(@_, \&pfixop, "~", 21) }
-
-sub pp_negate { maybe_targmy(@_, \&real_negate) }
-sub real_negate {
- my $self = shift;
- my($op, $cx) = @_;
- if ($op->first->name =~ /^(i_)?negate$/) {
- # avoid --$x
- $self->pfixop($op, $cx, "-", 21.5);
- } else {
- $self->pfixop($op, $cx, "-", 21);
- }
-}
-sub pp_i_negate { pp_negate(@_) }
-
-sub pp_not {
- my $self = shift;
- my($op, $cx) = @_;
- if ($cx <= 4) {
- $self->pfixop($op, $cx, "not ", 4);
- } else {
- $self->pfixop($op, $cx, "!", 21);
- }
-}
-
-sub unop {
- my $self = shift;
- my($op, $cx, $name) = @_;
- my $kid;
- if ($op->flags & OPf_KIDS) {
- $kid = $op->first;
- if (defined prototype("CORE::$name")
- && prototype("CORE::$name") =~ /^;?\*/
- && $kid->name eq "rv2gv") {
- $kid = $kid->first;
- }
-
- return $self->maybe_parens_unop($name, $kid, $cx);
- } else {
- return $name . ($op->flags & OPf_SPECIAL ? "()" : "");
- }
-}
-
-sub pp_chop { maybe_targmy(@_, \&unop, "chop") }
-sub pp_chomp { maybe_targmy(@_, \&unop, "chomp") }
-sub pp_schop { maybe_targmy(@_, \&unop, "chop") }
-sub pp_schomp { maybe_targmy(@_, \&unop, "chomp") }
-sub pp_defined { unop(@_, "defined") }
-sub pp_undef { unop(@_, "undef") }
-sub pp_study { unop(@_, "study") }
-sub pp_ref { unop(@_, "ref") }
-sub pp_pos { maybe_local(@_, unop(@_, "pos")) }
-
-sub pp_sin { maybe_targmy(@_, \&unop, "sin") }
-sub pp_cos { maybe_targmy(@_, \&unop, "cos") }
-sub pp_rand { maybe_targmy(@_, \&unop, "rand") }
-sub pp_srand { unop(@_, "srand") }
-sub pp_exp { maybe_targmy(@_, \&unop, "exp") }
-sub pp_log { maybe_targmy(@_, \&unop, "log") }
-sub pp_sqrt { maybe_targmy(@_, \&unop, "sqrt") }
-sub pp_int { maybe_targmy(@_, \&unop, "int") }
-sub pp_hex { maybe_targmy(@_, \&unop, "hex") }
-sub pp_oct { maybe_targmy(@_, \&unop, "oct") }
-sub pp_abs { maybe_targmy(@_, \&unop, "abs") }
-
-sub pp_length { maybe_targmy(@_, \&unop, "length") }
-sub pp_ord { maybe_targmy(@_, \&unop, "ord") }
-sub pp_chr { maybe_targmy(@_, \&unop, "chr") }
-
-sub pp_each { unop(@_, "each") }
-sub pp_values { unop(@_, "values") }
-sub pp_keys { unop(@_, "keys") }
-sub pp_aeach { unop(@_, "each") }
-sub pp_avalues { unop(@_, "values") }
-sub pp_akeys { unop(@_, "keys") }
-sub pp_pop { unop(@_, "pop") }
-sub pp_shift { unop(@_, "shift") }
-
-sub pp_caller { unop(@_, "caller") }
-sub pp_reset { unop(@_, "reset") }
-sub pp_exit { unop(@_, "exit") }
-sub pp_prototype { unop(@_, "prototype") }
-
-sub pp_close { unop(@_, "close") }
-sub pp_fileno { unop(@_, "fileno") }
-sub pp_umask { unop(@_, "umask") }
-sub pp_untie { unop(@_, "untie") }
-sub pp_tied { unop(@_, "tied") }
-sub pp_dbmclose { unop(@_, "dbmclose") }
-sub pp_getc { unop(@_, "getc") }
-sub pp_eof { unop(@_, "eof") }
-sub pp_tell { unop(@_, "tell") }
-sub pp_getsockname { unop(@_, "getsockname") }
-sub pp_getpeername { unop(@_, "getpeername") }
-
-sub pp_chdir { maybe_targmy(@_, \&unop, "chdir") }
-sub pp_chroot { maybe_targmy(@_, \&unop, "chroot") }
-sub pp_readlink { unop(@_, "readlink") }
-sub pp_rmdir { maybe_targmy(@_, \&unop, "rmdir") }
-sub pp_readdir { unop(@_, "readdir") }
-sub pp_telldir { unop(@_, "telldir") }
-sub pp_rewinddir { unop(@_, "rewinddir") }
-sub pp_closedir { unop(@_, "closedir") }
-sub pp_getpgrp { maybe_targmy(@_, \&unop, "getpgrp") }
-sub pp_localtime { unop(@_, "localtime") }
-sub pp_gmtime { unop(@_, "gmtime") }
-sub pp_alarm { unop(@_, "alarm") }
-sub pp_sleep { maybe_targmy(@_, \&unop, "sleep") }
-
-sub pp_dofile { unop(@_, "do") }
-sub pp_entereval { unop(@_, "eval") }
-
-sub pp_ghbyname { unop(@_, "gethostbyname") }
-sub pp_gnbyname { unop(@_, "getnetbyname") }
-sub pp_gpbyname { unop(@_, "getprotobyname") }
-sub pp_shostent { unop(@_, "sethostent") }
-sub pp_snetent { unop(@_, "setnetent") }
-sub pp_sprotoent { unop(@_, "setprotoent") }
-sub pp_sservent { unop(@_, "setservent") }
-sub pp_gpwnam { unop(@_, "getpwnam") }
-sub pp_gpwuid { unop(@_, "getpwuid") }
-sub pp_ggrnam { unop(@_, "getgrnam") }
-sub pp_ggrgid { unop(@_, "getgrgid") }
-
-sub pp_lock { unop(@_, "lock") }
-
-sub pp_continue { unop(@_, "continue"); }
-sub pp_break {
- my ($self, $op) = @_;
- return "" if $op->flags & OPf_SPECIAL;
- unop(@_, "break");
-}
-
-sub givwhen {
- my $self = shift;
- my($op, $cx, $givwhen) = @_;
-
- my $enterop = $op->first;
- my ($head, $block);
- if ($enterop->flags & OPf_SPECIAL) {
- $head = "default";
- $block = $self->deparse($enterop->first, 0);
- }
- else {
- my $cond = $enterop->first;
- my $cond_str = $self->deparse($cond, 1);
- $head = "$givwhen ($cond_str)";
- $block = $self->deparse($cond->sibling, 0);
- }
-
- return "$head {\n".
- "\t$block\n".
- "\b}\cK";
-}
-
-sub pp_leavegiven { givwhen(@_, "given"); }
-sub pp_leavewhen { givwhen(@_, "when"); }
-
-sub pp_exists {
- my $self = shift;
- my($op, $cx) = @_;
- my $arg;
- if ($op->private & OPpEXISTS_SUB) {
- # Checking for the existence of a subroutine
- return $self->maybe_parens_func("exists",
- $self->pp_rv2cv($op->first, 16), $cx, 16);
- }
- if ($op->flags & OPf_SPECIAL) {
- # Array element, not hash element
- return $self->maybe_parens_func("exists",
- $self->pp_aelem($op->first, 16), $cx, 16);
- }
- return $self->maybe_parens_func("exists", $self->pp_helem($op->first, 16),
- $cx, 16);
-}
-
-sub pp_delete {
- my $self = shift;
- my($op, $cx) = @_;
- my $arg;
- if ($op->private & OPpSLICE) {
- if ($op->flags & OPf_SPECIAL) {
- # Deleting from an array, not a hash
- return $self->maybe_parens_func("delete",
- $self->pp_aslice($op->first, 16),
- $cx, 16);
- }
- return $self->maybe_parens_func("delete",
- $self->pp_hslice($op->first, 16),
- $cx, 16);
- } else {
- if ($op->flags & OPf_SPECIAL) {
- # Deleting from an array, not a hash
- return $self->maybe_parens_func("delete",
- $self->pp_aelem($op->first, 16),
- $cx, 16);
- }
- return $self->maybe_parens_func("delete",
- $self->pp_helem($op->first, 16),
- $cx, 16);
- }
-}
-
-sub pp_require {
- my $self = shift;
- my($op, $cx) = @_;
- my $opname = $op->flags & OPf_SPECIAL ? 'CORE::require' : 'require';
- if (class($op) eq "UNOP" and $op->first->name eq "const"
- and $op->first->private & OPpCONST_BARE)
- {
- my $name = $self->const_sv($op->first)->PV;
- $name =~ s[/][::]g;
- $name =~ s/\.pm//g;
- return "$opname $name";
- } else {
- $self->unop($op, $cx, $opname);
- }
-}
-
-sub pp_scalar {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first;
- if (not null $kid->sibling) {
- # XXX Was a here-doc
- return $self->dquote($op);
- }
- $self->unop(@_, "scalar");
-}
-
-
-sub padval {
- my $self = shift;
- my $targ = shift;
- return $self->{'curcv'}->PADLIST->ARRAYelt(1)->ARRAYelt($targ);
-}
-
-sub anon_hash_or_list {
- my $self = shift;
- my($op, $cx) = @_;
-
- my($pre, $post) = @{{"anonlist" => ["[","]"],
- "anonhash" => ["{","}"]}->{$op->name}};
- my($expr, @exprs);
- $op = $op->first->sibling; # skip pushmark
- for (; !null($op); $op = $op->sibling) {
- $expr = $self->deparse($op, 6);
- push @exprs, $expr;
- }
- if ($pre eq "{" and $cx < 1) {
- # Disambiguate that it's not a block
- $pre = "+{";
- }
- return $pre . join(", ", @exprs) . $post;
-}
-
-sub pp_anonlist {
- my $self = shift;
- my ($op, $cx) = @_;
- if ($op->flags & OPf_SPECIAL) {
- return $self->anon_hash_or_list($op, $cx);
- }
- warn "Unexpected op pp_" . $op->name() . " without OPf_SPECIAL";
- return 'XXX';
-}
-
-*pp_anonhash = \&pp_anonlist;
-
-sub pp_refgen {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first;
- if ($kid->name eq "null") {
- $kid = $kid->first;
- if (!null($kid->sibling) and
- $kid->sibling->name eq "anoncode") {
- return $self->e_anoncode({ code => $self->padval($kid->sibling->targ) });
- } elsif ($kid->name eq "pushmark") {
- my $sib_name = $kid->sibling->name;
- if ($sib_name =~ /^(pad|rv2)[ah]v$/
- and not $kid->sibling->flags & OPf_REF)
- {
- # The @a in \(@a) isn't in ref context, but only when the
- # parens are there.
- return "\\(" . $self->pp_list($op->first) . ")";
- } elsif ($sib_name eq 'entersub') {
- my $text = $self->deparse($kid->sibling, 1);
- # Always show parens for \(&func()), but only with -p otherwise
- $text = "($text)" if $self->{'parens'}
- or $kid->sibling->private & OPpENTERSUB_AMPER;
- return "\\$text";
- }
- }
- }
- $self->pfixop($op, $cx, "\\", 20);
-}
-
-sub e_anoncode {
- my ($self, $info) = @_;
- my $text = $self->deparse_sub($info->{code});
- return "sub " . $text;
-}
-
-sub pp_srefgen { pp_refgen(@_) }
-
-sub pp_readline {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first;
- $kid = $kid->first if $kid->name eq "rv2gv"; # <$fh>
- return "<" . $self->deparse($kid, 1) . ">" if is_scalar($kid);
- return $self->unop($op, $cx, "readline");
-}
-
-sub pp_rcatline {
- my $self = shift;
- my($op) = @_;
- return "<" . $self->gv_name($self->gv_or_padgv($op)) . ">";
-}
-
-# Unary operators that can occur as pseudo-listops inside double quotes
-sub dq_unop {
- my $self = shift;
- my($op, $cx, $name, $prec, $flags) = (@_, 0, 0);
- my $kid;
- if ($op->flags & OPf_KIDS) {
- $kid = $op->first;
- # If there's more than one kid, the first is an ex-pushmark.
- $kid = $kid->sibling if not null $kid->sibling;
- return $self->maybe_parens_unop($name, $kid, $cx);
- } else {
- return $name . ($op->flags & OPf_SPECIAL ? "()" : "");
- }
-}
-
-sub pp_ucfirst { dq_unop(@_, "ucfirst") }
-sub pp_lcfirst { dq_unop(@_, "lcfirst") }
-sub pp_uc { dq_unop(@_, "uc") }
-sub pp_lc { dq_unop(@_, "lc") }
-sub pp_quotemeta { maybe_targmy(@_, \&dq_unop, "quotemeta") }
-
-sub loopex {
- my $self = shift;
- my ($op, $cx, $name) = @_;
- if (class($op) eq "PVOP") {
- return "$name " . $op->pv;
- } elsif (class($op) eq "OP") {
- return $name;
- } elsif (class($op) eq "UNOP") {
- # Note -- loop exits are actually exempt from the
- # looks-like-a-func rule, but a few extra parens won't hurt
- return $self->maybe_parens_unop($name, $op->first, $cx);
- }
-}
-
-sub pp_last { loopex(@_, "last") }
-sub pp_next { loopex(@_, "next") }
-sub pp_redo { loopex(@_, "redo") }
-sub pp_goto { loopex(@_, "goto") }
-sub pp_dump { loopex(@_, "dump") }
-
-sub ftst {
- my $self = shift;
- my($op, $cx, $name) = @_;
- if (class($op) eq "UNOP") {
- # Genuine `-X' filetests are exempt from the LLAFR, but not
- # l?stat(); for the sake of clarity, give'em all parens
- return $self->maybe_parens_unop($name, $op->first, $cx);
- } elsif (class($op) =~ /^(SV|PAD)OP$/) {
- return $self->maybe_parens_func($name, $self->pp_gv($op, 1), $cx, 16);
- } else { # I don't think baseop filetests ever survive ck_ftst, but...
- return $name;
- }
-}
-
-sub pp_lstat { ftst(@_, "lstat") }
-sub pp_stat { ftst(@_, "stat") }
-sub pp_ftrread { ftst(@_, "-R") }
-sub pp_ftrwrite { ftst(@_, "-W") }
-sub pp_ftrexec { ftst(@_, "-X") }
-sub pp_fteread { ftst(@_, "-r") }
-sub pp_ftewrite { ftst(@_, "-w") }
-sub pp_fteexec { ftst(@_, "-x") }
-sub pp_ftis { ftst(@_, "-e") }
-sub pp_fteowned { ftst(@_, "-O") }
-sub pp_ftrowned { ftst(@_, "-o") }
-sub pp_ftzero { ftst(@_, "-z") }
-sub pp_ftsize { ftst(@_, "-s") }
-sub pp_ftmtime { ftst(@_, "-M") }
-sub pp_ftatime { ftst(@_, "-A") }
-sub pp_ftctime { ftst(@_, "-C") }
-sub pp_ftsock { ftst(@_, "-S") }
-sub pp_ftchr { ftst(@_, "-c") }
-sub pp_ftblk { ftst(@_, "-b") }
-sub pp_ftfile { ftst(@_, "-f") }
-sub pp_ftdir { ftst(@_, "-d") }
-sub pp_ftpipe { ftst(@_, "-p") }
-sub pp_ftlink { ftst(@_, "-l") }
-sub pp_ftsuid { ftst(@_, "-u") }
-sub pp_ftsgid { ftst(@_, "-g") }
-sub pp_ftsvtx { ftst(@_, "-k") }
-sub pp_fttty { ftst(@_, "-t") }
-sub pp_fttext { ftst(@_, "-T") }
-sub pp_ftbinary { ftst(@_, "-B") }
-
-sub SWAP_CHILDREN () { 1 }
-sub ASSIGN () { 2 } # has OP= variant
-sub LIST_CONTEXT () { 4 } # Assignment is in list context
-
-my(%left, %right);
-
-sub assoc_class {
- my $op = shift;
- my $name = $op->name;
- if ($name eq "concat" and $op->first->name eq "concat") {
- # avoid spurious `=' -- see comment in pp_concat
- return "concat";
- }
- if ($name eq "null" and class($op) eq "UNOP"
- and $op->first->name =~ /^(and|x?or)$/
- and null $op->first->sibling)
- {
- # Like all conditional constructs, OP_ANDs and OP_ORs are topped
- # with a null that's used as the common end point of the two
- # flows of control. For precedence purposes, ignore it.
- # (COND_EXPRs have these too, but we don't bother with
- # their associativity).
- return assoc_class($op->first);
- }
- return $name . ($op->flags & OPf_STACKED ? "=" : "");
-}
-
-# Left associative operators, like `+', for which
-# $a + $b + $c is equivalent to ($a + $b) + $c
-
-BEGIN {
- %left = ('multiply' => 19, 'i_multiply' => 19,
- 'divide' => 19, 'i_divide' => 19,
- 'modulo' => 19, 'i_modulo' => 19,
- 'repeat' => 19,
- 'add' => 18, 'i_add' => 18,
- 'subtract' => 18, 'i_subtract' => 18,
- 'concat' => 18,
- 'left_shift' => 17, 'right_shift' => 17,
- 'bit_and' => 13,
- 'bit_or' => 12, 'bit_xor' => 12,
- 'and' => 3,
- 'or' => 2, 'xor' => 2,
- );
-}
-
-sub deparse_binop_left {
- my $self = shift;
- my($op, $left, $prec) = @_;
- if ($left{assoc_class($op)} && $left{assoc_class($left)}
- and $left{assoc_class($op)} == $left{assoc_class($left)})
- {
- return $self->deparse($left, $prec - .00001);
- } else {
- return $self->deparse($left, $prec);
- }
-}
-
-# Right associative operators, like `=', for which
-# $a = $b = $c is equivalent to $a = ($b = $c)
-
-BEGIN {
- %right = ('pow' => 22,
- 'sassign=' => 7, 'aassign=' => 7,
- 'multiply=' => 7, 'i_multiply=' => 7,
- 'divide=' => 7, 'i_divide=' => 7,
- 'modulo=' => 7, 'i_modulo=' => 7,
- 'repeat=' => 7,
- 'add=' => 7, 'i_add=' => 7,
- 'subtract=' => 7, 'i_subtract=' => 7,
- 'concat=' => 7,
- 'left_shift=' => 7, 'right_shift=' => 7,
- 'bit_and=' => 7,
- 'bit_or=' => 7, 'bit_xor=' => 7,
- 'andassign' => 7,
- 'orassign' => 7,
- );
-}
-
-sub deparse_binop_right {
- my $self = shift;
- my($op, $right, $prec) = @_;
- if ($right{assoc_class($op)} && $right{assoc_class($right)}
- and $right{assoc_class($op)} == $right{assoc_class($right)})
- {
- return $self->deparse($right, $prec - .00001);
- } else {
- return $self->deparse($right, $prec);
- }
-}
-
-sub binop {
- my $self = shift;
- my ($op, $cx, $opname, $prec, $flags) = (@_, 0);
- my $left = $op->first;
- my $right = $op->last;
- my $eq = "";
- if ($op->flags & OPf_STACKED && $flags & ASSIGN) {
- $eq = "=";
- $prec = 7;
- }
- if ($flags & SWAP_CHILDREN) {
- ($left, $right) = ($right, $left);
- }
- $left = $self->deparse_binop_left($op, $left, $prec);
- $left = "($left)" if $flags & LIST_CONTEXT
- && $left !~ /^(my|our|local|)[\@\(]/;
- $right = $self->deparse_binop_right($op, $right, $prec);
- return $self->maybe_parens("$left $opname$eq $right", $cx, $prec);
-}
-
-sub pp_add { maybe_targmy(@_, \&binop, "+", 18, ASSIGN) }
-sub pp_multiply { maybe_targmy(@_, \&binop, "*", 19, ASSIGN) }
-sub pp_subtract { maybe_targmy(@_, \&binop, "-",18, ASSIGN) }
-sub pp_divide { maybe_targmy(@_, \&binop, "/", 19, ASSIGN) }
-sub pp_modulo { maybe_targmy(@_, \&binop, "%", 19, ASSIGN) }
-sub pp_i_add { maybe_targmy(@_, \&binop, "+", 18, ASSIGN) }
-sub pp_i_multiply { maybe_targmy(@_, \&binop, "*", 19, ASSIGN) }
-sub pp_i_subtract { maybe_targmy(@_, \&binop, "-", 18, ASSIGN) }
-sub pp_i_divide { maybe_targmy(@_, \&binop, "/", 19, ASSIGN) }
-sub pp_i_modulo { maybe_targmy(@_, \&binop, "%", 19, ASSIGN) }
-sub pp_pow { maybe_targmy(@_, \&binop, "**", 22, ASSIGN) }
-
-sub pp_left_shift { maybe_targmy(@_, \&binop, "<<", 17, ASSIGN) }
-sub pp_right_shift { maybe_targmy(@_, \&binop, ">>", 17, ASSIGN) }
-sub pp_bit_and { maybe_targmy(@_, \&binop, "&", 13, ASSIGN) }
-sub pp_bit_or { maybe_targmy(@_, \&binop, "|", 12, ASSIGN) }
-sub pp_bit_xor { maybe_targmy(@_, \&binop, "^", 12, ASSIGN) }
-
-sub pp_eq { binop(@_, "==", 14) }
-sub pp_ne { binop(@_, "!=", 14) }
-sub pp_lt { binop(@_, "<", 15) }
-sub pp_gt { binop(@_, ">", 15) }
-sub pp_ge { binop(@_, ">=", 15) }
-sub pp_le { binop(@_, "<=", 15) }
-sub pp_ncmp { binop(@_, "<=>", 14) }
-sub pp_i_eq { binop(@_, "==", 14) }
-sub pp_i_ne { binop(@_, "!=", 14) }
-sub pp_i_lt { binop(@_, "<", 15) }
-sub pp_i_gt { binop(@_, ">", 15) }
-sub pp_i_ge { binop(@_, ">=", 15) }
-sub pp_i_le { binop(@_, "<=", 15) }
-sub pp_i_ncmp { binop(@_, "<=>", 14) }
-
-sub pp_seq { binop(@_, "eq", 14) }
-sub pp_sne { binop(@_, "ne", 14) }
-sub pp_slt { binop(@_, "lt", 15) }
-sub pp_sgt { binop(@_, "gt", 15) }
-sub pp_sge { binop(@_, "ge", 15) }
-sub pp_sle { binop(@_, "le", 15) }
-sub pp_scmp { binop(@_, "cmp", 14) }
-
-sub pp_sassign { binop(@_, "=", 7, SWAP_CHILDREN) }
-sub pp_aassign { binop(@_, "=", 7, SWAP_CHILDREN | LIST_CONTEXT) }
-
-sub pp_smartmatch {
- my ($self, $op, $cx) = @_;
- if ($op->flags & OPf_SPECIAL) {
- return $self->deparse($op->last, $cx);
- }
- else {
- binop(@_, "~~", 14);
- }
-}
-
-# `.' is special because concats-of-concats are optimized to save copying
-# by making all but the first concat stacked. The effect is as if the
-# programmer had written `($a . $b) .= $c', except legal.
-sub pp_concat { maybe_targmy(@_, \&real_concat) }
-sub real_concat {
- my $self = shift;
- my($op, $cx) = @_;
- my $left = $op->first;
- my $right = $op->last;
- my $eq = "";
- my $prec = 18;
- if ($op->flags & OPf_STACKED and $op->first->name ne "concat") {
- $eq = "=";
- $prec = 7;
- }
- $left = $self->deparse_binop_left($op, $left, $prec);
- $right = $self->deparse_binop_right($op, $right, $prec);
- return $self->maybe_parens("$left .$eq $right", $cx, $prec);
-}
-
-# `x' is weird when the left arg is a list
-sub pp_repeat {
- my $self = shift;
- my($op, $cx) = @_;
- my $left = $op->first;
- my $right = $op->last;
- my $eq = "";
- my $prec = 19;
- if ($op->flags & OPf_STACKED) {
- $eq = "=";
- $prec = 7;
- }
- if (null($right)) { # list repeat; count is inside left-side ex-list
- my $kid = $left->first->sibling; # skip pushmark
- my @exprs;
- for (; !null($kid->sibling); $kid = $kid->sibling) {
- push @exprs, $self->deparse($kid, 6);
- }
- $right = $kid;
- $left = "(" . join(", ", @exprs). ")";
- } else {
- $left = $self->deparse_binop_left($op, $left, $prec);
- }
- $right = $self->deparse_binop_right($op, $right, $prec);
- return $self->maybe_parens("$left x$eq $right", $cx, $prec);
-}
-
-sub range {
- my $self = shift;
- my ($op, $cx, $type) = @_;
- my $left = $op->first;
- my $right = $left->sibling;
- $left = $self->deparse($left, 9);
- $right = $self->deparse($right, 9);
- return $self->maybe_parens("$left $type $right", $cx, 9);
-}
-
-sub pp_flop {
- my $self = shift;
- my($op, $cx) = @_;
- my $flip = $op->first;
- my $type = ($flip->flags & OPf_SPECIAL) ? "..." : "..";
- return $self->range($flip->first, $cx, $type);
-}
-
-# one-line while/until is handled in pp_leave
-
-sub logop {
- my $self = shift;
- my ($op, $cx, $lowop, $lowprec, $highop, $highprec, $blockname) = @_;
- my $left = $op->first;
- my $right = $op->first->sibling;
- if ($cx < 1 and is_scope($right) and $blockname
- and $self->{'expand'} < 7)
- { # if ($a) {$b}
- $left = $self->deparse($left, 1);
- $right = $self->deparse($right, 0);
- return "$blockname ($left) {\n\t$right\n\b}\cK";
- } elsif ($cx < 1 and $blockname and not $self->{'parens'}
- and $self->{'expand'} < 7) { # $b if $a
- $right = $self->deparse($right, 1);
- $left = $self->deparse($left, 1);
- return "$right $blockname $left";
- } elsif ($cx > $lowprec and $highop) { # $a && $b
- $left = $self->deparse_binop_left($op, $left, $highprec);
- $right = $self->deparse_binop_right($op, $right, $highprec);
- return $self->maybe_parens("$left $highop $right", $cx, $highprec);
- } else { # $a and $b
- $left = $self->deparse_binop_left($op, $left, $lowprec);
- $right = $self->deparse_binop_right($op, $right, $lowprec);
- return $self->maybe_parens("$left $lowop $right", $cx, $lowprec);
- }
-}
-
-sub pp_and { logop(@_, "and", 3, "&&", 11, "if") }
-sub pp_or { logop(@_, "or", 2, "||", 10, "unless") }
-sub pp_dor { logop(@_, "err", 2, "//", 10, "") }
-
-# xor is syntactically a logop, but it's really a binop (contrary to
-# old versions of opcode.pl). Syntax is what matters here.
-sub pp_xor { logop(@_, "xor", 2, "", 0, "") }
-
-sub logassignop {
- my $self = shift;
- my ($op, $cx, $opname) = @_;
- my $left = $op->first;
- my $right = $op->first->sibling->first; # skip sassign
- $left = $self->deparse($left, 7);
- $right = $self->deparse($right, 7);
- return $self->maybe_parens("$left $opname $right", $cx, 7);
-}
-
-sub pp_andassign { logassignop(@_, "&&=") }
-sub pp_orassign { logassignop(@_, "||=") }
-sub pp_dorassign { logassignop(@_, "//=") }
-
-sub listop {
- my $self = shift;
- my($op, $cx, $name) = @_;
- my(@exprs);
- my $parens = ($cx >= 5) || $self->{'parens'};
- my $kid = $op->first->sibling;
- return $name if null $kid;
- my $first;
- $name = "socketpair" if $name eq "sockpair";
- my $proto = prototype("CORE::$name");
- if (defined $proto
- && $proto =~ /^;?\*/
- && $kid->name eq "rv2gv") {
- $first = $self->deparse($kid->first, 6);
- }
- else {
- $first = $self->deparse($kid, 6);
- }
- if ($name eq "chmod" && $first =~ /^\d+$/) {
- $first = sprintf("%#o", $first);
- }
- $first = "+$first" if not $parens and substr($first, 0, 1) eq "(";
- push @exprs, $first;
- $kid = $kid->sibling;
- if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv") {
- push @exprs, $self->deparse($kid->first, 6);
- $kid = $kid->sibling;
- }
- for (; !null($kid); $kid = $kid->sibling) {
- push @exprs, $self->deparse($kid, 6);
- }
- if ($parens) {
- return "$name(" . join(", ", @exprs) . ")";
- } else {
- return "$name " . join(", ", @exprs);
- }
-}
-
-sub pp_bless { listop(@_, "bless") }
-sub pp_atan2 { maybe_targmy(@_, \&listop, "atan2") }
-sub pp_substr { maybe_local(@_, listop(@_, "substr")) }
-sub pp_vec { maybe_local(@_, listop(@_, "vec")) }
-sub pp_index { maybe_targmy(@_, \&listop, "index") }
-sub pp_rindex { maybe_targmy(@_, \&listop, "rindex") }
-sub pp_sprintf { maybe_targmy(@_, \&listop, "sprintf") }
-sub pp_formline { listop(@_, "formline") } # see also deparse_format
-sub pp_crypt { maybe_targmy(@_, \&listop, "crypt") }
-sub pp_unpack { listop(@_, "unpack") }
-sub pp_pack { listop(@_, "pack") }
-sub pp_join { maybe_targmy(@_, \&listop, "join") }
-sub pp_splice { listop(@_, "splice") }
-sub pp_push { maybe_targmy(@_, \&listop, "push") }
-sub pp_unshift { maybe_targmy(@_, \&listop, "unshift") }
-sub pp_reverse { listop(@_, "reverse") }
-sub pp_warn { listop(@_, "warn") }
-sub pp_die { listop(@_, "die") }
-# Actually, return is exempt from the LLAFR (see examples in this very
-# module!), but for consistency's sake, ignore that fact
-sub pp_return { listop(@_, "return") }
-sub pp_open { listop(@_, "open") }
-sub pp_pipe_op { listop(@_, "pipe") }
-sub pp_tie { listop(@_, "tie") }
-sub pp_binmode { listop(@_, "binmode") }
-sub pp_dbmopen { listop(@_, "dbmopen") }
-sub pp_sselect { listop(@_, "select") }
-sub pp_select { listop(@_, "select") }
-sub pp_read { listop(@_, "read") }
-sub pp_sysopen { listop(@_, "sysopen") }
-sub pp_sysseek { listop(@_, "sysseek") }
-sub pp_sysread { listop(@_, "sysread") }
-sub pp_syswrite { listop(@_, "syswrite") }
-sub pp_send { listop(@_, "send") }
-sub pp_recv { listop(@_, "recv") }
-sub pp_seek { listop(@_, "seek") }
-sub pp_fcntl { listop(@_, "fcntl") }
-sub pp_ioctl { listop(@_, "ioctl") }
-sub pp_flock { maybe_targmy(@_, \&listop, "flock") }
-sub pp_socket { listop(@_, "socket") }
-sub pp_sockpair { listop(@_, "sockpair") }
-sub pp_bind { listop(@_, "bind") }
-sub pp_connect { listop(@_, "connect") }
-sub pp_listen { listop(@_, "listen") }
-sub pp_accept { listop(@_, "accept") }
-sub pp_shutdown { listop(@_, "shutdown") }
-sub pp_gsockopt { listop(@_, "getsockopt") }
-sub pp_ssockopt { listop(@_, "setsockopt") }
-sub pp_chown { maybe_targmy(@_, \&listop, "chown") }
-sub pp_unlink { maybe_targmy(@_, \&listop, "unlink") }
-sub pp_chmod { maybe_targmy(@_, \&listop, "chmod") }
-sub pp_utime { maybe_targmy(@_, \&listop, "utime") }
-sub pp_rename { maybe_targmy(@_, \&listop, "rename") }
-sub pp_link { maybe_targmy(@_, \&listop, "link") }
-sub pp_symlink { maybe_targmy(@_, \&listop, "symlink") }
-sub pp_mkdir { maybe_targmy(@_, \&listop, "mkdir") }
-sub pp_open_dir { listop(@_, "opendir") }
-sub pp_seekdir { listop(@_, "seekdir") }
-sub pp_waitpid { maybe_targmy(@_, \&listop, "waitpid") }
-sub pp_system { maybe_targmy(@_, \&listop, "system") }
-sub pp_exec { maybe_targmy(@_, \&listop, "exec") }
-sub pp_kill { maybe_targmy(@_, \&listop, "kill") }
-sub pp_setpgrp { maybe_targmy(@_, \&listop, "setpgrp") }
-sub pp_getpriority { maybe_targmy(@_, \&listop, "getpriority") }
-sub pp_setpriority { maybe_targmy(@_, \&listop, "setpriority") }
-sub pp_shmget { listop(@_, "shmget") }
-sub pp_shmctl { listop(@_, "shmctl") }
-sub pp_shmread { listop(@_, "shmread") }
-sub pp_shmwrite { listop(@_, "shmwrite") }
-sub pp_msgget { listop(@_, "msgget") }
-sub pp_msgctl { listop(@_, "msgctl") }
-sub pp_msgsnd { listop(@_, "msgsnd") }
-sub pp_msgrcv { listop(@_, "msgrcv") }
-sub pp_semget { listop(@_, "semget") }
-sub pp_semctl { listop(@_, "semctl") }
-sub pp_semop { listop(@_, "semop") }
-sub pp_ghbyaddr { listop(@_, "gethostbyaddr") }
-sub pp_gnbyaddr { listop(@_, "getnetbyaddr") }
-sub pp_gpbynumber { listop(@_, "getprotobynumber") }
-sub pp_gsbyname { listop(@_, "getservbyname") }
-sub pp_gsbyport { listop(@_, "getservbyport") }
-sub pp_syscall { listop(@_, "syscall") }
-
-sub pp_glob {
- my $self = shift;
- my($op, $cx) = @_;
- my $text = $self->dq($op->first->sibling); # skip pushmark
- if ($text =~ /^\$?(\w|::|\`)+$/ # could look like a readline
- or $text =~ /[<>]/) {
- return 'glob(' . single_delim('qq', '"', $text) . ')';
- } else {
- return '<' . $text . '>';
- }
-}
-
-# Truncate is special because OPf_SPECIAL makes a bareword first arg
-# be a filehandle. This could probably be better fixed in the core
-# by moving the GV lookup into ck_truc.
-
-sub pp_truncate {
- my $self = shift;
- my($op, $cx) = @_;
- my(@exprs);
- my $parens = ($cx >= 5) || $self->{'parens'};
- my $kid = $op->first->sibling;
- my $fh;
- if ($op->flags & OPf_SPECIAL) {
- # $kid is an OP_CONST
- $fh = $self->const_sv($kid)->PV;
- } else {
- $fh = $self->deparse($kid, 6);
- $fh = "+$fh" if not $parens and substr($fh, 0, 1) eq "(";
- }
- my $len = $self->deparse($kid->sibling, 6);
- if ($parens) {
- return "truncate($fh, $len)";
- } else {
- return "truncate $fh, $len";
- }
-}
-
-sub indirop {
- my $self = shift;
- my($op, $cx, $name) = @_;
- my($expr, @exprs);
- my $kid = $op->first->sibling;
- my $indir = "";
- if ($op->flags & OPf_STACKED) {
- $indir = $kid;
- $indir = $indir->first; # skip rv2gv
- if (is_scope($indir)) {
- $indir = "{" . $self->deparse($indir, 0) . "}";
- $indir = "{;}" if $indir eq "{}";
- } elsif ($indir->name eq "const" && $indir->private & OPpCONST_BARE) {
- $indir = $self->const_sv($indir)->PV;
- } else {
- $indir = $self->deparse($indir, 24);
- }
- $indir = $indir . " ";
- $kid = $kid->sibling;
- }
- if ($name eq "sort" && $op->private & (OPpSORT_NUMERIC | OPpSORT_INTEGER)) {
- $indir = ($op->private & OPpSORT_DESCEND) ? '{$b <=> $a} '
- : '{$a <=> $b} ';
- }
- elsif ($name eq "sort" && $op->private & OPpSORT_DESCEND) {
- $indir = '{$b cmp $a} ';
- }
- for (; !null($kid); $kid = $kid->sibling) {
- $expr = $self->deparse($kid, 6);
- push @exprs, $expr;
- }
- my $name2 = $name;
- if ($name eq "sort" && $op->private & OPpSORT_REVERSE) {
- $name2 = 'reverse sort';
- }
- if ($name eq "sort" && ($op->private & OPpSORT_INPLACE)) {
- return "$exprs[0] = $name2 $indir $exprs[0]";
- }
-
- my $args = $indir . join(", ", @exprs);
- if ($indir ne "" and $name eq "sort") {
- # We don't want to say "sort(f 1, 2, 3)", since perl -w will
- # give bareword warnings in that case. Therefore if context
- # requires, we'll put parens around the outside "(sort f 1, 2,
- # 3)". Unfortunately, we'll currently think the parens are
- # necessary more often that they really are, because we don't
- # distinguish which side of an assignment we're on.
- if ($cx >= 5) {
- return "($name2 $args)";
- } else {
- return "$name2 $args";
- }
- } else {
- return $self->maybe_parens_func($name2, $args, $cx, 5);
- }
-
-}
-
-sub pp_prtf { indirop(@_, "printf") }
-sub pp_print { indirop(@_, "print") }
-sub pp_say { indirop(@_, "say") }
-sub pp_sort { indirop(@_, "sort") }
-
-sub mapop {
- my $self = shift;
- my($op, $cx, $name) = @_;
- my($expr, @exprs);
- my $kid = $op->first; # this is the (map|grep)start
- $kid = $kid->first->sibling; # skip a pushmark
- my $code = $kid->first; # skip a null
- if (is_scope $code) {
- $code = "{" . $self->deparse($code, 0) . "} ";
- } else {
- $code = $self->deparse($code, 24) . ", ";
- }
- $kid = $kid->sibling;
- for (; !null($kid); $kid = $kid->sibling) {
- $expr = $self->deparse($kid, 6);
- push @exprs, $expr if defined $expr;
- }
- return $self->maybe_parens_func($name, $code . join(", ", @exprs), $cx, 5);
-}
-
-sub pp_mapwhile { mapop(@_, "map") }
-sub pp_grepwhile { mapop(@_, "grep") }
-sub pp_mapstart { baseop(@_, "map") }
-sub pp_grepstart { baseop(@_, "grep") }
-
-sub pp_list {
- my $self = shift;
- my($op, $cx) = @_;
- my($expr, @exprs);
- my $kid = $op->first->sibling; # skip pushmark
- my $lop;
- my $local = "either"; # could be local(...), my(...), state(...) or our(...)
- for ($lop = $kid; !null($lop); $lop = $lop->sibling) {
- # This assumes that no other private flags equal 128, and that
- # OPs that store things other than flags in their op_private,
- # like OP_AELEMFAST, won't be immediate children of a list.
- #
- # OP_ENTERSUB can break this logic, so check for it.
- # I suspect that open and exit can too.
-
- if (!($lop->private & (OPpLVAL_INTRO|OPpOUR_INTRO)
- or $lop->name eq "undef")
- or $lop->name eq "entersub"
- or $lop->name eq "exit"
- or $lop->name eq "open")
- {
- $local = ""; # or not
- last;
- }
- if ($lop->name =~ /^pad[ash]v$/) {
- if ($lop->private & OPpPAD_STATE) { # state()
- ($local = "", last) if $local =~ /^(?:local|our|my)$/;
- $local = "state";
- } else { # my()
- ($local = "", last) if $local =~ /^(?:local|our|state)$/;
- $local = "my";
- }
- } elsif ($lop->name =~ /^(gv|rv2)[ash]v$/
- && $lop->private & OPpOUR_INTRO
- or $lop->name eq "null" && $lop->first->name eq "gvsv"
- && $lop->first->private & OPpOUR_INTRO) { # our()
- ($local = "", last) if $local =~ /^(?:my|local|state)$/;
- $local = "our";
- } elsif ($lop->name ne "undef"
- # specifically avoid the "reverse sort" optimisation,
- # where "reverse" is nullified
- && !($lop->name eq 'sort' && ($lop->flags & OPpSORT_REVERSE)))
- {
- # local()
- ($local = "", last) if $local =~ /^(?:my|our|state)$/;
- $local = "local";
- }
- }
- $local = "" if $local eq "either"; # no point if it's all undefs
- return $self->deparse($kid, $cx) if null $kid->sibling and not $local;
- for (; !null($kid); $kid = $kid->sibling) {
- if ($local) {
- if (class($kid) eq "UNOP" and $kid->first->name eq "gvsv") {
- $lop = $kid->first;
- } else {
- $lop = $kid;
- }
- $self->{'avoid_local'}{$$lop}++;
- $expr = $self->deparse($kid, 6);
- delete $self->{'avoid_local'}{$$lop};
- } else {
- $expr = $self->deparse($kid, 6);
- }
- push @exprs, $expr;
- }
- if ($local) {
- return "$local(" . join(", ", @exprs) . ")";
- } else {
- return $self->maybe_parens( join(", ", @exprs), $cx, 6);
- }
-}
-
-sub is_ifelse_cont {
- my $op = shift;
- return ($op->name eq "null" and class($op) eq "UNOP"
- and $op->first->name =~ /^(and|cond_expr)$/
- and is_scope($op->first->first->sibling));
-}
-
-sub pp_cond_expr {
- my $self = shift;
- my($op, $cx) = @_;
- my $cond = $op->first;
- my $true = $cond->sibling;
- my $false = $true->sibling;
- my $cuddle = $self->{'cuddle'};
- unless ($cx < 1 and (is_scope($true) and $true->name ne "null") and
- (is_scope($false) || is_ifelse_cont($false))
- and $self->{'expand'} < 7) {
- $cond = $self->deparse($cond, 8);
- $true = $self->deparse($true, 6);
- $false = $self->deparse($false, 8);
- return $self->maybe_parens("$cond ? $true : $false", $cx, 8);
- }
-
- $cond = $self->deparse($cond, 1);
- $true = $self->deparse($true, 0);
- my $head = "if ($cond) {\n\t$true\n\b}";
- my @elsifs;
- while (!null($false) and is_ifelse_cont($false)) {
- my $newop = $false->first;
- my $newcond = $newop->first;
- my $newtrue = $newcond->sibling;
- $false = $newtrue->sibling; # last in chain is OP_AND => no else
- if ($newcond->name eq "lineseq")
- {
- # lineseq to ensure correct line numbers in elsif()
- # Bug #37302 fixed by change #33710.
- $newcond = $newcond->first->sibling;
- }
- $newcond = $self->deparse($newcond, 1);
- $newtrue = $self->deparse($newtrue, 0);
- push @elsifs, "elsif ($newcond) {\n\t$newtrue\n\b}";
- }
- if (!null($false)) {
- $false = $cuddle . "else {\n\t" .
- $self->deparse($false, 0) . "\n\b}\cK";
- } else {
- $false = "\cK";
- }
- return $head . join($cuddle, "", @elsifs) . $false;
-}
-
-sub pp_once {
- my ($self, $op, $cx) = @_;
- my $cond = $op->first;
- my $true = $cond->sibling;
-
- return $self->deparse($true, $cx);
-}
-
-sub loop_common {
- my $self = shift;
- my($op, $cx, $init) = @_;
- my $enter = $op->first;
- my $kid = $enter->sibling;
- local(@$self{qw'curstash warnings hints hinthash'})
- = @$self{qw'curstash warnings hints hinthash'};
- my $head = "";
- my $bare = 0;
- my $body;
- my $cond = undef;
- if ($kid->name eq "lineseq") { # bare or infinite loop
- if ($kid->last->name eq "unstack") { # infinite
- $head = "while (1) "; # Can't use for(;;) if there's a continue
- $cond = "";
- } else {
- $bare = 1;
- }
- $body = $kid;
- } elsif ($enter->name eq "enteriter") { # foreach
- my $ary = $enter->first->sibling; # first was pushmark
- my $var = $ary->sibling;
- if ($ary->name eq 'null' and $enter->private & OPpITER_REVERSED) {
- # "reverse" was optimised away
- $ary = listop($self, $ary->first->sibling, 1, 'reverse');
- } elsif ($enter->flags & OPf_STACKED
- and not null $ary->first->sibling->sibling)
- {
- $ary = $self->deparse($ary->first->sibling, 9) . " .. " .
- $self->deparse($ary->first->sibling->sibling, 9);
- } else {
- $ary = $self->deparse($ary, 1);
- }
- if (null $var) {
- if ($enter->flags & OPf_SPECIAL) { # thread special var
- $var = $self->pp_threadsv($enter, 1);
- } else { # regular my() variable
- $var = $self->pp_padsv($enter, 1);
- }
- } elsif ($var->name eq "rv2gv") {
- $var = $self->pp_rv2sv($var, 1);
- if ($enter->private & OPpOUR_INTRO) {
- # our declarations don't have package names
- $var =~ s/^(.).*::/$1/;
- $var = "our $var";
- }
- } elsif ($var->name eq "gv") {
- $var = "\$" . $self->deparse($var, 1);
- }
- $body = $kid->first->first->sibling; # skip OP_AND and OP_ITER
- if (!is_state $body->first and $body->first->name ne "stub") {
- confess unless $var eq '$_';
- $body = $body->first;
- return $self->deparse($body, 2) . " foreach ($ary)";
- }
- $head = "foreach $var ($ary) ";
- } elsif ($kid->name eq "null") { # while/until
- $kid = $kid->first;
- my $name = {"and" => "while", "or" => "until"}->{$kid->name};
- $cond = $self->deparse($kid->first, 1);
- $head = "$name ($cond) ";
- $body = $kid->first->sibling;
- } elsif ($kid->name eq "stub") { # bare and empty
- return "{;}"; # {} could be a hashref
- }
- # If there isn't a continue block, then the next pointer for the loop
- # will point to the unstack, which is kid's last child, except
- # in a bare loop, when it will point to the leaveloop. When neither of
- # these conditions hold, then the second-to-last child is the continue
- # block (or the last in a bare loop).
- my $cont_start = $enter->nextop;
- my $cont;
- if ($$cont_start != $$op && ${$cont_start} != ${$body->last}) {
- if ($bare) {
- $cont = $body->last;
- } else {
- $cont = $body->first;
- while (!null($cont->sibling->sibling)) {
- $cont = $cont->sibling;
- }
- }
- my $state = $body->first;
- my $cuddle = $self->{'cuddle'};
- my @states;
- for (; $$state != $$cont; $state = $state->sibling) {
- push @states, $state;
- }
- $body = $self->lineseq(undef, @states);
- if (defined $cond and not is_scope $cont and $self->{'expand'} < 3) {
- $head = "for ($init; $cond; " . $self->deparse($cont, 1) .") ";
- $cont = "\cK";
- } else {
- $cont = $cuddle . "continue {\n\t" .
- $self->deparse($cont, 0) . "\n\b}\cK";
- }
- } else {
- return "" if !defined $body;
- if (length $init) {
- $head = "for ($init; $cond;) ";
- }
- $cont = "\cK";
- $body = $self->deparse($body, 0);
- }
- $body =~ s/;?$/;\n/;
-
- return $head . "{\n\t" . $body . "\b}" . $cont;
-}
-
-sub pp_leaveloop { shift->loop_common(@_, "") }
-
-sub for_loop {
- my $self = shift;
- my($op, $cx) = @_;
- my $init = $self->deparse($op, 1);
- return $self->loop_common($op->sibling->first->sibling, $cx, $init);
-}
-
-sub pp_leavetry {
- my $self = shift;
- return "eval {\n\t" . $self->pp_leave(@_) . "\n\b}";
-}
-
-BEGIN { eval "sub OP_CONST () {" . opnumber("const") . "}" }
-BEGIN { eval "sub OP_STRINGIFY () {" . opnumber("stringify") . "}" }
-BEGIN { eval "sub OP_RV2SV () {" . opnumber("rv2sv") . "}" }
-BEGIN { eval "sub OP_LIST () {" . opnumber("list") . "}" }
-
-sub pp_null {
- my $self = shift;
- my($op, $cx) = @_;
- if (class($op) eq "OP") {
- # old value is lost
- return $self->{'ex_const'} if $op->targ == OP_CONST;
- } elsif ($op->first->name eq "pushmark") {
- return $self->pp_list($op, $cx);
- } elsif ($op->first->name eq "enter") {
- return $self->pp_leave($op, $cx);
- } elsif ($op->first->name eq "leave") {
- return $self->pp_leave($op->first, $cx);
- } elsif ($op->first->name eq "scope") {
- return $self->pp_scope($op->first, $cx);
- } elsif ($op->targ == OP_STRINGIFY) {
- return $self->dquote($op, $cx);
- } elsif (!null($op->first->sibling) and
- $op->first->sibling->name eq "readline" and
- $op->first->sibling->flags & OPf_STACKED) {
- return $self->maybe_parens($self->deparse($op->first, 7) . " = "
- . $self->deparse($op->first->sibling, 7),
- $cx, 7);
- } elsif (!null($op->first->sibling) and
- $op->first->sibling->name eq "trans" and
- $op->first->sibling->flags & OPf_STACKED) {
- return $self->maybe_parens($self->deparse($op->first, 20) . " =~ "
- . $self->deparse($op->first->sibling, 20),
- $cx, 20);
- } elsif ($op->flags & OPf_SPECIAL && $cx < 1 && !$op->targ) {
- return "do {\n\t". $self->deparse($op->first, $cx) ."\n\b};";
- } elsif (!null($op->first->sibling) and
- $op->first->sibling->name eq "null" and
- class($op->first->sibling) eq "UNOP" and
- $op->first->sibling->first->flags & OPf_STACKED and
- $op->first->sibling->first->name eq "rcatline") {
- return $self->maybe_parens($self->deparse($op->first, 18) . " .= "
- . $self->deparse($op->first->sibling, 18),
- $cx, 18);
- } else {
- return $self->deparse($op->first, $cx);
- }
-}
-
-sub padname {
- my $self = shift;
- my $targ = shift;
- return $self->padname_sv($targ)->PVX;
-}
-
-sub padany {
- my $self = shift;
- my $op = shift;
- return substr($self->padname($op->targ), 1); # skip $/@/%
-}
-
-sub pp_padsv {
- my $self = shift;
- my($op, $cx) = @_;
- return $self->maybe_my($op, $cx, $self->padname($op->targ));
-}
-
-sub pp_padav { pp_padsv(@_) }
-sub pp_padhv { pp_padsv(@_) }
-
-my @threadsv_names;
-
-BEGIN {
- @threadsv_names = ("_", "1", "2", "3", "4", "5", "6", "7", "8", "9",
- "&", "`", "'", "+", "/", ".", ",", "\\", '"', ";",
- "^", "-", "%", "=", "|", "~", ":", "^A", "^E",
- "!", "@");
-}
-
-sub pp_threadsv {
- my $self = shift;
- my($op, $cx) = @_;
- return $self->maybe_local($op, $cx, "\$" . $threadsv_names[$op->targ]);
-}
-
-sub gv_or_padgv {
- my $self = shift;
- my $op = shift;
- if (class($op) eq "PADOP") {
- return $self->padval($op->padix);
- } else { # class($op) eq "SVOP"
- return $op->gv;
- }
-}
-
-sub pp_gvsv {
- my $self = shift;
- my($op, $cx) = @_;
- my $gv = $self->gv_or_padgv($op);
- return $self->maybe_local($op, $cx, $self->stash_variable("\$",
- $self->gv_name($gv)));
-}
-
-sub pp_gv {
- my $self = shift;
- my($op, $cx) = @_;
- my $gv = $self->gv_or_padgv($op);
- return $self->gv_name($gv);
-}
-
-sub pp_aelemfast {
- my $self = shift;
- my($op, $cx) = @_;
- my $name;
- if ($op->flags & OPf_SPECIAL) { # optimised PADAV
- $name = $self->padname($op->targ);
- $name =~ s/^@/\$/;
- }
- else {
- my $gv = $self->gv_or_padgv($op);
- $name = $self->gv_name($gv);
- $name = $self->{'curstash'}."::$name"
- if $name !~ /::/ && $self->lex_in_scope('@'.$name);
- $name = '$' . $name;
- }
-
- return $name . "[" . ($op->private + $self->{'arybase'}) . "]";
-}
-
-sub rv2x {
- my $self = shift;
- my($op, $cx, $type) = @_;
-
- if (class($op) eq 'NULL' || !$op->can("first")) {
- carp("Unexpected op in pp_rv2x");
- return 'XXX';
- }
- my $kid = $op->first;
- if ($kid->name eq "gv") {
- return $self->stash_variable($type, $self->deparse($kid, 0));
- } elsif (is_scalar $kid) {
- my $str = $self->deparse($kid, 0);
- if ($str =~ /^\$([^\w\d])\z/) {
- # "$$+" isn't a legal way to write the scalar dereference
- # of $+, since the lexer can't tell you aren't trying to
- # do something like "$$ + 1" to get one more than your
- # PID. Either "${$+}" or "$${+}" are workable
- # disambiguations, but if the programmer did the former,
- # they'd be in the "else" clause below rather than here.
- # It's not clear if this should somehow be unified with
- # the code in dq and re_dq that also adds lexer
- # disambiguation braces.
- $str = '$' . "{$1}"; #'
- }
- return $type . $str;
- } else {
- return $type . "{" . $self->deparse($kid, 0) . "}";
- }
-}
-
-sub pp_rv2sv { maybe_local(@_, rv2x(@_, "\$")) }
-sub pp_rv2hv { maybe_local(@_, rv2x(@_, "%")) }
-sub pp_rv2gv { maybe_local(@_, rv2x(@_, "*")) }
-
-# skip rv2av
-sub pp_av2arylen {
- my $self = shift;
- my($op, $cx) = @_;
- if ($op->first->name eq "padav") {
- return $self->maybe_local($op, $cx, '$#' . $self->padany($op->first));
- } else {
- return $self->maybe_local($op, $cx,
- $self->rv2x($op->first, $cx, '$#'));
- }
-}
-
-# skip down to the old, ex-rv2cv
-sub pp_rv2cv {
- my ($self, $op, $cx) = @_;
- if (!null($op->first) && $op->first->name eq 'null' &&
- $op->first->targ eq OP_LIST)
- {
- return $self->rv2x($op->first->first->sibling, $cx, "&")
- }
- else {
- return $self->rv2x($op, $cx, "")
- }
-}
-
-sub list_const {
- my $self = shift;
- my($cx, @list) = @_;
- my @a = map $self->const($_, 6), @list;
- if (@a == 0) {
- return "()";
- } elsif (@a == 1) {
- return $a[0];
- } elsif ( @a > 2 and !grep(!/^-?\d+$/, @a)) {
- # collapse (-1,0,1,2) into (-1..2)
- my ($s, $e) = @a[0,-1];
- my $i = $s;
- return $self->maybe_parens("$s..$e", $cx, 9)
- unless grep $i++ != $_, @a;
- }
- return $self->maybe_parens(join(", ", @a), $cx, 6);
-}
-
-sub pp_rv2av {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first;
- if ($kid->name eq "const") { # constant list
- my $av = $self->const_sv($kid);
- return $self->list_const($cx, $av->ARRAY);
- } else {
- return $self->maybe_local($op, $cx, $self->rv2x($op, $cx, "\@"));
- }
- }
-
-sub is_subscriptable {
- my $op = shift;
- if ($op->name =~ /^[ahg]elem/) {
- return 1;
- } elsif ($op->name eq "entersub") {
- my $kid = $op->first;
- return 0 unless null $kid->sibling;
- $kid = $kid->first;
- $kid = $kid->sibling until null $kid->sibling;
- return 0 if is_scope($kid);
- $kid = $kid->first;
- return 0 if $kid->name eq "gv";
- return 0 if is_scalar($kid);
- return is_subscriptable($kid);
- } else {
- return 0;
- }
-}
-
-sub elem_or_slice_array_name
-{
- my $self = shift;
- my ($array, $left, $padname, $allow_arrow) = @_;
-
- if ($array->name eq $padname) {
- return $self->padany($array);
- } elsif (is_scope($array)) { # ${expr}[0]
- return "{" . $self->deparse($array, 0) . "}";
- } elsif ($array->name eq "gv") {
- $array = $self->gv_name($self->gv_or_padgv($array));
- if ($array !~ /::/) {
- my $prefix = ($left eq '[' ? '@' : '%');
- $array = $self->{curstash}.'::'.$array
- if $self->lex_in_scope($prefix . $array);
- }
- return $array;
- } elsif (!$allow_arrow || is_scalar $array) { # $x[0], $$x[0], ...
- return $self->deparse($array, 24);
- } else {
- return undef;
- }
-}
-
-sub elem_or_slice_single_index
-{
- my $self = shift;
- my ($idx) = @_;
-
- $idx = $self->deparse($idx, 1);
-
- # Outer parens in an array index will confuse perl
- # if we're interpolating in a regular expression, i.e.
- # /$x$foo[(-1)]/ is *not* the same as /$x$foo[-1]/
- #
- # If $self->{parens}, then an initial '(' will
- # definitely be paired with a final ')'. If
- # !$self->{parens}, the misleading parens won't
- # have been added in the first place.
- #
- # [You might think that we could get "(...)...(...)"
- # where the initial and final parens do not match
- # each other. But we can't, because the above would
- # only happen if there's an infix binop between the
- # two pairs of parens, and *that* means that the whole
- # expression would be parenthesized as well.]
- #
- $idx =~ s/^\((.*)\)$/$1/ if $self->{'parens'};
-
- # Hash-element braces will autoquote a bareword inside themselves.
- # We need to make sure that C<$hash{warn()}> doesn't come out as
- # C<$hash{warn}>, which has a quite different meaning. Currently
- # B::Deparse will always quote strings, even if the string was a
- # bareword in the original (i.e. the OPpCONST_BARE flag is ignored
- # for constant strings.) So we can cheat slightly here - if we see
- # a bareword, we know that it is supposed to be a function call.
- #
- $idx =~ s/^([A-Za-z_]\w*)$/$1()/;
-
- return $idx;
-}
-
-sub elem {
- my $self = shift;
- my ($op, $cx, $left, $right, $padname) = @_;
- my($array, $idx) = ($op->first, $op->first->sibling);
-
- $idx = $self->elem_or_slice_single_index($idx);
-
- unless ($array->name eq $padname) { # Maybe this has been fixed
- $array = $array->first; # skip rv2av (or ex-rv2av in _53+)
- }
- if (my $array_name=$self->elem_or_slice_array_name
- ($array, $left, $padname, 1)) {
- return "\$" . $array_name . $left . $idx . $right;
- } else {
- # $x[20][3]{hi} or expr->[20]
- my $arrow = is_subscriptable($array) ? "" : "->";
- return $self->deparse($array, 24) . $arrow . $left . $idx . $right;
- }
-
-}
-
-sub pp_aelem { maybe_local(@_, elem(@_, "[", "]", "padav")) }
-sub pp_helem { maybe_local(@_, elem(@_, "{", "}", "padhv")) }
-
-sub pp_gelem {
- my $self = shift;
- my($op, $cx) = @_;
- my($glob, $part) = ($op->first, $op->last);
- $glob = $glob->first; # skip rv2gv
- $glob = $glob->first if $glob->name eq "rv2gv"; # this one's a bug
- my $scope = is_scope($glob);
- $glob = $self->deparse($glob, 0);
- $part = $self->deparse($part, 1);
- return "*" . ($scope ? "{$glob}" : $glob) . "{$part}";
-}
-
-sub slice {
- my $self = shift;
- my ($op, $cx, $left, $right, $regname, $padname) = @_;
- my $last;
- my(@elems, $kid, $array, $list);
- if (class($op) eq "LISTOP") {
- $last = $op->last;
- } else { # ex-hslice inside delete()
- for ($kid = $op->first; !null $kid->sibling; $kid = $kid->sibling) {}
- $last = $kid;
- }
- $array = $last;
- $array = $array->first
- if $array->name eq $regname or $array->name eq "null";
- $array = $self->elem_or_slice_array_name($array,$left,$padname,0);
- $kid = $op->first->sibling; # skip pushmark
- if ($kid->name eq "list") {
- $kid = $kid->first->sibling; # skip list, pushmark
- for (; !null $kid; $kid = $kid->sibling) {
- push @elems, $self->deparse($kid, 6);
- }
- $list = join(", ", @elems);
- } else {
- $list = $self->elem_or_slice_single_index($kid);
- }
- return "\@" . $array . $left . $list . $right;
-}
-
-sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
-sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
-
-sub pp_lslice {
- my $self = shift;
- my($op, $cx) = @_;
- my $idx = $op->first;
- my $list = $op->last;
- my(@elems, $kid);
- $list = $self->deparse($list, 1);
- $idx = $self->deparse($idx, 1);
- return "($list)" . "[$idx]";
-}
-
-sub want_scalar {
- my $op = shift;
- return ($op->flags & OPf_WANT) == OPf_WANT_SCALAR;
-}
-
-sub want_list {
- my $op = shift;
- return ($op->flags & OPf_WANT) == OPf_WANT_LIST;
-}
-
-sub _method {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first->sibling; # skip pushmark
- my($meth, $obj, @exprs);
- if ($kid->name eq "list" and want_list $kid) {
- # When an indirect object isn't a bareword but the args are in
- # parens, the parens aren't part of the method syntax (the LLAFR
- # doesn't apply), but they make a list with OPf_PARENS set that
- # doesn't get flattened by the append_elem that adds the method,
- # making a (object, arg1, arg2, ...) list where the object
- # usually is. This can be distinguished from
- # `($obj, $arg1, $arg2)->meth()' (which is legal if $arg2 is an
- # object) because in the later the list is in scalar context
- # as the left side of -> always is, while in the former
- # the list is in list context as method arguments always are.
- # (Good thing there aren't method prototypes!)
- $meth = $kid->sibling;
- $kid = $kid->first->sibling; # skip pushmark
- $obj = $kid;
- $kid = $kid->sibling;
- for (; not null $kid; $kid = $kid->sibling) {
- push @exprs, $kid;
- }
- } else {
- $obj = $kid;
- $kid = $kid->sibling;
- for (; !null ($kid->sibling) && $kid->name ne "method_named";
- $kid = $kid->sibling) {
- push @exprs, $kid
- }
- $meth = $kid;
- }
-
- if ($meth->name eq "method_named") {
- $meth = $self->const_sv($meth)->PV;
- } else {
- $meth = $meth->first;
- if ($meth->name eq "const") {
- # As of 5.005_58, this case is probably obsoleted by the
- # method_named case above
- $meth = $self->const_sv($meth)->PV; # needs to be bare
- }
- }
-
- return { method => $meth, variable_method => ref($meth),
- object => $obj, args => \@exprs };
-}
-
-# compat function only
-sub method {
- my $self = shift;
- my $info = $self->_method(@_);
- return $self->e_method( $self->_method(@_) );
-}
-
-sub e_method {
- my ($self, $info) = @_;
- my $obj = $self->deparse($info->{object}, 24);
-
- my $meth = $info->{method};
- $meth = $self->deparse($meth, 1) if $info->{variable_method};
- my $args = join(", ", map { $self->deparse($_, 6) } @{$info->{args}} );
- my $kid = $obj . "->" . $meth;
- if (length $args) {
- return $kid . "(" . $args . ")"; # parens mandatory
- } else {
- return $kid;
- }
-}
-
-# returns "&" if the prototype doesn't match the args,
-# or ("", $args_after_prototype_demunging) if it does.
-sub check_proto {
- my $self = shift;
- return "&" if $self->{'noproto'};
- my($proto, @args) = @_;
- my($arg, $real);
- my $doneok = 0;
- my @reals;
- # An unbackslashed @ or % gobbles up the rest of the args
- 1 while $proto =~ s/(?<!\\)([@%])[^\]]+$/$1/;
- while ($proto) {
- $proto =~ s/^(\\?[\$\@&%*]|\\\[[\$\@&%*]+\]|;)//;
- my $chr = $1;
- if ($chr eq "") {
- return "&" if @args;
- } elsif ($chr eq ";") {
- $doneok = 1;
- } elsif ($chr eq "@" or $chr eq "%") {
- push @reals, map($self->deparse($_, 6), @args);
- @args = ();
- } else {
- $arg = shift @args;
- last unless $arg;
- if ($chr eq "\$") {
- if (want_scalar $arg) {
- push @reals, $self->deparse($arg, 6);
- } else {
- return "&";
- }
- } elsif ($chr eq "&") {
- if ($arg->name =~ /^(s?refgen|undef)$/) {
- push @reals, $self->deparse($arg, 6);
- } else {
- return "&";
- }
- } elsif ($chr eq "*") {
- if ($arg->name =~ /^s?refgen$/
- and $arg->first->first->name eq "rv2gv")
- {
- $real = $arg->first->first; # skip refgen, null
- if ($real->first->name eq "gv") {
- push @reals, $self->deparse($real, 6);
- } else {
- push @reals, $self->deparse($real->first, 6);
- }
- } else {
- return "&";
- }
- } elsif (substr($chr, 0, 1) eq "\\") {
- $chr =~ tr/\\[]//d;
- if ($arg->name =~ /^s?refgen$/ and
- !null($real = $arg->first) and
- ($chr =~ /\$/ && is_scalar($real->first)
- or ($chr =~ /@/
- && class($real->first->sibling) ne 'NULL'
- && $real->first->sibling->name
- =~ /^(rv2|pad)av$/)
- or ($chr =~ /%/
- && class($real->first->sibling) ne 'NULL'
- && $real->first->sibling->name
- =~ /^(rv2|pad)hv$/)
- #or ($chr =~ /&/ # This doesn't work
- # && $real->first->name eq "rv2cv")
- or ($chr =~ /\*/
- && $real->first->name eq "rv2gv")))
- {
- push @reals, $self->deparse($real, 6);
- } else {
- return "&";
- }
- }
- }
- }
- return "&" if $proto and !$doneok; # too few args and no `;'
- return "&" if @args; # too many args
- return ("", join ", ", @reals);
-}
-
-sub pp_entersub {
- my $self = shift;
- my($op, $cx) = @_;
- return $self->e_method($self->_method($op, $cx))
- unless null $op->first->sibling;
- my $prefix = "";
- my $amper = "";
- my($kid, @exprs);
- if ($op->flags & OPf_SPECIAL && !($op->flags & OPf_MOD)) {
- $prefix = "do ";
- } elsif ($op->private & OPpENTERSUB_AMPER) {
- $amper = "&";
- }
- $kid = $op->first;
- $kid = $kid->first->sibling; # skip ex-list, pushmark
- for (; not null $kid->sibling; $kid = $kid->sibling) {
- push @exprs, $kid;
- }
- my $simple = 0;
- my $proto = undef;
- if (is_scope($kid)) {
- $amper = "&";
- $kid = "{" . $self->deparse($kid, 0) . "}";
- } elsif ($kid->first->name eq "gv") {
- my $gv = $self->gv_or_padgv($kid->first);
- if (class($gv->CV) ne "SPECIAL") {
- $proto = $gv->CV->PV if $gv->CV->FLAGS & SVf_POK;
- }
- $simple = 1; # only calls of named functions can be prototyped
- $kid = $self->deparse($kid, 24);
- if (!$amper) {
- if ($kid eq 'main::') {
- $kid = '::';
- } elsif ($kid !~ /^(?:\w|::)(?:[\w\d]|::(?!\z))*\z/) {
- $kid = single_delim("q", "'", $kid) . '->';
- }
- }
- } elsif (is_scalar ($kid->first) && $kid->first->name ne 'rv2cv') {
- $amper = "&";
- $kid = $self->deparse($kid, 24);
- } else {
- $prefix = "";
- my $arrow = is_subscriptable($kid->first) ? "" : "->";
- $kid = $self->deparse($kid, 24) . $arrow;
- }
-
- # Doesn't matter how many prototypes there are, if
- # they haven't happened yet!
- my $declared;
- {
- no strict 'refs';
- no warnings 'uninitialized';
- $declared = exists $self->{'subs_declared'}{$kid}
- || (
- defined &{ ${$self->{'curstash'}."::"}{$kid} }
- && !exists
- $self->{'subs_deparsed'}{$self->{'curstash'}."::".$kid}
- && defined prototype $self->{'curstash'}."::".$kid
- );
- if (!$declared && defined($proto)) {
- # Avoid "too early to check prototype" warning
- ($amper, $proto) = ('&');
- }
- }
-
- my $args;
- if ($declared and defined $proto and not $amper) {
- ($amper, $args) = $self->check_proto($proto, @exprs);
- if ($amper eq "&") {
- $args = join(", ", map($self->deparse($_, 6), @exprs));
- }
- } else {
- $args = join(", ", map($self->deparse($_, 6), @exprs));
- }
- if ($prefix or $amper) {
- if ($op->flags & OPf_STACKED) {
- return $prefix . $amper . $kid . "(" . $args . ")";
- } else {
- return $prefix . $amper. $kid;
- }
- } else {
- # glob() invocations can be translated into calls of
- # CORE::GLOBAL::glob with a second parameter, a number.
- # Reverse this.
- if ($kid eq "CORE::GLOBAL::glob") {
- $kid = "glob";
- $args =~ s/\s*,[^,]+$//;
- }
-
- # It's a syntax error to call CORE::GLOBAL::foo without a prefix,
- # so it must have been translated from a keyword call. Translate
- # it back.
- $kid =~ s/^CORE::GLOBAL:://;
-
- my $dproto = defined($proto) ? $proto : "undefined";
- if (!$declared) {
- return "$kid(" . $args . ")";
- } elsif ($dproto eq "") {
- return $kid;
- } elsif ($dproto eq "\$" and is_scalar($exprs[0])) {
- # is_scalar is an excessively conservative test here:
- # really, we should be comparing to the precedence of the
- # top operator of $exprs[0] (ala unop()), but that would
- # take some major code restructuring to do right.
- return $self->maybe_parens_func($kid, $args, $cx, 16);
- } elsif ($dproto ne '$' and defined($proto) || $simple) { #'
- return $self->maybe_parens_func($kid, $args, $cx, 5);
- } else {
- return "$kid(" . $args . ")";
- }
- }
-}
-
-sub pp_enterwrite { unop(@_, "write") }
-
-# escape things that cause interpolation in double quotes,
-# but not character escapes
-sub uninterp {
- my($str) = @_;
- $str =~ s/(^|\G|[^\\])((?:\\\\)*)([\$\@]|\\[uUlLQE])/$1$2\\$3/g;
- return $str;
-}
-
-{
-my $bal;
-BEGIN {
- use re "eval";
- # Matches any string which is balanced with respect to {braces}
- $bal = qr(
- (?:
- [^\\{}]
- | \\\\
- | \\[{}]
- | \{(??{$bal})\}
- )*
- )x;
-}
-
-# the same, but treat $|, $), $( and $ at the end of the string differently
-sub re_uninterp {
- my($str) = @_;
-
- $str =~ s/
- ( ^|\G # $1
- | [^\\]
- )
-
- ( # $2
- (?:\\\\)*
- )
-
- ( # $3
- (\(\?\??\{$bal\}\)) # $4
- | [\$\@]
- (?!\||\)|\(|$)
- | \\[uUlLQE]
- )
-
- /defined($4) && length($4) ? "$1$2$4" : "$1$2\\$3"/xeg;
-
- return $str;
-}
-
-# This is for regular expressions with the /x modifier
-# We have to leave comments unmangled.
-sub re_uninterp_extended {
- my($str) = @_;
-
- $str =~ s/
- ( ^|\G # $1
- | [^\\]
- )
-
- ( # $2
- (?:\\\\)*
- )
-
- ( # $3
- ( \(\?\??\{$bal\}\) # $4 (skip over (?{}) and (??{}) blocks)
- | \#[^\n]* # (skip over comments)
- )
- | [\$\@]
- (?!\||\)|\(|$|\s)
- | \\[uUlLQE]
- )
-
- /defined($4) && length($4) ? "$1$2$4" : "$1$2\\$3"/xeg;
-
- return $str;
-}
-}
-
-my %unctrl = # portable to to EBCDIC
- (
- "\c@" => '\c@', # unused
- "\cA" => '\cA',
- "\cB" => '\cB',
- "\cC" => '\cC',
- "\cD" => '\cD',
- "\cE" => '\cE',
- "\cF" => '\cF',
- "\cG" => '\cG',
- "\cH" => '\cH',
- "\cI" => '\cI',
- "\cJ" => '\cJ',
- "\cK" => '\cK',
- "\cL" => '\cL',
- "\cM" => '\cM',
- "\cN" => '\cN',
- "\cO" => '\cO',
- "\cP" => '\cP',
- "\cQ" => '\cQ',
- "\cR" => '\cR',
- "\cS" => '\cS',
- "\cT" => '\cT',
- "\cU" => '\cU',
- "\cV" => '\cV',
- "\cW" => '\cW',
- "\cX" => '\cX',
- "\cY" => '\cY',
- "\cZ" => '\cZ',
- "\c[" => '\c[', # unused
- "\c\\" => '\c\\', # unused
- "\c]" => '\c]', # unused
- "\c_" => '\c_', # unused
- );
-
-# character escapes, but not delimiters that might need to be escaped
-sub escape_str { # ASCII, UTF8
- my($str) = @_;
- $str =~ s/(.)/ord($1) > 255 ? sprintf("\\x{%x}", ord($1)) : $1/eg;
- $str =~ s/\a/\\a/g;
-# $str =~ s/\cH/\\b/g; # \b means something different in a regex
- $str =~ s/\t/\\t/g;
- $str =~ s/\n/\\n/g;
- $str =~ s/\e/\\e/g;
- $str =~ s/\f/\\f/g;
- $str =~ s/\r/\\r/g;
- $str =~ s/([\cA-\cZ])/$unctrl{$1}/ge;
- $str =~ s/([[:^print:]])/sprintf("\\%03o", ord($1))/ge;
- return $str;
-}
-
-# For regexes with the /x modifier.
-# Leave whitespace unmangled.
-sub escape_extended_re {
- my($str) = @_;
- $str =~ s/(.)/ord($1) > 255 ? sprintf("\\x{%x}", ord($1)) : $1/eg;
- $str =~ s/([[:^print:]])/
- ($1 =~ y! \t\n!!) ? $1 : sprintf("\\%03o", ord($1))/ge;
- $str =~ s/\n/\n\f/g;
- return $str;
-}
-
-# Don't do this for regexen
-sub unback {
- my($str) = @_;
- $str =~ s/\\/\\\\/g;
- return $str;
-}
-
-# Remove backslashes which precede literal control characters,
-# to avoid creating ambiguity when we escape the latter.
-sub re_unback {
- my($str) = @_;
-
- # the insane complexity here is due to the behaviour of "\c\"
- $str =~ s/(^|[^\\]|\\c\\)(?<!\\c)\\(\\\\)*(?=[[:^print:]])/$1$2/g;
- return $str;
-}
-
-sub balanced_delim {
- my($str) = @_;
- my @str = split //, $str;
- my($ar, $open, $close, $fail, $c, $cnt, $last_bs);
- for $ar (['[',']'], ['(',')'], ['<','>'], ['{','}']) {
- ($open, $close) = @$ar;
- $fail = 0; $cnt = 0; $last_bs = 0;
- for $c (@str) {
- if ($c eq $open) {
- $fail = 1 if $last_bs;
- $cnt++;
- } elsif ($c eq $close) {
- $fail = 1 if $last_bs;
- $cnt--;
- if ($cnt < 0) {
- # qq()() isn't ")("
- $fail = 1;
- last;
- }
- }
- $last_bs = $c eq '\\';
- }
- $fail = 1 if $cnt != 0;
- return ($open, "$open$str$close") if not $fail;
- }
- return ("", $str);
-}
-
-sub single_delim {
- my($q, $default, $str) = @_;
- return "$default$str$default" if $default and index($str, $default) == -1;
- if ($q ne 'qr') {
- (my $succeed, $str) = balanced_delim($str);
- return "$q$str" if $succeed;
- }
- for my $delim ('/', '"', '#') {
- return "$q$delim" . $str . $delim if index($str, $delim) == -1;
- }
- if ($default) {
- $str =~ s/$default/\\$default/g;
- return "$default$str$default";
- } else {
- $str =~ s[/][\\/]g;
- return "$q/$str/";
- }
-}
-
-my $max_prec;
-BEGIN { $max_prec = int(0.999 + 8*length(pack("F", 42))*log(2)/log(10)); }
-
-# Split a floating point number into an integer mantissa and a binary
-# exponent. Assumes you've already made sure the number isn't zero or
-# some weird infinity or NaN.
-sub split_float {
- my($f) = @_;
- my $exponent = 0;
- if ($f == int($f)) {
- while ($f % 2 == 0) {
- $f /= 2;
- $exponent++;
- }
- } else {
- while ($f != int($f)) {
- $f *= 2;
- $exponent--;
- }
- }
- my $mantissa = sprintf("%.0f", $f);
- return ($mantissa, $exponent);
-}
-
-sub const {
- my $self = shift;
- my($sv, $cx) = @_;
- if ($self->{'use_dumper'}) {
- return $self->const_dumper($sv, $cx);
- }
- if (class($sv) eq "SPECIAL") {
- # sv_undef, sv_yes, sv_no
- return ('undef', '1', $self->maybe_parens("!1", $cx, 21))[$$sv-1];
- } elsif (class($sv) eq "NULL") {
- return 'undef';
- }
- # convert a version object into the "v1.2.3" string in its V magic
- if ($sv->FLAGS & SVs_RMG) {
- for (my $mg = $sv->MAGIC; $mg; $mg = $mg->MOREMAGIC) {
- return $mg->PTR if $mg->TYPE eq 'V';
- }
- }
-
- if ($sv->FLAGS & SVf_IOK) {
- my $str = $sv->int_value;
- $str = $self->maybe_parens($str, $cx, 21) if $str < 0;
- return $str;
- } elsif ($sv->FLAGS & SVf_NOK) {
- my $nv = $sv->NV;
- if ($nv == 0) {
- if (pack("F", $nv) eq pack("F", 0)) {
- # positive zero
- return "0";
- } else {
- # negative zero
- return $self->maybe_parens("-.0", $cx, 21);
- }
- } elsif (1/$nv == 0) {
- if ($nv > 0) {
- # positive infinity
- return $self->maybe_parens("9**9**9", $cx, 22);
- } else {
- # negative infinity
- return $self->maybe_parens("-9**9**9", $cx, 21);
- }
- } elsif ($nv != $nv) {
- # NaN
- if (pack("F", $nv) eq pack("F", sin(9**9**9))) {
- # the normal kind
- return "sin(9**9**9)";
- } elsif (pack("F", $nv) eq pack("F", -sin(9**9**9))) {
- # the inverted kind
- return $self->maybe_parens("-sin(9**9**9)", $cx, 21);
- } else {
- # some other kind
- my $hex = unpack("h*", pack("F", $nv));
- return qq'unpack("F", pack("h*", "$hex"))';
- }
- }
- # first, try the default stringification
- my $str = "$nv";
- if ($str != $nv) {
- # failing that, try using more precision
- $str = sprintf("%.${max_prec}g", $nv);
-# if (pack("F", $str) ne pack("F", $nv)) {
- if ($str != $nv) {
- # not representable in decimal with whatever sprintf()
- # and atof() Perl is using here.
- my($mant, $exp) = split_float($nv);
- return $self->maybe_parens("$mant * 2**$exp", $cx, 19);
- }
- }
- $str = $self->maybe_parens($str, $cx, 21) if $nv < 0;
- return $str;
- } elsif ($sv->FLAGS & SVf_ROK && $sv->can("RV")) {
- my $ref = $sv->RV;
- if (class($ref) eq "AV") {
- return "[" . $self->list_const(2, $ref->ARRAY) . "]";
- } elsif (class($ref) eq "HV") {
- my %hash = $ref->ARRAY;
- my @elts;
- for my $k (sort keys %hash) {
- push @elts, "$k => " . $self->const($hash{$k}, 6);
- }
- return "{" . join(", ", @elts) . "}";
- } elsif (class($ref) eq "CV") {
- return "sub " . $self->deparse_sub($ref);
- }
- if ($ref->FLAGS & SVs_SMG) {
- for (my $mg = $ref->MAGIC; $mg; $mg = $mg->MOREMAGIC) {
- if ($mg->TYPE eq 'r') {
- my $re = re_uninterp(escape_str(re_unback($mg->precomp)));
- return single_delim("qr", "", $re);
- }
- }
- }
-
- return $self->maybe_parens("\\" . $self->const($ref, 20), $cx, 20);
- } elsif ($sv->FLAGS & SVf_POK) {
- my $str = $sv->PV;
- if ($str =~ /[[:^print:]]/) {
- return single_delim("qq", '"', uninterp escape_str unback $str);
- } else {
- return single_delim("q", "'", unback $str);
- }
- } else {
- return "undef";
- }
-}
-
-sub const_dumper {
- my $self = shift;
- my($sv, $cx) = @_;
- my $ref = $sv->object_2svref();
- my $dumper = Data::Dumper->new([$$ref], ['$v']);
- $dumper->Purity(1)->Terse(1)->Deparse(1)->Indent(0)->Useqq(1)->Sortkeys(1);
- my $str = $dumper->Dump();
- if ($str =~ /^\$v/) {
- return '${my ' . $str . ' \$v}';
- } else {
- return $str;
- }
-}
-
-sub const_sv {
- my $self = shift;
- my $op = shift;
- my $sv = $op->sv;
- # the constant could be in the pad (under useithreads)
- $sv = $self->padval($op->targ) unless $$sv;
- return $sv;
-}
-
-sub pp_const {
- my $self = shift;
- my($op, $cx) = @_;
- if ($op->private & OPpCONST_ARYBASE) {
- return '$[';
- }
-# if ($op->private & OPpCONST_BARE) { # trouble with `=>' autoquoting
-# return $self->const_sv($op)->PV;
-# }
- my $sv = $self->const_sv($op);
- return $self->const($sv, $cx);
-}
-
-sub dq {
- my $self = shift;
- my $op = shift;
- my $type = $op->name;
- if ($type eq "const") {
- return '$[' if $op->private & OPpCONST_ARYBASE;
- return uninterp(escape_str(unback($self->const_sv($op)->as_string)));
- } elsif ($type eq "concat") {
- my $first = $self->dq($op->first);
- my $last = $self->dq($op->last);
-
- # Disambiguate "${foo}bar", "${foo}{bar}", "${foo}[1]", "$foo\::bar"
- ($last =~ /^[A-Z\\\^\[\]_?]/ &&
- $first =~ s/([\$@])\^$/${1}{^}/) # "${^}W" etc
- || ($last =~ /^[:'{\[\w_]/ && #'
- $first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);
-
- return $first . $last;
- } elsif ($type eq "uc") {
- return '\U' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "lc") {
- return '\L' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "ucfirst") {
- return '\u' . $self->dq($op->first->sibling);
- } elsif ($type eq "lcfirst") {
- return '\l' . $self->dq($op->first->sibling);
- } elsif ($type eq "quotemeta") {
- return '\Q' . $self->dq($op->first->sibling) . '\E';
- } elsif ($type eq "join") {
- return $self->deparse($op->last, 26); # was join($", @ary)
- } else {
- return $self->deparse($op, 26);
- }
-}
-
-sub pp_backtick {
- my $self = shift;
- my($op, $cx) = @_;
- # skip pushmark if it exists (readpipe() vs ``)
- my $child = $op->first->sibling->isa('B::NULL')
- ? $op->first->first : $op->first->sibling;
- return single_delim("qx", '`', $self->dq($child));
-}
-
-sub dquote {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first->sibling; # skip ex-stringify, pushmark
- return $self->deparse($kid, $cx) if $self->{'unquote'};
- $self->maybe_targmy($kid, $cx,
- sub {single_delim("qq", '"', $self->dq($_[1]))});
-}
-
-# OP_STRINGIFY is a listop, but it only ever has one arg
-sub pp_stringify { maybe_targmy(@_, \&dquote) }
-
-# tr/// and s/// (and tr[][], tr[]//, tr###, etc)
-# note that tr(from)/to/ is OK, but not tr/from/(to)
-sub double_delim {
- my($from, $to) = @_;
- my($succeed, $delim);
- if ($from !~ m[/] and $to !~ m[/]) {
- return "/$from/$to/";
- } elsif (($succeed, $from) = balanced_delim($from) and $succeed) {
- if (($succeed, $to) = balanced_delim($to) and $succeed) {
- return "$from$to";
- } else {
- for $delim ('/', '"', '#') { # note no `'' -- s''' is special
- return "$from$delim$to$delim" if index($to, $delim) == -1;
- }
- $to =~ s[/][\\/]g;
- return "$from/$to/";
- }
- } else {
- for $delim ('/', '"', '#') { # note no '
- return "$delim$from$delim$to$delim"
- if index($to . $from, $delim) == -1;
- }
- $from =~ s[/][\\/]g;
- $to =~ s[/][\\/]g;
- return "/$from/$to/";
- }
-}
-
-# Only used by tr///, so backslashes hyphens
-sub pchr { # ASCII
- my($n) = @_;
- if ($n == ord '\\') {
- return '\\\\';
- } elsif ($n == ord "-") {
- return "\\-";
- } elsif ($n >= ord(' ') and $n <= ord('~')) {
- return chr($n);
- } elsif ($n == ord "\a") {
- return '\\a';
- } elsif ($n == ord "\b") {
- return '\\b';
- } elsif ($n == ord "\t") {
- return '\\t';
- } elsif ($n == ord "\n") {
- return '\\n';
- } elsif ($n == ord "\e") {
- return '\\e';
- } elsif ($n == ord "\f") {
- return '\\f';
- } elsif ($n == ord "\r") {
- return '\\r';
- } elsif ($n >= ord("\cA") and $n <= ord("\cZ")) {
- return '\\c' . chr(ord("@") + $n);
- } else {
-# return '\x' . sprintf("%02x", $n);
- return '\\' . sprintf("%03o", $n);
- }
-}
-
-sub collapse {
- my(@chars) = @_;
- my($str, $c, $tr) = ("");
- for ($c = 0; $c < @chars; $c++) {
- $tr = $chars[$c];
- $str .= pchr($tr);
- if ($c <= $#chars - 2 and $chars[$c + 1] == $tr + 1 and
- $chars[$c + 2] == $tr + 2)
- {
- for (; $c <= $#chars-1 and $chars[$c + 1] == $chars[$c] + 1; $c++)
- {}
- $str .= "-";
- $str .= pchr($chars[$c]);
- }
- }
- return $str;
-}
-
-sub tr_decode_byte {
- my($table, $flags) = @_;
- my(@table) = unpack("s*", $table);
- splice @table, 0x100, 1; # Number of subsequent elements
- my($c, $tr, @from, @to, @delfrom, $delhyphen);
- if ($table[ord "-"] != -1 and
- $table[ord("-") - 1] == -1 || $table[ord("-") + 1] == -1)
- {
- $tr = $table[ord "-"];
- $table[ord "-"] = -1;
- if ($tr >= 0) {
- @from = ord("-");
- @to = $tr;
- } else { # -2 ==> delete
- $delhyphen = 1;
- }
- }
- for ($c = 0; $c < @table; $c++) {
- $tr = $table[$c];
- if ($tr >= 0) {
- push @from, $c; push @to, $tr;
- } elsif ($tr == -2) {
- push @delfrom, $c;
- }
- }
- @from = (@from, @delfrom);
- if ($flags & OPpTRANS_COMPLEMENT) {
- my @newfrom = ();
- my %from;
- @from{@from} = (1) x @from;
- for ($c = 0; $c < 256; $c++) {
- push @newfrom, $c unless $from{$c};
- }
- @from = @newfrom;
- }
- unless ($flags & OPpTRANS_DELETE || !@to) {
- pop @to while $#to and $to[$#to] == $to[$#to -1];
- }
- my($from, $to);
- $from = collapse(@from);
- $to = collapse(@to);
- $from .= "-" if $delhyphen;
- return ($from, $to);
-}
-
-sub tr_chr {
- my $x = shift;
- if ($x == ord "-") {
- return "\\-";
- } elsif ($x == ord "\\") {
- return "\\\\";
- } else {
- return chr $x;
- }
-}
-
-# XXX This doesn't yet handle all cases correctly either
-
-sub tr_decode_utf8 {
- my($swash_hv, $flags) = @_;
- my %swash = $swash_hv->ARRAY;
- my $final = undef;
- $final = $swash{'FINAL'}->IV if exists $swash{'FINAL'};
- my $none = $swash{"NONE"}->IV;
- my $extra = $none + 1;
- my(@from, @delfrom, @to);
- my $line;
- foreach $line (split /\n/, $swash{'LIST'}->PV) {
- my($min, $max, $result) = split(/\t/, $line);
- $min = hex $min;
- if (length $max) {
- $max = hex $max;
- } else {
- $max = $min;
- }
- $result = hex $result;
- if ($result == $extra) {
- push @delfrom, [$min, $max];
- } else {
- push @from, [$min, $max];
- push @to, [$result, $result + $max - $min];
- }
- }
- for my $i (0 .. $#from) {
- if ($from[$i][0] == ord '-') {
- unshift @from, splice(@from, $i, 1);
- unshift @to, splice(@to, $i, 1);
- last;
- } elsif ($from[$i][1] == ord '-') {
- $from[$i][1]--;
- $to[$i][1]--;
- unshift @from, ord '-';
- unshift @to, ord '-';
- last;
- }
- }
- for my $i (0 .. $#delfrom) {
- if ($delfrom[$i][0] == ord '-') {
- push @delfrom, splice(@delfrom, $i, 1);
- last;
- } elsif ($delfrom[$i][1] == ord '-') {
- $delfrom[$i][1]--;
- push @delfrom, ord '-';
- last;
- }
- }
- if (defined $final and $to[$#to][1] != $final) {
- push @to, [$final, $final];
- }
- push @from, @delfrom;
- if ($flags & OPpTRANS_COMPLEMENT) {
- my @newfrom;
- my $next = 0;
- for my $i (0 .. $#from) {
- push @newfrom, [$next, $from[$i][0] - 1];
- $next = $from[$i][1] + 1;
- }
- @from = ();
- for my $range (@newfrom) {
- if ($range->[0] <= $range->[1]) {
- push @from, $range;
- }
- }
- }
- my($from, $to, $diff);
- for my $chunk (@from) {
- $diff = $chunk->[1] - $chunk->[0];
- if ($diff > 1) {
- $from .= tr_chr($chunk->[0]) . "-" . tr_chr($chunk->[1]);
- } elsif ($diff == 1) {
- $from .= tr_chr($chunk->[0]) . tr_chr($chunk->[1]);
- } else {
- $from .= tr_chr($chunk->[0]);
- }
- }
- for my $chunk (@to) {
- $diff = $chunk->[1] - $chunk->[0];
- if ($diff > 1) {
- $to .= tr_chr($chunk->[0]) . "-" . tr_chr($chunk->[1]);
- } elsif ($diff == 1) {
- $to .= tr_chr($chunk->[0]) . tr_chr($chunk->[1]);
- } else {
- $to .= tr_chr($chunk->[0]);
- }
- }
- #$final = sprintf("%04x", $final) if defined $final;
- #$none = sprintf("%04x", $none) if defined $none;
- #$extra = sprintf("%04x", $extra) if defined $extra;
- #print STDERR "final: $final\n none: $none\nextra: $extra\n";
- #print STDERR $swash{'LIST'}->PV;
- return (escape_str($from), escape_str($to));
-}
-
-sub pp_trans {
- my $self = shift;
- my($op, $cx) = @_;
- my($from, $to);
- if (class($op) eq "PVOP") {
- ($from, $to) = tr_decode_byte($op->pv, $op->private);
- } else { # class($op) eq "SVOP"
- ($from, $to) = tr_decode_utf8($op->sv->RV, $op->private);
- }
- my $flags = "";
- $flags .= "c" if $op->private & OPpTRANS_COMPLEMENT;
- $flags .= "d" if $op->private & OPpTRANS_DELETE;
- $to = "" if $from eq $to and $flags eq "";
- $flags .= "s" if $op->private & OPpTRANS_SQUASH;
- return "tr" . double_delim($from, $to) . $flags;
-}
-
-sub re_dq_disambiguate {
- my ($first, $last) = @_;
- # Disambiguate "${foo}bar", "${foo}{bar}", "${foo}[1]"
- ($last =~ /^[A-Z\\\^\[\]_?]/ &&
- $first =~ s/([\$@])\^$/${1}{^}/) # "${^}W" etc
- || ($last =~ /^[{\[\w_]/ &&
- $first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);
- return $first . $last;
-}
-
-# Like dq(), but different
-sub re_dq {
- my $self = shift;
- my ($op, $extended) = @_;
-
- my $type = $op->name;
- if ($type eq "const") {
- return '$[' if $op->private & OPpCONST_ARYBASE;
- my $unbacked = re_unback($self->const_sv($op)->as_string);
- return re_uninterp_extended(escape_extended_re($unbacked))
- if $extended;
- return re_uninterp(escape_str($unbacked));
- } elsif ($type eq "concat") {
- my $first = $self->re_dq($op->first, $extended);
- my $last = $self->re_dq($op->last, $extended);
- return re_dq_disambiguate($first, $last);
- } elsif ($type eq "uc") {
- return '\U' . $self->re_dq($op->first->sibling, $extended) . '\E';
- } elsif ($type eq "lc") {
- return '\L' . $self->re_dq($op->first->sibling, $extended) . '\E';
- } elsif ($type eq "ucfirst") {
- return '\u' . $self->re_dq($op->first->sibling, $extended);
- } elsif ($type eq "lcfirst") {
- return '\l' . $self->re_dq($op->first->sibling, $extended);
- } elsif ($type eq "quotemeta") {
- return '\Q' . $self->re_dq($op->first->sibling, $extended) . '\E';
- } elsif ($type eq "join") {
- return $self->deparse($op->last, 26); # was join($", @ary)
- } else {
- return $self->deparse($op, 26);
- }
-}
-
-sub pure_string {
- my ($self, $op) = @_;
- return 0 if null $op;
- my $type = $op->name;
-
- if ($type eq 'const') {
- return 1;
- }
- elsif ($type =~ /^[ul]c(first)?$/ || $type eq 'quotemeta') {
- return $self->pure_string($op->first->sibling);
- }
- elsif ($type eq 'join') {
- my $join_op = $op->first->sibling; # Skip pushmark
- return 0 unless $join_op->name eq 'null' && $join_op->targ eq OP_RV2SV;
-
- my $gvop = $join_op->first;
- return 0 unless $gvop->name eq 'gvsv';
- return 0 unless '"' eq $self->gv_name($self->gv_or_padgv($gvop));
-
- return 0 unless ${$join_op->sibling} eq ${$op->last};
- return 0 unless $op->last->name =~ /^(?:[ah]slice|(?:rv2|pad)av)$/;
- }
- elsif ($type eq 'concat') {
- return $self->pure_string($op->first)
- && $self->pure_string($op->last);
- }
- elsif (is_scalar($op) || $type =~ /^[ah]elem$/) {
- return 1;
- }
- elsif ($type eq "null" and $op->can('first') and not null $op->first and
- $op->first->name eq "null" and $op->first->can('first')
- and not null $op->first->first and
- $op->first->first->name eq "aelemfast") {
- return 1;
- }
- else {
- return 0;
- }
-
- return 1;
-}
-
-sub regcomp {
- my $self = shift;
- my($op, $cx, $extended) = @_;
- my $kid = $op->first;
- $kid = $kid->first if $kid->name eq "regcmaybe";
- $kid = $kid->first if $kid->name eq "regcreset";
- if ($kid->name eq "null" and !null($kid->first)
- and $kid->first->name eq 'pushmark')
- {
- my $str = '';
- $kid = $kid->first->sibling;
- while (!null($kid)) {
- my $first = $str;
- my $last = $self->re_dq($kid, $extended);
- $str = re_dq_disambiguate($first, $last);
- $kid = $kid->sibling;
- }
- return $str, 1;
- }
-
- return ($self->re_dq($kid, $extended), 1) if $self->pure_string($kid);
- return ($self->deparse($kid, $cx), 0);
-}
-
-sub pp_regcomp {
- my ($self, $op, $cx) = @_;
- return (($self->regcomp($op, $cx, 0))[0]);
-}
-
-# osmic acid -- see osmium tetroxide
-
-my %matchwords;
-map($matchwords{join "", sort split //, $_} = $_, 'cig', 'cog', 'cos', 'cogs',
- 'cox', 'go', 'is', 'ism', 'iso', 'mig', 'mix', 'osmic', 'ox', 'sic',
- 'sig', 'six', 'smog', 'so', 'soc', 'sog', 'xi');
-
-sub matchop {
- my $self = shift;
- my($op, $cx, $name, $delim) = @_;
- my $kid = $op->first;
- my ($binop, $var, $re) = ("", "", "");
- if ($op->flags & OPf_STACKED) {
- $binop = 1;
- $var = $self->deparse($kid, 20);
- $kid = $kid->sibling;
- }
- my $quote = 1;
- my $extended = ($op->pmflags & PMf_EXTENDED);
- if (null $kid) {
- my $unbacked = re_unback($op->precomp);
- if ($extended) {
- $re = re_uninterp_extended(escape_extended_re($unbacked));
- } else {
- $re = re_uninterp(escape_str(re_unback($op->precomp)));
- }
- } elsif ($kid->name ne 'regcomp') {
- carp("found ".$kid->name." where regcomp expected");
- } else {
- ($re, $quote) = $self->regcomp($kid, 21, $extended);
- }
- my $flags = "";
- $flags .= "c" if $op->pmflags & PMf_CONTINUE;
- $flags .= "g" if $op->pmflags & PMf_GLOBAL;
- $flags .= "i" if $op->pmflags & PMf_FOLD;
- $flags .= "m" if $op->pmflags & PMf_MULTILINE;
- $flags .= "o" if $op->pmflags & PMf_KEEP;
- $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
- $flags .= "x" if $op->pmflags & PMf_EXTENDED;
- $flags = $matchwords{$flags} if $matchwords{$flags};
- if ($op->pmflags & PMf_ONCE) { # only one kind of delimiter works here
- $re =~ s/\?/\\?/g;
- $re = "?$re?";
- } elsif ($quote) {
- $re = single_delim($name, $delim, $re);
- }
- $re = $re . $flags if $quote;
- if ($binop) {
- return $self->maybe_parens("$var =~ $re", $cx, 20);
- } else {
- return $re;
- }
-}
-
-sub pp_match { matchop(@_, "m", "/") }
-sub pp_pushre { matchop(@_, "m", "/") }
-sub pp_qr { matchop(@_, "qr", "") }
-
-sub pp_split {
- my $self = shift;
- my($op, $cx) = @_;
- my($kid, @exprs, $ary, $expr);
- $kid = $op->first;
-
- # For our kid (an OP_PUSHRE), pmreplroot is never actually the
- # root of a replacement; it's either empty, or abused to point to
- # the GV for an array we split into (an optimization to save
- # assignment overhead). Depending on whether we're using ithreads,
- # this OP* holds either a GV* or a PADOFFSET. Luckily, B.xs
- # figures out for us which it is.
- my $replroot = $kid->pmreplroot;
- my $gv = 0;
- if (ref($replroot) eq "B::GV") {
- $gv = $replroot;
- } elsif (!ref($replroot) and $replroot > 0) {
- $gv = $self->padval($replroot);
- }
- $ary = $self->stash_variable('@', $self->gv_name($gv)) if $gv;
-
- for (; !null($kid); $kid = $kid->sibling) {
- push @exprs, $self->deparse($kid, 6);
- }
-
- # handle special case of split(), and split(' ') that compiles to /\s+/
- $kid = $op->first;
- if ( $kid->flags & OPf_SPECIAL
- and ( $] < 5.009 ? $kid->pmflags & PMf_SKIPWHITE()
- : $kid->reflags & RXf_SKIPWHITE() ) ) {
- $exprs[0] = "' '";
- }
-
- $expr = "split(" . join(", ", @exprs) . ")";
- if ($ary) {
- return $self->maybe_parens("$ary = $expr", $cx, 7);
- } else {
- return $expr;
- }
-}
-
-# oxime -- any of various compounds obtained chiefly by the action of
-# hydroxylamine on aldehydes and ketones and characterized by the
-# bivalent grouping C=NOH [Webster's Tenth]
-
-my %substwords;
-map($substwords{join "", sort split //, $_} = $_, 'ego', 'egoism', 'em',
- 'es', 'ex', 'exes', 'gee', 'go', 'goes', 'ie', 'ism', 'iso', 'me',
- 'meese', 'meso', 'mig', 'mix', 'os', 'ox', 'oxime', 'see', 'seem',
- 'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi');
-
-sub pp_subst {
- my $self = shift;
- my($op, $cx) = @_;
- my $kid = $op->first;
- my($binop, $var, $re, $repl) = ("", "", "", "");
- if ($op->flags & OPf_STACKED) {
- $binop = 1;
- $var = $self->deparse($kid, 20);
- $kid = $kid->sibling;
- }
- my $flags = "";
- if (null($op->pmreplroot)) {
- $repl = $self->dq($kid);
- $kid = $kid->sibling;
- } else {
- $repl = $op->pmreplroot->first; # skip substcont
- while ($repl->name eq "entereval") {
- $repl = $repl->first;
- $flags .= "e";
- }
- if ($op->pmflags & PMf_EVAL) {
- $repl = $self->deparse($repl->first, 0);
- } else {
- $repl = $self->dq($repl);
- }
- }
- my $extended = ($op->pmflags & PMf_EXTENDED);
- if (null $kid) {
- my $unbacked = re_unback($op->precomp);
- if ($extended) {
- $re = re_uninterp_extended(escape_extended_re($unbacked));
- }
- else {
- $re = re_uninterp(escape_str($unbacked));
- }
- } else {
- ($re) = $self->regcomp($kid, 1, $extended);
- }
- $flags .= "e" if $op->pmflags & PMf_EVAL;
- $flags .= "g" if $op->pmflags & PMf_GLOBAL;
- $flags .= "i" if $op->pmflags & PMf_FOLD;
- $flags .= "m" if $op->pmflags & PMf_MULTILINE;
- $flags .= "o" if $op->pmflags & PMf_KEEP;
- $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
- $flags .= "x" if $extended;
- $flags = $substwords{$flags} if $substwords{$flags};
- if ($binop) {
- return $self->maybe_parens("$var =~ s"
- . double_delim($re, $repl) . $flags,
- $cx, 20);
- } else {
- return "s". double_delim($re, $repl) . $flags;
- }
-}
-
-1;
-__END__
-
-=head1 NAME
-
-B::Deparse - Perl compiler backend to produce perl code
-
-=head1 SYNOPSIS
-
-B<perl> B<-MO=Deparse>[B<,-d>][B<,-f>I<FILE>][B<,-p>][B<,-q>][B<,-l>]
- [B<,-s>I<LETTERS>][B<,-x>I<LEVEL>] I<prog.pl>
-
-=head1 DESCRIPTION
-
-B::Deparse is a backend module for the Perl compiler that generates
-perl source code, based on the internal compiled structure that perl
-itself creates after parsing a program. The output of B::Deparse won't
-be exactly the same as the original source, since perl doesn't keep
-track of comments or whitespace, and there isn't a one-to-one
-correspondence between perl's syntactical constructions and their
-compiled form, but it will often be close. When you use the B<-p>
-option, the output also includes parentheses even when they are not
-required by precedence, which can make it easy to see if perl is
-parsing your expressions the way you intended.
-
-While B::Deparse goes to some lengths to try to figure out what your
-original program was doing, some parts of the language can still trip
-it up; it still fails even on some parts of Perl's own test suite. If
-you encounter a failure other than the most common ones described in
-the BUGS section below, you can help contribute to B::Deparse's
-ongoing development by submitting a bug report with a small
-example.
-
-=head1 OPTIONS
-
-As with all compiler backend options, these must follow directly after
-the '-MO=Deparse', separated by a comma but not any white space.
-
-=over 4
-
-=item B<-d>
-
-Output data values (when they appear as constants) using Data::Dumper.
-Without this option, B::Deparse will use some simple routines of its
-own for the same purpose. Currently, Data::Dumper is better for some
-kinds of data (such as complex structures with sharing and
-self-reference) while the built-in routines are better for others
-(such as odd floating-point values).
-
-=item B<-f>I<FILE>
-
-Normally, B::Deparse deparses the main code of a program, and all the subs
-defined in the same file. To include subs defined in other files, pass the
-B<-f> option with the filename. You can pass the B<-f> option several times, to
-include more than one secondary file. (Most of the time you don't want to
-use it at all.) You can also use this option to include subs which are
-defined in the scope of a B<#line> directive with two parameters.
-
-=item B<-l>
-
-Add '#line' declarations to the output based on the line and file
-locations of the original code.
-
-=item B<-p>
-
-Print extra parentheses. Without this option, B::Deparse includes
-parentheses in its output only when they are needed, based on the
-structure of your program. With B<-p>, it uses parentheses (almost)
-whenever they would be legal. This can be useful if you are used to
-LISP, or if you want to see how perl parses your input. If you say
-
- if ($var & 0x7f == 65) {print "Gimme an A!"}
- print ($which ? $a : $b), "\n";
- $name = $ENV{USER} or "Bob";
-
-C<B::Deparse,-p> will print
-
- if (($var & 0)) {
- print('Gimme an A!')
- };
- (print(($which ? $a : $b)), '???');
- (($name = $ENV{'USER'}) or '???')
-
-which probably isn't what you intended (the C<'???'> is a sign that
-perl optimized away a constant value).
-
-=item B<-P>
-
-Disable prototype checking. With this option, all function calls are
-deparsed as if no prototype was defined for them. In other words,
-
- perl -MO=Deparse,-P -e 'sub foo (\@) { 1 } foo @x'
-
-will print
-
- sub foo (\@) {
- 1;
- }
- &foo(\@x);
-
-making clear how the parameters are actually passed to C<foo>.
-
-=item B<-q>
-
-Expand double-quoted strings into the corresponding combinations of
-concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For
-instance, print
-
- print "Hello, $world, @ladies, \u$gentlemen\E, \u\L$me!";
-
-as
-
- print 'Hello, ' . $world . ', ' . join($", @ladies) . ', '
- . ucfirst($gentlemen) . ', ' . ucfirst(lc $me . '!');
-
-Note that the expanded form represents the way perl handles such
-constructions internally -- this option actually turns off the reverse
-translation that B::Deparse usually does. On the other hand, note that
-C<$x = "$y"> is not the same as C<$x = $y>: the former makes the value
-of $y into a string before doing the assignment.
-
-=item B<-s>I<LETTERS>
-
-Tweak the style of B::Deparse's output. The letters should follow
-directly after the 's', with no space or punctuation. The following
-options are available:
-
-=over 4
-
-=item B<C>
-
-Cuddle C<elsif>, C<else>, and C<continue> blocks. For example, print
-
- if (...) {
- ...
- } else {
- ...
- }
-
-instead of
-
- if (...) {
- ...
- }
- else {
- ...
- }
-
-The default is not to cuddle.
-
-=item B<i>I<NUMBER>
-
-Indent lines by multiples of I<NUMBER> columns. The default is 4 columns.
-
-=item B<T>
-
-Use tabs for each 8 columns of indent. The default is to use only spaces.
-For instance, if the style options are B<-si4T>, a line that's indented
-3 times will be preceded by one tab and four spaces; if the options were
-B<-si8T>, the same line would be preceded by three tabs.
-
-=item B<v>I<STRING>B<.>
-
-Print I<STRING> for the value of a constant that can't be determined
-because it was optimized away (mnemonic: this happens when a constant
-is used in B<v>oid context). The end of the string is marked by a period.
-The string should be a valid perl expression, generally a constant.
-Note that unless it's a number, it probably needs to be quoted, and on
-a command line quotes need to be protected from the shell. Some
-conventional values include 0, 1, 42, '', 'foo', and
-'Useless use of constant omitted' (which may need to be
-B<-sv"'Useless use of constant omitted'.">
-or something similar depending on your shell). The default is '???'.
-If you're using B::Deparse on a module or other file that's require'd,
-you shouldn't use a value that evaluates to false, since the customary
-true constant at the end of a module will be in void context when the
-file is compiled as a main program.
-
-=back
-
-=item B<-x>I<LEVEL>
-
-Expand conventional syntax constructions into equivalent ones that expose
-their internal operation. I<LEVEL> should be a digit, with higher values
-meaning more expansion. As with B<-q>, this actually involves turning off
-special cases in B::Deparse's normal operations.
-
-If I<LEVEL> is at least 3, C<for> loops will be translated into equivalent
-while loops with continue blocks; for instance
-
- for ($i = 0; $i < 10; ++$i) {
- print $i;
- }
-
-turns into
-
- $i = 0;
- while ($i < 10) {
- print $i;
- } continue {
- ++$i
- }
-
-Note that in a few cases this translation can't be perfectly carried back
-into the source code -- if the loop's initializer declares a my variable,
-for instance, it won't have the correct scope outside of the loop.
-
-If I<LEVEL> is at least 5, C<use> declarations will be translated into
-C<BEGIN> blocks containing calls to C<require> and C<import>; for
-instance,
-
- use strict 'refs';
-
-turns into
-
- sub BEGIN {
- require strict;
- do {
- 'strict'->import('refs')
- };
- }
-
-If I<LEVEL> is at least 7, C<if> statements will be translated into
-equivalent expressions using C<&&>, C<?:> and C<do {}>; for instance
-
- print 'hi' if $nice;
- if ($nice) {
- print 'hi';
- }
- if ($nice) {
- print 'hi';
- } else {
- print 'bye';
- }
-
-turns into
-
- $nice and print 'hi';
- $nice and do { print 'hi' };
- $nice ? do { print 'hi' } : do { print 'bye' };
-
-Long sequences of elsifs will turn into nested ternary operators, which
-B::Deparse doesn't know how to indent nicely.
-
-=back
-
-=head1 USING B::Deparse AS A MODULE
-
-=head2 Synopsis
-
- use B::Deparse;
- $deparse = B::Deparse->new("-p", "-sC");
- $body = $deparse->coderef2text(\&func);
- eval "sub func $body"; # the inverse operation
-
-=head2 Description
-
-B::Deparse can also be used on a sub-by-sub basis from other perl
-programs.
-
-=head2 new
-
- $deparse = B::Deparse->new(OPTIONS)
-
-Create an object to store the state of a deparsing operation and any
-options. The options are the same as those that can be given on the
-command line (see L</OPTIONS>); options that are separated by commas
-after B<-MO=Deparse> should be given as separate strings.
-
-=head2 ambient_pragmas
-
- $deparse->ambient_pragmas(strict => 'all', '$[' => $[);
-
-The compilation of a subroutine can be affected by a few compiler
-directives, B<pragmas>. These are:
-
-=over 4
-
-=item *
-
-use strict;
-
-=item *
-
-use warnings;
-
-=item *
-
-Assigning to the special variable $[
-
-=item *
-
-use integer;
-
-=item *
-
-use bytes;
-
-=item *
-
-use utf8;
-
-=item *
-
-use re;
-
-=back
-
-Ordinarily, if you use B::Deparse on a subroutine which has
-been compiled in the presence of one or more of these pragmas,
-the output will include statements to turn on the appropriate
-directives. So if you then compile the code returned by coderef2text,
-it will behave the same way as the subroutine which you deparsed.
-
-However, you may know that you intend to use the results in a
-particular context, where some pragmas are already in scope. In
-this case, you use the B<ambient_pragmas> method to describe the
-assumptions you wish to make.
-
-Not all of the options currently have any useful effect. See
-L</BUGS> for more details.
-
-The parameters it accepts are:
-
-=over 4
-
-=item strict
-
-Takes a string, possibly containing several values separated
-by whitespace. The special values "all" and "none" mean what you'd
-expect.
-
- $deparse->ambient_pragmas(strict => 'subs refs');
-
-=item $[
-
-Takes a number, the value of the array base $[.
-
-=item bytes
-
-=item utf8
-
-=item integer
-
-If the value is true, then the appropriate pragma is assumed to
-be in the ambient scope, otherwise not.
-
-=item re
-
-Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special. It's also permissible
-to pass an array reference here.
-
- $deparser->ambient_pragmas(re => 'eval');
-
-
-=item warnings
-
-Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special, again. It's also
-permissible to pass an array reference here.
-
- $deparser->ambient_pragmas(warnings => [qw[void io]]);
-
-If one of the values is the string "FATAL", then all the warnings
-in that list will be considered fatal, just as with the B<warnings>
-pragma itself. Should you need to specify that some warnings are
-fatal, and others are merely enabled, you can pass the B<warnings>
-parameter twice:
-
- $deparser->ambient_pragmas(
- warnings => 'all',
- warnings => [FATAL => qw/void io/],
- );
-
-See L<perllexwarn> for more information about lexical warnings.
-
-=item hint_bits
-
-=item warning_bits
-
-These two parameters are used to specify the ambient pragmas in
-the format used by the special variables $^H and ${^WARNING_BITS}.
-
-They exist principally so that you can write code like:
-
- { my ($hint_bits, $warning_bits);
- BEGIN {($hint_bits, $warning_bits) = ($^H, ${^WARNING_BITS})}
- $deparser->ambient_pragmas (
- hint_bits => $hint_bits,
- warning_bits => $warning_bits,
- '$[' => 0 + $[
- ); }
-
-which specifies that the ambient pragmas are exactly those which
-are in scope at the point of calling.
-
-=item %^H
-
-This parameter is used to specify the ambient pragmas which are
-stored in the special hash %^H.
-
-=back
-
-=head2 coderef2text
-
- $body = $deparse->coderef2text(\&func)
- $body = $deparse->coderef2text(sub ($$) { ... })
-
-Return source code for the body of a subroutine (a block, optionally
-preceded by a prototype in parens), given a reference to the
-sub. Because a subroutine can have no names, or more than one name,
-this method doesn't return a complete subroutine definition -- if you
-want to eval the result, you should prepend "sub subname ", or "sub "
-for an anonymous function constructor. Unless the sub was defined in
-the main:: package, the code will include a package declaration.
-
-=head1 BUGS
-
-=over 4
-
-=item *
-
-The only pragmas to be completely supported are: C<use warnings>,
-C<use strict 'refs'>, C<use bytes>, and C<use integer>. (C<$[>, which
-behaves like a pragma, is also supported.)
-
-Excepting those listed above, we're currently unable to guarantee that
-B::Deparse will produce a pragma at the correct point in the program.
-(Specifically, pragmas at the beginning of a block often appear right
-before the start of the block instead.)
-Since the effects of pragmas are often lexically scoped, this can mean
-that the pragma holds sway over a different portion of the program
-than in the input file.
-
-=item *
-
-In fact, the above is a specific instance of a more general problem:
-we can't guarantee to produce BEGIN blocks or C<use> declarations in
-exactly the right place. So if you use a module which affects compilation
-(such as by over-riding keywords, overloading constants or whatever)
-then the output code might not work as intended.
-
-This is the most serious outstanding problem, and will require some help
-from the Perl core to fix.
-
-=item *
-
-If a keyword is over-ridden, and your program explicitly calls
-the built-in version by using CORE::keyword, the output of B::Deparse
-will not reflect this. If you run the resulting code, it will call
-the over-ridden version rather than the built-in one. (Maybe there
-should be an option to B<always> print keyword calls as C<CORE::name>.)
-
-=item *
-
-Some constants don't print correctly either with or without B<-d>.
-For instance, neither B::Deparse nor Data::Dumper know how to print
-dual-valued scalars correctly, as in:
-
- use constant E2BIG => ($!=7); $y = E2BIG; print $y, 0+$y;
-
-=item *
-
-An input file that uses source filtering probably won't be deparsed into
-runnable code, because it will still include the B<use> declaration
-for the source filtering module, even though the code that is
-produced is already ordinary Perl which shouldn't be filtered again.
-
-=item *
-
-Optimised away statements are rendered as '???'. This includes statements that
-have a compile-time side-effect, such as the obscure
-
- my $x if 0;
-
-which is not, consequently, deparsed correctly.
-
-=item *
-
-Lexical (my) variables declared in scopes external to a subroutine
-appear in code2ref output text as package variables. This is a tricky
-problem, as perl has no native facility for refering to a lexical variable
-defined within a different scope, although L<PadWalker> is a good start.
-
-=item *
-
-There are probably many more bugs on non-ASCII platforms (EBCDIC).
-
-=back
-
-=head1 AUTHOR
-
-Stephen McCamant <smcc@CSUA.Berkeley.EDU>, based on an earlier version
-by Malcolm Beattie <mbeattie@sable.ox.ac.uk>, with contributions from
-Gisle Aas, James Duncan, Albert Dvornik, Robin Houston, Dave Mitchell,
-Hugo van der Sanden, Gurusamy Sarathy, Nick Ing-Simmons, and Rafael
-Garcia-Suarez.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Lint.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Lint.pm
deleted file mode 100644
index 76bc9fd0236..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Lint.pm
+++ /dev/null
@@ -1,792 +0,0 @@
-package B::Lint;
-
-our $VERSION = '1.11'; ## no critic
-
-=head1 NAME
-
-B::Lint - Perl lint
-
-=head1 SYNOPSIS
-
-perl -MO=Lint[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-The B::Lint module is equivalent to an extended version of the B<-w>
-option of B<perl>. It is named after the program F<lint> which carries
-out a similar process for C programs.
-
-=head1 OPTIONS AND LINT CHECKS
-
-Option words are separated by commas (not whitespace) and follow the
-usual conventions of compiler backend options. Following any options
-(indicated by a leading B<->) come lint check arguments. Each such
-argument (apart from the special B<all> and B<none> options) is a
-word representing one possible lint check (turning on that check) or
-is B<no-foo> (turning off that check). Before processing the check
-arguments, a standard list of checks is turned on. Later options
-override earlier ones. Available options are:
-
-=over 8
-
-=item B<magic-diamond>
-
-Produces a warning whenever the magic C<E<lt>E<gt>> readline is
-used. Internally it uses perl's two-argument open which itself treats
-filenames with special characters specially. This could allow
-interestingly named files to have unexpected effects when reading.
-
- % touch 'rm *|'
- % perl -pe 1
-
-The above creates a file named C<rm *|>. When perl opens it with
-C<E<lt>E<gt>> it actually executes the shell program C<rm *>. This
-makes C<E<lt>E<gt>> dangerous to use carelessly.
-
-=item B<context>
-
-Produces a warning whenever an array is used in an implicit scalar
-context. For example, both of the lines
-
- $foo = length(@bar);
- $foo = @bar;
-
-will elicit a warning. Using an explicit B<scalar()> silences the
-warning. For example,
-
- $foo = scalar(@bar);
-
-=item B<implicit-read> and B<implicit-write>
-
-These options produce a warning whenever an operation implicitly
-reads or (respectively) writes to one of Perl's special variables.
-For example, B<implicit-read> will warn about these:
-
- /foo/;
-
-and B<implicit-write> will warn about these:
-
- s/foo/bar/;
-
-Both B<implicit-read> and B<implicit-write> warn about this:
-
- for (@a) { ... }
-
-=item B<bare-subs>
-
-This option warns whenever a bareword is implicitly quoted, but is also
-the name of a subroutine in the current package. Typical mistakes that it will
-trap are:
-
- use constant foo => 'bar';
- @a = ( foo => 1 );
- $b{foo} = 2;
-
-Neither of these will do what a naive user would expect.
-
-=item B<dollar-underscore>
-
-This option warns whenever C<$_> is used either explicitly anywhere or
-as the implicit argument of a B<print> statement.
-
-=item B<private-names>
-
-This option warns on each use of any variable, subroutine or
-method name that lives in a non-current package but begins with
-an underscore ("_"). Warnings aren't issued for the special case
-of the single character name "_" by itself (e.g. C<$_> and C<@_>).
-
-=item B<undefined-subs>
-
-This option warns whenever an undefined subroutine is invoked.
-This option will only catch explicitly invoked subroutines such
-as C<foo()> and not indirect invocations such as C<&$subref()>
-or C<$obj-E<gt>meth()>. Note that some programs or modules delay
-definition of subs until runtime by means of the AUTOLOAD
-mechanism.
-
-=item B<regexp-variables>
-
-This option warns whenever one of the regexp variables C<$`>, C<$&> or C<$'>
-is used. Any occurrence of any of these variables in your
-program can slow your whole program down. See L<perlre> for
-details.
-
-=item B<all>
-
-Turn all warnings on.
-
-=item B<none>
-
-Turn all warnings off.
-
-=back
-
-=head1 NON LINT-CHECK OPTIONS
-
-=over 8
-
-=item B<-u Package>
-
-Normally, Lint only checks the main code of the program together
-with all subs defined in package main. The B<-u> option lets you
-include other package names whose subs are then checked by Lint.
-
-=back
-
-=head1 EXTENDING LINT
-
-Lint can be extended by with plugins. Lint uses L<Module::Pluggable>
-to find available plugins. Plugins are expected but not required to
-inform Lint of which checks they are adding.
-
-The C<< B::Lint->register_plugin( MyPlugin => \@new_checks ) >> method
-adds the list of C<@new_checks> to the list of valid checks. If your
-module wasn't loaded by L<Module::Pluggable> then your class name is
-added to the list of plugins.
-
-You must create a C<match( \%checks )> method in your plugin class or one
-of its parents. It will be called on every op as a regular method call
-with a hash ref of checks as its parameter.
-
-The class methods C<< B::Lint->file >> and C<< B::Lint->line >> contain
-the current filename and line number.
-
- package Sample;
- use B::Lint;
- B::Lint->register_plugin( Sample => [ 'good_taste' ] );
-
- sub match {
- my ( $op, $checks_href ) = shift @_;
- if ( $checks_href->{good_taste} ) {
- ...
- }
- }
-
-=head1 TODO
-
-=over
-
-=item while(<FH>) stomps $_
-
-=item strict oo
-
-=item unchecked system calls
-
-=item more tests, validate against older perls
-
-=back
-
-=head1 BUGS
-
-This is only a very preliminary version.
-
-=head1 AUTHOR
-
-Malcolm Beattie, mbeattie@sable.ox.ac.uk.
-
-=head1 ACKNOWLEDGEMENTS
-
-Sebastien Aperghis-Tramoni - bug fixes
-
-=cut
-
-use strict;
-use B qw( walkoptree_slow
- main_root main_cv walksymtable parents
- OPpOUR_INTRO
- OPf_WANT_VOID OPf_WANT_LIST OPf_WANT OPf_STACKED SVf_POK );
-use Carp 'carp';
-
-# The current M::P doesn't know about .pmc files.
-use Module::Pluggable ( require => 1 );
-
-use List::Util 'first';
-## no critic Prototypes
-sub any (&@) { my $test = shift @_; $test->() and return 1 for @_; return 0 }
-
-BEGIN {
-
- # Import or create some constants from B. B doesn't provide
- # everything I need so some things like OPpCONST_BARE are defined
- # here.
- for my $sym ( qw( begin_av check_av init_av end_av ),
- [ 'OPpCONST_BARE' => 64 ] )
- {
- my $val;
- ( $sym, $val ) = @$sym if ref $sym;
-
- if ( any { $sym eq $_ } @B::EXPORT_OK, @B::EXPORT ) {
- B->import($sym);
- }
- else {
- require constant;
- constant->import( $sym => $val );
- }
- }
-}
-
-my $file = "unknown"; # shadows current filename
-my $line = 0; # shadows current line number
-my $curstash = "main"; # shadows current stash
-my $curcv; # shadows current B::CV for pad lookups
-
-sub file {$file}
-sub line {$line}
-sub curstash {$curstash}
-sub curcv {$curcv}
-
-# Lint checks
-my %check;
-my %implies_ok_context;
-
-map( $implies_ok_context{$_}++,
- qw(scalar av2arylen aelem aslice helem hslice
- keys values hslice defined undef delete) );
-
-# Lint checks turned on by default
-my @default_checks
- = qw(context magic_diamond undefined_subs regexp_variables);
-
-my %valid_check;
-
-# All valid checks
-for my $check (
- qw(context implicit_read implicit_write dollar_underscore
- private_names bare_subs undefined_subs regexp_variables
- magic_diamond )
- )
-{
- $valid_check{$check} = __PACKAGE__;
-}
-
-# Debugging options
-my ($debug_op);
-
-my %done_cv; # used to mark which subs have already been linted
-my @extra_packages; # Lint checks mainline code and all subs which are
- # in main:: or in one of these packages.
-
-sub warning {
- my $format = ( @_ < 2 ) ? "%s" : shift @_;
- warn sprintf( "$format at %s line %d\n", @_, $file, $line );
- return undef; ## no critic undef
-}
-
-# This gimme can't cope with context that's only determined
-# at runtime via dowantarray().
-sub gimme {
- my $op = shift @_;
- my $flags = $op->flags;
- if ( $flags & OPf_WANT ) {
- return ( ( $flags & OPf_WANT ) == OPf_WANT_LIST ? 1 : 0 );
- }
- return undef; ## no critic undef
-}
-
-my @plugins = __PACKAGE__->plugins;
-
-sub inside_grepmap {
-
- # A boolean function to be used while inside a B::walkoptree_slow
- # call. If we are in the EXPR part of C<grep EXPR, ...> or C<grep
- # { EXPR } ...>, this returns true.
- return any { $_->name =~ m/\A(?:grep|map)/xms } @{ parents() };
-}
-
-sub inside_foreach_modifier {
-
- # TODO: use any()
-
- # A boolean function to be used while inside a B::walkoptree_slow
- # call. If we are in the EXPR part of C<EXPR foreach ...> this
- # returns true.
- for my $ancestor ( @{ parents() } ) {
- next unless $ancestor->name eq 'leaveloop';
-
- my $first = $ancestor->first;
- next unless $first->name eq 'enteriter';
-
- next if $first->redoop->name =~ m/\A(?:next|db|set)state\z/xms;
-
- return 1;
- }
- return 0;
-}
-
-for (
- [qw[ B::PADOP::gv_harder gv padix]],
- [qw[ B::SVOP::sv_harder sv targ]],
- [qw[ B::SVOP::gv_harder gv padix]]
- )
-{
-
- # I'm generating some functions here because they're mostly
- # similar. It's all for compatibility with threaded
- # perl. Perhaps... this code should inspect $Config{usethreads}
- # and generate a *specific* function. I'm leaving it generic for
- # the moment.
- #
- # In threaded perl SVs and GVs aren't used directly in the optrees
- # like they are in non-threaded perls. The ops that would use a SV
- # or GV keep an index into the subroutine's scratchpad. I'm
- # currently ignoring $cv->DEPTH and that might be at my peril.
-
- my ( $subname, $attr, $pad_attr ) = @$_;
- my $target = do { ## no critic strict
- no strict 'refs';
- \*$subname;
- };
- *$target = sub {
- my ($op) = @_;
-
- my $elt;
- if ( not $op->isa('B::PADOP') ) {
- $elt = $op->$attr;
- }
- return $elt if eval { $elt->isa('B::SV') };
-
- my $ix = $op->$pad_attr;
- my @entire_pad = $curcv->PADLIST->ARRAY;
- my @elts = map +( $_->ARRAY )[$ix], @entire_pad;
- ($elt) = first {
- eval { $_->isa('B::SV') } ? $_ : ();
- }
- @elts[ 0, reverse 1 .. $#elts ];
- return $elt;
- };
-}
-
-sub B::OP::lint {
- my ($op) = @_;
-
- # This is a fallback ->lint for all the ops where I haven't
- # defined something more specific. Nothing happens here.
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::COP::lint {
- my ($op) = @_;
-
- # nextstate ops sit between statements. Whenever I see one I
- # update the current info on file, line, and stash. This code also
- # updates it when it sees a dbstate or setstate op. I have no idea
- # what those are but having seen them mentioned together in other
- # parts of the perl I think they're kind of equivalent.
- if ( $op->name =~ m/\A(?:next|db|set)state\z/ ) {
- $file = $op->file;
- $line = $op->line;
- $curstash = $op->stash->NAME;
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::UNOP::lint {
- my ($op) = @_;
-
- my $opname = $op->name;
-
-CONTEXT: {
-
- # Check arrays and hashes in scalar or void context where
- # scalar() hasn't been used.
-
- next
- unless $check{context}
- and $opname =~ m/\Arv2[ah]v\z/xms
- and not gimme($op);
-
- my ( $parent, $gparent ) = @{ parents() }[ 0, 1 ];
- my $pname = $parent->name;
-
- next if $implies_ok_context{$pname};
-
- # Three special cases to deal with: "foreach (@foo)", "delete
- # $a{$b}", and "exists $a{$b}" null out the parent so we have to
- # check for a parent of pp_null and a grandparent of
- # pp_enteriter, pp_delete, pp_exists
-
- next
- if $pname eq "null"
- and $gparent->name =~ m/\A(?:delete|enteriter|exists)\z/xms;
-
- # our( @bar ); would also trigger this error so I exclude
- # that.
- next
- if $op->private & OPpOUR_INTRO
- and ( $op->flags & OPf_WANT ) == OPf_WANT_VOID;
-
- warning 'Implicit scalar context for %s in %s',
- $opname eq "rv2av" ? "array" : "hash", $parent->desc;
- }
-
-PRIVATE_NAMES: {
-
- # Looks for calls to methods with names that begin with _ and
- # that aren't visible within the current package. Maybe this
- # should look at @ISA.
- next
- unless $check{private_names}
- and $opname =~ m/\Amethod/xms;
-
- my $methop = $op->first;
- next unless $methop->name eq "const";
-
- my $method = $methop->sv_harder->PV;
- next
- unless $method =~ m/\A_/xms
- and not defined &{"$curstash\::$method"};
-
- warning q[Illegal reference to private method name '%s'], $method;
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::PMOP::lint {
- my ($op) = @_;
-
-IMPLICIT_READ: {
-
- # Look for /.../ that doesn't use =~ to bind to something.
- next
- unless $check{implicit_read}
- and $op->name eq "match"
- and not( $op->flags & OPf_STACKED
- or inside_grepmap() );
- warning 'Implicit match on $_';
- }
-
-IMPLICIT_WRITE: {
-
- # Look for s/.../.../ that doesn't use =~ to bind to
- # something.
- next
- unless $check{implicit_write}
- and $op->name eq "subst"
- and not $op->flags & OPf_STACKED;
- warning 'Implicit substitution on $_';
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::LOOP::lint {
- my ($op) = @_;
-
-IMPLICIT_FOO: {
-
- # Look for C<for ( ... )>.
- next
- unless ( $check{implicit_read} or $check{implicit_write} )
- and $op->name eq "enteriter";
-
- my $last = $op->last;
- next
- unless $last->name eq "gv"
- and $last->gv_harder->NAME eq "_"
- and $op->redoop->name =~ m/\A(?:next|db|set)state\z/xms;
-
- warning 'Implicit use of $_ in foreach';
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-# In threaded vs non-threaded perls you'll find that threaded perls
-# use PADOP in place of SVOPs so they can do lookups into the
-# scratchpad to find things. I suppose this is so a optree can be
-# shared between threads and all symbol table muckery will just get
-# written to a scratchpad.
-*B::PADOP::lint = *B::PADOP::lint = \&B::SVOP::lint;
-
-sub B::SVOP::lint {
- my ($op) = @_;
-
-MAGIC_DIAMOND: {
- next
- unless $check{magic_diamond}
- and parents()->[0]->name eq 'readline'
- and $op->gv_harder->NAME eq 'ARGV';
-
- warning 'Use of <>';
- }
-
-BARE_SUBS: {
- next
- unless $check{bare_subs}
- and $op->name eq 'const'
- and $op->private & OPpCONST_BARE;
-
- my $sv = $op->sv_harder;
- next unless $sv->FLAGS & SVf_POK;
-
- my $sub = $sv->PV;
- my $subname = "$curstash\::$sub";
-
- # I want to skip over things that were declared with the
- # constant pragma. Well... sometimes. Hmm. I want to ignore
- # C<<use constant FOO => ...>> but warn on C<<FOO => ...>>
- # later. The former is typical declaration syntax and the
- # latter would be an error.
- #
- # Skipping over both could be handled by looking if
- # $constant::declared{$subname} is true.
-
- # Check that it's a function.
- next
- unless exists &{"$curstash\::$sub"};
-
- warning q[Bare sub name '%s' interpreted as string], $sub;
- }
-
-PRIVATE_NAMES: {
- next unless $check{private_names};
-
- my $opname = $op->name;
- if ( $opname =~ m/\Agv(?:sv)?\z/xms ) {
-
- # Looks for uses of variables and stuff that are named
- # private and we're not in the same package.
- my $gv = $op->gv_harder;
- my $name = $gv->NAME;
- next
- unless $name =~ m/\A_./xms
- and $gv->STASH->NAME ne $curstash;
-
- warning q[Illegal reference to private name '%s'], $name;
- }
- elsif ( $opname eq "method_named" ) {
- my $method = $op->sv_harder->PV;
- next unless $method =~ m/\A_./xms;
-
- warning q[Illegal reference to private method name '%s'], $method;
- }
- }
-
-DOLLAR_UNDERSCORE: {
-
- # Warn on uses of $_ with a few exceptions. I'm not warning on
- # $_ inside grep, map, or statement modifer foreach because
- # they localize $_ and it'd be impossible to use these
- # features without getting warnings.
-
- next
- unless $check{dollar_underscore}
- and $op->name eq "gvsv"
- and $op->gv_harder->NAME eq "_"
- and not( inside_grepmap
- or inside_foreach_modifier );
-
- warning 'Use of $_';
- }
-
-REGEXP_VARIABLES: {
-
- # Look for any uses of $`, $&, or $'.
- next
- unless $check{regexp_variables}
- and $op->name eq "gvsv";
-
- my $name = $op->gv_harder->NAME;
- next unless $name =~ m/\A[\&\'\`]\z/xms;
-
- warning 'Use of regexp variable $%s', $name;
- }
-
-UNDEFINED_SUBS: {
-
- # Look for calls to functions that either don't exist or don't
- # have a definition.
- next
- unless $check{undefined_subs}
- and $op->name eq "gv"
- and $op->next->name eq "entersub";
-
- my $gv = $op->gv_harder;
- my $subname = $gv->STASH->NAME . "::" . $gv->NAME;
-
- no strict 'refs'; ## no critic strict
- if ( not exists &$subname ) {
- $subname =~ s/\Amain:://;
- warning q[Nonexistant subroutine '%s' called], $subname;
- }
- elsif ( not defined &$subname ) {
- $subname =~ s/\A\&?main:://;
- warning q[Undefined subroutine '%s' called], $subname;
- }
- }
-
- # Call all registered plugins
- my $m;
- $m = $_->can('match'), $op->$m( \%check ) for @plugins;
- return;
-}
-
-sub B::GV::lintcv {
-
- # Example: B::svref_2object( \ *A::Glob )->lintcv
-
- my $gv = shift @_;
- my $cv = $gv->CV;
- return unless $cv->can('lintcv');
- $cv->lintcv;
- return;
-}
-
-sub B::CV::lintcv {
-
- # Example: B::svref_2object( \ &foo )->lintcv
-
- # Write to the *global* $
- $curcv = shift @_;
-
- #warn sprintf("lintcv: %s::%s (done=%d)\n",
- # $gv->STASH->NAME, $gv->NAME, $done_cv{$$curcv});#debug
- return unless ref($curcv) and $$curcv and not $done_cv{$$curcv}++;
- my $root = $curcv->ROOT;
-
- #warn " root = $root (0x$$root)\n";#debug
- walkoptree_slow( $root, "lint" ) if $$root;
- return;
-}
-
-sub do_lint {
- my %search_pack;
-
- # Copy to the global $curcv for use in pad lookups.
- $curcv = main_cv;
- walkoptree_slow( main_root, "lint" ) if ${ main_root() };
-
- # Do all the miscellaneous non-sub blocks.
- for my $av ( begin_av, init_av, check_av, end_av ) {
- next unless eval { $av->isa('B::AV') };
- for my $cv ( $av->ARRAY ) {
- next unless ref($cv) and $cv->FILE eq $0;
- $cv->lintcv;
- }
- }
-
- walksymtable(
- \%main::,
- sub {
- if ( $_[0]->FILE eq $0 ) { $_[0]->lintcv }
- },
- sub {1}
- );
- return;
-}
-
-sub compile {
- my @options = @_;
-
- # Turn on default lint checks
- for my $opt (@default_checks) {
- $check{$opt} = 1;
- }
-
-OPTION:
- while ( my $option = shift @options ) {
- my ( $opt, $arg );
- unless ( ( $opt, $arg ) = $option =~ m/\A-(.)(.*)/xms ) {
- unshift @options, $option;
- last OPTION;
- }
-
- if ( $opt eq "-" && $arg eq "-" ) {
- shift @options;
- last OPTION;
- }
- elsif ( $opt eq "D" ) {
- $arg ||= shift @options;
- foreach my $arg ( split //, $arg ) {
- if ( $arg eq "o" ) {
- B->debug(1);
- }
- elsif ( $arg eq "O" ) {
- $debug_op = 1;
- }
- }
- }
- elsif ( $opt eq "u" ) {
- $arg ||= shift @options;
- push @extra_packages, $arg;
- }
- }
-
- foreach my $opt ( @default_checks, @options ) {
- $opt =~ tr/-/_/;
- if ( $opt eq "all" ) {
- %check = %valid_check;
- }
- elsif ( $opt eq "none" ) {
- %check = ();
- }
- else {
- if ( $opt =~ s/\Ano_//xms ) {
- $check{$opt} = 0;
- }
- else {
- $check{$opt} = 1;
- }
- carp "No such check: $opt"
- unless defined $valid_check{$opt};
- }
- }
-
- # Remaining arguments are things to check. So why aren't I
- # capturing them or something? I don't know.
-
- return \&do_lint;
-}
-
-sub register_plugin {
- my ( undef, $plugin, $new_checks ) = @_;
-
- # Allow the user to be lazy and not give us a name.
- $plugin = caller unless defined $plugin;
-
- # Register the plugin's named checks, if any.
- for my $check ( eval {@$new_checks} ) {
- if ( not defined $check ) {
- carp 'Undefined value in checks.';
- next;
- }
- if ( exists $valid_check{$check} ) {
- carp
- "$check is already registered as a $valid_check{$check} feature.";
- next;
- }
-
- $valid_check{$check} = $plugin;
- }
-
- # Register a non-Module::Pluggable loaded module. @plugins already
- # contains whatever M::P found on disk. The user might load a
- # plugin manually from some arbitrary namespace and ask for it to
- # be registered.
- if ( not any { $_ eq $plugin } @plugins ) {
- push @plugins, $plugin;
- }
-
- return;
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Showlex.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Showlex.pm
deleted file mode 100644
index 3b261a337df..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Showlex.pm
+++ /dev/null
@@ -1,205 +0,0 @@
-package B::Showlex;
-
-our $VERSION = '1.02';
-
-use strict;
-use B qw(svref_2object comppadlist class);
-use B::Terse ();
-use B::Concise ();
-
-#
-# Invoke as
-# perl -MO=Showlex,foo bar.pl
-# to see the names of lexical variables used by &foo
-# or as
-# perl -MO=Showlex bar.pl
-# to see the names of file scope lexicals used by bar.pl
-#
-
-
-# borrowed from B::Concise
-our $walkHandle = \*STDOUT;
-
-sub walk_output { # updates $walkHandle
- $walkHandle = B::Concise::walk_output(@_);
- #print "got $walkHandle";
- #print $walkHandle "using it";
- $walkHandle;
-}
-
-sub shownamearray {
- my ($name, $av) = @_;
- my @els = $av->ARRAY;
- my $count = @els;
- my $i;
- print $walkHandle "$name has $count entries\n";
- for ($i = 0; $i < $count; $i++) {
- my $sv = $els[$i];
- if (class($sv) ne "SPECIAL") {
- printf $walkHandle "$i: %s (0x%lx) %s\n", class($sv), $$sv, $sv->PVX;
- } else {
- printf $walkHandle "$i: %s\n", $sv->terse;
- #printf $walkHandle "$i: %s\n", B::Concise::concise_sv($sv);
- }
- }
-}
-
-sub showvaluearray {
- my ($name, $av) = @_;
- my @els = $av->ARRAY;
- my $count = @els;
- my $i;
- print $walkHandle "$name has $count entries\n";
- for ($i = 0; $i < $count; $i++) {
- printf $walkHandle "$i: %s\n", $els[$i]->terse;
- #print $walkHandle "$i: %s\n", B::Concise::concise_sv($els[$i]);
- }
-}
-
-sub showlex {
- my ($objname, $namesav, $valsav) = @_;
- shownamearray("Pad of lexical names for $objname", $namesav);
- showvaluearray("Pad of lexical values for $objname", $valsav);
-}
-
-my ($newlex, $nosp1); # rendering state vars
-
-sub newlex { # drop-in for showlex
- my ($objname, $names, $vals) = @_;
- my @names = $names->ARRAY;
- my @vals = $vals->ARRAY;
- my $count = @names;
- print $walkHandle "$objname Pad has $count entries\n";
- printf $walkHandle "0: %s\n", $names[0]->terse unless $nosp1;
- for (my $i = 1; $i < $count; $i++) {
- printf $walkHandle "$i: %s = %s\n", $names[$i]->terse, $vals[$i]->terse
- unless $nosp1 and $names[$i]->terse =~ /SPECIAL/;
- }
-}
-
-sub showlex_obj {
- my ($objname, $obj) = @_;
- $objname =~ s/^&main::/&/;
- showlex($objname, svref_2object($obj)->PADLIST->ARRAY) if !$newlex;
- newlex ($objname, svref_2object($obj)->PADLIST->ARRAY) if $newlex;
-}
-
-sub showlex_main {
- showlex("comppadlist", comppadlist->ARRAY) if !$newlex;
- newlex ("main", comppadlist->ARRAY) if $newlex;
-}
-
-sub compile {
- my @options = grep(/^-/, @_);
- my @args = grep(!/^-/, @_);
- for my $o (@options) {
- $newlex = 1 if $o eq "-newlex";
- $nosp1 = 1 if $o eq "-nosp";
- }
-
- return \&showlex_main unless @args;
- return sub {
- my $objref;
- foreach my $objname (@args) {
- next unless $objname; # skip nulls w/o carping
-
- if (ref $objname) {
- print $walkHandle "B::Showlex::compile($objname)\n";
- $objref = $objname;
- } else {
- $objname = "main::$objname" unless $objname =~ /::/;
- print $walkHandle "$objname:\n";
- no strict 'refs';
- die "err: unknown function ($objname)\n"
- unless *{$objname}{CODE};
- $objref = \&$objname;
- }
- showlex_obj($objname, $objref);
- }
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-B::Showlex - Show lexical variables used in functions or files
-
-=head1 SYNOPSIS
-
- perl -MO=Showlex[,-OPTIONS][,SUBROUTINE] foo.pl
-
-=head1 DESCRIPTION
-
-When a comma-separated list of subroutine names is given as options, Showlex
-prints the lexical variables used in those subroutines. Otherwise, it prints
-the file-scope lexicals in the file.
-
-=head1 EXAMPLES
-
-Traditional form:
-
- $ perl -MO=Showlex -e 'my ($i,$j,$k)=(1,"foo")'
- Pad of lexical names for comppadlist has 4 entries
- 0: SPECIAL #1 &PL_sv_undef
- 1: PVNV (0x9db0fb0) $i
- 2: PVNV (0x9db0f38) $j
- 3: PVNV (0x9db0f50) $k
- Pad of lexical values for comppadlist has 5 entries
- 0: SPECIAL #1 &PL_sv_undef
- 1: NULL (0x9da4234)
- 2: NULL (0x9db0f2c)
- 3: NULL (0x9db0f44)
- 4: NULL (0x9da4264)
- -e syntax OK
-
-New-style form:
-
- $ perl -MO=Showlex,-newlex -e 'my ($i,$j,$k)=(1,"foo")'
- main Pad has 4 entries
- 0: SPECIAL #1 &PL_sv_undef
- 1: PVNV (0xa0c4fb8) "$i" = NULL (0xa0b8234)
- 2: PVNV (0xa0c4f40) "$j" = NULL (0xa0c4f34)
- 3: PVNV (0xa0c4f58) "$k" = NULL (0xa0c4f4c)
- -e syntax OK
-
-New form, no specials, outside O framework:
-
- $ perl -MB::Showlex -e \
- 'my ($i,$j,$k)=(1,"foo"); B::Showlex::compile(-newlex,-nosp)->()'
- main Pad has 4 entries
- 1: PVNV (0x998ffb0) "$i" = IV (0x9983234) 1
- 2: PVNV (0x998ff68) "$j" = PV (0x998ff5c) "foo"
- 3: PVNV (0x998ff80) "$k" = NULL (0x998ff74)
-
-Note that this example shows the values of the lexicals, whereas the other
-examples did not (as they're compile-time only).
-
-=head2 OPTIONS
-
-The C<-newlex> option produces a more readable C<< name => value >> format,
-and is shown in the second example above.
-
-The C<-nosp> option eliminates reporting of SPECIALs, such as C<0: SPECIAL
-#1 &PL_sv_undef> above. Reporting of SPECIALs can sometimes overwhelm
-your declared lexicals.
-
-=head1 SEE ALSO
-
-C<B::Showlex> can also be used outside of the O framework, as in the third
-example. See C<B::Concise> for a fuller explanation of reasons.
-
-=head1 TODO
-
-Some of the reported info, such as hex addresses, is not particularly
-valuable. Other information would be more useful for the typical
-programmer, such as line-numbers, pad-slot reuses, etc.. Given this,
--newlex isnt a particularly good flag-name.
-
-=head1 AUTHOR
-
-Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Terse.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Terse.pm
deleted file mode 100644
index 562c58abd83..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Terse.pm
+++ /dev/null
@@ -1,102 +0,0 @@
-package B::Terse;
-
-our $VERSION = '1.05';
-
-use strict;
-use B qw(class @specialsv_name);
-use B::Concise qw(concise_subref set_style_standard);
-use Carp;
-
-sub terse {
- my ($order, $subref) = @_;
- set_style_standard("terse");
- if ($order eq "exec") {
- concise_subref('exec', $subref);
- } else {
- concise_subref('basic', $subref);
- }
-}
-
-sub compile {
- my @args = @_;
- my $order = @args ? shift(@args) : "";
- $order = "-exec" if $order eq "exec";
- unshift @args, $order if $order ne "";
- B::Concise::compile("-terse", @args);
-}
-
-sub indent {
- my ($level) = @_ ? shift : 0;
- return " " x $level;
-}
-
-# Don't use this, at least on OPs in subroutines: it has no way of
-# getting to the pad, and will give wrong answers or crash.
-sub B::OP::terse {
- carp "B::OP::terse is deprecated; use B::Concise instead";
- B::Concise::b_terse(@_);
-}
-
-sub B::SV::terse {
- my($sv, $level) = (@_, 0);
- my %info;
- B::Concise::concise_sv($sv, \%info);
- my $s = indent($level)
- . B::Concise::fmt_line(\%info, $sv,
- "#svclass~(?((#svaddr))?)~#svval", 0);
- chomp $s;
- print "$s\n" unless defined wantarray;
- $s;
-}
-
-sub B::NULL::terse {
- my ($sv, $level) = (@_, 0);
- my $s = indent($level) . sprintf "%s (0x%lx)", class($sv), $$sv;
- print "$s\n" unless defined wantarray;
- $s;
-}
-
-sub B::SPECIAL::terse {
- my ($sv, $level) = (@_, 0);
- my $s = indent($level)
- . sprintf( "%s #%d %s", class($sv), $$sv, $specialsv_name[$$sv]);
- print "$s\n" unless defined wantarray;
- $s;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-B::Terse - Walk Perl syntax tree, printing terse info about ops
-
-=head1 SYNOPSIS
-
- perl -MO=Terse[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-This version of B::Terse is really just a wrapper that calls B::Concise
-with the B<-terse> option. It is provided for compatibility with old scripts
-(and habits) but using B::Concise directly is now recommended instead.
-
-For compatibility with the old B::Terse, this module also adds a
-method named C<terse> to B::OP and B::SV objects. The B::SV method is
-largely compatible with the old one, though authors of new software
-might be advised to choose a more user-friendly output format. The
-B::OP C<terse> method, however, doesn't work well. Since B::Terse was
-first written, much more information in OPs has migrated to the
-scratchpad datastructure, but the C<terse> interface doesn't have any
-way of getting to the correct pad. As a kludge, the new version will
-always use the pad for the main program, but for OPs in subroutines
-this will give the wrong answer or crash.
-
-=head1 AUTHOR
-
-The original version of B::Terse was written by Malcolm Beattie,
-E<lt>mbeattie@sable.ox.ac.ukE<gt>. This wrapper was written by Stephen
-McCamant, E<lt>smcc@MIT.EDUE<gt>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Xref.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Xref.pm
deleted file mode 100644
index f727dc766b5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/B/Xref.pm
+++ /dev/null
@@ -1,430 +0,0 @@
-package B::Xref;
-
-our $VERSION = '1.01';
-
-=head1 NAME
-
-B::Xref - Generates cross reference reports for Perl programs
-
-=head1 SYNOPSIS
-
-perl -MO=Xref[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-The B::Xref module is used to generate a cross reference listing of all
-definitions and uses of variables, subroutines and formats in a Perl program.
-It is implemented as a backend for the Perl compiler.
-
-The report generated is in the following format:
-
- File filename1
- Subroutine subname1
- Package package1
- object1 line numbers
- object2 line numbers
- ...
- Package package2
- ...
-
-Each B<File> section reports on a single file. Each B<Subroutine> section
-reports on a single subroutine apart from the special cases
-"(definitions)" and "(main)". These report, respectively, on subroutine
-definitions found by the initial symbol table walk and on the main part of
-the program or module external to all subroutines.
-
-The report is then grouped by the B<Package> of each variable,
-subroutine or format with the special case "(lexicals)" meaning
-lexical variables. Each B<object> name (implicitly qualified by its
-containing B<Package>) includes its type character(s) at the beginning
-where possible. Lexical variables are easier to track and even
-included dereferencing information where possible.
-
-The C<line numbers> are a comma separated list of line numbers (some
-preceded by code letters) where that object is used in some way.
-Simple uses aren't preceded by a code letter. Introductions (such as
-where a lexical is first defined with C<my>) are indicated with the
-letter "i". Subroutine and method calls are indicated by the character
-"&". Subroutine definitions are indicated by "s" and format
-definitions by "f".
-
-=head1 OPTIONS
-
-Option words are separated by commas (not whitespace) and follow the
-usual conventions of compiler backend options.
-
-=over 8
-
-=item C<-oFILENAME>
-
-Directs output to C<FILENAME> instead of standard output.
-
-=item C<-r>
-
-Raw output. Instead of producing a human-readable report, outputs a line
-in machine-readable form for each definition/use of a variable/sub/format.
-
-=item C<-d>
-
-Don't output the "(definitions)" sections.
-
-=item C<-D[tO]>
-
-(Internal) debug options, probably only useful if C<-r> included.
-The C<t> option prints the object on the top of the stack as it's
-being tracked. The C<O> option prints each operator as it's being
-processed in the execution order of the program.
-
-=back
-
-=head1 BUGS
-
-Non-lexical variables are quite difficult to track through a program.
-Sometimes the type of a non-lexical variable's use is impossible to
-determine. Introductions of non-lexical non-scalars don't seem to be
-reported properly.
-
-=head1 AUTHOR
-
-Malcolm Beattie, mbeattie@sable.ox.ac.uk.
-
-=cut
-
-use strict;
-use Config;
-use B qw(peekop class comppadlist main_start svref_2object walksymtable
- OPpLVAL_INTRO SVf_POK OPpOUR_INTRO cstring
- );
-
-sub UNKNOWN { ["?", "?", "?"] }
-
-my @pad; # lexicals in current pad
- # as ["(lexical)", type, name]
-my %done; # keyed by $$op: set when each $op is done
-my $top = UNKNOWN; # shadows top element of stack as
- # [pack, type, name] (pack can be "(lexical)")
-my $file; # shadows current filename
-my $line; # shadows current line number
-my $subname; # shadows current sub name
-my %table; # Multi-level hash to record all uses etc.
-my @todo = (); # List of CVs that need processing
-
-my %code = (intro => "i", used => "",
- subdef => "s", subused => "&",
- formdef => "f", meth => "->");
-
-
-# Options
-my ($debug_op, $debug_top, $nodefs, $raw);
-
-sub process {
- my ($var, $event) = @_;
- my ($pack, $type, $name) = @$var;
- if ($type eq "*") {
- if ($event eq "used") {
- return;
- } elsif ($event eq "subused") {
- $type = "&";
- }
- }
- $type =~ s/(.)\*$/$1/g;
- if ($raw) {
- printf "%-16s %-12s %5d %-12s %4s %-16s %s\n",
- $file, $subname, $line, $pack, $type, $name, $event;
- } else {
- # Wheee
- push(@{$table{$file}->{$subname}->{$pack}->{$type.$name}->{$event}},
- $line);
- }
-}
-
-sub load_pad {
- my $padlist = shift;
- my ($namelistav, $vallistav, @namelist, $ix);
- @pad = ();
- return if class($padlist) eq "SPECIAL";
- ($namelistav,$vallistav) = $padlist->ARRAY;
- @namelist = $namelistav->ARRAY;
- for ($ix = 1; $ix < @namelist; $ix++) {
- my $namesv = $namelist[$ix];
- next if class($namesv) eq "SPECIAL";
- my ($type, $name) = $namesv->PV =~ /^(.)([^\0]*)(\0.*)?$/;
- $pad[$ix] = ["(lexical)", $type || '?', $name || '?'];
- }
- if ($Config{useithreads}) {
- my (@vallist);
- @vallist = $vallistav->ARRAY;
- for ($ix = 1; $ix < @vallist; $ix++) {
- my $valsv = $vallist[$ix];
- next unless class($valsv) eq "GV";
- # these pad GVs don't have corresponding names, so same @pad
- # array can be used without collisions
- $pad[$ix] = [$valsv->STASH->NAME, "*", $valsv->NAME];
- }
- }
-}
-
-sub xref {
- my $start = shift;
- my $op;
- for ($op = $start; $$op; $op = $op->next) {
- last if $done{$$op}++;
- warn sprintf("top = [%s, %s, %s]\n", @$top) if $debug_top;
- warn peekop($op), "\n" if $debug_op;
- my $opname = $op->name;
- if ($opname =~ /^(or|and|mapwhile|grepwhile|range|cond_expr)$/) {
- xref($op->other);
- } elsif ($opname eq "match" || $opname eq "subst") {
- xref($op->pmreplstart);
- } elsif ($opname eq "substcont") {
- xref($op->other->pmreplstart);
- $op = $op->other;
- redo;
- } elsif ($opname eq "enterloop") {
- xref($op->redoop);
- xref($op->nextop);
- xref($op->lastop);
- } elsif ($opname eq "subst") {
- xref($op->pmreplstart);
- } else {
- no strict 'refs';
- my $ppname = "pp_$opname";
- &$ppname($op) if defined(&$ppname);
- }
- }
-}
-
-sub xref_cv {
- my $cv = shift;
- my $pack = $cv->GV->STASH->NAME;
- $subname = ($pack eq "main" ? "" : "$pack\::") . $cv->GV->NAME;
- load_pad($cv->PADLIST);
- xref($cv->START);
- $subname = "(main)";
-}
-
-sub xref_object {
- my $cvref = shift;
- xref_cv(svref_2object($cvref));
-}
-
-sub xref_main {
- $subname = "(main)";
- load_pad(comppadlist);
- xref(main_start);
- while (@todo) {
- xref_cv(shift @todo);
- }
-}
-
-sub pp_nextstate {
- my $op = shift;
- $file = $op->file;
- $line = $op->line;
- $top = UNKNOWN;
-}
-
-sub pp_padsv {
- my $op = shift;
- $top = $pad[$op->targ];
- process($top, $op->private & OPpLVAL_INTRO ? "intro" : "used");
-}
-
-sub pp_padav { pp_padsv(@_) }
-sub pp_padhv { pp_padsv(@_) }
-
-sub deref {
- my ($op, $var, $as) = @_;
- $var->[1] = $as . $var->[1];
- process($var, $op->private & OPpOUR_INTRO ? "intro" : "used");
-}
-
-sub pp_rv2cv { deref(shift, $top, "&"); }
-sub pp_rv2hv { deref(shift, $top, "%"); }
-sub pp_rv2sv { deref(shift, $top, "\$"); }
-sub pp_rv2av { deref(shift, $top, "\@"); }
-sub pp_rv2gv { deref(shift, $top, "*"); }
-
-sub pp_gvsv {
- my $op = shift;
- my $gv;
- if ($Config{useithreads}) {
- $top = $pad[$op->padix];
- $top = UNKNOWN unless $top;
- $top->[1] = '$';
- }
- else {
- $gv = $op->gv;
- $top = [$gv->STASH->NAME, '$', $gv->SAFENAME];
- }
- process($top, $op->private & OPpLVAL_INTRO ||
- $op->private & OPpOUR_INTRO ? "intro" : "used");
-}
-
-sub pp_gv {
- my $op = shift;
- my $gv;
- if ($Config{useithreads}) {
- $top = $pad[$op->padix];
- $top = UNKNOWN unless $top;
- $top->[1] = '*';
- }
- else {
- $gv = $op->gv;
- $top = [$gv->STASH->NAME, "*", $gv->SAFENAME];
- }
- process($top, $op->private & OPpLVAL_INTRO ? "intro" : "used");
-}
-
-sub pp_const {
- my $op = shift;
- my $sv = $op->sv;
- # constant could be in the pad (under useithreads)
- if ($$sv) {
- $top = ["?", "",
- (class($sv) ne "SPECIAL" && $sv->FLAGS & SVf_POK)
- ? cstring($sv->PV) : "?"];
- }
- else {
- $top = $pad[$op->targ];
- $top = UNKNOWN unless $top;
- }
-}
-
-sub pp_method {
- my $op = shift;
- $top = ["(method)", "->".$top->[1], $top->[2]];
-}
-
-sub pp_entersub {
- my $op = shift;
- if ($top->[1] eq "m") {
- process($top, "meth");
- } else {
- process($top, "subused");
- }
- $top = UNKNOWN;
-}
-
-#
-# Stuff for cross referencing definitions of variables and subs
-#
-
-sub B::GV::xref {
- my $gv = shift;
- my $cv = $gv->CV;
- if ($$cv) {
- #return if $done{$$cv}++;
- $file = $gv->FILE;
- $line = $gv->LINE;
- process([$gv->STASH->NAME, "&", $gv->NAME], "subdef");
- push(@todo, $cv);
- }
- my $form = $gv->FORM;
- if ($$form) {
- return if $done{$$form}++;
- $file = $gv->FILE;
- $line = $gv->LINE;
- process([$gv->STASH->NAME, "", $gv->NAME], "formdef");
- }
-}
-
-sub xref_definitions {
- my ($pack, %exclude);
- return if $nodefs;
- $subname = "(definitions)";
- foreach $pack (qw(B O AutoLoader DynaLoader XSLoader Config DB VMS
- strict vars FileHandle Exporter Carp PerlIO::Layer
- attributes utf8 warnings)) {
- $exclude{$pack."::"} = 1;
- }
- no strict qw(vars refs);
- walksymtable(\%{"main::"}, "xref", sub { !defined($exclude{$_[0]}) });
-}
-
-sub output {
- return if $raw;
- my ($file, $subname, $pack, $name, $ev, $perfile, $persubname,
- $perpack, $pername, $perev);
- foreach $file (sort(keys(%table))) {
- $perfile = $table{$file};
- print "File $file\n";
- foreach $subname (sort(keys(%$perfile))) {
- $persubname = $perfile->{$subname};
- print " Subroutine $subname\n";
- foreach $pack (sort(keys(%$persubname))) {
- $perpack = $persubname->{$pack};
- print " Package $pack\n";
- foreach $name (sort(keys(%$perpack))) {
- $pername = $perpack->{$name};
- my @lines;
- foreach $ev (qw(intro formdef subdef meth subused used)) {
- $perev = $pername->{$ev};
- if (defined($perev) && @$perev) {
- my $code = $code{$ev};
- push(@lines, map("$code$_", @$perev));
- }
- }
- printf " %-16s %s\n", $name, join(", ", @lines);
- }
- }
- }
- }
-}
-
-sub compile {
- my @options = @_;
- my ($option, $opt, $arg);
- OPTION:
- while ($option = shift @options) {
- if ($option =~ /^-(.)(.*)/) {
- $opt = $1;
- $arg = $2;
- } else {
- unshift @options, $option;
- last OPTION;
- }
- if ($opt eq "-" && $arg eq "-") {
- shift @options;
- last OPTION;
- } elsif ($opt eq "o") {
- $arg ||= shift @options;
- open(STDOUT, ">$arg") or return "$arg: $!\n";
- } elsif ($opt eq "d") {
- $nodefs = 1;
- } elsif ($opt eq "r") {
- $raw = 1;
- } elsif ($opt eq "D") {
- $arg ||= shift @options;
- foreach $arg (split(//, $arg)) {
- if ($arg eq "o") {
- B->debug(1);
- } elsif ($arg eq "O") {
- $debug_op = 1;
- } elsif ($arg eq "t") {
- $debug_top = 1;
- }
- }
- }
- }
- if (@options) {
- return sub {
- my $objname;
- xref_definitions();
- foreach $objname (@options) {
- $objname = "main::$objname" unless $objname =~ /::/;
- eval "xref_object(\\&$objname)";
- die "xref_object(\\&$objname) failed: $@" if $@;
- }
- output();
- }
- } else {
- return sub {
- xref_definitions();
- xref_main();
- output();
- }
- }
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/EXTERN.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/EXTERN.h
deleted file mode 100644
index 58ca37a47ff..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/EXTERN.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* EXTERN.h
- *
- * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * EXT designates a global var which is defined in perl.h
- * dEXT designates a global var which is defined in another
- * file, so we can't count on finding it in perl.h
- * (this practice should be avoided).
- */
-#undef EXT
-#undef dEXT
-#undef EXTCONST
-#undef dEXTCONST
-#if defined(VMS) && !defined(__GNUC__)
- /* Suppress portability warnings from DECC for VMS-specific extensions */
-# ifdef __DECC
-# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
-# endif
-# define EXT globalref
-# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
-# define EXTCONST globalref
-# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-#else
-# if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS)
-# if defined(PERLDLL) || defined(__SYMBIAN32__)
-# define EXT extern __declspec(dllexport)
-# define dEXT
-# define EXTCONST extern __declspec(dllexport) const
-# define dEXTCONST const
-# else
-# define EXT extern __declspec(dllimport)
-# define dEXT
-# define EXTCONST extern __declspec(dllimport) const
-# define dEXTCONST const
-# endif
-# else
-# if defined(__CYGWIN__) && defined(USEIMPORTLIB)
-# define EXT extern __declspec(dllimport)
-# define dEXT
-# define EXTCONST extern __declspec(dllimport) const
-# define dEXTCONST const
-# else
-# define EXT extern
-# define dEXT
-# define EXTCONST extern const
-# define dEXTCONST const
-# endif
-# endif
-#endif
-
-#undef INIT
-#define INIT(x)
-
-#undef DOINIT
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/INTERN.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/INTERN.h
deleted file mode 100644
index da3057a83c6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/INTERN.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* INTERN.h
- *
- * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1998, 2000, 2001,
- * by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * EXT designates a global var which is defined in perl.h
- * dEXT designates a global var which is defined in another
- * file, so we can't count on finding it in perl.h
- * (this practice should be avoided).
- */
-#undef EXT
-#undef dEXT
-#undef EXTCONST
-#undef dEXTCONST
-#if defined(VMS) && !defined(__GNUC__)
- /* Suppress portability warnings from DECC for VMS-specific extensions */
-# ifdef __DECC
-# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
-# endif
-# define EXT globaldef {"$GLOBAL_RW_VARS"} noshare
-# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
-# define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-#else
-# if (defined(WIN32) && defined(__MINGW32__)) || defined(__SYMBIAN32__)
-# define EXT __declspec(dllexport)
-# define dEXT
-# define EXTCONST __declspec(dllexport) const
-# define dEXTCONST const
-# else
-# ifdef __cplusplus
-# define EXT
-# define dEXT
-# define EXTCONST extern const
-# define dEXTCONST const
-# else
-# define EXT
-# define dEXT
-# define EXTCONST const
-# define dEXTCONST const
-# endif
-# endif
-#endif
-
-#undef INIT
-#define INIT(x) = x
-
-#define DOINIT
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/XSUB.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/XSUB.h
deleted file mode 100644
index a049e8890a9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/XSUB.h
+++ /dev/null
@@ -1,655 +0,0 @@
-/* XSUB.h
- *
- * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- * 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifndef _INC_PERL_XSUB_H
-#define _INC_PERL_XSUB_H 1
-
-/* first, some documentation for xsubpp-generated items */
-
-/*
-=head1 Variables created by C<xsubpp> and C<xsubpp> internal functions
-
-=for apidoc Amn|char*|CLASS
-Variable which is setup by C<xsubpp> to indicate the
-class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>.
-
-=for apidoc Amn|(whatever)|RETVAL
-Variable which is setup by C<xsubpp> to hold the return value for an
-XSUB. This is always the proper type for the XSUB. See
-L<perlxs/"The RETVAL Variable">.
-
-=for apidoc Amn|(whatever)|THIS
-Variable which is setup by C<xsubpp> to designate the object in a C++
-XSUB. This is always the proper type for the C++ object. See C<CLASS> and
-L<perlxs/"Using XS With C++">.
-
-=for apidoc Amn|I32|ax
-Variable which is setup by C<xsubpp> to indicate the stack base offset,
-used by the C<ST>, C<XSprePUSH> and C<XSRETURN> macros. The C<dMARK> macro
-must be called prior to setup the C<MARK> variable.
-
-=for apidoc Amn|I32|items
-Variable which is setup by C<xsubpp> to indicate the number of
-items on the stack. See L<perlxs/"Variable-length Parameter Lists">.
-
-=for apidoc Amn|I32|ix
-Variable which is setup by C<xsubpp> to indicate which of an
-XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">.
-
-=for apidoc Am|SV*|ST|int ix
-Used to access elements on the XSUB's stack.
-
-=for apidoc AmU||XS
-Macro to declare an XSUB and its C parameter list. This is handled by
-C<xsubpp>.
-
-=for apidoc Ams||dAX
-Sets up the C<ax> variable.
-This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
-
-=for apidoc Ams||dAXMARK
-Sets up the C<ax> variable and stack marker variable C<mark>.
-This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
-
-=for apidoc Ams||dITEMS
-Sets up the C<items> variable.
-This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
-
-=for apidoc Ams||dXSARGS
-Sets up stack and mark pointers for an XSUB, calling dSP and dMARK.
-Sets up the C<ax> and C<items> variables by calling C<dAX> and C<dITEMS>.
-This is usually handled automatically by C<xsubpp>.
-
-=for apidoc Ams||dXSI32
-Sets up the C<ix> variable for an XSUB which has aliases. This is usually
-handled automatically by C<xsubpp>.
-
-=for apidoc Ams||dUNDERBAR
-Sets up the C<padoff_du> variable for an XSUB that wishes to use
-C<UNDERBAR>.
-
-=for apidoc AmU||UNDERBAR
-The SV* corresponding to the $_ variable. Works even if there
-is a lexical $_ in scope.
-
-=cut
-*/
-
-#ifndef PERL_UNUSED_ARG
-# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# include <note.h>
-# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
-# else
-# define PERL_UNUSED_ARG(x) ((void)x)
-# endif
-#endif
-#ifndef PERL_UNUSED_VAR
-# define PERL_UNUSED_VAR(x) ((void)x)
-#endif
-
-#define ST(off) PL_stack_base[ax + (off)]
-
-/* XSPROTO() is also used by SWIG like this:
- *
- * typedef XSPROTO(SwigPerlWrapper);
- * typedef SwigPerlWrapper *SwigPerlWrapperPtr;
- *
- * This code needs to be compilable under both C and C++.
- *
- * Don't forget to change the __attribute__unused__ version of XS()
- * below too if you change XSPROTO() here.
- */
-#define XSPROTO(name) void name(pTHX_ CV* cv)
-
-#undef XS
-#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
-# define XS(name) __declspec(dllexport) XSPROTO(name)
-#endif
-#if defined(__SYMBIAN32__)
-# define XS(name) EXPORT_C XSPROTO(name)
-#endif
-#ifndef XS
-# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-# define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
-# else
-# ifdef __cplusplus
-# define XS(name) extern "C" XSPROTO(name)
-# else
-# define XS(name) XSPROTO(name)
-# endif
-# endif
-#endif
-
-#define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1)
-
-#define dAXMARK \
- I32 ax = POPMARK; \
- register SV **mark = PL_stack_base + ax++
-
-#define dITEMS I32 items = (I32)(SP - MARK)
-
-#if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# define dXSARGS \
- NOTE(ARGUNUSED(cv)) \
- dSP; dAXMARK; dITEMS
-#else
-# define dXSARGS \
- dSP; dAXMARK; dITEMS
-#endif
-
-#define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
- ? PAD_SV(PL_op->op_targ) : sv_newmortal())
-
-/* Should be used before final PUSHi etc. if not in PPCODE section. */
-#define XSprePUSH (sp = PL_stack_base + ax - 1)
-
-#define XSANY CvXSUBANY(cv)
-
-#define dXSI32 I32 ix = XSANY.any_i32
-
-#ifdef __cplusplus
-# define XSINTERFACE_CVT(ret,name) ret (*name)(...)
-# define XSINTERFACE_CVT_ANON(ret) ret (*)(...)
-#else
-# define XSINTERFACE_CVT(ret,name) ret (*name)()
-# define XSINTERFACE_CVT_ANON(ret) ret (*)()
-#endif
-#define dXSFUNCTION(ret) XSINTERFACE_CVT(ret,XSFUNCTION)
-#define XSINTERFACE_FUNC(ret,cv,f) ((XSINTERFACE_CVT_ANON(ret))(f))
-#define XSINTERFACE_FUNC_SET(cv,f) \
- CvXSUBANY(cv).any_dxptr = (void (*) (pTHX_ void*))(f)
-
-#define dUNDERBAR PADOFFSET padoff_du = find_rundefsvoffset()
-#define UNDERBAR ((padoff_du == NOT_IN_PAD \
- || PAD_COMPNAME_FLAGS_isOUR(padoff_du)) \
- ? DEFSV : PAD_SVl(padoff_du))
-
-/* Simple macros to put new mortal values onto the stack. */
-/* Typically used to return values from XS functions. */
-
-/*
-=head1 Stack Manipulation Macros
-
-=for apidoc Am|void|XST_mIV|int pos|IV iv
-Place an integer into the specified position C<pos> on the stack. The
-value is stored in a new mortal SV.
-
-=for apidoc Am|void|XST_mNV|int pos|NV nv
-Place a double into the specified position C<pos> on the stack. The value
-is stored in a new mortal SV.
-
-=for apidoc Am|void|XST_mPV|int pos|char* str
-Place a copy of a string into the specified position C<pos> on the stack.
-The value is stored in a new mortal SV.
-
-=for apidoc Am|void|XST_mNO|int pos
-Place C<&PL_sv_no> into the specified position C<pos> on the
-stack.
-
-=for apidoc Am|void|XST_mYES|int pos
-Place C<&PL_sv_yes> into the specified position C<pos> on the
-stack.
-
-=for apidoc Am|void|XST_mUNDEF|int pos
-Place C<&PL_sv_undef> into the specified position C<pos> on the
-stack.
-
-=for apidoc Am|void|XSRETURN|int nitems
-Return from XSUB, indicating number of items on the stack. This is usually
-handled by C<xsubpp>.
-
-=for apidoc Am|void|XSRETURN_IV|IV iv
-Return an integer from an XSUB immediately. Uses C<XST_mIV>.
-
-=for apidoc Am|void|XSRETURN_UV|IV uv
-Return an integer from an XSUB immediately. Uses C<XST_mUV>.
-
-=for apidoc Am|void|XSRETURN_NV|NV nv
-Return a double from an XSUB immediately. Uses C<XST_mNV>.
-
-=for apidoc Am|void|XSRETURN_PV|char* str
-Return a copy of a string from an XSUB immediately. Uses C<XST_mPV>.
-
-=for apidoc Ams||XSRETURN_NO
-Return C<&PL_sv_no> from an XSUB immediately. Uses C<XST_mNO>.
-
-=for apidoc Ams||XSRETURN_YES
-Return C<&PL_sv_yes> from an XSUB immediately. Uses C<XST_mYES>.
-
-=for apidoc Ams||XSRETURN_UNDEF
-Return C<&PL_sv_undef> from an XSUB immediately. Uses C<XST_mUNDEF>.
-
-=for apidoc Ams||XSRETURN_EMPTY
-Return an empty list from an XSUB immediately.
-
-=head1 Variables created by C<xsubpp> and C<xsubpp> internal functions
-
-=for apidoc AmU||newXSproto|char* name|XSUBADDR_t f|char* filename|const char *proto
-Used by C<xsubpp> to hook up XSUBs as Perl subs. Adds Perl prototypes to
-the subs.
-
-=for apidoc AmU||XS_VERSION
-The version identifier for an XS module. This is usually
-handled automatically by C<ExtUtils::MakeMaker>. See C<XS_VERSION_BOOTCHECK>.
-
-=for apidoc Ams||XS_VERSION_BOOTCHECK
-Macro to verify that a PM module's $VERSION variable matches the XS
-module's C<XS_VERSION> variable. This is usually handled automatically by
-C<xsubpp>. See L<perlxs/"The VERSIONCHECK: Keyword">.
-
-=head1 Simple Exception Handling Macros
-
-=for apidoc Ams||dXCPT
-Set up necessary local variables for exception handling.
-See L<perlguts/"Exception Handling">.
-
-=for apidoc AmU||XCPT_TRY_START
-Starts a try block. See L<perlguts/"Exception Handling">.
-
-=for apidoc AmU||XCPT_TRY_END
-Ends a try block. See L<perlguts/"Exception Handling">.
-
-=for apidoc AmU||XCPT_CATCH
-Introduces a catch block. See L<perlguts/"Exception Handling">.
-
-=for apidoc Ams||XCPT_RETHROW
-Rethrows a previously caught exception. See L<perlguts/"Exception Handling">.
-
-=cut
-*/
-
-#define XST_mIV(i,v) (ST(i) = sv_2mortal(newSViv(v)) )
-#define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) )
-#define XST_mNV(i,v) (ST(i) = sv_2mortal(newSVnv(v)) )
-#define XST_mPV(i,v) (ST(i) = sv_2mortal(newSVpv(v,0)))
-#define XST_mPVN(i,v,n) (ST(i) = newSVpvn_flags(v,n, SVs_TEMP))
-#define XST_mNO(i) (ST(i) = &PL_sv_no )
-#define XST_mYES(i) (ST(i) = &PL_sv_yes )
-#define XST_mUNDEF(i) (ST(i) = &PL_sv_undef)
-
-#define XSRETURN(off) \
- STMT_START { \
- const IV tmpXSoff = (off); \
- PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); \
- return; \
- } STMT_END
-
-#define XSRETURN_IV(v) STMT_START { XST_mIV(0,v); XSRETURN(1); } STMT_END
-#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END
-#define XSRETURN_NV(v) STMT_START { XST_mNV(0,v); XSRETURN(1); } STMT_END
-#define XSRETURN_PV(v) STMT_START { XST_mPV(0,v); XSRETURN(1); } STMT_END
-#define XSRETURN_PVN(v,n) STMT_START { XST_mPVN(0,v,n); XSRETURN(1); } STMT_END
-#define XSRETURN_NO STMT_START { XST_mNO(0); XSRETURN(1); } STMT_END
-#define XSRETURN_YES STMT_START { XST_mYES(0); XSRETURN(1); } STMT_END
-#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
-#define XSRETURN_EMPTY STMT_START { XSRETURN(0); } STMT_END
-
-#define newXSproto(a,b,c,d) newXS_flags(a,b,c,d,0)
-
-#ifdef XS_VERSION
-# define XS_VERSION_BOOTCHECK \
- STMT_START { \
- SV *_sv; \
- const char *vn = NULL, *module = SvPV_nolen_const(ST(0)); \
- if (items >= 2) /* version supplied as bootstrap arg */ \
- _sv = ST(1); \
- else { \
- /* XXX GV_ADDWARN */ \
- _sv = get_sv(Perl_form(aTHX_ "%s::%s", module, \
- vn = "XS_VERSION"), FALSE); \
- if (!_sv || !SvOK(_sv)) \
- _sv = get_sv(Perl_form(aTHX_ "%s::%s", module, \
- vn = "VERSION"), FALSE); \
- } \
- if (_sv) { \
- SV *xssv = Perl_newSVpv(aTHX_ XS_VERSION, 0); \
- xssv = new_version(xssv); \
- if ( !sv_derived_from(_sv, "version") ) \
- _sv = new_version(_sv); \
- if ( vcmp(_sv,xssv) ) \
- Perl_croak(aTHX_ "%s object version %"SVf" does not match %s%s%s%s %"SVf,\
- module, SVfARG(vstringify(xssv)), \
- vn ? "$" : "", vn ? module : "", vn ? "::" : "", \
- vn ? vn : "bootstrap parameter", SVfARG(vstringify(_sv)));\
- } \
- } STMT_END
-#else
-# define XS_VERSION_BOOTCHECK
-#endif
-
-#ifdef NO_XSLOCKS
-# define dXCPT dJMPENV; int rEtV = 0
-# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0)
-# define XCPT_TRY_END JMPENV_POP;
-# define XCPT_CATCH if (rEtV != 0)
-# define XCPT_RETHROW JMPENV_JUMP(rEtV)
-#endif
-
-/*
- The DBM_setFilter & DBM_ckFilter macros are only used by
- the *DB*_File modules
-*/
-
-#define DBM_setFilter(db_type,code) \
- STMT_START { \
- if (db_type) \
- RETVAL = sv_mortalcopy(db_type) ; \
- ST(0) = RETVAL ; \
- if (db_type && (code == &PL_sv_undef)) { \
- SvREFCNT_dec(db_type) ; \
- db_type = NULL ; \
- } \
- else if (code) { \
- if (db_type) \
- sv_setsv(db_type, code) ; \
- else \
- db_type = newSVsv(code) ; \
- } \
- } STMT_END
-
-#define DBM_ckFilter(arg,type,name) \
- STMT_START { \
- if (db->type) { \
- if (db->filtering) { \
- croak("recursion detected in %s", name) ; \
- } \
- ENTER ; \
- SAVETMPS ; \
- SAVEINT(db->filtering) ; \
- db->filtering = TRUE ; \
- SAVESPTR(DEFSV) ; \
- if (name[7] == 's') \
- arg = newSVsv(arg); \
- DEFSV = arg ; \
- SvTEMP_off(arg) ; \
- PUSHMARK(SP) ; \
- PUTBACK ; \
- (void) perl_call_sv(db->type, G_DISCARD); \
- SPAGAIN ; \
- PUTBACK ; \
- FREETMPS ; \
- LEAVE ; \
- if (name[7] == 's'){ \
- arg = sv_2mortal(arg); \
- } \
- } } STMT_END
-
-#if 1 /* for compatibility */
-# define VTBL_sv &PL_vtbl_sv
-# define VTBL_env &PL_vtbl_env
-# define VTBL_envelem &PL_vtbl_envelem
-# define VTBL_sig &PL_vtbl_sig
-# define VTBL_sigelem &PL_vtbl_sigelem
-# define VTBL_pack &PL_vtbl_pack
-# define VTBL_packelem &PL_vtbl_packelem
-# define VTBL_dbline &PL_vtbl_dbline
-# define VTBL_isa &PL_vtbl_isa
-# define VTBL_isaelem &PL_vtbl_isaelem
-# define VTBL_arylen &PL_vtbl_arylen
-# define VTBL_glob &PL_vtbl_glob
-# define VTBL_mglob &PL_vtbl_mglob
-# define VTBL_nkeys &PL_vtbl_nkeys
-# define VTBL_taint &PL_vtbl_taint
-# define VTBL_substr &PL_vtbl_substr
-# define VTBL_vec &PL_vtbl_vec
-# define VTBL_pos &PL_vtbl_pos
-# define VTBL_bm &PL_vtbl_bm
-# define VTBL_fm &PL_vtbl_fm
-# define VTBL_uvar &PL_vtbl_uvar
-# define VTBL_defelem &PL_vtbl_defelem
-# define VTBL_regexp &PL_vtbl_regexp
-# define VTBL_regdata &PL_vtbl_regdata
-# define VTBL_regdatum &PL_vtbl_regdatum
-# ifdef USE_LOCALE_COLLATE
-# define VTBL_collxfrm &PL_vtbl_collxfrm
-# endif
-# define VTBL_amagic &PL_vtbl_amagic
-# define VTBL_amagicelem &PL_vtbl_amagicelem
-#endif
-
-#include "perlapi.h"
-#ifndef PERL_MAD
-# undef PL_madskills
-# undef PL_xmlfp
-# define PL_madskills 0
-# define PL_xmlfp 0
-#endif
-
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE)
-# undef aTHX
-# undef aTHX_
-# define aTHX PERL_GET_THX
-# define aTHX_ aTHX,
-#endif
-
-#if defined(PERL_IMPLICIT_SYS) && !defined(PERL_CORE)
-# ifndef NO_XSLOCKS
-# if defined (NETWARE) && defined (USE_STDIO)
-# define times PerlProc_times
-# define setuid PerlProc_setuid
-# define setgid PerlProc_setgid
-# define getpid PerlProc_getpid
-# define pause PerlProc_pause
-# define exit PerlProc_exit
-# define _exit PerlProc__exit
-# else
-# undef closedir
-# undef opendir
-# undef stdin
-# undef stdout
-# undef stderr
-# undef feof
-# undef ferror
-# undef fgetpos
-# undef ioctl
-# undef getlogin
-# undef setjmp
-# undef getc
-# undef ungetc
-# undef fileno
-
-/* Following symbols were giving redefinition errors while building extensions - sgp 17th Oct 2000 */
-#ifdef NETWARE
-# undef readdir
-# undef fstat
-# undef stat
-# undef longjmp
-# undef endhostent
-# undef endnetent
-# undef endprotoent
-# undef endservent
-# undef gethostbyaddr
-# undef gethostbyname
-# undef gethostent
-# undef getnetbyaddr
-# undef getnetbyname
-# undef getnetent
-# undef getprotobyname
-# undef getprotobynumber
-# undef getprotoent
-# undef getservbyname
-# undef getservbyport
-# undef getservent
-# undef inet_ntoa
-# undef sethostent
-# undef setnetent
-# undef setprotoent
-# undef setservent
-#endif /* NETWARE */
-
-# undef socketpair
-
-# define mkdir PerlDir_mkdir
-# define chdir PerlDir_chdir
-# define rmdir PerlDir_rmdir
-# define closedir PerlDir_close
-# define opendir PerlDir_open
-# define readdir PerlDir_read
-# define rewinddir PerlDir_rewind
-# define seekdir PerlDir_seek
-# define telldir PerlDir_tell
-# define putenv PerlEnv_putenv
-# define getenv PerlEnv_getenv
-# define uname PerlEnv_uname
-# define stdin PerlSIO_stdin
-# define stdout PerlSIO_stdout
-# define stderr PerlSIO_stderr
-# define fopen PerlSIO_fopen
-# define fclose PerlSIO_fclose
-# define feof PerlSIO_feof
-# define ferror PerlSIO_ferror
-# define clearerr PerlSIO_clearerr
-# define getc PerlSIO_getc
-# define fputc PerlSIO_fputc
-# define fputs PerlSIO_fputs
-# define fflush PerlSIO_fflush
-# define ungetc PerlSIO_ungetc
-# define fileno PerlSIO_fileno
-# define fdopen PerlSIO_fdopen
-# define freopen PerlSIO_freopen
-# define fread PerlSIO_fread
-# define fwrite PerlSIO_fwrite
-# define setbuf PerlSIO_setbuf
-# define setvbuf PerlSIO_setvbuf
-# define setlinebuf PerlSIO_setlinebuf
-# define stdoutf PerlSIO_stdoutf
-# define vfprintf PerlSIO_vprintf
-# define ftell PerlSIO_ftell
-# define fseek PerlSIO_fseek
-# define fgetpos PerlSIO_fgetpos
-# define fsetpos PerlSIO_fsetpos
-# define frewind PerlSIO_rewind
-# define tmpfile PerlSIO_tmpfile
-# define access PerlLIO_access
-# define chmod PerlLIO_chmod
-# define chsize PerlLIO_chsize
-# define close PerlLIO_close
-# define dup PerlLIO_dup
-# define dup2 PerlLIO_dup2
-# define flock PerlLIO_flock
-# define fstat PerlLIO_fstat
-# define ioctl PerlLIO_ioctl
-# define isatty PerlLIO_isatty
-# define link PerlLIO_link
-# define lseek PerlLIO_lseek
-# define lstat PerlLIO_lstat
-# define mktemp PerlLIO_mktemp
-# define open PerlLIO_open
-# define read PerlLIO_read
-# define rename PerlLIO_rename
-# define setmode PerlLIO_setmode
-# define stat(buf,sb) PerlLIO_stat(buf,sb)
-# define tmpnam PerlLIO_tmpnam
-# define umask PerlLIO_umask
-# define unlink PerlLIO_unlink
-# define utime PerlLIO_utime
-# define write PerlLIO_write
-# define malloc PerlMem_malloc
-# define realloc PerlMem_realloc
-# define free PerlMem_free
-# define abort PerlProc_abort
-# define exit PerlProc_exit
-# define _exit PerlProc__exit
-# define execl PerlProc_execl
-# define execv PerlProc_execv
-# define execvp PerlProc_execvp
-# define getuid PerlProc_getuid
-# define geteuid PerlProc_geteuid
-# define getgid PerlProc_getgid
-# define getegid PerlProc_getegid
-# define getlogin PerlProc_getlogin
-# define kill PerlProc_kill
-# define killpg PerlProc_killpg
-# define pause PerlProc_pause
-# define popen PerlProc_popen
-# define pclose PerlProc_pclose
-# define pipe PerlProc_pipe
-# define setuid PerlProc_setuid
-# define setgid PerlProc_setgid
-# define sleep PerlProc_sleep
-# define times PerlProc_times
-# define wait PerlProc_wait
-# define setjmp PerlProc_setjmp
-# define longjmp PerlProc_longjmp
-# define signal PerlProc_signal
-# define getpid PerlProc_getpid
-# define gettimeofday PerlProc_gettimeofday
-# define htonl PerlSock_htonl
-# define htons PerlSock_htons
-# define ntohl PerlSock_ntohl
-# define ntohs PerlSock_ntohs
-# define accept PerlSock_accept
-# define bind PerlSock_bind
-# define connect PerlSock_connect
-# define endhostent PerlSock_endhostent
-# define endnetent PerlSock_endnetent
-# define endprotoent PerlSock_endprotoent
-# define endservent PerlSock_endservent
-# define gethostbyaddr PerlSock_gethostbyaddr
-# define gethostbyname PerlSock_gethostbyname
-# define gethostent PerlSock_gethostent
-# define gethostname PerlSock_gethostname
-# define getnetbyaddr PerlSock_getnetbyaddr
-# define getnetbyname PerlSock_getnetbyname
-# define getnetent PerlSock_getnetent
-# define getpeername PerlSock_getpeername
-# define getprotobyname PerlSock_getprotobyname
-# define getprotobynumber PerlSock_getprotobynumber
-# define getprotoent PerlSock_getprotoent
-# define getservbyname PerlSock_getservbyname
-# define getservbyport PerlSock_getservbyport
-# define getservent PerlSock_getservent
-# define getsockname PerlSock_getsockname
-# define getsockopt PerlSock_getsockopt
-# define inet_addr PerlSock_inet_addr
-# define inet_ntoa PerlSock_inet_ntoa
-# define listen PerlSock_listen
-# define recv PerlSock_recv
-# define recvfrom PerlSock_recvfrom
-# define select PerlSock_select
-# define send PerlSock_send
-# define sendto PerlSock_sendto
-# define sethostent PerlSock_sethostent
-# define setnetent PerlSock_setnetent
-# define setprotoent PerlSock_setprotoent
-# define setservent PerlSock_setservent
-# define setsockopt PerlSock_setsockopt
-# define shutdown PerlSock_shutdown
-# define socket PerlSock_socket
-# define socketpair PerlSock_socketpair
-# endif /* NETWARE && USE_STDIO */
-
-# ifdef USE_SOCKETS_AS_HANDLES
-# undef fd_set
-# undef FD_SET
-# undef FD_CLR
-# undef FD_ISSET
-# undef FD_ZERO
-# define fd_set Perl_fd_set
-# define FD_SET(n,p) PERL_FD_SET(n,p)
-# define FD_CLR(n,p) PERL_FD_CLR(n,p)
-# define FD_ISSET(n,p) PERL_FD_ISSET(n,p)
-# define FD_ZERO(p) PERL_FD_ZERO(p)
-# endif /* USE_SOCKETS_AS_HANDLES */
-
-# endif /* NO_XSLOCKS */
-#endif /* PERL_IMPLICIT_SYS && !PERL_CORE */
-
-#endif /* _INC_PERL_XSUB_H */ /* include guard */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/av.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/av.h
deleted file mode 100644
index 06ecc7a6560..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/av.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* av.h
- *
- * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-struct xpvav {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- SSize_t xav_fill; /* Index of last element present */
- SSize_t xav_max; /* max index for which array has space */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-};
-
-typedef struct {
- SSize_t xav_fill; /* Index of last element present */
- SSize_t xav_max; /* max index for which array has space */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-} xpvav_allocated;
-
-/* SV** xav_alloc; */
-#define xav_alloc xiv_u.xivu_p1
-/* SV* xav_arylen; */
-
-/* SVpav_REAL is set for all AVs whose xav_array contents are refcounted.
- * Some things like "@_" and the scratchpad list do not set this, to
- * indicate that they are cheating (for efficiency) by not refcounting
- * the AV's contents.
- *
- * SVpav_REIFY is only meaningful on such "fake" AVs (i.e. where SVpav_REAL
- * is not set). It indicates that the fake AV is capable of becoming
- * real if the array needs to be modified in some way. Functions that
- * modify fake AVs check both flags to call av_reify() as appropriate.
- *
- * Note that the Perl stack and @DB::args have neither flag set. (Thus,
- * items that go on the stack are never refcounted.)
- *
- * These internal details are subject to change any time. AV
- * manipulations external to perl should not care about any of this.
- * GSAR 1999-09-10
- */
-
-/*
-=head1 Handy Values
-
-=for apidoc AmU||Nullav
-Null AV pointer.
-
-=head1 Array Manipulation Functions
-
-=for apidoc Am|int|AvFILL|AV* av
-Same as C<av_len()>. Deprecated, use C<av_len()> instead.
-
-=cut
-*/
-
-#define Nullav Null(AV*)
-
-#define AvARRAY(av) ((av)->sv_u.svu_array)
-#define AvALLOC(av) (*((SV***)&((XPVAV*) SvANY(av))->xav_alloc))
-#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max
-#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill
-#define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ (AV*)av))
-
-#define AvREAL(av) (SvFLAGS(av) & SVpav_REAL)
-#define AvREAL_on(av) (SvFLAGS(av) |= SVpav_REAL)
-#define AvREAL_off(av) (SvFLAGS(av) &= ~SVpav_REAL)
-#define AvREAL_only(av) (AvREIFY_off(av), SvFLAGS(av) |= SVpav_REAL)
-#define AvREIFY(av) (SvFLAGS(av) & SVpav_REIFY)
-#define AvREIFY_on(av) (SvFLAGS(av) |= SVpav_REIFY)
-#define AvREIFY_off(av) (SvFLAGS(av) &= ~SVpav_REIFY)
-#define AvREIFY_only(av) (AvREAL_off(av), SvFLAGS(av) |= SVpav_REIFY)
-
-#define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY))
-
-#define AvFILL(av) ((SvRMAGICAL((SV *) (av))) \
- ? mg_size((SV *) av) : AvFILLp(av))
-
-#define NEGATIVE_INDICES_VAR "NEGATIVE_INDICES"
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cc_runtime.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cc_runtime.h
deleted file mode 100644
index d2e4f7f26dc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cc_runtime.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* cc_runtime.h
- *
- * Copyright (C) 1999, 2000, 2001, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#define DOOP(ppname) PUTBACK; PL_op = ppname(aTHX); SPAGAIN
-#define CCPP(s) OP * s(pTHX)
-
-#define PP_LIST(g) do { \
- dMARK; \
- if (g != G_ARRAY) { \
- if (++MARK <= SP) \
- *MARK = *SP; \
- else \
- *MARK = &PL_sv_undef; \
- SP = MARK; \
- } \
- } while (0)
-
-#define MAYBE_TAINT_SASSIGN_SRC(sv) \
- if (PL_tainting && PL_tainted && (!SvGMAGICAL(left) || !SvSMAGICAL(left) || \
- !((mg=mg_find(left, PERL_MAGIC_taint)) && mg->mg_len & 1)))\
- TAINT_NOT
-
-#define PP_PREINC(sv) do { \
- if (SvIOK(sv)) { \
- ++SvIVX(sv); \
- SvFLAGS(sv) &= ~(SVf_NOK|SVf_POK|SVp_NOK|SVp_POK); \
- } \
- else \
- sv_inc(sv); \
- SvSETMAGIC(sv); \
- } while (0)
-
-#define PP_UNSTACK do { \
- TAINT_NOT; \
- PL_stack_sp = PL_stack_base + cxstack[cxstack_ix].blk_oldsp; \
- FREETMPS; \
- oldsave = PL_scopestack[PL_scopestack_ix - 1]; \
- LEAVE_SCOPE(oldsave); \
- SPAGAIN; \
- } while(0)
-
-/* Anyone using eval "" deserves this mess */
-#define PP_EVAL(ppaddr, nxt) do { \
- dJMPENV; \
- int ret; \
- PUTBACK; \
- JMPENV_PUSH(ret); \
- switch (ret) { \
- case 0: \
- PL_op = ppaddr(aTHX); \
- if (PL_op != nxt) CALLRUNOPS(aTHX); \
- JMPENV_POP; \
- break; \
- case 1: JMPENV_POP; JMPENV_JUMP(1); \
- case 2: JMPENV_POP; JMPENV_JUMP(2); \
- case 3: \
- JMPENV_POP; \
- if (PL_restartop && PL_restartop != nxt) \
- JMPENV_JUMP(3); \
- } \
- PL_op = nxt; \
- SPAGAIN; \
- } while (0)
-
-
-#define PP_ENTERTRY(jmpbuf,label) \
- STMT_START { \
- int ret; \
- JMPENV_PUSH_ENV(jmpbuf,ret); \
- switch (ret) { \
- case 1: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(1);\
- case 2: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(2);\
- case 3: JMPENV_POP_ENV(jmpbuf); SPAGAIN; goto label;\
- } \
- } STMT_END
-#define PP_LEAVETRY \
- STMT_START{ PL_top_env=PL_top_env->je_prev; }STMT_END
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/config.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/config.h
deleted file mode 100644
index 1f4b24e7e36..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/config.h
+++ /dev/null
@@ -1,4493 +0,0 @@
-/*
- * This file was produced by running the config_h.SH script, which
- * gets its values from config.sh, which is generally produced by
- * running Configure.
- *
- * Feel free to modify any of this as the need arises. Note, however,
- * that running config_h.SH again will wipe out any changes you've made.
- * For a more permanent change edit config.sh and rerun config_h.SH.
- *
- * $Id: Config_h.U 1 2006-08-24 12:32:52Z rmanfredi $
- */
-
-/*
- * Package name : perl5
- * Source directory : /usr/src/perl/perl-5.10.0/perl-current
- * Configuration time: Mon Jun 30 16:03:19 GMT 2008
- * Configured by : rurban
- * Target system : cygwin_nt-5.1 reini 1.5.25(0.15642) 2008-06-12 19:34 i686 cygwin
- */
-
-#ifndef _config_h_
-#define _config_h_
-
-/* LOC_SED:
- * This symbol holds the complete pathname to the sed program.
- */
-#define LOC_SED "/usr/bin/sed" /**/
-
-/* HAS_ALARM:
- * This symbol, if defined, indicates that the alarm routine is
- * available.
- */
-#define HAS_ALARM /**/
-
-/* HAS_BCMP:
- * This symbol is defined if the bcmp() routine is available to
- * compare blocks of memory.
- */
-#define HAS_BCMP /**/
-
-/* HAS_BCOPY:
- * This symbol is defined if the bcopy() routine is available to
- * copy blocks of memory.
- */
-#define HAS_BCOPY /**/
-
-/* HAS_BZERO:
- * This symbol is defined if the bzero() routine is available to
- * set a memory block to 0.
- */
-#define HAS_BZERO /**/
-
-/* HAS_CHOWN:
- * This symbol, if defined, indicates that the chown routine is
- * available.
- */
-#define HAS_CHOWN /**/
-
-/* HAS_CHROOT:
- * This symbol, if defined, indicates that the chroot routine is
- * available.
- */
-#define HAS_CHROOT /**/
-
-/* HAS_CHSIZE:
- * This symbol, if defined, indicates that the chsize routine is available
- * to truncate files. You might need a -lx to get this routine.
- */
-/*#define HAS_CHSIZE / **/
-
-/* HAS_CTERMID:
- * This symbol, if defined, indicates that the ctermid routine is
- * available to generate filename for terminal.
- */
-#define HAS_CTERMID /**/
-
-/* HAS_CUSERID:
- * This symbol, if defined, indicates that the cuserid routine is
- * available to get character login names.
- */
-#define HAS_CUSERID /**/
-
-/* HAS_DBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol DBL_DIG, which is the number
- * of significant digits in a double precision number. If this
- * symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG /* */
-
-/* HAS_DIFFTIME:
- * This symbol, if defined, indicates that the difftime routine is
- * available.
- */
-#define HAS_DIFFTIME /**/
-
-/* HAS_DLERROR:
- * This symbol, if defined, indicates that the dlerror routine is
- * available to return a string describing the last error that
- * occurred from a call to dlopen(), dlclose() or dlsym().
- */
-#define HAS_DLERROR /**/
-
-/* HAS_DUP2:
- * This symbol, if defined, indicates that the dup2 routine is
- * available to duplicate file descriptors.
- */
-#define HAS_DUP2 /**/
-
-/* HAS_FCHMOD:
- * This symbol, if defined, indicates that the fchmod routine is available
- * to change mode of opened files. If unavailable, use chmod().
- */
-#define HAS_FCHMOD /**/
-
-/* HAS_FCHOWN:
- * This symbol, if defined, indicates that the fchown routine is available
- * to change ownership of opened files. If unavailable, use chown().
- */
-#define HAS_FCHOWN /**/
-
-/* HAS_FCNTL:
- * This symbol, if defined, indicates to the C program that
- * the fcntl() function exists.
- */
-#define HAS_FCNTL /**/
-
-/* HAS_FGETPOS:
- * This symbol, if defined, indicates that the fgetpos routine is
- * available to get the file position indicator, similar to ftell().
- */
-#define HAS_FGETPOS /**/
-
-/* HAS_FLOCK:
- * This symbol, if defined, indicates that the flock routine is
- * available to do file locking.
- */
-#define HAS_FLOCK /**/
-
-/* HAS_FORK:
- * This symbol, if defined, indicates that the fork routine is
- * available.
- */
-#define HAS_FORK /**/
-
-/* HAS_FSETPOS:
- * This symbol, if defined, indicates that the fsetpos routine is
- * available to set the file position indicator, similar to fseek().
- */
-#define HAS_FSETPOS /**/
-
-/* HAS_GETTIMEOFDAY:
- * This symbol, if defined, indicates that the gettimeofday() system
- * call is available for a sub-second accuracy clock. Usually, the file
- * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
- * The type "Timeval" should be used to refer to "struct timeval".
- */
-#define HAS_GETTIMEOFDAY /**/
-#ifdef HAS_GETTIMEOFDAY
-#define Timeval struct timeval /* Structure used by gettimeofday() */
-#endif
-
-/* HAS_GETGROUPS:
- * This symbol, if defined, indicates that the getgroups() routine is
- * available to get the list of process groups. If unavailable, multiple
- * groups are probably not supported.
- */
-#define HAS_GETGROUPS /**/
-
-/* HAS_GETLOGIN:
- * This symbol, if defined, indicates that the getlogin routine is
- * available to get the login name.
- */
-#define HAS_GETLOGIN /**/
-
-/* HAS_GETPGID:
- * This symbol, if defined, indicates to the C program that
- * the getpgid(pid) function is available to get the
- * process group id.
- */
-#define HAS_GETPGID /**/
-
-/* HAS_GETPGRP2:
- * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
- * routine is available to get the current process group.
- */
-/*#define HAS_GETPGRP2 / **/
-
-/* HAS_GETPPID:
- * This symbol, if defined, indicates that the getppid routine is
- * available to get the parent process ID.
- */
-#define HAS_GETPPID /**/
-
-/* HAS_GETPRIORITY:
- * This symbol, if defined, indicates that the getpriority routine is
- * available to get a process's priority.
- */
-#define HAS_GETPRIORITY /**/
-
-/* HAS_INET_ATON:
- * This symbol, if defined, indicates to the C program that the
- * inet_aton() function is available to parse IP address "dotted-quad"
- * strings.
- */
-#define HAS_INET_ATON /**/
-
-/* HAS_KILLPG:
- * This symbol, if defined, indicates that the killpg routine is available
- * to kill process groups. If unavailable, you probably should use kill
- * with a negative process number.
- */
-#define HAS_KILLPG /**/
-
-/* HAS_LINK:
- * This symbol, if defined, indicates that the link routine is
- * available to create hard links.
- */
-#define HAS_LINK /**/
-
-/* HAS_LOCALECONV:
- * This symbol, if defined, indicates that the localeconv routine is
- * available for numeric and monetary formatting conventions.
- */
-#define HAS_LOCALECONV /**/
-
-/* HAS_LOCKF:
- * This symbol, if defined, indicates that the lockf routine is
- * available to do file locking.
- */
-/*#define HAS_LOCKF / **/
-
-/* HAS_LSTAT:
- * This symbol, if defined, indicates that the lstat routine is
- * available to do file stats on symbolic links.
- */
-#define HAS_LSTAT /**/
-
-/* HAS_MBLEN:
- * This symbol, if defined, indicates that the mblen routine is available
- * to find the number of bytes in a multibye character.
- */
-#define HAS_MBLEN /**/
-
-/* HAS_MBSTOWCS:
- * This symbol, if defined, indicates that the mbstowcs routine is
- * available to covert a multibyte string into a wide character string.
- */
-#define HAS_MBSTOWCS /**/
-
-/* HAS_MBTOWC:
- * This symbol, if defined, indicates that the mbtowc routine is available
- * to covert a multibyte to a wide character.
- */
-#define HAS_MBTOWC /**/
-
-/* HAS_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * to compare blocks of memory.
- */
-#define HAS_MEMCMP /**/
-
-/* HAS_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy blocks of memory.
- */
-#define HAS_MEMCPY /**/
-
-/* HAS_MEMMOVE:
- * This symbol, if defined, indicates that the memmove routine is available
- * to copy potentially overlapping blocks of memory. This should be used
- * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- * own version.
- */
-#define HAS_MEMMOVE /**/
-
-/* HAS_MEMSET:
- * This symbol, if defined, indicates that the memset routine is available
- * to set blocks of memory.
- */
-#define HAS_MEMSET /**/
-
-/* HAS_MKDIR:
- * This symbol, if defined, indicates that the mkdir routine is available
- * to create directories. Otherwise you should fork off a new process to
- * exec /bin/mkdir.
- */
-#define HAS_MKDIR /**/
-
-/* HAS_MKFIFO:
- * This symbol, if defined, indicates that the mkfifo routine is
- * available to create FIFOs. Otherwise, mknod should be able to
- * do it for you. However, if mkfifo is there, mknod might require
- * super-user privileges which mkfifo will not.
- */
-#define HAS_MKFIFO /**/
-
-/* HAS_MKTIME:
- * This symbol, if defined, indicates that the mktime routine is
- * available.
- */
-#define HAS_MKTIME /**/
-
-/* HAS_MSYNC:
- * This symbol, if defined, indicates that the msync system call is
- * available to synchronize a mapped file.
- */
-#define HAS_MSYNC /**/
-
-/* HAS_MUNMAP:
- * This symbol, if defined, indicates that the munmap system call is
- * available to unmap a region, usually mapped by mmap().
- */
-#define HAS_MUNMAP /**/
-
-/* HAS_NICE:
- * This symbol, if defined, indicates that the nice routine is
- * available.
- */
-#define HAS_NICE /**/
-
-/* HAS_PATHCONF:
- * This symbol, if defined, indicates that pathconf() is available
- * to determine file-system related limits and options associated
- * with a given filename.
- */
-/* HAS_FPATHCONF:
- * This symbol, if defined, indicates that pathconf() is available
- * to determine file-system related limits and options associated
- * with a given open file descriptor.
- */
-#define HAS_PATHCONF /**/
-#define HAS_FPATHCONF /**/
-
-/* HAS_PAUSE:
- * This symbol, if defined, indicates that the pause routine is
- * available to suspend a process until a signal is received.
- */
-#define HAS_PAUSE /**/
-
-/* HAS_PIPE:
- * This symbol, if defined, indicates that the pipe routine is
- * available to create an inter-process channel.
- */
-#define HAS_PIPE /**/
-
-/* HAS_READDIR:
- * This symbol, if defined, indicates that the readdir routine is
- * available to read directory entries. You may have to include
- * <dirent.h>. See I_DIRENT.
- */
-#define HAS_READDIR /**/
-
-/* HAS_SEEKDIR:
- * This symbol, if defined, indicates that the seekdir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-#define HAS_SEEKDIR /**/
-
-/* HAS_TELLDIR:
- * This symbol, if defined, indicates that the telldir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-#define HAS_TELLDIR /**/
-
-/* HAS_REWINDDIR:
- * This symbol, if defined, indicates that the rewinddir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-#define HAS_REWINDDIR /**/
-
-/* HAS_READLINK:
- * This symbol, if defined, indicates that the readlink routine is
- * available to read the value of a symbolic link.
- */
-#define HAS_READLINK /**/
-
-/* HAS_RENAME:
- * This symbol, if defined, indicates that the rename routine is available
- * to rename files. Otherwise you should do the unlink(), link(), unlink()
- * trick.
- */
-#define HAS_RENAME /**/
-
-/* HAS_RMDIR:
- * This symbol, if defined, indicates that the rmdir routine is
- * available to remove directories. Otherwise you should fork off a
- * new process to exec /bin/rmdir.
- */
-#define HAS_RMDIR /**/
-
-/* HAS_SELECT:
- * This symbol, if defined, indicates that the select routine is
- * available to select active file descriptors. If the timeout field
- * is used, <sys/time.h> may need to be included.
- */
-#define HAS_SELECT /**/
-
-/* HAS_SETEGID:
- * This symbol, if defined, indicates that the setegid routine is available
- * to change the effective gid of the current program.
- */
-#define HAS_SETEGID /**/
-
-/* HAS_SETEUID:
- * This symbol, if defined, indicates that the seteuid routine is available
- * to change the effective uid of the current program.
- */
-#define HAS_SETEUID /**/
-
-/* HAS_SETLINEBUF:
- * This symbol, if defined, indicates that the setlinebuf routine is
- * available to change stderr or stdout from block-buffered or unbuffered
- * to a line-buffered mode.
- */
-#define HAS_SETLINEBUF /**/
-
-/* HAS_SETLOCALE:
- * This symbol, if defined, indicates that the setlocale routine is
- * available to handle locale-specific ctype implementations.
- */
-#define HAS_SETLOCALE /**/
-
-/* HAS_SETPGID:
- * This symbol, if defined, indicates that the setpgid(pid, gpid)
- * routine is available to set process group ID.
- */
-#define HAS_SETPGID /**/
-
-/* HAS_SETPGRP2:
- * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
- * routine is available to set the current process group.
- */
-/*#define HAS_SETPGRP2 / **/
-
-/* HAS_SETPRIORITY:
- * This symbol, if defined, indicates that the setpriority routine is
- * available to set a process's priority.
- */
-#define HAS_SETPRIORITY /**/
-
-/* HAS_SETREGID:
- * This symbol, if defined, indicates that the setregid routine is
- * available to change the real and effective gid of the current
- * process.
- */
-/* HAS_SETRESGID:
- * This symbol, if defined, indicates that the setresgid routine is
- * available to change the real, effective and saved gid of the current
- * process.
- */
-#define HAS_SETREGID /**/
-/*#define HAS_SETRESGID / **/
-
-/* HAS_SETREUID:
- * This symbol, if defined, indicates that the setreuid routine is
- * available to change the real and effective uid of the current
- * process.
- */
-/* HAS_SETRESUID:
- * This symbol, if defined, indicates that the setresuid routine is
- * available to change the real, effective and saved uid of the current
- * process.
- */
-#define HAS_SETREUID /**/
-/*#define HAS_SETRESUID / **/
-
-/* HAS_SETRGID:
- * This symbol, if defined, indicates that the setrgid routine is available
- * to change the real gid of the current program.
- */
-/*#define HAS_SETRGID / **/
-
-/* HAS_SETRUID:
- * This symbol, if defined, indicates that the setruid routine is available
- * to change the real uid of the current program.
- */
-/*#define HAS_SETRUID / **/
-
-/* HAS_SETSID:
- * This symbol, if defined, indicates that the setsid routine is
- * available to set the process group ID.
- */
-#define HAS_SETSID /**/
-
-/* HAS_STRCHR:
- * This symbol is defined to indicate that the strchr()/strrchr()
- * functions are available for string searching. If not, try the
- * index()/rindex() pair.
- */
-/* HAS_INDEX:
- * This symbol is defined to indicate that the index()/rindex()
- * functions are available for string searching.
- */
-#define HAS_STRCHR /**/
-/*#define HAS_INDEX / **/
-
-/* HAS_STRCOLL:
- * This symbol, if defined, indicates that the strcoll routine is
- * available to compare strings using collating information.
- */
-#define HAS_STRCOLL /**/
-
-/* HAS_STRTOD:
- * This symbol, if defined, indicates that the strtod routine is
- * available to provide better numeric string conversion than atof().
- */
-#define HAS_STRTOD /**/
-
-/* HAS_STRTOL:
- * This symbol, if defined, indicates that the strtol routine is available
- * to provide better numeric string conversion than atoi() and friends.
- */
-#define HAS_STRTOL /**/
-
-/* HAS_STRXFRM:
- * This symbol, if defined, indicates that the strxfrm() routine is
- * available to transform strings.
- */
-#define HAS_STRXFRM /**/
-
-/* HAS_SYMLINK:
- * This symbol, if defined, indicates that the symlink routine is available
- * to create symbolic links.
- */
-#define HAS_SYMLINK /**/
-
-/* HAS_SYSCALL:
- * This symbol, if defined, indicates that the syscall routine is
- * available to call arbitrary system calls. If undefined, that's tough.
- */
-/*#define HAS_SYSCALL / **/
-
-/* HAS_SYSCONF:
- * This symbol, if defined, indicates that sysconf() is available
- * to determine system related limits and options.
- */
-#define HAS_SYSCONF /**/
-
-/* HAS_SYSTEM:
- * This symbol, if defined, indicates that the system routine is
- * available to issue a shell command.
- */
-#define HAS_SYSTEM /**/
-
-/* HAS_TCGETPGRP:
- * This symbol, if defined, indicates that the tcgetpgrp routine is
- * available to get foreground process group ID.
- */
-#define HAS_TCGETPGRP /**/
-
-/* HAS_TCSETPGRP:
- * This symbol, if defined, indicates that the tcsetpgrp routine is
- * available to set foreground process group ID.
- */
-#define HAS_TCSETPGRP /**/
-
-/* HAS_TRUNCATE:
- * This symbol, if defined, indicates that the truncate routine is
- * available to truncate files.
- */
-#define HAS_TRUNCATE /**/
-
-/* HAS_TZNAME:
- * This symbol, if defined, indicates that the tzname[] array is
- * available to access timezone names.
- */
-#define HAS_TZNAME /**/
-
-/* HAS_UMASK:
- * This symbol, if defined, indicates that the umask routine is
- * available to set and get the value of the file creation mask.
- */
-#define HAS_UMASK /**/
-
-/* HAS_USLEEP:
- * This symbol, if defined, indicates that the usleep routine is
- * available to let the process sleep on a sub-second accuracy.
- */
-#define HAS_USLEEP /**/
-
-/* HAS_WAIT4:
- * This symbol, if defined, indicates that wait4() exists.
- */
-#define HAS_WAIT4 /**/
-
-/* HAS_WAITPID:
- * This symbol, if defined, indicates that the waitpid routine is
- * available to wait for child process.
- */
-#define HAS_WAITPID /**/
-
-/* HAS_WCSTOMBS:
- * This symbol, if defined, indicates that the wcstombs routine is
- * available to convert wide character strings to multibyte strings.
- */
-#define HAS_WCSTOMBS /**/
-
-/* HAS_WCTOMB:
- * This symbol, if defined, indicates that the wctomb routine is available
- * to covert a wide character to a multibyte.
- */
-#define HAS_WCTOMB /**/
-
-/* I_ARPA_INET:
- * This symbol, if defined, indicates to the C program that it should
- * include <arpa/inet.h> to get inet_addr and friends declarations.
- */
-#define I_ARPA_INET /**/
-
-/* I_DBM:
- * This symbol, if defined, indicates that <dbm.h> exists and should
- * be included.
- */
-/* I_RPCSVC_DBM:
- * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
- * should be included.
- */
-#define I_DBM /**/
-/*#define I_RPCSVC_DBM / **/
-
-/* I_DLFCN:
- * This symbol, if defined, indicates that <dlfcn.h> exists and should
- * be included.
- */
-#define I_DLFCN /**/
-
-/* I_FCNTL:
- * This manifest constant tells the C program to include <fcntl.h>.
- */
-/*#define I_FCNTL / **/
-
-/* I_FLOAT:
- * This symbol, if defined, indicates to the C program that it should
- * include <float.h> to get definition of symbols like DBL_MAX or
- * DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT /**/
-
-/* I_GDBM:
- * This symbol, if defined, indicates that <gdbm.h> exists and should
- * be included.
- */
-#define I_GDBM /**/
-
-/* I_LIMITS:
- * This symbol, if defined, indicates to the C program that it should
- * include <limits.h> to get definition of symbols like WORD_BIT or
- * LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS /**/
-
-/* I_LOCALE:
- * This symbol, if defined, indicates to the C program that it should
- * include <locale.h>.
- */
-#define I_LOCALE /**/
-
-/* I_MATH:
- * This symbol, if defined, indicates to the C program that it should
- * include <math.h>.
- */
-#define I_MATH /**/
-
-/* I_MEMORY:
- * This symbol, if defined, indicates to the C program that it should
- * include <memory.h>.
- */
-/*#define I_MEMORY / **/
-
-/* I_NETINET_IN:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
- */
-#define I_NETINET_IN /**/
-
-/* I_SFIO:
- * This symbol, if defined, indicates to the C program that it should
- * include <sfio.h>.
- */
-/*#define I_SFIO / **/
-
-/* I_STDDEF:
- * This symbol, if defined, indicates that <stddef.h> exists and should
- * be included.
- */
-#define I_STDDEF /**/
-
-/* I_STDLIB:
- * This symbol, if defined, indicates that <stdlib.h> exists and should
- * be included.
- */
-#define I_STDLIB /**/
-
-/* I_STRING:
- * This symbol, if defined, indicates to the C program that it should
- * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING /**/
-
-/* I_SYS_DIR:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/dir.h>.
- */
-/*#define I_SYS_DIR / **/
-
-/* I_SYS_FILE:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/file.h> to get definition of R_OK and friends.
- */
-#define I_SYS_FILE /**/
-
-/* I_SYS_IOCTL:
- * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
- * be included. Otherwise, include <sgtty.h> or <termio.h>.
- */
-/* I_SYS_SOCKIO:
- * This symbol, if defined, indicates the <sys/sockio.h> should be included
- * to get socket ioctl options, like SIOCATMARK.
- */
-#define I_SYS_IOCTL /**/
-/*#define I_SYS_SOCKIO / **/
-
-/* I_SYS_NDIR:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/ndir.h>.
- */
-/*#define I_SYS_NDIR / **/
-
-/* I_SYS_PARAM:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/param.h>.
- */
-#define I_SYS_PARAM /**/
-
-/* I_SYS_POLL:
- * This symbol, if defined, indicates that the program may include
- * <sys/poll.h>. When I_POLL is also defined, it's probably safest
- * to only include <poll.h>.
- */
-#define I_SYS_POLL /**/
-
-/* I_SYS_RESOURCE:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/resource.h>.
- */
-#define I_SYS_RESOURCE /**/
-
-/* I_SYS_SELECT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/select.h> in order to get definition of struct timeval.
- */
-#define I_SYS_SELECT /**/
-
-/* I_SYS_STAT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/stat.h>.
- */
-#define I_SYS_STAT /**/
-
-/* I_SYS_TIMES:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/times.h>.
- */
-#define I_SYS_TIMES /**/
-
-/* I_SYS_TYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/types.h>.
- */
-#define I_SYS_TYPES /**/
-
-/* I_SYS_UN:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/un.h> to get UNIX domain socket definitions.
- */
-#define I_SYS_UN /**/
-
-/* I_SYS_WAIT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/wait.h>.
- */
-#define I_SYS_WAIT /**/
-
-/* I_TERMIO:
- * This symbol, if defined, indicates that the program should include
- * <termio.h> rather than <sgtty.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- * This symbol, if defined, indicates that the program should include
- * the POSIX termios.h rather than sgtty.h or termio.h.
- * There are also differences in the ioctl() calls that depend on the
- * value of this symbol.
- */
-/* I_SGTTY:
- * This symbol, if defined, indicates that the program should include
- * <sgtty.h> rather than <termio.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/*#define I_TERMIO / **/
-#define I_TERMIOS /**/
-/*#define I_SGTTY / **/
-
-/* I_UNISTD:
- * This symbol, if defined, indicates to the C program that it should
- * include <unistd.h>.
- */
-#define I_UNISTD /**/
-
-/* I_UTIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <utime.h>.
- */
-#define I_UTIME /**/
-
-/* I_VALUES:
- * This symbol, if defined, indicates to the C program that it should
- * include <values.h> to get definition of symbols like MINFLOAT or
- * MAXLONG, i.e. machine dependant limitations. Probably, you
- * should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES / **/
-
-/* I_VFORK:
- * This symbol, if defined, indicates to the C program that it should
- * include vfork.h.
- */
-/*#define I_VFORK / **/
-
-/* INTSIZE:
- * This symbol contains the value of sizeof(int) so that the C
- * preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- * This symbol contains the value of sizeof(long) so that the C
- * preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- * This symbol contains the value of sizeof(short) so that the C
- * preprocessor can make decisions based on it.
- */
-#define INTSIZE 4 /**/
-#define LONGSIZE 4 /**/
-#define SHORTSIZE 2 /**/
-
-/* MULTIARCH:
- * This symbol, if defined, signifies that the build
- * process will produce some binary files that are going to be
- * used in a cross-platform environment. This is the case for
- * example with the NeXT "fat" binaries that contain executables
- * for several CPUs.
- */
-/*#define MULTIARCH / **/
-
-/* HAS_QUAD:
- * This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
- * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
- */
-#define HAS_QUAD /**/
-#ifdef HAS_QUAD
-# define Quad_t long long /**/
-# define Uquad_t unsigned long long /**/
-# define QUADKIND 3 /**/
-# define QUAD_IS_INT 1
-# define QUAD_IS_LONG 2
-# define QUAD_IS_LONG_LONG 3
-# define QUAD_IS_INT64_T 4
-#endif
-
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-#define OSNAME "cygwin" /**/
-#define OSVERS "1.5.25(0.15642)" /**/
-
-/* ARCHLIB:
- * This variable, if defined, holds the name of the directory in
- * which the user wants to put architecture-dependent public
- * library files for perl5. It is most often a local directory
- * such as /usr/local/lib. Programs using this variable must be
- * prepared to deal with filename expansion. If ARCHLIB is the
- * same as PRIVLIB, it is not defined, since presumably the
- * program already searches PRIVLIB.
- */
-/* ARCHLIB_EXP:
- * This symbol contains the ~name expanded version of ARCHLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define ARCHLIB "/usr/lib/perl5/5.10/i686-cygwin" /**/
-#define ARCHLIB_EXP "/usr/lib/perl5/5.10/i686-cygwin" /**/
-
-/* ARCHNAME:
- * This symbol holds a string representing the architecture name.
- * It may be used to construct an architecture-dependant pathname
- * where library files may be held under a private library, for
- * instance.
- */
-#define ARCHNAME "cygwin-thread-multi-64int" /**/
-
-/* BIN:
- * This symbol holds the path of the bin directory where the package will
- * be installed. Program must be prepared to deal with ~name substitution.
- */
-/* BIN_EXP:
- * This symbol is the filename expanded version of the BIN symbol, for
- * programs that do not want to deal with that at run-time.
- */
-/* PERL_RELOCATABLE_INC:
- * This symbol, if defined, indicates that we'd like to relocate entries
- * in @INC at run time based on the location of the perl binary.
- */
-#define BIN "/usr/bin" /**/
-#define BIN_EXP "/usr/bin" /**/
-#define PERL_RELOCATABLE_INC "undef" /**/
-
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "gcc -E"
-#define CPPMINUS "-"
-#define CPPRUN "gcc -E"
-#define CPPLAST "-"
-
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
- */
-#define HAS_ACCESS /**/
-
-/* HAS_ACCESSX:
- * This symbol, if defined, indicates that the accessx routine is
- * available to do extended access checks.
- */
-/*#define HAS_ACCESSX / **/
-
-/* HAS_ASCTIME_R:
- * This symbol, if defined, indicates that the asctime_r routine
- * is available to asctime re-entrantly.
- */
-/* ASCTIME_R_PROTO:
- * This symbol encodes the prototype of asctime_r.
- * It is zero if d_asctime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
- * is defined.
- */
-#define HAS_ASCTIME_R /**/
-#define ASCTIME_R_PROTO REENTRANT_PROTO_B_SB /**/
-
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
- */
-#define HASATTRIBUTE_FORMAT /**/
-#define PRINTF_FORMAT_NULL_OK /**/
-#define HASATTRIBUTE_NORETURN /**/
-#define HASATTRIBUTE_MALLOC /**/
-#define HASATTRIBUTE_NONNULL /**/
-#define HASATTRIBUTE_PURE /**/
-#define HASATTRIBUTE_UNUSED /**/
-#define HASATTRIBUTE_WARN_UNUSED_RESULT /**/
-
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
- */
-#define HASCONST /**/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CRYPT:
- * This symbol, if defined, indicates that the crypt routine is available
- * to encrypt passwords and the like.
- */
-#define HAS_CRYPT /**/
-
-/* HAS_CRYPT_R:
- * This symbol, if defined, indicates that the crypt_r routine
- * is available to crypt re-entrantly.
- */
-/* CRYPT_R_PROTO:
- * This symbol encodes the prototype of crypt_r.
- * It is zero if d_crypt_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
- * is defined.
- */
-/*#define HAS_CRYPT_R / **/
-#define CRYPT_R_PROTO 0 /**/
-
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-#define HAS_CSH /**/
-#ifdef HAS_CSH
-#define CSH "/usr/bin/csh" /**/
-#endif
-
-/* HAS_CTERMID_R:
- * This symbol, if defined, indicates that the ctermid_r routine
- * is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- * This symbol encodes the prototype of ctermid_r.
- * It is zero if d_ctermid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- * is defined.
- */
-/*#define HAS_CTERMID_R / **/
-#define CTERMID_R_PROTO 0 /**/
-
-/* HAS_CTIME_R:
- * This symbol, if defined, indicates that the ctime_r routine
- * is available to ctime re-entrantly.
- */
-/* CTIME_R_PROTO:
- * This symbol encodes the prototype of ctime_r.
- * It is zero if d_ctime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
- * is defined.
- */
-#define HAS_CTIME_R /**/
-#define CTIME_R_PROTO REENTRANT_PROTO_B_SB /**/
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
-/* HAS_DRAND48_R:
- * This symbol, if defined, indicates that the drand48_r routine
- * is available to drand48 re-entrantly.
- */
-/* DRAND48_R_PROTO:
- * This symbol encodes the prototype of drand48_r.
- * It is zero if d_drand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
- * is defined.
- */
-/*#define HAS_DRAND48_R / **/
-#define DRAND48_R_PROTO 0 /**/
-
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-#define HAS_DRAND48_PROTO /**/
-
-/* HAS_EACCESS:
- * This symbol, if defined, indicates that the eaccess routine is
- * available to do extended access checks.
- */
-/*#define HAS_EACCESS / **/
-
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-#define HAS_ENDGRENT /**/
-
-/* HAS_ENDGRENT_R:
- * This symbol, if defined, indicates that the endgrent_r routine
- * is available to endgrent re-entrantly.
- */
-/* ENDGRENT_R_PROTO:
- * This symbol encodes the prototype of endgrent_r.
- * It is zero if d_endgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
- * is defined.
- */
-/*#define HAS_ENDGRENT_R / **/
-#define ENDGRENT_R_PROTO 0 /**/
-
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-#define HAS_ENDHOSTENT /**/
-
-/* HAS_ENDHOSTENT_R:
- * This symbol, if defined, indicates that the endhostent_r routine
- * is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- * This symbol encodes the prototype of endhostent_r.
- * It is zero if d_endhostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- * is defined.
- */
-/*#define HAS_ENDHOSTENT_R / **/
-#define ENDHOSTENT_R_PROTO 0 /**/
-
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
-/* HAS_ENDNETENT_R:
- * This symbol, if defined, indicates that the endnetent_r routine
- * is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- * This symbol encodes the prototype of endnetent_r.
- * It is zero if d_endnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- * is defined.
- */
-/*#define HAS_ENDNETENT_R / **/
-#define ENDNETENT_R_PROTO 0 /**/
-
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-#define HAS_ENDPROTOENT /**/
-
-/* HAS_ENDPROTOENT_R:
- * This symbol, if defined, indicates that the endprotoent_r routine
- * is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- * This symbol encodes the prototype of endprotoent_r.
- * It is zero if d_endprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- * is defined.
- */
-/*#define HAS_ENDPROTOENT_R / **/
-#define ENDPROTOENT_R_PROTO 0 /**/
-
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-#define HAS_ENDPWENT /**/
-
-/* HAS_ENDPWENT_R:
- * This symbol, if defined, indicates that the endpwent_r routine
- * is available to endpwent re-entrantly.
- */
-/* ENDPWENT_R_PROTO:
- * This symbol encodes the prototype of endpwent_r.
- * It is zero if d_endpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
- * is defined.
- */
-/*#define HAS_ENDPWENT_R / **/
-#define ENDPWENT_R_PROTO 0 /**/
-
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-#define HAS_ENDSERVENT /**/
-
-/* HAS_ENDSERVENT_R:
- * This symbol, if defined, indicates that the endservent_r routine
- * is available to endservent re-entrantly.
- */
-/* ENDSERVENT_R_PROTO:
- * This symbol encodes the prototype of endservent_r.
- * It is zero if d_endservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- * is defined.
- */
-/*#define HAS_ENDSERVENT_R / **/
-#define ENDSERVENT_R_PROTO 0 /**/
-
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
- */
-#define FLEXFILENAMES /**/
-
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
- */
-#define HAS_GETGRENT /**/
-
-/* HAS_GETGRENT_R:
- * This symbol, if defined, indicates that the getgrent_r routine
- * is available to getgrent re-entrantly.
- */
-/* GETGRENT_R_PROTO:
- * This symbol encodes the prototype of getgrent_r.
- * It is zero if d_getgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
- * is defined.
- */
-/*#define HAS_GETGRENT_R / **/
-#define GETGRENT_R_PROTO 0 /**/
-
-/* HAS_GETGRGID_R:
- * This symbol, if defined, indicates that the getgrgid_r routine
- * is available to getgrgid re-entrantly.
- */
-/* GETGRGID_R_PROTO:
- * This symbol encodes the prototype of getgrgid_r.
- * It is zero if d_getgrgid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
- * is defined.
- */
-#define HAS_GETGRGID_R /**/
-#define GETGRGID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/
-
-/* HAS_GETGRNAM_R:
- * This symbol, if defined, indicates that the getgrnam_r routine
- * is available to getgrnam re-entrantly.
- */
-/* GETGRNAM_R_PROTO:
- * This symbol encodes the prototype of getgrnam_r.
- * It is zero if d_getgrnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
- * is defined.
- */
-#define HAS_GETGRNAM_R /**/
-#define GETGRNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/
-
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-#define HAS_GETHOSTBYADDR /**/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-#define HAS_GETHOSTBYNAME /**/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-#define HAS_GETHOSTNAME /**/
-#define HAS_UNAME /**/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/usr/bin/hostname" /* How to get the host name */
-#endif
-
-/* HAS_GETHOSTBYADDR_R:
- * This symbol, if defined, indicates that the gethostbyaddr_r routine
- * is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- * This symbol encodes the prototype of gethostbyaddr_r.
- * It is zero if d_gethostbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R / **/
-#define GETHOSTBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETHOSTBYNAME_R:
- * This symbol, if defined, indicates that the gethostbyname_r routine
- * is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- * This symbol encodes the prototype of gethostbyname_r.
- * It is zero if d_gethostbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R / **/
-#define GETHOSTBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETHOSTENT_R:
- * This symbol, if defined, indicates that the gethostent_r routine
- * is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of gethostent_r.
- * It is zero if d_gethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- * is defined.
- */
-/*#define HAS_GETHOSTENT_R / **/
-#define GETHOSTENT_R_PROTO 0 /**/
-
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETHOST_PROTOS /**/
-
-/* HAS_GETLOGIN_R:
- * This symbol, if defined, indicates that the getlogin_r routine
- * is available to getlogin re-entrantly.
- */
-/* GETLOGIN_R_PROTO:
- * This symbol encodes the prototype of getlogin_r.
- * It is zero if d_getlogin_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
- * is defined.
- */
-#define HAS_GETLOGIN_R /**/
-#define GETLOGIN_R_PROTO REENTRANT_PROTO_I_BW /**/
-
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
-/* HAS_GETNETBYADDR_R:
- * This symbol, if defined, indicates that the getnetbyaddr_r routine
- * is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- * This symbol encodes the prototype of getnetbyaddr_r.
- * It is zero if d_getnetbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- * is defined.
- */
-/*#define HAS_GETNETBYADDR_R / **/
-#define GETNETBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETNETBYNAME_R:
- * This symbol, if defined, indicates that the getnetbyname_r routine
- * is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- * This symbol encodes the prototype of getnetbyname_r.
- * It is zero if d_getnetbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- * is defined.
- */
-/*#define HAS_GETNETBYNAME_R / **/
-#define GETNETBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETNETENT_R:
- * This symbol, if defined, indicates that the getnetent_r routine
- * is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- * This symbol encodes the prototype of getnetent_r.
- * It is zero if d_getnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- * is defined.
- */
-/*#define HAS_GETNETENT_R / **/
-#define GETNETENT_R_PROTO 0 /**/
-
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETNET_PROTOS /**/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-#define HAS_GETPROTOENT /**/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-#define HAS_GETPGRP /**/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
- */
-#define HAS_GETPROTOBYNAME /**/
-#define HAS_GETPROTOBYNUMBER /**/
-
-/* HAS_GETPROTOBYNAME_R:
- * This symbol, if defined, indicates that the getprotobyname_r routine
- * is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- * This symbol encodes the prototype of getprotobyname_r.
- * It is zero if d_getprotobyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R / **/
-#define GETPROTOBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- * This symbol, if defined, indicates that the getprotobynumber_r routine
- * is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- * This symbol encodes the prototype of getprotobynumber_r.
- * It is zero if d_getprotobynumber_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R / **/
-#define GETPROTOBYNUMBER_R_PROTO 0 /**/
-
-/* HAS_GETPROTOENT_R:
- * This symbol, if defined, indicates that the getprotoent_r routine
- * is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of getprotoent_r.
- * It is zero if d_getprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- * is defined.
- */
-/*#define HAS_GETPROTOENT_R / **/
-#define GETPROTOENT_R_PROTO 0 /**/
-
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETPROTO_PROTOS /**/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-#define HAS_GETPWENT /**/
-
-/* HAS_GETPWENT_R:
- * This symbol, if defined, indicates that the getpwent_r routine
- * is available to getpwent re-entrantly.
- */
-/* GETPWENT_R_PROTO:
- * This symbol encodes the prototype of getpwent_r.
- * It is zero if d_getpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
- * is defined.
- */
-/*#define HAS_GETPWENT_R / **/
-#define GETPWENT_R_PROTO 0 /**/
-
-/* HAS_GETPWNAM_R:
- * This symbol, if defined, indicates that the getpwnam_r routine
- * is available to getpwnam re-entrantly.
- */
-/* GETPWNAM_R_PROTO:
- * This symbol encodes the prototype of getpwnam_r.
- * It is zero if d_getpwnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
- * is defined.
- */
-#define HAS_GETPWNAM_R /**/
-#define GETPWNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/
-
-/* HAS_GETPWUID_R:
- * This symbol, if defined, indicates that the getpwuid_r routine
- * is available to getpwuid re-entrantly.
- */
-/* GETPWUID_R_PROTO:
- * This symbol encodes the prototype of getpwuid_r.
- * It is zero if d_getpwuid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
- * is defined.
- */
-#define HAS_GETPWUID_R /**/
-#define GETPWUID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/
-
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-#define HAS_GETSERVENT /**/
-
-/* HAS_GETSERVBYNAME_R:
- * This symbol, if defined, indicates that the getservbyname_r routine
- * is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- * This symbol encodes the prototype of getservbyname_r.
- * It is zero if d_getservbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- * is defined.
- */
-/*#define HAS_GETSERVBYNAME_R / **/
-#define GETSERVBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETSERVBYPORT_R:
- * This symbol, if defined, indicates that the getservbyport_r routine
- * is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- * This symbol encodes the prototype of getservbyport_r.
- * It is zero if d_getservbyport_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- * is defined.
- */
-/*#define HAS_GETSERVBYPORT_R / **/
-#define GETSERVBYPORT_R_PROTO 0 /**/
-
-/* HAS_GETSERVENT_R:
- * This symbol, if defined, indicates that the getservent_r routine
- * is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- * This symbol encodes the prototype of getservent_r.
- * It is zero if d_getservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- * is defined.
- */
-/*#define HAS_GETSERVENT_R / **/
-#define GETSERVENT_R_PROTO 0 /**/
-
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETSERV_PROTOS /**/
-
-/* HAS_GETSPNAM_R:
- * This symbol, if defined, indicates that the getspnam_r routine
- * is available to getspnam re-entrantly.
- */
-/* GETSPNAM_R_PROTO:
- * This symbol encodes the prototype of getspnam_r.
- * It is zero if d_getspnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
- * is defined.
- */
-/*#define HAS_GETSPNAM_R / **/
-#define GETSPNAM_R_PROTO 0 /**/
-
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-#define HAS_GETSERVBYNAME /**/
-#define HAS_GETSERVBYPORT /**/
-
-/* HAS_GMTIME_R:
- * This symbol, if defined, indicates that the gmtime_r routine
- * is available to gmtime re-entrantly.
- */
-/* GMTIME_R_PROTO:
- * This symbol encodes the prototype of gmtime_r.
- * It is zero if d_gmtime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
- * is defined.
- */
-#define HAS_GMTIME_R /**/
-#define GMTIME_R_PROTO REENTRANT_PROTO_S_TS /**/
-
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
- */
-#define HAS_HTONL /**/
-#define HAS_HTONS /**/
-#define HAS_NTOHL /**/
-#define HAS_NTOHS /**/
-
-/* HAS_LOCALTIME_R:
- * This symbol, if defined, indicates that the localtime_r routine
- * is available to localtime re-entrantly.
- */
-/* LOCALTIME_R_NEEDS_TZSET:
- * Many libc's localtime_r implementations do not call tzset,
- * making them differ from localtime(), and making timezone
- * changes using $ENV{TZ} without explicitly calling tzset
- * impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
-/* LOCALTIME_R_PROTO:
- * This symbol encodes the prototype of localtime_r.
- * It is zero if d_localtime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
- * is defined.
- */
-#define HAS_LOCALTIME_R /**/
-#define LOCALTIME_R_PROTO REENTRANT_PROTO_S_TS /**/
-
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-#define HAS_LONG_DOUBLE /**/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 12 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-#define HAS_LONG_LONG /**/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-#define HAS_LSEEK_PROTO /**/
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-#define HAS_MKSTEMP /**/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-#define HAS_MMAP /**/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
- */
-#define HAS_MSG /**/
-
-/* HAS_POLL:
- * This symbol, if defined, indicates that the poll routine is
- * available to poll active file descriptors. Please check I_POLL and
- * I_SYS_POLL to know which header should be included as well.
- */
-#define HAS_POLL /**/
-
-/* OLD_PTHREAD_CREATE_JOINABLE:
- * This symbol, if defined, indicates how to create pthread
- * in joinable (aka undetached) state. NOTE: not defined
- * if pthread.h already has defined PTHREAD_CREATE_JOINABLE
- * (the new version of the constant).
- * If defined, known values are PTHREAD_CREATE_UNDETACHED
- * and __UNDETACHED.
- */
-/*#define OLD_PTHREAD_CREATE_JOINABLE / **/
-
-/* HAS_PTHREAD_ATFORK:
- * This symbol, if defined, indicates that the pthread_atfork routine
- * is available to setup fork handlers.
- */
-#define HAS_PTHREAD_ATFORK /**/
-
-/* HAS_PTHREAD_YIELD:
- * This symbol, if defined, indicates that the pthread_yield
- * routine is available to yield the execution of the current
- * thread. sched_yield is preferable to pthread_yield.
- */
-/* SCHED_YIELD:
- * This symbol defines the way to yield the execution of
- * the current thread. Known ways are sched_yield,
- * pthread_yield, and pthread_yield with NULL.
- */
-/* HAS_SCHED_YIELD:
- * This symbol, if defined, indicates that the sched_yield
- * routine is available to yield the execution of the current
- * thread. sched_yield is preferable to pthread_yield.
- */
-/*#define HAS_PTHREAD_YIELD / **/
-#define SCHED_YIELD sched_yield() /**/
-#define HAS_SCHED_YIELD /**/
-
-/* HAS_RANDOM_R:
- * This symbol, if defined, indicates that the random_r routine
- * is available to random re-entrantly.
- */
-/* RANDOM_R_PROTO:
- * This symbol encodes the prototype of random_r.
- * It is zero if d_random_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
- * is defined.
- */
-/*#define HAS_RANDOM_R / **/
-#define RANDOM_R_PROTO 0 /**/
-
-/* HAS_READDIR64_R:
- * This symbol, if defined, indicates that the readdir64_r routine
- * is available to readdir64 re-entrantly.
- */
-/* READDIR64_R_PROTO:
- * This symbol encodes the prototype of readdir64_r.
- * It is zero if d_readdir64_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- * is defined.
- */
-/*#define HAS_READDIR64_R / **/
-#define READDIR64_R_PROTO 0 /**/
-
-/* HAS_READDIR_R:
- * This symbol, if defined, indicates that the readdir_r routine
- * is available to readdir re-entrantly.
- */
-/* READDIR_R_PROTO:
- * This symbol encodes the prototype of readdir_r.
- * It is zero if d_readdir_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
- * is defined.
- */
-#define HAS_READDIR_R /**/
-#define READDIR_R_PROTO REENTRANT_PROTO_I_TSR /**/
-
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
- */
-#define HAS_SEM /**/
-
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
- */
-#define HAS_SETGRENT /**/
-
-/* HAS_SETGRENT_R:
- * This symbol, if defined, indicates that the setgrent_r routine
- * is available to setgrent re-entrantly.
- */
-/* SETGRENT_R_PROTO:
- * This symbol encodes the prototype of setgrent_r.
- * It is zero if d_setgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
- * is defined.
- */
-/*#define HAS_SETGRENT_R / **/
-#define SETGRENT_R_PROTO 0 /**/
-
-/* HAS_SETGROUPS:
- * This symbol, if defined, indicates that the setgroups() routine is
- * available to set the list of process groups. If unavailable, multiple
- * groups are probably not supported.
- */
-#define HAS_SETGROUPS /**/
-
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-#define HAS_SETHOSTENT /**/
-
-/* HAS_SETHOSTENT_R:
- * This symbol, if defined, indicates that the sethostent_r routine
- * is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of sethostent_r.
- * It is zero if d_sethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- * is defined.
- */
-/*#define HAS_SETHOSTENT_R / **/
-#define SETHOSTENT_R_PROTO 0 /**/
-
-/* HAS_SETLOCALE_R:
- * This symbol, if defined, indicates that the setlocale_r routine
- * is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- * This symbol encodes the prototype of setlocale_r.
- * It is zero if d_setlocale_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- * is defined.
- */
-/*#define HAS_SETLOCALE_R / **/
-#define SETLOCALE_R_PROTO 0 /**/
-
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
-/* HAS_SETNETENT_R:
- * This symbol, if defined, indicates that the setnetent_r routine
- * is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- * This symbol encodes the prototype of setnetent_r.
- * It is zero if d_setnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- * is defined.
- */
-/*#define HAS_SETNETENT_R / **/
-#define SETNETENT_R_PROTO 0 /**/
-
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-#define HAS_SETPROTOENT /**/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-#define HAS_SETPGRP /**/
-/*#define USE_BSD_SETPGRP / **/
-
-/* HAS_SETPROTOENT_R:
- * This symbol, if defined, indicates that the setprotoent_r routine
- * is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of setprotoent_r.
- * It is zero if d_setprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- * is defined.
- */
-/*#define HAS_SETPROTOENT_R / **/
-#define SETPROTOENT_R_PROTO 0 /**/
-
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-#define HAS_SETPWENT /**/
-
-/* HAS_SETPWENT_R:
- * This symbol, if defined, indicates that the setpwent_r routine
- * is available to setpwent re-entrantly.
- */
-/* SETPWENT_R_PROTO:
- * This symbol encodes the prototype of setpwent_r.
- * It is zero if d_setpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
- * is defined.
- */
-/*#define HAS_SETPWENT_R / **/
-#define SETPWENT_R_PROTO 0 /**/
-
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-#define HAS_SETSERVENT /**/
-
-/* HAS_SETSERVENT_R:
- * This symbol, if defined, indicates that the setservent_r routine
- * is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- * This symbol encodes the prototype of setservent_r.
- * It is zero if d_setservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- * is defined.
- */
-/*#define HAS_SETSERVENT_R / **/
-#define SETSERVENT_R_PROTO 0 /**/
-
-/* HAS_SETVBUF:
- * This symbol, if defined, indicates that the setvbuf routine is
- * available to change buffering on an open stdio stream.
- * to a line-buffered mode.
- */
-#define HAS_SETVBUF /**/
-
-/* HAS_SHM:
- * This symbol, if defined, indicates that the entire shm*(2) library is
- * supported.
- */
-#define HAS_SHM /**/
-
-/* Shmat_t:
- * This symbol holds the return type of the shmat() system call.
- * Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- * This symbol, if defined, indicates that the sys/shm.h includes
- * a prototype for shmat(). Otherwise, it is up to the program to
- * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
- * but not always right so it should be emitted by the program only
- * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void * /**/
-#define HAS_SHMAT_PROTOTYPE /**/
-
-/* HAS_SOCKET:
- * This symbol, if defined, indicates that the BSD socket interface is
- * supported.
- */
-/* HAS_SOCKETPAIR:
- * This symbol, if defined, indicates that the BSD socketpair() call is
- * supported.
- */
-/* HAS_MSG_CTRUNC:
- * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- * This symbol, if defined, indicates that the MSG_OOB is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- * This symbol, if defined, indicates that the MSG_PEEK is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- * This symbol, if defined, indicates that the MSG_PROXY is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-#define HAS_SOCKET /**/
-#define HAS_SOCKETPAIR /**/
-#define HAS_MSG_CTRUNC /**/
-#define HAS_MSG_DONTROUTE /**/
-#define HAS_MSG_OOB /**/
-#define HAS_MSG_PEEK /**/
-/*#define HAS_MSG_PROXY / **/
-#define HAS_SCM_RIGHTS /**/
-
-/* HAS_SRAND48_R:
- * This symbol, if defined, indicates that the srand48_r routine
- * is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- * This symbol encodes the prototype of srand48_r.
- * It is zero if d_srand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- * is defined.
- */
-/*#define HAS_SRAND48_R / **/
-#define SRAND48_R_PROTO 0 /**/
-
-/* HAS_SRANDOM_R:
- * This symbol, if defined, indicates that the srandom_r routine
- * is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- * This symbol encodes the prototype of srandom_r.
- * It is zero if d_srandom_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- * is defined.
- */
-/*#define HAS_SRANDOM_R / **/
-#define SRANDOM_R_PROTO 0 /**/
-
-/* USE_STAT_BLOCKS:
- * This symbol is defined if this system has a stat structure declaring
- * st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-#define USE_STAT_BLOCKS /**/
-#endif
-
-/* USE_STRUCT_COPY:
- * This symbol, if defined, indicates that this C compiler knows how
- * to copy structures. If undefined, you'll need to use a block copy
- * routine of some sort instead.
- */
-#define USE_STRUCT_COPY /**/
-
-/* HAS_STRERROR:
- * This symbol, if defined, indicates that the strerror routine is
- * available to translate error numbers to strings. See the writeup
- * of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- * This symbol, if defined, indicates that the sys_errlist array is
- * available to translate error numbers to strings. The extern int
- * sys_nerr gives the size of that table.
- */
-/* Strerror:
- * This preprocessor symbol is defined as a macro if strerror() is
- * not available to translate error numbers to strings but sys_errlist[]
- * array is there.
- */
-#define HAS_STRERROR /**/
-#define HAS_SYS_ERRLIST /**/
-#define Strerror(e) strerror(e)
-
-/* HAS_STRERROR_R:
- * This symbol, if defined, indicates that the strerror_r routine
- * is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- * This symbol encodes the prototype of strerror_r.
- * It is zero if d_strerror_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- * is defined.
- */
-#define HAS_STRERROR_R /**/
-#define STRERROR_R_PROTO REENTRANT_PROTO_B_IBW /**/
-
-/* HAS_STRTOUL:
- * This symbol, if defined, indicates that the strtoul routine is
- * available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL /**/
-
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES /**/
-
-/* HAS_TMPNAM_R:
- * This symbol, if defined, indicates that the tmpnam_r routine
- * is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- * This symbol encodes the prototype of tmpnam_r.
- * It is zero if d_tmpnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- * is defined.
- */
-/*#define HAS_TMPNAM_R / **/
-#define TMPNAM_R_PROTO 0 /**/
-
-/* HAS_TTYNAME_R:
- * This symbol, if defined, indicates that the ttyname_r routine
- * is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- * This symbol encodes the prototype of ttyname_r.
- * It is zero if d_ttyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- * is defined.
- */
-#define HAS_TTYNAME_R /**/
-#define TTYNAME_R_PROTO REENTRANT_PROTO_I_IBW /**/
-
-/* HAS_UNION_SEMUN:
- * This symbol, if defined, indicates that the union semun is
- * defined by including <sys/sem.h>. If not, the user code
- * probably needs to define it as:
- * union semun {
- * int val;
- * struct semid_ds *buf;
- * unsigned short *array;
- * }
- */
-/* USE_SEMCTL_SEMUN:
- * This symbol, if defined, indicates that union semun is
- * used for semctl IPC_STAT.
- */
-/* USE_SEMCTL_SEMID_DS:
- * This symbol, if defined, indicates that struct semid_ds * is
- * used for semctl IPC_STAT.
- */
-/*#define HAS_UNION_SEMUN / **/
-#define USE_SEMCTL_SEMUN /**/
-#define USE_SEMCTL_SEMID_DS /**/
-
-/* HAS_VFORK:
- * This symbol, if defined, indicates that vfork() exists.
- */
-/*#define HAS_VFORK / **/
-
-/* HAS_PSEUDOFORK:
- * This symbol, if defined, indicates that an emulation of the
- * fork routine is available.
- */
-/*#define HAS_PSEUDOFORK / **/
-
-/* Signal_t:
- * This symbol's value is either "void" or "int", corresponding to the
- * appropriate return type of a signal handler. Thus, you can declare
- * a signal handler using "Signal_t (*handler)()", and define the
- * handler using "Signal_t handler(sig)".
- */
-#define Signal_t void /* Signal handler's return type */
-
-/* HASVOLATILE:
- * This symbol, if defined, indicates that this C compiler knows about
- * the volatile declaration.
- */
-#define HASVOLATILE /**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "lu" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign 1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t gid_t /* Type for getgid(), etc... */
-
-/* Groups_t:
- * This symbol holds the type used for the second argument to
- * getgroups() and setgroups(). Usually, this is the same as
- * gidtype (gid_t) , but sometimes it isn't.
- * It can be int, ushort, gid_t, etc...
- * It may be necessary to include <sys/types.h> to get any
- * typedef'ed information. This is only required if you have
- * getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
-/* I_DIRENT:
- * This symbol, if defined, indicates to the C program that it should
- * include <dirent.h>. Using this symbol also triggers the definition
- * of the Direntry_t define which ends up being 'struct dirent' or
- * 'struct direct' depending on the availability of <dirent.h>.
- */
-/* DIRNAMLEN:
- * This symbol, if defined, indicates to the C program that the length
- * of directory entry names is provided by a d_namlen field. Otherwise
- * you need to do strlen() on the d_name field.
- */
-/* Direntry_t:
- * This symbol is set to 'struct direct' or 'struct dirent' depending on
- * whether dirent is available or not. You should use this pseudo type to
- * portably declare your directory entries.
- */
-#define I_DIRENT /**/
-/*#define DIRNAMLEN / **/
-#define Direntry_t struct dirent
-
-/* I_GRP:
- * This symbol, if defined, indicates to the C program that it should
- * include <grp.h>.
- */
-/* GRPASSWD:
- * This symbol, if defined, indicates to the C program that struct group
- * in <grp.h> contains gr_passwd.
- */
-#define I_GRP /**/
-#define GRPASSWD /**/
-
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
-/* I_NDBM:
- * This symbol, if defined, indicates that <ndbm.h> exists and should
- * be included.
- */
-#define I_NDBM /**/
-
-/* I_NETDB:
- * This symbol, if defined, indicates that <netdb.h> exists and
- * should be included.
- */
-#define I_NETDB /**/
-
-/* I_NET_ERRNO:
- * This symbol, if defined, indicates that <net/errno.h> exists and
- * should be included.
- */
-/*#define I_NET_ERRNO / **/
-
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-#define I_PTHREAD /**/
-
-/* I_PWD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pwd.h>.
- */
-/* PWQUOTA:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_quota.
- */
-/* PWAGE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_age.
- */
-/* PWCHANGE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_change.
- */
-/* PWCLASS:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_class.
- */
-/* PWEXPIRE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_expire.
- */
-/* PWCOMMENT:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_comment.
- */
-/* PWGECOS:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_gecos.
- */
-/* PWPASSWD:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_passwd.
- */
-#define I_PWD /**/
-/*#define PWQUOTA / **/
-/*#define PWAGE / **/
-/*#define PWCHANGE / **/
-/*#define PWCLASS / **/
-/*#define PWEXPIRE / **/
-#define PWCOMMENT /**/
-#define PWGECOS /**/
-#define PWPASSWD /**/
-
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
-/* I_SYSUIO:
- * This symbol, if defined, indicates that <sys/uio.h> exists and
- * should be included.
- */
-#define I_SYSUIO /**/
-
-/* I_STDARG:
- * This symbol, if defined, indicates that <stdarg.h> exists and should
- * be included.
- */
-/* I_VARARGS:
- * This symbol, if defined, indicates to the C program that it should
- * include <varargs.h>.
- */
-#define I_STDARG /**/
-/*#define I_VARARGS / **/
-
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0 / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t off_t /* <offset> type */
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
-
-/* Free_t:
- * This variable contains the return type of free(). It is usually
- * void, but occasionally int.
- */
-/* Malloc_t:
- * This symbol is the type of pointer returned by malloc and realloc.
- */
-#define Malloc_t void * /**/
-#define Free_t void /**/
-
-/* PERL_MALLOC_WRAP:
- * This symbol, if defined, indicates that we'd like malloc wrap checks.
- */
-#define PERL_MALLOC_WRAP /**/
-
-/* MYMALLOC:
- * This symbol, if defined, indicates that we're using our own malloc.
- */
-#define MYMALLOC /**/
-
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t mode_t /* file mode parameter for system calls */
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t const char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t const char * /**/
-#define Netdb_net_t long /**/
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-#define PERL_OTHERLIBDIRS "/usr/lib/perl5/site_perl/5.8:/usr/lib/perl5/vendor_perl/5.8" /**/
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t pid_t /* PID type */
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/usr/lib/perl5/5.10" /**/
-#define PRIVLIB_EXP "/usr/lib/perl5/5.10" /**/
-
-/* CAN_PROTOTYPE:
- * If defined, this macro indicates that the C compiler can handle
- * function prototypes.
- */
-/* _:
- * This macro is used to declare function parameters for folks who want
- * to make declarations with prototypes using a different style than
- * the above macros. Use double parentheses. For example:
- *
- * int main _((int argc, char *argv[]));
- */
-#define CAN_PROTOTYPE /**/
-#ifdef CAN_PROTOTYPE
-#define _(args) args
-#else
-#define _(args) ()
-#endif
-
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t fd_set * /**/
-
-/* SH_PATH:
- * This symbol contains the full pathname to the shell used on this
- * on this system to execute Bourne shell scripts. Usually, this will be
- * /bin/sh, though it's possible that some systems will have /bin/ksh,
- * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
- * D:/bin/sh.exe.
- */
-#define SH_PATH "/bin/sh" /**/
-
-/* SIG_NAME:
- * This symbol contains a list of signal names in order of
- * signal number. This is intended
- * to be used as a static array initialization, like this:
- * char *sig_name[] = { SIG_NAME };
- * The signals in the list are separated with commas, and each signal
- * is surrounded by double quotes. There is no leading SIG in the signal
- * name, i.e. SIGQUIT is known as "QUIT".
- * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
- * etc., where nn is the actual signal number (e.g. NUM37).
- * The signal number for sig_name[i] is stored in sig_num[i].
- * The last element is 0 to terminate the list with a NULL. This
- * corresponds to the 0 at the end of the sig_name_init list.
- * Note that this variable is initialized from the sig_name_init,
- * not from sig_name (which is unused).
- */
-/* SIG_NUM:
- * This symbol contains a list of signal numbers, in the same order as the
- * SIG_NAME list. It is suitable for static array initialization, as in:
- * int sig_num[] = { SIG_NUM };
- * The signals in the list are separated with commas, and the indices
- * within that list and the SIG_NAME list match, so it's easy to compute
- * the signal name from a number or vice versa at the price of a small
- * dynamic linear lookup.
- * Duplicates are allowed, but are moved to the end of the list.
- * The signal number corresponding to sig_name[i] is sig_number[i].
- * if (i < NSIG) then sig_number[i] == i.
- * The last element is 0, corresponding to the 0 at the end of
- * the sig_name_init list.
- * Note that this variable is initialized from the sig_num_init,
- * not from sig_num (which is unused).
- */
-/* SIG_SIZE:
- * This variable contains the number of elements of the SIG_NAME
- * and SIG_NUM arrays, excluding the final NULL entry.
- */
-#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "LOST", "USR1", "USR2", "RTMAX", "CLD", "POLL", "RTMIN", 0 /**/
-#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 23, 32, 0 /**/
-#define SIG_SIZE 36 /**/
-
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define SITEARCH "/usr/lib/perl5/site_perl/5.10/i686-cygwin" /**/
-#define SITEARCH_EXP "/usr/lib/perl5/site_perl/5.10/i686-cygwin" /**/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "/usr/lib/perl5/site_perl/5.10" /**/
-#define SITELIB_EXP "/usr/lib/perl5/site_perl/5.10" /**/
-#define SITELIB_STEM "/usr/lib/perl5/site_perl/5.10" /**/
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /* */
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length paramater for string functions */
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t socklen_t /**/
-
-/* STDCHAR:
- * This symbol is defined to be the type of char used in stdio.h.
- * It has the values "unsigned char" or "char".
- */
-#define STDCHAR char /**/
-
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "lu" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign 1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t /* UID type */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-#define USE_ITHREADS /**/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PERL_VENDORARCH "/usr/lib/perl5/vendor_perl/5.10/i686-cygwin" /**/
-#define PERL_VENDORARCH_EXP "/usr/lib/perl5/vendor_perl/5.10/i686-cygwin" /**/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define PERL_VENDORLIB_EXP "/usr/lib/perl5/vendor_perl/5.10" /**/
-#define PERL_VENDORLIB_STEM "/usr/lib/perl5/vendor_perl/5.10" /**/
-
-/* VOIDFLAGS:
- * This symbol indicates how much support of the void type is given by this
- * compiler. What various bits mean:
- *
- * 1 = supports declaration of void
- * 2 = supports arrays of pointers to functions returning void
- * 4 = supports comparisons between pointers to void functions and
- * addresses of void functions
- * 8 = suports declaration of generic void pointers
- *
- * The package designer should define VOIDUSED to indicate the requirements
- * of the package. This can be done either by #defining VOIDUSED before
- * including config.h, or by defining defvoidused in Myinit.U. If the
- * latter approach is taken, only those flags will be tested. If the
- * level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 15
-#endif
-#define VOIDFLAGS 15
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int /* is void to be avoided? */
-#define M_VOID /* Xenix strikes again */
-#endif
-
-/* USE_CROSS_COMPILE:
- * This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- * This symbol, if defined, indicates the target architecture
- * Perl has been cross-compiled to. Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define USE_CROSS_COMPILE / **/
-#define PERL_TARGETARCH "" /**/
-#endif
-
-/* MEM_ALIGNBYTES:
- * This symbol contains the number of bytes required to align a
- * double, or a long double when applicable. Usual values are 2,
- * 4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 8
-#endif
-
-/* BYTEORDER:
- * This symbol holds the hexadecimal constant defined in byteorder,
- * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- * If the compiler supports cross-compiling or multiple-architecture
- * binaries (eg. on NeXT systems), use compiler-defined macros to
- * determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# ifdef __LITTLE_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x1234
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x12345678
-# endif
-# endif
-# else
-# ifdef __BIG_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x4321
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
-#else
-#define BYTEORDER 0x12345678 /* large digits for MSB */
-#endif /* NeXT */
-
-/* CASTI32:
- * This symbol is defined if the C compiler can cast negative
- * or large floating point numbers to 32-bit ints.
- */
-/*#define CASTI32 / **/
-
-/* CASTNEGFLOAT:
- * This symbol is defined if the C compiler can cast negative
- * numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- * This symbol contains flags that say what difficulties the compiler
- * has casting odd floating values to unsigned long:
- * 0 = ok
- * 1 = couldn't cast < 0
- * 2 = couldn't cast >= 0x80000000
- * 4 = couldn't cast in argument expression list
- */
-#define CASTNEGFLOAT /**/
-#define CASTFLAGS 0 /**/
-
-/* VOID_CLOSEDIR:
- * This symbol, if defined, indicates that the closedir() routine
- * does not return a value.
- */
-/*#define VOID_CLOSEDIR / **/
-
-/* HAS_FD_SET:
- * This symbol, when defined, indicates presence of the fd_set typedef
- * in <sys/types.h>
- */
-#define HAS_FD_SET /**/
-
-/* Gconvert:
- * This preprocessor macro is defined to convert a floating point
- * number to a string without a trailing decimal point. This
- * emulates the behavior of sprintf("%g"), but is sometimes much more
- * efficient. If gconvert() is not available, but gcvt() drops the
- * trailing decimal point, then gcvt() is used. If all else fails,
- * a macro using sprintf("%g") is used. Arguments for the Gconvert
- * macro are: value, number of digits, whether trailing zeros should
- * be retained, and the output buffer.
- * The usual values are:
- * d_Gconvert='gconvert((x),(n),(t),(b))'
- * d_Gconvert='gcvt((x),(n),(b))'
- * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- * The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- * This symbol, if defined, indicates that the getpagesize system call
- * is available to get system page size, which is the granularity of
- * many memory management calls.
- */
-#define HAS_GETPAGESIZE /**/
-
-/* HAS_GNULIBC:
- * This symbol, if defined, indicates to the C program that
- * the GNU C library is being used. A better check is to use
- * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC / **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-# define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- * This manifest constant lets the C program know that isascii
- * is available.
- */
-#define HAS_ISASCII /**/
-
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
- */
-#define HAS_LCHOWN /**/
-
-/* HAS_OPEN3:
- * This manifest constant lets the C program know that the three
- * argument form of open(2) is available.
- */
-#define HAS_OPEN3 /**/
-
-/* HAS_SAFE_BCOPY:
- * This symbol, if defined, indicates that the bcopy routine is available
- * to copy potentially overlapping memory blocks. Normally, you should
- * probably use memmove() or memcpy(). If neither is defined, roll your
- * own version.
- */
-/*#define HAS_SAFE_BCOPY / **/
-
-/* HAS_SAFE_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy potentially overlapping memory blocks. If you need to
- * copy overlapping memory blocks, you should check HAS_MEMMOVE and
- * use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY / **/
-
-/* HAS_SANE_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * and can be used to compare relative magnitudes of chars with their high
- * bits set. If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP /**/
-
-/* HAS_SIGACTION:
- * This symbol, if defined, indicates that Vr4's sigaction() routine
- * is available.
- */
-#define HAS_SIGACTION /**/
-
-/* HAS_SIGSETJMP:
- * This variable indicates to the C program that the sigsetjmp()
- * routine is available to save the calling process's registers
- * and stack environment for later use by siglongjmp(), and
- * to optionally save the process's signal mask. See
- * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-#define HAS_SIGSETJMP /**/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* USE_STDIO_PTR:
- * This symbol is defined if the _ptr and _cnt fields (or similar)
- * of the stdio FILE structure can be used to access the stdio buffer
- * for a file handle. If this is defined, then the FILE_ptr(fp)
- * and FILE_cnt(fp) macros will also be defined and should be used
- * to access these fields.
- */
-/* FILE_ptr:
- * This macro is used to access the _ptr field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- * This symbol is defined if the FILE_ptr macro can be used as an
- * lvalue.
- */
-/* FILE_cnt:
- * This macro is used to access the _cnt field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- * This symbol is defined if the FILE_cnt macro can be used as an
- * lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n has the side effect of decreasing the
- * value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR /**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp) ((fp)->_p)
-#define STDIO_PTR_LVALUE /**/
-#define FILE_cnt(fp) ((fp)->_r)
-#define STDIO_CNT_LVALUE /**/
-/*#define STDIO_PTR_LVAL_SETS_CNT / **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
-#endif
-
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- * This macro is used to access the _base field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- * This macro is used to determine the number of bytes in the I/O
- * buffer pointed to by _base field (or equivalent) of the FILE
- * structure pointed to its argument. This macro will always be defined
- * if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE /**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp) ((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)
-#define FILE_bufsiz(fp) ((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)
-#endif
-
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-/*#define I_TIME / **/
-#define I_SYS_TIME /**/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() drand48() /**/
-#define Rand_seed_t long /**/
-#define seedDrand01(x) srand48((Rand_seed_t)x) /**/
-#define RANDBITS 48 /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t ssize_t /* signed count of bytes */
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* HAS_ATOLF:
- * This symbol, if defined, indicates that the atolf routine is
- * available to convert strings into long doubles.
- */
-/*#define HAS_ATOLF / **/
-
-/* HAS_ATOLL:
- * This symbol, if defined, indicates that the atoll routine is
- * available to convert strings into long longs.
- */
-#define HAS_ATOLL /**/
-
-/* HAS__FWALK:
- * This symbol, if defined, indicates that the _fwalk system call is
- * available to apply a function to all the file handles.
- */
-/*#define HAS__FWALK / **/
-
-/* HAS_AINTL:
- * This symbol, if defined, indicates that the aintl routine is
- * available. If copysignl is also present we can emulate modfl.
- */
-/*#define HAS_AINTL / **/
-
-/* HAS_BUILTIN_CHOOSE_EXPR:
- * Can we handle GCC builtin for compile-time ternary-like expressions
- */
-/* HAS_BUILTIN_EXPECT:
- * Can we handle GCC builtin for telling that certain values are more
- * likely
- */
-#define HAS_BUILTIN_EXPECT /**/
-#define HAS_BUILTIN_CHOOSE_EXPR /**/
-
-/* HAS_C99_VARIADIC_MACROS:
- * If defined, the compiler supports C99 variadic macros.
- */
-#define HAS_C99_VARIADIC_MACROS /**/
-
-/* HAS_CLASS:
- * This symbol, if defined, indicates that the class routine is
- * available to classify doubles. Available for example in AIX.
- * The returned values are defined in <float.h> and are:
- *
- * FP_PLUS_NORM Positive normalized, nonzero
- * FP_MINUS_NORM Negative normalized, nonzero
- * FP_PLUS_DENORM Positive denormalized, nonzero
- * FP_MINUS_DENORM Negative denormalized, nonzero
- * FP_PLUS_ZERO +0.0
- * FP_MINUS_ZERO -0.0
- * FP_PLUS_INF +INF
- * FP_MINUS_INF -INF
- * FP_NANS Signaling Not a Number (NaNS)
- * FP_NANQ Quiet Not a Number (NaNQ)
- */
-/*#define HAS_CLASS / **/
-
-/* HAS_CLEARENV:
- * This symbol, if defined, indicates that the clearenv () routine is
- * available for use.
- */
-/*#define HAS_CLEARENV / **/
-
-/* HAS_STRUCT_CMSGHDR:
- * This symbol, if defined, indicates that the struct cmsghdr
- * is supported.
- */
-#define HAS_STRUCT_CMSGHDR /**/
-
-/* HAS_COPYSIGNL:
- * This symbol, if defined, indicates that the copysignl routine is
- * available. If aintl is also present we can emulate modfl.
- */
-/*#define HAS_COPYSIGNL / **/
-
-/* USE_CPLUSPLUS:
- * This symbol, if defined, indicates that a C++ compiler was
- * used to compiled Perl and will be used to compile extensions.
- */
-/*#define USE_CPLUSPLUS / **/
-
-/* HAS_DBMINIT_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the dbminit() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int dbminit(char *);
- */
-#define HAS_DBMINIT_PROTO /**/
-
-/* HAS_DIR_DD_FD:
- * This symbol, if defined, indicates that the the DIR* dirstream
- * structure contains a member variable named dd_fd.
- */
-/*#define HAS_DIR_DD_FD / **/
-
-/* HAS_DIRFD:
- * This manifest constant lets the C program know that dirfd
- * is available.
- */
-#define HAS_DIRFD /**/
-
-/* DLSYM_NEEDS_UNDERSCORE:
- * This symbol, if defined, indicates that we need to prepend an
- * underscore to the symbol name before calling dlsym(). This only
- * makes sense if you *have* dlsym, which we will presume is the
- * case if you're using dl_dlopen.xs.
- */
-/*#define DLSYM_NEEDS_UNDERSCORE / **/
-
-/* HAS_FAST_STDIO:
- * This symbol, if defined, indicates that the "fast stdio"
- * is available to manipulate the stdio buffers directly.
- */
-#define HAS_FAST_STDIO /**/
-
-/* HAS_FCHDIR:
- * This symbol, if defined, indicates that the fchdir routine is
- * available to change directory using a file descriptor.
- */
-#define HAS_FCHDIR /**/
-
-/* FCNTL_CAN_LOCK:
- * This symbol, if defined, indicates that fcntl() can be used
- * for file locking. Normally on Unix systems this is defined.
- * It may be undefined on VMS.
- */
-#define FCNTL_CAN_LOCK /**/
-
-/* HAS_FINITE:
- * This symbol, if defined, indicates that the finite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-#define HAS_FINITE /**/
-
-/* HAS_FINITEL:
- * This symbol, if defined, indicates that the finitel routine is
- * available to check whether a long double is finite
- * (non-infinity non-NaN).
- */
-/*#define HAS_FINITEL / **/
-
-/* HAS_FLOCK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the flock() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int flock(int, int);
- */
-#define HAS_FLOCK_PROTO /**/
-
-/* HAS_FP_CLASS:
- * This symbol, if defined, indicates that the fp_class routine is
- * available to classify doubles. Available for example in Digital UNIX.
- * The returned values are defined in <math.h> and are:
- *
- * FP_SNAN Signaling NaN (Not-a-Number)
- * FP_QNAN Quiet NaN (Not-a-Number)
- * FP_POS_INF +infinity
- * FP_NEG_INF -infinity
- * FP_POS_NORM Positive normalized
- * FP_NEG_NORM Negative normalized
- * FP_POS_DENORM Positive denormalized
- * FP_NEG_DENORM Negative denormalized
- * FP_POS_ZERO +0.0 (positive zero)
- * FP_NEG_ZERO -0.0 (negative zero)
- */
-/*#define HAS_FP_CLASS / **/
-
-/* HAS_FPCLASS:
- * This symbol, if defined, indicates that the fpclass routine is
- * available to classify doubles. Available for example in Solaris/SVR4.
- * The returned values are defined in <ieeefp.h> and are:
- *
- * FP_SNAN signaling NaN
- * FP_QNAN quiet NaN
- * FP_NINF negative infinity
- * FP_PINF positive infinity
- * FP_NDENORM negative denormalized non-zero
- * FP_PDENORM positive denormalized non-zero
- * FP_NZERO negative zero
- * FP_PZERO positive zero
- * FP_NNORM negative normalized non-zero
- * FP_PNORM positive normalized non-zero
- */
-/*#define HAS_FPCLASS / **/
-
-/* HAS_FPCLASSIFY:
- * This symbol, if defined, indicates that the fpclassify routine is
- * available to classify doubles. Available for example in HP-UX.
- * The returned values are defined in <math.h> and are
- *
- * FP_NORMAL Normalized
- * FP_ZERO Zero
- * FP_INFINITE Infinity
- * FP_SUBNORMAL Denormalized
- * FP_NAN NaN
- *
- */
-/*#define HAS_FPCLASSIFY / **/
-
-/* HAS_FPCLASSL:
- * This symbol, if defined, indicates that the fpclassl routine is
- * available to classify long doubles. Available for example in IRIX.
- * The returned values are defined in <ieeefp.h> and are:
- *
- * FP_SNAN signaling NaN
- * FP_QNAN quiet NaN
- * FP_NINF negative infinity
- * FP_PINF positive infinity
- * FP_NDENORM negative denormalized non-zero
- * FP_PDENORM positive denormalized non-zero
- * FP_NZERO negative zero
- * FP_PZERO positive zero
- * FP_NNORM negative normalized non-zero
- * FP_PNORM positive normalized non-zero
- */
-/*#define HAS_FPCLASSL / **/
-
-/* HAS_FPOS64_T:
- * This symbol will be defined if the C compiler supports fpos64_t.
- */
-/*#define HAS_FPOS64_T / **/
-
-/* HAS_FREXPL:
- * This symbol, if defined, indicates that the frexpl routine is
- * available to break a long double floating-point number into
- * a normalized fraction and an integral power of 2.
- */
-/*#define HAS_FREXPL / **/
-
-/* HAS_STRUCT_FS_DATA:
- * This symbol, if defined, indicates that the struct fs_data
- * to do statfs() is supported.
- */
-/*#define HAS_STRUCT_FS_DATA / **/
-
-/* HAS_FSEEKO:
- * This symbol, if defined, indicates that the fseeko routine is
- * available to fseek beyond 32 bits (useful for ILP32 hosts).
- */
-#define HAS_FSEEKO /**/
-
-/* HAS_FSTATFS:
- * This symbol, if defined, indicates that the fstatfs routine is
- * available to stat filesystems by file descriptors.
- */
-#define HAS_FSTATFS /**/
-
-/* HAS_FSYNC:
- * This symbol, if defined, indicates that the fsync routine is
- * available to write a file's modified data and attributes to
- * permanent storage.
- */
-#define HAS_FSYNC /**/
-
-/* HAS_FTELLO:
- * This symbol, if defined, indicates that the ftello routine is
- * available to ftell beyond 32 bits (useful for ILP32 hosts).
- */
-#define HAS_FTELLO /**/
-
-/* HAS_FUTIMES:
- * This symbol, if defined, indicates that the futimes routine is
- * available to change file descriptor time stamps with struct timevals.
- */
-#define HAS_FUTIMES /**/
-
-/* HAS_GETCWD:
- * This symbol, if defined, indicates that the getcwd routine is
- * available to get the current working directory.
- */
-#define HAS_GETCWD /**/
-
-/* HAS_GETESPWNAM:
- * This symbol, if defined, indicates that the getespwnam system call is
- * available to retrieve enchanced (shadow) password entries by name.
- */
-/*#define HAS_GETESPWNAM / **/
-
-/* HAS_GETFSSTAT:
- * This symbol, if defined, indicates that the getfsstat routine is
- * available to stat filesystems in bulk.
- */
-/*#define HAS_GETFSSTAT / **/
-
-/* HAS_GETITIMER:
- * This symbol, if defined, indicates that the getitimer routine is
- * available to return interval timers.
- */
-#define HAS_GETITIMER /**/
-
-/* HAS_GETMNT:
- * This symbol, if defined, indicates that the getmnt routine is
- * available to get filesystem mount info by filename.
- */
-/*#define HAS_GETMNT / **/
-
-/* HAS_GETMNTENT:
- * This symbol, if defined, indicates that the getmntent routine is
- * available to iterate through mounted file systems to get their info.
- */
-#define HAS_GETMNTENT /**/
-
-/* HAS_GETPRPWNAM:
- * This symbol, if defined, indicates that the getprpwnam system call is
- * available to retrieve protected (shadow) password entries by name.
- */
-/*#define HAS_GETPRPWNAM / **/
-
-/* HAS_GETSPNAM:
- * This symbol, if defined, indicates that the getspnam system call is
- * available to retrieve SysV shadow password entries by name.
- */
-/*#define HAS_GETSPNAM / **/
-
-/* HAS_HASMNTOPT:
- * This symbol, if defined, indicates that the hasmntopt routine is
- * available to query the mount options of file systems.
- */
-/*#define HAS_HASMNTOPT / **/
-
-/* HAS_ILOGBL:
- * This symbol, if defined, indicates that the ilogbl routine is
- * available. If scalbnl is also present we can emulate frexpl.
- */
-/*#define HAS_ILOGBL / **/
-
-/* HAS_INT64_T:
- * This symbol will defined if the C compiler supports int64_t.
- * Usually the <inttypes.h> needs to be included, but sometimes
- * <sys/types.h> is enough.
- */
-#define HAS_INT64_T /**/
-
-/* HAS_ISFINITE:
- * This symbol, if defined, indicates that the isfinite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-/*#define HAS_ISFINITE / **/
-
-/* HAS_ISINF:
- * This symbol, if defined, indicates that the isinf routine is
- * available to check whether a double is an infinity.
- */
-#define HAS_ISINF /**/
-
-/* HAS_ISNAN:
- * This symbol, if defined, indicates that the isnan routine is
- * available to check whether a double is a NaN.
- */
-#define HAS_ISNAN /**/
-
-/* HAS_ISNANL:
- * This symbol, if defined, indicates that the isnanl routine is
- * available to check whether a long double is a NaN.
- */
-/*#define HAS_ISNANL / **/
-
-/* HAS_LDBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol LDBL_DIG, which is the number
- * of significant digits in a long double precision number. Unlike
- * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
- */
-#define HAS_LDBL_DIG /* */
-
-/* LIBM_LIB_VERSION:
- * This symbol, if defined, indicates that libm exports _LIB_VERSION
- * and that math.h defines the enum to manipulate it.
- */
-/*#define LIBM_LIB_VERSION / **/
-
-/* HAS_MADVISE:
- * This symbol, if defined, indicates that the madvise system call is
- * available to map a file into memory.
- */
-/*#define HAS_MADVISE / **/
-
-/* HAS_MALLOC_SIZE:
- * This symbol, if defined, indicates that the malloc_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_SIZE / **/
-
-/* HAS_MALLOC_GOOD_SIZE:
- * This symbol, if defined, indicates that the malloc_good_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_GOOD_SIZE / **/
-
-/* HAS_MKDTEMP:
- * This symbol, if defined, indicates that the mkdtemp routine is
- * available to exclusively create a uniquely named temporary directory.
- */
-#define HAS_MKDTEMP /**/
-
-/* HAS_MKSTEMPS:
- * This symbol, if defined, indicates that the mkstemps routine is
- * available to excluslvely create and open a uniquely named
- * (with a suffix) temporary file.
- */
-/*#define HAS_MKSTEMPS / **/
-
-/* HAS_MODFL:
- * This symbol, if defined, indicates that the modfl routine is
- * available to split a long double x into a fractional part f and
- * an integer part i such that |f| < 1.0 and (f + i) = x.
- */
-/* HAS_MODFL_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the modfl() function. Otherwise, it is up
- * to the program to supply one.
- */
-/* HAS_MODFL_POW32_BUG:
- * This symbol, if defined, indicates that the modfl routine is
- * broken for long doubles >= pow(2, 32).
- * For example from 4294967303.150000 one would get 4294967302.000000
- * and 1.150000. The bug has been seen in certain versions of glibc,
- * release 2.2.2 is known to be okay.
- */
-/*#define HAS_MODFL / **/
-/*#define HAS_MODFL_PROTO / **/
-/*#define HAS_MODFL_POW32_BUG / **/
-
-/* HAS_MPROTECT:
- * This symbol, if defined, indicates that the mprotect system call is
- * available to modify the access protection of a memory mapped file.
- */
-#define HAS_MPROTECT /**/
-
-/* HAS_STRUCT_MSGHDR:
- * This symbol, if defined, indicates that the struct msghdr
- * is supported.
- */
-#define HAS_STRUCT_MSGHDR /**/
-
-/* HAS_NL_LANGINFO:
- * This symbol, if defined, indicates that the nl_langinfo routine is
- * available to return local data. You will also need <langinfo.h>
- * and therefore I_LANGINFO.
- */
-#define HAS_NL_LANGINFO /**/
-
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
- */
-/*#define HAS_OFF64_T / **/
-
-/* HAS_PROCSELFEXE:
- * This symbol is defined if PROCSELFEXE_PATH is a symlink
- * to the absolute pathname of the executing program.
- */
-/* PROCSELFEXE_PATH:
- * If HAS_PROCSELFEXE is defined this symbol is the filename
- * of the symbolic link pointing to the absolute pathname of
- * the executing program.
- */
-#define HAS_PROCSELFEXE /**/
-#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
-#define PROCSELFEXE_PATH "/proc/self/exe" /**/
-#endif
-
-/* HAS_PTHREAD_ATTR_SETSCOPE:
- * This symbol, if defined, indicates that the pthread_attr_setscope
- * system call is available to set the contention scope attribute of
- * a thread attribute object.
- */
-/*#define HAS_PTHREAD_ATTR_SETSCOPE / **/
-
-/* HAS_READV:
- * This symbol, if defined, indicates that the readv routine is
- * available to do gather reads. You will also need <sys/uio.h>
- * and there I_SYSUIO.
- */
-#define HAS_READV /**/
-
-/* HAS_RECVMSG:
- * This symbol, if defined, indicates that the recvmsg routine is
- * available to send structured socket messages.
- */
-#define HAS_RECVMSG /**/
-
-/* HAS_SBRK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the sbrk() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern void* sbrk(int);
- * extern void* sbrk(size_t);
- */
-#define HAS_SBRK_PROTO /**/
-
-/* HAS_SCALBNL:
- * This symbol, if defined, indicates that the scalbnl routine is
- * available. If ilogbl is also present we can emulate frexpl.
- */
-/*#define HAS_SCALBNL / **/
-
-/* HAS_SENDMSG:
- * This symbol, if defined, indicates that the sendmsg routine is
- * available to send structured socket messages.
- */
-#define HAS_SENDMSG /**/
-
-/* HAS_SETITIMER:
- * This symbol, if defined, indicates that the setitimer routine is
- * available to set interval timers.
- */
-#define HAS_SETITIMER /**/
-
-/* HAS_SETPROCTITLE:
- * This symbol, if defined, indicates that the setproctitle routine is
- * available to set process title.
- */
-/*#define HAS_SETPROCTITLE / **/
-
-/* USE_SFIO:
- * This symbol, if defined, indicates that sfio should
- * be used.
- */
-/*#define USE_SFIO / **/
-
-/* HAS_SIGNBIT:
- * This symbol, if defined, indicates that the signbit routine is
- * available to check if the given number has the sign bit set.
- * This should include correct testing of -0.0. This will only be set
- * if the signbit() routine is safe to use with the NV type used internally
- * in perl. Users should call Perl_signbit(), which will be #defined to
- * the system's signbit() function or macro if this symbol is defined.
- */
-#define HAS_SIGNBIT /**/
-
-/* HAS_SIGPROCMASK:
- * This symbol, if defined, indicates that the sigprocmask
- * system call is available to examine or change the signal mask
- * of the calling process.
- */
-#define HAS_SIGPROCMASK /**/
-
-/* USE_SITECUSTOMIZE:
- * This symbol, if defined, indicates that sitecustomize should
- * be used.
- */
-#ifndef USE_SITECUSTOMIZE
-/*#define USE_SITECUSTOMIZE / **/
-#endif
-
-/* HAS_SNPRINTF:
- * This symbol, if defined, indicates that the snprintf () library
- * function is available for use.
- */
-/* HAS_VSNPRINTF:
- * This symbol, if defined, indicates that the vsnprintf () library
- * function is available for use.
- */
-#define HAS_SNPRINTF /**/
-#define HAS_VSNPRINTF /**/
-
-/* HAS_SOCKATMARK:
- * This symbol, if defined, indicates that the sockatmark routine is
- * available to test whether a socket is at the out-of-band mark.
- */
-/*#define HAS_SOCKATMARK / **/
-
-/* HAS_SOCKATMARK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the sockatmark() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int sockatmark(int);
- */
-/*#define HAS_SOCKATMARK_PROTO / **/
-
-/* HAS_SOCKS5_INIT:
- * This symbol, if defined, indicates that the socks5_init routine is
- * available to initialize SOCKS 5.
- */
-/*#define HAS_SOCKS5_INIT / **/
-
-/* SPRINTF_RETURNS_STRLEN:
- * This variable defines whether sprintf returns the length of the string
- * (as per the ANSI spec). Some C libraries retain compatibility with
- * pre-ANSI C and return a pointer to the passed in buffer; for these
- * this variable will be undef.
- */
-#define SPRINTF_RETURNS_STRLEN /**/
-
-/* HAS_SQRTL:
- * This symbol, if defined, indicates that the sqrtl routine is
- * available to do long double square roots.
- */
-/*#define HAS_SQRTL / **/
-
-/* HAS_SETRESGID_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the setresgid() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);
- */
-/*#define HAS_SETRESGID_PROTO / **/
-
-/* HAS_SETRESUID_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the setresuid() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
- */
-/*#define HAS_SETRESUID_PROTO / **/
-
-/* HAS_STRUCT_STATFS_F_FLAGS:
- * This symbol, if defined, indicates that the struct statfs
- * does have the f_flags member containing the mount flags of
- * the filesystem containing the file.
- * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
- * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
- * have statfs() and struct statfs, they have ustat() and getmnt()
- * with struct ustat and struct fs_data.
- */
-/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
-
-/* HAS_STRUCT_STATFS:
- * This symbol, if defined, indicates that the struct statfs
- * to do statfs() is supported.
- */
-#define HAS_STRUCT_STATFS /**/
-
-/* HAS_FSTATVFS:
- * This symbol, if defined, indicates that the fstatvfs routine is
- * available to stat filesystems by file descriptors.
- */
-#define HAS_FSTATVFS /**/
-
-/* HAS_STRFTIME:
- * This symbol, if defined, indicates that the strftime routine is
- * available to do time formatting.
- */
-#define HAS_STRFTIME /**/
-
-/* HAS_STRLCAT:
- * This symbol, if defined, indicates that the strlcat () routine is
- * available to do string concatenation.
- */
-#define HAS_STRLCAT /**/
-
-/* HAS_STRLCPY:
- * This symbol, if defined, indicates that the strlcpy () routine is
- * available to do string copying.
- */
-#define HAS_STRLCPY /**/
-
-/* HAS_STRTOLD:
- * This symbol, if defined, indicates that the strtold routine is
- * available to convert strings to long doubles.
- */
-#define HAS_STRTOLD /**/
-
-/* HAS_STRTOLL:
- * This symbol, if defined, indicates that the strtoll routine is
- * available to convert strings to long longs.
- */
-#define HAS_STRTOLL /**/
-
-/* HAS_STRTOQ:
- * This symbol, if defined, indicates that the strtoq routine is
- * available to convert strings to long longs (quads).
- */
-/*#define HAS_STRTOQ / **/
-
-/* HAS_STRTOULL:
- * This symbol, if defined, indicates that the strtoull routine is
- * available to convert strings to unsigned long longs.
- */
-#define HAS_STRTOULL /**/
-
-/* HAS_STRTOUQ:
- * This symbol, if defined, indicates that the strtouq routine is
- * available to convert strings to unsigned long longs (quads).
- */
-/*#define HAS_STRTOUQ / **/
-
-/* HAS_SYSCALL_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the syscall() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int syscall(int, ...);
- * extern int syscall(long, ...);
- */
-/*#define HAS_SYSCALL_PROTO / **/
-
-/* HAS_TELLDIR_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the telldir() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern long telldir(DIR*);
- */
-#define HAS_TELLDIR_PROTO /**/
-
-/* U32_ALIGNMENT_REQUIRED:
- * This symbol, if defined, indicates that you must access
- * character data through U32-aligned pointers.
- */
-#ifndef U32_ALIGNMENT_REQUIRED
-#define U32_ALIGNMENT_REQUIRED /**/
-#endif
-
-/* HAS_UALARM:
- * This symbol, if defined, indicates that the ualarm routine is
- * available to do alarms with microsecond granularity.
- */
-#define HAS_UALARM /**/
-
-/* HAS_UNORDERED:
- * This symbol, if defined, indicates that the unordered routine is
- * available to check whether two doubles are unordered
- * (effectively: whether either of them is NaN)
- */
-/*#define HAS_UNORDERED / **/
-
-/* HAS_UNSETENV:
- * This symbol, if defined, indicates that the unsetenv () routine is
- * available for use.
- */
-#define HAS_UNSETENV /**/
-
-/* HAS_USLEEP_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the usleep() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int usleep(useconds_t);
- */
-#define HAS_USLEEP_PROTO /**/
-
-/* HAS_USTAT:
- * This symbol, if defined, indicates that the ustat system call is
- * available to query file system statistics by dev_t.
- */
-/*#define HAS_USTAT / **/
-
-/* HAS_WRITEV:
- * This symbol, if defined, indicates that the writev routine is
- * available to do scatter writes.
- */
-#define HAS_WRITEV /**/
-
-/* USE_DYNAMIC_LOADING:
- * This symbol, if defined, indicates that dynamic loading of
- * some sort is available.
- */
-#define USE_DYNAMIC_LOADING /**/
-
-/* FFLUSH_NULL:
- * This symbol, if defined, tells that fflush(NULL) does flush
- * all pending stdio output.
- */
-/* FFLUSH_ALL:
- * This symbol, if defined, tells that to flush
- * all pending stdio output one must loop through all
- * the stdio file handles stored in an array and fflush them.
- * Note that if fflushNULL is defined, fflushall will not
- * even be probed for and will be left undefined.
- */
-#define FFLUSH_NULL /**/
-/*#define FFLUSH_ALL / **/
-
-/* I_ASSERT:
- * This symbol, if defined, indicates that <assert.h> exists and
- * could be included by the C program to get the assert() macro.
- */
-#define I_ASSERT /**/
-
-/* I_CRYPT:
- * This symbol, if defined, indicates that <crypt.h> exists and
- * should be included.
- */
-#define I_CRYPT /**/
-
-/* DB_Prefix_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is u_int32_t.
- */
-/* DB_Hash_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is size_t.
- */
-/* DB_VERSION_MAJOR_CFG:
- * This symbol, if defined, defines the major version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- */
-/* DB_VERSION_MINOR_CFG:
- * This symbol, if defined, defines the minor version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-/* DB_VERSION_PATCH_CFG:
- * This symbol, if defined, defines the patch version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-#define DB_Hash_t u_int32_t /**/
-#define DB_Prefix_t size_t /**/
-#define DB_VERSION_MAJOR_CFG 4 /**/
-#define DB_VERSION_MINOR_CFG 5 /**/
-#define DB_VERSION_PATCH_CFG 20 /**/
-
-/* I_FP:
- * This symbol, if defined, indicates that <fp.h> exists and
- * should be included.
- */
-/*#define I_FP / **/
-
-/* I_FP_CLASS:
- * This symbol, if defined, indicates that <fp_class.h> exists and
- * should be included.
- */
-/*#define I_FP_CLASS / **/
-
-/* I_IEEEFP:
- * This symbol, if defined, indicates that <ieeefp.h> exists and
- * should be included.
- */
-#define I_IEEEFP /**/
-
-/* I_INTTYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <inttypes.h>.
- */
-#define I_INTTYPES /**/
-
-/* I_LANGINFO:
- * This symbol, if defined, indicates that <langinfo.h> exists and
- * should be included.
- */
-#define I_LANGINFO /**/
-
-/* I_LIBUTIL:
- * This symbol, if defined, indicates that <libutil.h> exists and
- * should be included.
- */
-/*#define I_LIBUTIL / **/
-
-/* I_MALLOCMALLOC:
- * This symbol, if defined, indicates to the C program that it should
- * include <malloc/malloc.h>.
- */
-/*#define I_MALLOCMALLOC / **/
-
-/* I_MNTENT:
- * This symbol, if defined, indicates that <mntent.h> exists and
- * should be included.
- */
-#define I_MNTENT /**/
-
-/* I_NETINET_TCP:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/tcp.h>.
- */
-#define I_NETINET_TCP /**/
-
-/* I_POLL:
- * This symbol, if defined, indicates that <poll.h> exists and
- * should be included. (see also HAS_POLL)
- */
-#define I_POLL /**/
-
-/* I_PROT:
- * This symbol, if defined, indicates that <prot.h> exists and
- * should be included.
- */
-/*#define I_PROT / **/
-
-/* I_SHADOW:
- * This symbol, if defined, indicates that <shadow.h> exists and
- * should be included.
- */
-/*#define I_SHADOW / **/
-
-/* I_SOCKS:
- * This symbol, if defined, indicates that <socks.h> exists and
- * should be included.
- */
-/*#define I_SOCKS / **/
-
-/* I_SUNMATH:
- * This symbol, if defined, indicates that <sunmath.h> exists and
- * should be included.
- */
-/*#define I_SUNMATH / **/
-
-/* I_SYSLOG:
- * This symbol, if defined, indicates that <syslog.h> exists and
- * should be included.
- */
-#define I_SYSLOG /**/
-
-/* I_SYSMODE:
- * This symbol, if defined, indicates that <sys/mode.h> exists and
- * should be included.
- */
-/*#define I_SYSMODE / **/
-
-/* I_SYS_MOUNT:
- * This symbol, if defined, indicates that <sys/mount.h> exists and
- * should be included.
- */
-#define I_SYS_MOUNT /**/
-
-/* I_SYS_STATFS:
- * This symbol, if defined, indicates that <sys/statfs.h> exists.
- */
-#define I_SYS_STATFS /**/
-
-/* I_SYS_STATVFS:
- * This symbol, if defined, indicates that <sys/statvfs.h> exists and
- * should be included.
- */
-#define I_SYS_STATVFS /**/
-
-/* I_SYSUTSNAME:
- * This symbol, if defined, indicates that <sys/utsname.h> exists and
- * should be included.
- */
-#define I_SYSUTSNAME /**/
-
-/* I_SYS_VFS:
- * This symbol, if defined, indicates that <sys/vfs.h> exists and
- * should be included.
- */
-#define I_SYS_VFS /**/
-
-/* I_USTAT:
- * This symbol, if defined, indicates that <ustat.h> exists and
- * should be included.
- */
-/*#define I_USTAT / **/
-
-/* PERL_PRIfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for output.
- */
-/* PERL_PRIgldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'g') for output.
- */
-/* PERL_PRIeldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'e') for output.
- */
-/* PERL_SCNfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for input.
- */
-#define PERL_PRIfldbl "Lf" /**/
-#define PERL_PRIgldbl "Lg" /**/
-#define PERL_PRIeldbl "Le" /**/
-#define PERL_SCNfldbl "Lf" /**/
-
-/* PERL_MAD:
- * This symbol, if defined, indicates that the Misc Attribution
- * Declaration code should be conditionally compiled.
- */
-#define PERL_MAD /**/
-
-/* NEED_VA_COPY:
- * This symbol, if defined, indicates that the system stores
- * the variable argument list datatype, va_list, in a format
- * that cannot be copied by simple assignment, so that some
- * other means must be used when copying is required.
- * As such systems vary in their provision (or non-provision)
- * of copying mechanisms, handy.h defines a platform-
- * independent macro, Perl_va_copy(src, dst), to do the job.
- */
-/*#define NEED_VA_COPY / **/
-
-/* IVTYPE:
- * This symbol defines the C type used for Perl's IV.
- */
-/* UVTYPE:
- * This symbol defines the C type used for Perl's UV.
- */
-/* I8TYPE:
- * This symbol defines the C type used for Perl's I8.
- */
-/* U8TYPE:
- * This symbol defines the C type used for Perl's U8.
- */
-/* I16TYPE:
- * This symbol defines the C type used for Perl's I16.
- */
-/* U16TYPE:
- * This symbol defines the C type used for Perl's U16.
- */
-/* I32TYPE:
- * This symbol defines the C type used for Perl's I32.
- */
-/* U32TYPE:
- * This symbol defines the C type used for Perl's U32.
- */
-/* I64TYPE:
- * This symbol defines the C type used for Perl's I64.
- */
-/* U64TYPE:
- * This symbol defines the C type used for Perl's U64.
- */
-/* NVTYPE:
- * This symbol defines the C type used for Perl's NV.
- */
-/* IVSIZE:
- * This symbol contains the sizeof(IV).
- */
-/* UVSIZE:
- * This symbol contains the sizeof(UV).
- */
-/* I8SIZE:
- * This symbol contains the sizeof(I8).
- */
-/* U8SIZE:
- * This symbol contains the sizeof(U8).
- */
-/* I16SIZE:
- * This symbol contains the sizeof(I16).
- */
-/* U16SIZE:
- * This symbol contains the sizeof(U16).
- */
-/* I32SIZE:
- * This symbol contains the sizeof(I32).
- */
-/* U32SIZE:
- * This symbol contains the sizeof(U32).
- */
-/* I64SIZE:
- * This symbol contains the sizeof(I64).
- */
-/* U64SIZE:
- * This symbol contains the sizeof(U64).
- */
-/* NVSIZE:
- * This symbol contains the sizeof(NV).
- */
-/* NV_PRESERVES_UV:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bits of a variable of type UVTYPE.
- */
-/* NV_PRESERVES_UV_BITS:
- * This symbol contains the number of bits a variable of type NVTYPE
- * can preserve of a variable of type UVTYPE.
- */
-/* NV_OVERFLOWS_INTEGERS_AT:
- * This symbol gives the largest integer value that NVs can hold. This
- * value + 1.0 cannot be stored accurately. It is expressed as constant
- * floating point expression to reduce the chance of decimale/binary
- * conversion issues. If it can not be determined, the value 0 is given.
- */
-/* NV_ZERO_IS_ALLBITS_ZERO:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * stores 0.0 in memory as all bits zero.
- */
-#define IVTYPE long long /**/
-#define UVTYPE unsigned long long /**/
-#define I8TYPE signed char /**/
-#define U8TYPE unsigned char /**/
-#define I16TYPE short /**/
-#define U16TYPE unsigned short /**/
-#define I32TYPE long /**/
-#define U32TYPE unsigned long /**/
-#ifdef HAS_QUAD
-#define I64TYPE long long /**/
-#define U64TYPE unsigned long long /**/
-#endif
-#define NVTYPE double /**/
-#define IVSIZE 8 /**/
-#define UVSIZE 8 /**/
-#define I8SIZE 1 /**/
-#define U8SIZE 1 /**/
-#define I16SIZE 2 /**/
-#define U16SIZE 2 /**/
-#define I32SIZE 4 /**/
-#define U32SIZE 4 /**/
-#ifdef HAS_QUAD
-#define I64SIZE 8 /**/
-#define U64SIZE 8 /**/
-#endif
-#define NVSIZE 8 /**/
-#undef NV_PRESERVES_UV
-#define NV_PRESERVES_UV_BITS 53
-#define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
-#define NV_ZERO_IS_ALLBITS_ZERO
-#if UVSIZE == 8
-# ifdef BYTEORDER
-# if BYTEORDER == 0x1234
-# undef BYTEORDER
-# define BYTEORDER 0x12345678
-# else
-# if BYTEORDER == 0x4321
-# undef BYTEORDER
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-#endif
-
-/* IVdf:
- * This symbol defines the format string used for printing a Perl IV
- * as a signed decimal integer.
- */
-/* UVuf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned decimal integer.
- */
-/* UVof:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned octal integer.
- */
-/* UVxf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in lowercase abcdef.
- */
-/* UVXf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in uppercase ABCDEF.
- */
-/* NVef:
- * This symbol defines the format string used for printing a Perl NV
- * using %e-ish floating point format.
- */
-/* NVff:
- * This symbol defines the format string used for printing a Perl NV
- * using %f-ish floating point format.
- */
-/* NVgf:
- * This symbol defines the format string used for printing a Perl NV
- * using %g-ish floating point format.
- */
-#define IVdf "lld" /**/
-#define UVuf "llu" /**/
-#define UVof "llo" /**/
-#define UVxf "llx" /**/
-#define UVXf "llX" /**/
-#define NVef "e" /**/
-#define NVff "f" /**/
-#define NVgf "g" /**/
-
-/* SELECT_MIN_BITS:
- * This symbol holds the minimum number of bits operated by select.
- * That is, if you do select(n, ...), how many bits at least will be
- * cleared in the masks if some activity is detected. Usually this
- * is either n or 32*ceil(n/32), especially many little-endians do
- * the latter. This is only useful if you have select(), naturally.
- */
-#define SELECT_MIN_BITS 32 /**/
-
-/* STARTPERL:
- * This variable contains the string to put in front of a perl
- * script to make sure (one hopes) that it runs with perl and not
- * some shell.
- */
-#define STARTPERL "#!/usr/bin/perl5.10.0" /**/
-
-/* HAS_STDIO_STREAM_ARRAY:
- * This symbol, if defined, tells that there is an array
- * holding the stdio streams.
- */
-/* STDIO_STREAM_ARRAY:
- * This symbol tells the name of the array holding the stdio streams.
- * Usual values include _iob, __iob, and __sF.
- */
-/*#define HAS_STDIO_STREAM_ARRAY / **/
-#ifdef HAS_STDIO_STREAM_ARRAY
-#define STDIO_STREAM_ARRAY
-#endif
-
-/* USE_64_BIT_INT:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be employed (be they 32 or 64 bits). The minimal possible
- * 64-bitness is used, just enough to get 64-bit integers into Perl.
- * This may mean using for example "long longs", while your memory
- * may still be limited to 2 gigabytes.
- */
-/* USE_64_BIT_ALL:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits). The maximal possible
- * 64-bitness is employed: LP64 or ILP64, meaning that you will
- * be able to use more than 2 gigabytes of memory. This mode is
- * even more binary incompatible than USE_64_BIT_INT. You may not
- * be able to run the resulting executable in a 32-bit CPU at all or
- * you may need at least to reboot your OS to 64-bit mode.
- */
-#ifndef USE_64_BIT_INT
-#define USE_64_BIT_INT /**/
-#endif
-#ifndef USE_64_BIT_ALL
-/*#define USE_64_BIT_ALL / **/
-#endif
-
-/* USE_DTRACE:
- * This symbol, if defined, indicates that Perl should
- * be built with support for DTrace.
- */
-/*#define USE_DTRACE / **/
-
-/* USE_FAST_STDIO:
- * This symbol, if defined, indicates that Perl should
- * be built to use 'fast stdio'.
- * Defaults to define in Perls 5.8 and earlier, to undef later.
- */
-#ifndef USE_FAST_STDIO
-/*#define USE_FAST_STDIO / **/
-#endif
-
-/* USE_LARGE_FILES:
- * This symbol, if defined, indicates that large file support
- * should be used when available.
- */
-#ifndef USE_LARGE_FILES
-#define USE_LARGE_FILES /**/
-#endif
-
-/* USE_LONG_DOUBLE:
- * This symbol, if defined, indicates that long doubles should
- * be used when available.
- */
-#ifndef USE_LONG_DOUBLE
-/*#define USE_LONG_DOUBLE / **/
-#endif
-
-/* USE_MORE_BITS:
- * This symbol, if defined, indicates that 64-bit interfaces and
- * long doubles should be used when available.
- */
-#ifndef USE_MORE_BITS
-/*#define USE_MORE_BITS / **/
-#endif
-
-/* MULTIPLICITY:
- * This symbol, if defined, indicates that Perl should
- * be built to use multiplicity.
- */
-#ifndef MULTIPLICITY
-#define MULTIPLICITY /**/
-#endif
-
-/* USE_PERLIO:
- * This symbol, if defined, indicates that the PerlIO abstraction should
- * be used throughout. If not defined, stdio should be
- * used in a fully backward compatible manner.
- */
-#ifndef USE_PERLIO
-#define USE_PERLIO /**/
-#endif
-
-/* USE_SOCKS:
- * This symbol, if defined, indicates that Perl should
- * be built to use socks.
- */
-#ifndef USE_SOCKS
-/*#define USE_SOCKS / **/
-#endif
-
-#endif
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cop.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cop.h
deleted file mode 100644
index 10f8a0402ab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cop.h
+++ /dev/null
@@ -1,913 +0,0 @@
-/* cop.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * Control ops (cops) are one of the three ops OP_NEXTSTATE, OP_DBSTATE,
- * and OP_SETSTATE that (loosely speaking) are separate statements.
- * They hold information important for lexical state and error reporting.
- * At run time, PL_curcop is set to point to the most recently executed cop,
- * and thus can be used to determine our current state.
- */
-
-/* A jmpenv packages the state required to perform a proper non-local jump.
- * Note that there is a start_env initialized when perl starts, and top_env
- * points to this initially, so top_env should always be non-null.
- *
- * Existence of a non-null top_env->je_prev implies it is valid to call
- * longjmp() at that runlevel (we make sure start_env.je_prev is always
- * null to ensure this).
- *
- * je_mustcatch, when set at any runlevel to TRUE, means eval ops must
- * establish a local jmpenv to handle exception traps. Care must be taken
- * to restore the previous value of je_mustcatch before exiting the
- * stack frame iff JMPENV_PUSH was not called in that stack frame.
- * GSAR 97-03-27
- */
-
-struct jmpenv {
- struct jmpenv * je_prev;
- Sigjmp_buf je_buf; /* only for use if !je_throw */
- int je_ret; /* last exception thrown */
- bool je_mustcatch; /* need to call longjmp()? */
-};
-
-typedef struct jmpenv JMPENV;
-
-#ifdef OP_IN_REGISTER
-#define OP_REG_TO_MEM PL_opsave = op
-#define OP_MEM_TO_REG op = PL_opsave
-#else
-#define OP_REG_TO_MEM NOOP
-#define OP_MEM_TO_REG NOOP
-#endif
-
-/*
- * How to build the first jmpenv.
- *
- * top_env needs to be non-zero. It points to an area
- * in which longjmp() stuff is stored, as C callstack
- * info there at least is thread specific this has to
- * be per-thread. Otherwise a 'die' in a thread gives
- * that thread the C stack of last thread to do an eval {}!
- */
-
-#define JMPENV_BOOTSTRAP \
- STMT_START { \
- Zero(&PL_start_env, 1, JMPENV); \
- PL_start_env.je_ret = -1; \
- PL_start_env.je_mustcatch = TRUE; \
- PL_top_env = &PL_start_env; \
- } STMT_END
-
-/*
- * PERL_FLEXIBLE_EXCEPTIONS
- *
- * All the flexible exceptions code has been removed.
- * See the following threads for details:
- *
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-07/msg00378.html
- *
- * Joshua's original patches (which weren't applied) and discussion:
- *
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01396.html
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01489.html
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01491.html
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01608.html
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02144.html
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02998.html
- *
- * Chip's reworked patch and discussion:
- *
- * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1999-03/msg00520.html
- *
- * The flaw in these patches (which went unnoticed at the time) was
- * that they moved some code that could potentially die() out of the
- * region protected by the setjmp()s. This caused exceptions within
- * END blocks and such to not be handled by the correct setjmp().
- *
- * The original patches that introduces flexible exceptions were:
- *
- * http://public.activestate.com/cgi-bin/perlbrowse?patch=3386
- * http://public.activestate.com/cgi-bin/perlbrowse?patch=5162
- */
-
-#define dJMPENV JMPENV cur_env
-
-#define JMPENV_PUSH(v) \
- STMT_START { \
- DEBUG_l(Perl_deb(aTHX_ "Setting up jumplevel %p, was %p\n", \
- (void*)&cur_env, (void*)PL_top_env)); \
- cur_env.je_prev = PL_top_env; \
- OP_REG_TO_MEM; \
- cur_env.je_ret = PerlProc_setjmp(cur_env.je_buf, SCOPE_SAVES_SIGNAL_MASK); \
- OP_MEM_TO_REG; \
- PL_top_env = &cur_env; \
- cur_env.je_mustcatch = FALSE; \
- (v) = cur_env.je_ret; \
- } STMT_END
-
-#define JMPENV_POP \
- STMT_START { \
- DEBUG_l(Perl_deb(aTHX_ "popping jumplevel was %p, now %p\n", \
- (void*)PL_top_env, (void*)cur_env.je_prev)); \
- PL_top_env = cur_env.je_prev; \
- } STMT_END
-
-#define JMPENV_JUMP(v) \
- STMT_START { \
- OP_REG_TO_MEM; \
- if (PL_top_env->je_prev) \
- PerlProc_longjmp(PL_top_env->je_buf, (v)); \
- if ((v) == 2) \
- PerlProc_exit(STATUS_EXIT); \
- PerlIO_printf(PerlIO_stderr(), "panic: top_env\n"); \
- PerlProc_exit(1); \
- } STMT_END
-
-#define CATCH_GET (PL_top_env->je_mustcatch)
-#define CATCH_SET(v) (PL_top_env->je_mustcatch = (v))
-
-
-#include "mydtrace.h"
-
-struct cop {
- BASEOP
- /* On LP64 putting this here takes advantage of the fact that BASEOP isn't
- an exact multiple of 8 bytes to save structure padding. */
- line_t cop_line; /* line # of this command */
- char * cop_label; /* label for this construct */
-#ifdef USE_ITHREADS
- char * cop_stashpv; /* package line was compiled in */
- char * cop_file; /* file name the following line # is from */
-#else
- HV * cop_stash; /* package line was compiled in */
- GV * cop_filegv; /* file the following line # is from */
-#endif
- U32 cop_hints; /* hints bits from pragmata */
- U32 cop_seq; /* parse sequence number */
- /* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */
- STRLEN * cop_warnings; /* lexical warnings bitmask */
- /* compile time state of %^H. See the comment in op.c for how this is
- used to recreate a hash to return from caller. */
- struct refcounted_he * cop_hints_hash;
-};
-
-#ifdef USE_ITHREADS
-# define CopFILE(c) ((c)->cop_file)
-# define CopFILEGV(c) (CopFILE(c) \
- ? gv_fetchfile(CopFILE(c)) : NULL)
-
-# ifdef NETWARE
-# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv))
-# define CopFILE_setn(c,pv,l) ((c)->cop_file = savepv((pv),(l)))
-# else
-# define CopFILE_set(c,pv) ((c)->cop_file = savesharedpv(pv))
-# define CopFILE_setn(c,pv,l) ((c)->cop_file = savesharedpvn((pv),(l)))
-# endif
-
-# define CopFILESV(c) (CopFILE(c) \
- ? GvSV(gv_fetchfile(CopFILE(c))) : NULL)
-# define CopFILEAV(c) (CopFILE(c) \
- ? GvAV(gv_fetchfile(CopFILE(c))) : NULL)
-# ifdef DEBUGGING
-# define CopFILEAVx(c) (assert(CopFILE(c)), \
- GvAV(gv_fetchfile(CopFILE(c))))
-# else
-# define CopFILEAVx(c) (GvAV(gv_fetchfile(CopFILE(c))))
-# endif
-# define CopSTASHPV(c) ((c)->cop_stashpv)
-
-# ifdef NETWARE
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : NULL))
-# else
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = savesharedpv(pv))
-# endif
-
-# define CopSTASH(c) (CopSTASHPV(c) \
- ? gv_stashpv(CopSTASHPV(c),GV_ADD) : NULL)
-# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME_get(hv) : NULL)
-# define CopSTASH_eq(c,hv) ((hv) && stashpv_hvname_match(c,hv))
-# define CopLABEL(c) ((c)->cop_label)
-# define CopLABEL_set(c,pv) (CopLABEL(c) = (pv))
-# ifdef NETWARE
-# define CopSTASH_free(c) SAVECOPSTASH_FREE(c)
-# define CopFILE_free(c) SAVECOPFILE_FREE(c)
-# define CopLABEL_free(c) SAVECOPLABEL_FREE(c)
-# define CopLABEL_alloc(pv) ((pv)?savepv(pv):NULL)
-# else
-# define CopSTASH_free(c) PerlMemShared_free(CopSTASHPV(c))
-# define CopFILE_free(c) (PerlMemShared_free(CopFILE(c)),(CopFILE(c) = NULL))
-# define CopLABEL_free(c) (PerlMemShared_free(CopLABEL(c)),(CopLABEL(c) = NULL))
-# define CopLABEL_alloc(pv) ((pv)?savesharedpv(pv):NULL)
-# endif
-#else
-# define CopFILEGV(c) ((c)->cop_filegv)
-# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv))
-# define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv))
-# define CopFILE_setn(c,pv,l) CopFILEGV_set((c), gv_fetchfile_flags((pv),(l),0))
-# define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : NULL)
-# define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : NULL)
-# ifdef DEBUGGING
-# define CopFILEAVx(c) (assert(CopFILEGV(c)), GvAV(CopFILEGV(c)))
-# else
-# define CopFILEAVx(c) (GvAV(CopFILEGV(c)))
-# endif
-# define CopFILE(c) (CopFILEGV(c) && GvSV(CopFILEGV(c)) \
- ? SvPVX(GvSV(CopFILEGV(c))) : NULL)
-# define CopSTASH(c) ((c)->cop_stash)
-# define CopLABEL(c) ((c)->cop_label)
-# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv))
-# define CopSTASHPV(c) (CopSTASH(c) ? HvNAME_get(CopSTASH(c)) : NULL)
- /* cop_stash is not refcounted */
-# define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
-# define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv))
-# define CopLABEL_alloc(pv) ((pv)?savepv(pv):NULL)
-# define CopLABEL_set(c,pv) (CopLABEL(c) = (pv))
-# define CopSTASH_free(c)
-# define CopFILE_free(c) (SvREFCNT_dec(CopFILEGV(c)),(CopFILEGV(c) = NULL))
-# define CopLABEL_free(c) (Safefree(CopLABEL(c)),(CopLABEL(c) = NULL))
-
-#endif /* USE_ITHREADS */
-
-#define CopSTASH_ne(c,hv) (!CopSTASH_eq(c,hv))
-#define CopLINE(c) ((c)->cop_line)
-#define CopLINE_inc(c) (++CopLINE(c))
-#define CopLINE_dec(c) (--CopLINE(c))
-#define CopLINE_set(c,l) (CopLINE(c) = (l))
-
-/* OutCopFILE() is CopFILE for output (caller, die, warn, etc.) */
-#ifdef MACOS_TRADITIONAL
-# define OutCopFILE(c) MacPerl_MPWFileName(CopFILE(c))
-#else
-# define OutCopFILE(c) CopFILE(c)
-#endif
-
-/* If $[ is non-zero, it's stored in cop_hints under the key "$[", and
- HINT_ARYBASE is set to indicate this.
- Setting it is ineficient due to the need to create 2 mortal SVs, but as
- using $[ is highly discouraged, no sane Perl code will be using it. */
-#define CopARYBASE_get(c) \
- ((CopHINTS_get(c) & HINT_ARYBASE) \
- ? SvIV(Perl_refcounted_he_fetch(aTHX_ (c)->cop_hints_hash, 0, \
- "$[", 2, 0, 0)) \
- : 0)
-#define CopARYBASE_set(c, b) STMT_START { \
- if (b || ((c)->cop_hints & HINT_ARYBASE)) { \
- (c)->cop_hints |= HINT_ARYBASE; \
- if ((c) == &PL_compiling) \
- PL_hints |= HINT_LOCALIZE_HH | HINT_ARYBASE; \
- (c)->cop_hints_hash \
- = Perl_refcounted_he_new(aTHX_ (c)->cop_hints_hash, \
- newSVpvs_flags("$[", SVs_TEMP), \
- sv_2mortal(newSViv(b))); \
- } \
- } STMT_END
-
-/* FIXME NATIVE_HINTS if this is changed from op_private (see perl.h) */
-#define CopHINTS_get(c) ((c)->cop_hints + 0)
-#define CopHINTS_set(c, h) STMT_START { \
- (c)->cop_hints = (h); \
- } STMT_END
-
-/*
- * Here we have some enormously heavy (or at least ponderous) wizardry.
- */
-
-/* subroutine context */
-struct block_sub {
- CV * cv;
- GV * gv;
- GV * dfoutgv;
- AV * savearray;
- AV * argarray;
- I32 olddepth;
- U8 hasargs;
- U8 lval; /* XXX merge lval and hasargs? */
- PAD *oldcomppad;
- OP * retop; /* op to execute on exit from sub */
-};
-
-/* base for the next two macros. Don't use directly.
- * Note that the refcnt of the cv is incremented twice; The CX one is
- * decremented by LEAVESUB, the other by LEAVE. */
-
-#define PUSHSUB_BASE(cx) \
- ENTRY_PROBE(GvENAME(CvGV(cv)), \
- CopFILE((COP*)CvSTART(cv)), \
- CopLINE((COP*)CvSTART(cv))); \
- \
- cx->blk_sub.cv = cv; \
- cx->blk_sub.olddepth = CvDEPTH(cv); \
- cx->blk_sub.hasargs = hasargs; \
- cx->blk_sub.retop = NULL; \
- if (!CvDEPTH(cv)) { \
- SvREFCNT_inc_simple_void_NN(cv); \
- SvREFCNT_inc_simple_void_NN(cv); \
- SAVEFREESV(cv); \
- }
-
-
-#define PUSHSUB(cx) \
- PUSHSUB_BASE(cx) \
- cx->blk_sub.lval = PL_op->op_private & \
- (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
-
-/* variant for use by OP_DBSTATE, where op_private holds hint bits */
-#define PUSHSUB_DB(cx) \
- PUSHSUB_BASE(cx) \
- cx->blk_sub.lval = 0;
-
-
-#define PUSHFORMAT(cx) \
- cx->blk_sub.cv = cv; \
- cx->blk_sub.gv = gv; \
- cx->blk_sub.retop = NULL; \
- cx->blk_sub.hasargs = 0; \
- cx->blk_sub.dfoutgv = PL_defoutgv; \
- SvREFCNT_inc_void(cx->blk_sub.dfoutgv)
-
-#define POP_SAVEARRAY() \
- STMT_START { \
- SvREFCNT_dec(GvAV(PL_defgv)); \
- GvAV(PL_defgv) = cx->blk_sub.savearray; \
- } STMT_END
-
-/* junk in @_ spells trouble when cloning CVs and in pp_caller(), so don't
- * leave any (a fast av_clear(ary), basically) */
-#define CLEAR_ARGARRAY(ary) \
- STMT_START { \
- AvMAX(ary) += AvARRAY(ary) - AvALLOC(ary); \
- AvARRAY(ary) = AvALLOC(ary); \
- AvFILLp(ary) = -1; \
- } STMT_END
-
-#define POPSUB(cx,sv) \
- STMT_START { \
- RETURN_PROBE(GvENAME(CvGV((CV*)cx->blk_sub.cv)), \
- CopFILE((COP*)CvSTART((CV*)cx->blk_sub.cv)), \
- CopLINE((COP*)CvSTART((CV*)cx->blk_sub.cv))); \
- \
- if (CxHASARGS(cx)) { \
- POP_SAVEARRAY(); \
- /* abandon @_ if it got reified */ \
- if (AvREAL(cx->blk_sub.argarray)) { \
- const SSize_t fill = AvFILLp(cx->blk_sub.argarray); \
- SvREFCNT_dec(cx->blk_sub.argarray); \
- cx->blk_sub.argarray = newAV(); \
- av_extend(cx->blk_sub.argarray, fill); \
- AvREIFY_only(cx->blk_sub.argarray); \
- CX_CURPAD_SV(cx->blk_sub, 0) = (SV*)cx->blk_sub.argarray; \
- } \
- else { \
- CLEAR_ARGARRAY(cx->blk_sub.argarray); \
- } \
- } \
- sv = (SV*)cx->blk_sub.cv; \
- if (sv && (CvDEPTH((CV*)sv) = cx->blk_sub.olddepth)) \
- sv = NULL; \
- } STMT_END
-
-#define LEAVESUB(sv) \
- STMT_START { \
- if (sv) \
- SvREFCNT_dec(sv); \
- } STMT_END
-
-#define POPFORMAT(cx) \
- setdefout(cx->blk_sub.dfoutgv); \
- SvREFCNT_dec(cx->blk_sub.dfoutgv);
-
-/* eval context */
-struct block_eval {
- U8 old_in_eval;
- U16 old_op_type;
- SV * old_namesv;
- OP * old_eval_root;
- SV * cur_text;
- CV * cv;
- OP * retop; /* op to execute on exit from eval */
- JMPENV * cur_top_env; /* value of PL_top_env when eval CX created */
-};
-
-#define CxOLD_IN_EVAL(cx) (0 + (cx)->blk_eval.old_in_eval)
-#define CxOLD_OP_TYPE(cx) (0 + (cx)->blk_eval.old_op_type)
-
-#define PUSHEVAL(cx,n,fgv) \
- STMT_START { \
- cx->blk_eval.old_in_eval = PL_in_eval; \
- cx->blk_eval.old_op_type = PL_op->op_type; \
- cx->blk_eval.old_namesv = (n ? newSVpv(n,0) : NULL); \
- cx->blk_eval.old_eval_root = PL_eval_root; \
- cx->blk_eval.cur_text = PL_parser ? PL_parser->linestr : NULL; \
- cx->blk_eval.cv = NULL; /* set by doeval(), as applicable */ \
- cx->blk_eval.retop = NULL; \
- cx->blk_eval.cur_top_env = PL_top_env; \
- } STMT_END
-
-#define POPEVAL(cx) \
- STMT_START { \
- PL_in_eval = CxOLD_IN_EVAL(cx); \
- optype = CxOLD_OP_TYPE(cx); \
- PL_eval_root = cx->blk_eval.old_eval_root; \
- if (cx->blk_eval.old_namesv) \
- sv_2mortal(cx->blk_eval.old_namesv); \
- } STMT_END
-
-/* loop context */
-struct block_loop {
- char * label;
- I32 resetsp;
- LOOP * my_op; /* My op, that contains redo, next and last ops. */
- /* (except for non_ithreads we need to modify next_op in pp_ctl.c, hence
- why next_op is conditionally defined below.) */
-#ifdef USE_ITHREADS
- void * iterdata;
- PAD *oldcomppad;
-#else
- OP * next_op;
- SV ** itervar;
-#endif
- SV * itersave;
- /* (from inspection of source code) for a .. range of strings this is the
- current string. */
- SV * iterlval;
- /* (from inspection of source code) for a foreach loop this is the array
- being iterated over. For a .. range of numbers it's the current value.
- A check is often made on the SvTYPE of iterary to determine whether
- we are iterating over an array or a range. (numbers or strings) */
- AV * iterary;
- IV iterix;
- /* (from inspection of source code) for a .. range of numbers this is the
- maximum value. */
- IV itermax;
-};
-/* It might be possible to squeeze this structure further. As best I can tell
- itermax and iterlval are never used at the same time, so it might be possible
- to make them into a union. However, I'm not confident that there are enough
- flag bits/NULLable pointers in this structure alone to encode which is
- active. There is, however, U8 of space free in struct block, which could be
- used. Right now it may not be worth squeezing this structure further, as it's
- the largest part of struct block, and currently struct block is 64 bytes on
- an ILP32 system, which will give good cache alignment.
-*/
-
-#ifdef USE_ITHREADS
-# define CxITERVAR(c) \
- ((c)->blk_loop.iterdata \
- ? (CxPADLOOP(cx) \
- ? &CX_CURPAD_SV( (c)->blk_loop, \
- INT2PTR(PADOFFSET, (c)->blk_loop.iterdata)) \
- : &GvSV((GV*)(c)->blk_loop.iterdata)) \
- : (SV**)NULL)
-# define CX_ITERDATA_SET(cx,idata) \
- CX_CURPAD_SAVE(cx->blk_loop); \
- if ((cx->blk_loop.iterdata = (idata))) \
- cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx)); \
- else \
- cx->blk_loop.itersave = NULL;
-#else
-# define CxITERVAR(c) ((c)->blk_loop.itervar)
-# define CX_ITERDATA_SET(cx,ivar) \
- if ((cx->blk_loop.itervar = (SV**)(ivar))) \
- cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx)); \
- else \
- cx->blk_loop.itersave = NULL;
-#endif
-#define CxLABEL(c) (0 + (c)->blk_loop.label)
-#define CxHASARGS(c) (0 + (c)->blk_sub.hasargs)
-#define CxLVAL(c) (0 + (c)->blk_sub.lval)
-
-#ifdef USE_ITHREADS
-# define PUSHLOOP_OP_NEXT /* No need to do anything. */
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.my_op->op_nextop + 0)
-#else
-# define PUSHLOOP_OP_NEXT cx->blk_loop.next_op = cLOOP->op_nextop
-# define CX_LOOP_NEXTOP_GET(cx) ((cx)->blk_loop.next_op + 0)
-#endif
-
-#define PUSHLOOP(cx, dat, s) \
- cx->blk_loop.label = PL_curcop->cop_label; \
- cx->blk_loop.resetsp = s - PL_stack_base; \
- cx->blk_loop.my_op = cLOOP; \
- PUSHLOOP_OP_NEXT; \
- cx->blk_loop.iterlval = NULL; \
- cx->blk_loop.iterary = NULL; \
- cx->blk_loop.iterix = -1; \
- CX_ITERDATA_SET(cx,dat);
-
-#define POPLOOP(cx) \
- SvREFCNT_dec(cx->blk_loop.iterlval); \
- if (CxITERVAR(cx)) { \
- if (SvPADMY(cx->blk_loop.itersave)) { \
- SV ** const s_v_p = CxITERVAR(cx); \
- sv_2mortal(*s_v_p); \
- *s_v_p = cx->blk_loop.itersave; \
- } \
- else { \
- SvREFCNT_dec(cx->blk_loop.itersave); \
- } \
- } \
- if (cx->blk_loop.iterary && cx->blk_loop.iterary != PL_curstack)\
- SvREFCNT_dec(cx->blk_loop.iterary);
-
-/* given/when context */
-struct block_givwhen {
- OP *leave_op;
-};
-
-#define PUSHGIVEN(cx) \
- cx->blk_givwhen.leave_op = cLOGOP->op_other;
-
-#define PUSHWHEN PUSHGIVEN
-
-/* context common to subroutines, evals and loops */
-struct block {
- U16 blku_type; /* what kind of context this is */
- U8 blku_gimme; /* is this block running in list context? */
- U8 blku_spare; /* Padding to match with struct subst */
- I32 blku_oldsp; /* stack pointer to copy stuff down to */
- COP * blku_oldcop; /* old curcop pointer */
- I32 blku_oldmarksp; /* mark stack index */
- I32 blku_oldscopesp; /* scope stack index */
- PMOP * blku_oldpm; /* values of pattern match vars */
-
- union {
- struct block_sub blku_sub;
- struct block_eval blku_eval;
- struct block_loop blku_loop;
- struct block_givwhen blku_givwhen;
- } blk_u;
-};
-#define blk_oldsp cx_u.cx_blk.blku_oldsp
-#define blk_oldcop cx_u.cx_blk.blku_oldcop
-#define blk_oldmarksp cx_u.cx_blk.blku_oldmarksp
-#define blk_oldscopesp cx_u.cx_blk.blku_oldscopesp
-#define blk_oldpm cx_u.cx_blk.blku_oldpm
-#define blk_gimme cx_u.cx_blk.blku_gimme
-#define blk_sub cx_u.cx_blk.blk_u.blku_sub
-#define blk_eval cx_u.cx_blk.blk_u.blku_eval
-#define blk_loop cx_u.cx_blk.blk_u.blku_loop
-#define blk_givwhen cx_u.cx_blk.blk_u.blku_givwhen
-
-/* Enter a block. */
-#define PUSHBLOCK(cx,t,sp) CXINC, cx = &cxstack[cxstack_ix], \
- cx->cx_type = t, \
- cx->blk_oldsp = sp - PL_stack_base, \
- cx->blk_oldcop = PL_curcop, \
- cx->blk_oldmarksp = PL_markstack_ptr - PL_markstack, \
- cx->blk_oldscopesp = PL_scopestack_ix, \
- cx->blk_oldpm = PL_curpm, \
- cx->blk_gimme = (U8)gimme; \
- DEBUG_l( PerlIO_printf(Perl_debug_log, "Entering block %ld, type %s\n", \
- (long)cxstack_ix, PL_block_type[CxTYPE(cx)]); )
-
-/* Exit a block (RETURN and LAST). */
-#define POPBLOCK(cx,pm) cx = &cxstack[cxstack_ix--], \
- newsp = PL_stack_base + cx->blk_oldsp, \
- PL_curcop = cx->blk_oldcop, \
- PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp, \
- PL_scopestack_ix = cx->blk_oldscopesp, \
- pm = cx->blk_oldpm, \
- gimme = cx->blk_gimme; \
- DEBUG_SCOPE("POPBLOCK"); \
- DEBUG_l( PerlIO_printf(Perl_debug_log, "Leaving block %ld, type %s\n", \
- (long)cxstack_ix+1,PL_block_type[CxTYPE(cx)]); )
-
-/* Continue a block elsewhere (NEXT and REDO). */
-#define TOPBLOCK(cx) cx = &cxstack[cxstack_ix], \
- PL_stack_sp = PL_stack_base + cx->blk_oldsp, \
- PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp, \
- PL_scopestack_ix = cx->blk_oldscopesp, \
- PL_curpm = cx->blk_oldpm; \
- DEBUG_SCOPE("TOPBLOCK");
-
-/* substitution context */
-struct subst {
- U16 sbu_type; /* what kind of context this is */
- U8 sbu_once; /* Actually both booleans, but U8 to matches */
- U8 sbu_rxtainted; /* struct block */
- I32 sbu_iters;
- I32 sbu_maxiters;
- I32 sbu_rflags;
- I32 sbu_oldsave;
- char * sbu_orig;
- SV * sbu_dstr;
- SV * sbu_targ;
- char * sbu_s;
- char * sbu_m;
- char * sbu_strend;
- void * sbu_rxres;
- REGEXP * sbu_rx;
-};
-#define sb_iters cx_u.cx_subst.sbu_iters
-#define sb_maxiters cx_u.cx_subst.sbu_maxiters
-#define sb_rflags cx_u.cx_subst.sbu_rflags
-#define sb_oldsave cx_u.cx_subst.sbu_oldsave
-#define sb_once cx_u.cx_subst.sbu_once
-#define sb_rxtainted cx_u.cx_subst.sbu_rxtainted
-#define sb_orig cx_u.cx_subst.sbu_orig
-#define sb_dstr cx_u.cx_subst.sbu_dstr
-#define sb_targ cx_u.cx_subst.sbu_targ
-#define sb_s cx_u.cx_subst.sbu_s
-#define sb_m cx_u.cx_subst.sbu_m
-#define sb_strend cx_u.cx_subst.sbu_strend
-#define sb_rxres cx_u.cx_subst.sbu_rxres
-#define sb_rx cx_u.cx_subst.sbu_rx
-
-#define PUSHSUBST(cx) CXINC, cx = &cxstack[cxstack_ix], \
- cx->sb_iters = iters, \
- cx->sb_maxiters = maxiters, \
- cx->sb_rflags = r_flags, \
- cx->sb_oldsave = oldsave, \
- cx->sb_once = once, \
- cx->sb_rxtainted = rxtainted, \
- cx->sb_orig = orig, \
- cx->sb_dstr = dstr, \
- cx->sb_targ = targ, \
- cx->sb_s = s, \
- cx->sb_m = m, \
- cx->sb_strend = strend, \
- cx->sb_rxres = NULL, \
- cx->sb_rx = rx, \
- cx->cx_type = CXt_SUBST; \
- rxres_save(&cx->sb_rxres, rx); \
- (void)ReREFCNT_inc(rx)
-
-#define CxONCE(cx) (0 + cx->sb_once)
-
-#define POPSUBST(cx) cx = &cxstack[cxstack_ix--]; \
- rxres_free(&cx->sb_rxres); \
- ReREFCNT_dec(cx->sb_rx)
-
-struct context {
- union {
- struct block cx_blk;
- struct subst cx_subst;
- } cx_u;
-};
-#define cx_type cx_u.cx_subst.sbu_type
-
-#define CXTYPEMASK 0xff
-#define CXt_NULL 0
-#define CXt_SUB 1
-#define CXt_EVAL 2
-#define CXt_LOOP 3
-#define CXt_SUBST 4
-#define CXt_BLOCK 5
-#define CXt_FORMAT 6
-#define CXt_GIVEN 7
-#define CXt_WHEN 8
-
-/* private flags for CXt_SUB and CXt_NULL */
-#define CXp_MULTICALL 0x00000400 /* part of a multicall (so don't
- tear down context on exit). */
-
-/* private flags for CXt_EVAL */
-#define CXp_REAL 0x00000100 /* truly eval'', not a lookalike */
-#define CXp_TRYBLOCK 0x00000200 /* eval{}, not eval'' or similar */
-
-/* private flags for CXt_LOOP */
-#define CXp_FOREACH 0x00000200 /* a foreach loop */
-#define CXp_FOR_DEF 0x00000400 /* foreach using $_ */
-#ifdef USE_ITHREADS
-# define CXp_PADVAR 0x00000100 /* itervar lives on pad, iterdata
- has pad offset; if not set,
- iterdata holds GV* */
-# define CxPADLOOP(c) (((c)->cx_type & (CXt_LOOP|CXp_PADVAR)) \
- == (CXt_LOOP|CXp_PADVAR))
-#endif
-
-#define CxTYPE(c) ((c)->cx_type & CXTYPEMASK)
-#define CxMULTICALL(c) (((c)->cx_type & CXp_MULTICALL) \
- == CXp_MULTICALL)
-#define CxREALEVAL(c) (((c)->cx_type & (CXTYPEMASK|CXp_REAL)) \
- == (CXt_EVAL|CXp_REAL))
-#define CxTRYBLOCK(c) (((c)->cx_type & (CXTYPEMASK|CXp_TRYBLOCK)) \
- == (CXt_EVAL|CXp_TRYBLOCK))
-#define CxFOREACH(c) (((c)->cx_type & (CXTYPEMASK|CXp_FOREACH)) \
- == (CXt_LOOP|CXp_FOREACH))
-#define CxFOREACHDEF(c) (((c)->cx_type & (CXTYPEMASK|CXp_FOREACH|CXp_FOR_DEF))\
- == (CXt_LOOP|CXp_FOREACH|CXp_FOR_DEF))
-
-#define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix = cxinc()))
-
-/*
-=head1 "Gimme" Values
-*/
-
-/*
-=for apidoc AmU||G_SCALAR
-Used to indicate scalar context. See C<GIMME_V>, C<GIMME>, and
-L<perlcall>.
-
-=for apidoc AmU||G_ARRAY
-Used to indicate list context. See C<GIMME_V>, C<GIMME> and
-L<perlcall>.
-
-=for apidoc AmU||G_VOID
-Used to indicate void context. See C<GIMME_V> and L<perlcall>.
-
-=for apidoc AmU||G_DISCARD
-Indicates that arguments returned from a callback should be discarded. See
-L<perlcall>.
-
-=for apidoc AmU||G_EVAL
-
-Used to force a Perl C<eval> wrapper around a callback. See
-L<perlcall>.
-
-=for apidoc AmU||G_NOARGS
-
-Indicates that no arguments are being sent to a callback. See
-L<perlcall>.
-
-=cut
-*/
-
-#define G_SCALAR 0
-#define G_ARRAY 1
-#define G_VOID 128 /* skip this bit when adding flags below */
-#define G_WANT (128|1)
-
-/* extra flags for Perl_call_* routines */
-#define G_DISCARD 2 /* Call FREETMPS.
- Don't change this without consulting the
- hash actions codes defined in hv.h */
-#define G_EVAL 4 /* Assume eval {} around subroutine call. */
-#define G_NOARGS 8 /* Don't construct a @_ array. */
-#define G_KEEPERR 16 /* Append errors to $@, don't overwrite it */
-#define G_NODEBUG 32 /* Disable debugging at toplevel. */
-#define G_METHOD 64 /* Calling method. */
-#define G_FAKINGEVAL 256 /* Faking an eval context for call_sv or
- fold_constants. */
-
-/* flag bits for PL_in_eval */
-#define EVAL_NULL 0 /* not in an eval */
-#define EVAL_INEVAL 1 /* some enclosing scope is an eval */
-#define EVAL_WARNONLY 2 /* used by yywarn() when calling yyerror() */
-#define EVAL_KEEPERR 4 /* set by Perl_call_sv if G_KEEPERR */
-#define EVAL_INREQUIRE 8 /* The code is being required. */
-
-/* Support for switching (stack and block) contexts.
- * This ensures magic doesn't invalidate local stack and cx pointers.
- */
-
-#define PERLSI_UNKNOWN -1
-#define PERLSI_UNDEF 0
-#define PERLSI_MAIN 1
-#define PERLSI_MAGIC 2
-#define PERLSI_SORT 3
-#define PERLSI_SIGNAL 4
-#define PERLSI_OVERLOAD 5
-#define PERLSI_DESTROY 6
-#define PERLSI_WARNHOOK 7
-#define PERLSI_DIEHOOK 8
-#define PERLSI_REQUIRE 9
-
-struct stackinfo {
- AV * si_stack; /* stack for current runlevel */
- PERL_CONTEXT * si_cxstack; /* context stack for runlevel */
- struct stackinfo * si_prev;
- struct stackinfo * si_next;
- I32 si_cxix; /* current context index */
- I32 si_cxmax; /* maximum allocated index */
- I32 si_type; /* type of runlevel */
- I32 si_markoff; /* offset where markstack begins for us.
- * currently used only with DEBUGGING,
- * but not #ifdef-ed for bincompat */
-};
-
-typedef struct stackinfo PERL_SI;
-
-#define cxstack (PL_curstackinfo->si_cxstack)
-#define cxstack_ix (PL_curstackinfo->si_cxix)
-#define cxstack_max (PL_curstackinfo->si_cxmax)
-
-#ifdef DEBUGGING
-# define SET_MARK_OFFSET \
- PL_curstackinfo->si_markoff = PL_markstack_ptr - PL_markstack
-#else
-# define SET_MARK_OFFSET NOOP
-#endif
-
-#define PUSHSTACKi(type) \
- STMT_START { \
- PERL_SI *next = PL_curstackinfo->si_next; \
- if (!next) { \
- next = new_stackinfo(32, 2048/sizeof(PERL_CONTEXT) - 1); \
- next->si_prev = PL_curstackinfo; \
- PL_curstackinfo->si_next = next; \
- } \
- next->si_type = type; \
- next->si_cxix = -1; \
- AvFILLp(next->si_stack) = 0; \
- SWITCHSTACK(PL_curstack,next->si_stack); \
- PL_curstackinfo = next; \
- SET_MARK_OFFSET; \
- } STMT_END
-
-#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
-
-/* POPSTACK works with PL_stack_sp, so it may need to be bracketed by
- * PUTBACK/SPAGAIN to flush/refresh any local SP that may be active */
-#define POPSTACK \
- STMT_START { \
- dSP; \
- PERL_SI * const prev = PL_curstackinfo->si_prev; \
- if (!prev) { \
- PerlIO_printf(Perl_error_log, "panic: POPSTACK\n"); \
- my_exit(1); \
- } \
- SWITCHSTACK(PL_curstack,prev->si_stack); \
- /* don't free prev here, free them all at the END{} */ \
- PL_curstackinfo = prev; \
- } STMT_END
-
-#define POPSTACK_TO(s) \
- STMT_START { \
- while (PL_curstack != s) { \
- dounwind(-1); \
- POPSTACK; \
- } \
- } STMT_END
-
-#define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling)
-#define IN_PERL_RUNTIME (PL_curcop != &PL_compiling)
-
-/*
-=head1 Multicall Functions
-
-=for apidoc Ams||dMULTICALL
-Declare local variables for a multicall. See L<perlcall/Lightweight Callbacks>.
-
-=for apidoc Ams||PUSH_MULTICALL
-Opening bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
-
-=for apidoc Ams||MULTICALL
-Make a lightweight callback. See L<perlcall/Lightweight Callbacks>.
-
-=for apidoc Ams||POP_MULTICALL
-Closing bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
-
-=cut
-*/
-
-#define dMULTICALL \
- SV **newsp; /* set by POPBLOCK */ \
- PERL_CONTEXT *cx; \
- CV *multicall_cv; \
- OP *multicall_cop; \
- bool multicall_oldcatch; \
- U8 hasargs = 0 /* used by PUSHSUB */
-
-#define PUSH_MULTICALL(the_cv) \
- STMT_START { \
- CV * const _nOnclAshIngNamE_ = the_cv; \
- CV * const cv = _nOnclAshIngNamE_; \
- AV * const padlist = CvPADLIST(cv); \
- ENTER; \
- multicall_oldcatch = CATCH_GET; \
- SAVETMPS; SAVEVPTR(PL_op); \
- CATCH_SET(TRUE); \
- PUSHBLOCK(cx, CXt_SUB|CXp_MULTICALL, PL_stack_sp); \
- PUSHSUB(cx); \
- if (++CvDEPTH(cv) >= 2) { \
- PERL_STACK_OVERFLOW_CHECK(); \
- Perl_pad_push(aTHX_ padlist, CvDEPTH(cv)); \
- } \
- SAVECOMPPAD(); \
- PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \
- multicall_cv = cv; \
- multicall_cop = CvSTART(cv); \
- } STMT_END
-
-#define MULTICALL \
- STMT_START { \
- PL_op = multicall_cop; \
- CALLRUNOPS(aTHX); \
- } STMT_END
-
-#define POP_MULTICALL \
- STMT_START { \
- LEAVESUB(multicall_cv); \
- CvDEPTH(multicall_cv)--; \
- POPBLOCK(cx,PL_curpm); \
- CATCH_SET(multicall_oldcatch); \
- LEAVE; \
- } STMT_END
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cv.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cv.h
deleted file mode 100644
index 1b0fc7b612e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/cv.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/* cv.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000,
- * 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/* This structure must the beginning of XPVFM in sv.h */
-
-struct xpvcv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of xp_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv;
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32; /* depth, >= 2 indicates recursive call */
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- HV * xcv_stash;
- union {
- OP * xcv_start;
- ANY xcv_xsubany;
- } xcv_start_u;
- union {
- OP * xcv_root;
- void (*xcv_xsub) (pTHX_ CV*);
- } xcv_root_u;
- GV * xcv_gv;
- char * xcv_file;
- PADLIST * xcv_padlist;
- CV * xcv_outside;
- U32 xcv_outside_seq; /* the COP sequence (at the point of our
- * compilation) in the lexically enclosing
- * sub */
- cv_flags_t xcv_flags;
-};
-
-typedef struct {
- STRLEN xpv_cur; /* length of xp_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv;
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32; /* depth, >= 2 indicates recursive call */
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- HV * xcv_stash;
- union {
- OP * xcv_start;
- ANY xcv_xsubany;
- } xcv_start_u;
- union {
- OP * xcv_root;
- void (*xcv_xsub) (pTHX_ CV*);
- } xcv_root_u;
- GV * xcv_gv;
- char * xcv_file;
- PADLIST * xcv_padlist;
- CV * xcv_outside;
- U32 xcv_outside_seq; /* the COP sequence (at the point of our
- * compilation) in the lexically enclosing
- * sub */
- cv_flags_t xcv_flags;
-} xpvcv_allocated;
-
-/*
-=head1 Handy Values
-
-=for apidoc AmU||Nullcv
-Null CV pointer.
-
-=head1 CV Manipulation Functions
-
-=for apidoc Am|HV*|CvSTASH|CV* cv
-Returns the stash of the CV.
-
-=cut
-*/
-
-#define Nullcv Null(CV*)
-
-#define CvSTASH(sv) ((XPVCV*)SvANY(sv))->xcv_stash
-#define CvSTART(sv) ((XPVCV*)SvANY(sv))->xcv_start_u.xcv_start
-#define CvROOT(sv) ((XPVCV*)SvANY(sv))->xcv_root_u.xcv_root
-#define CvXSUB(sv) ((XPVCV*)SvANY(sv))->xcv_root_u.xcv_xsub
-#define CvXSUBANY(sv) ((XPVCV*)SvANY(sv))->xcv_start_u.xcv_xsubany
-#define CvGV(sv) ((XPVCV*)SvANY(sv))->xcv_gv
-#define CvFILE(sv) ((XPVCV*)SvANY(sv))->xcv_file
-#ifdef USE_ITHREADS
-# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = savepv(CopFILE(cop)))
-#else
-# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = CopFILE(cop))
-#endif
-#define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv)))
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define CvDEPTH(sv) (*({const CV *_cv = (CV *)sv; \
- assert(SvTYPE(_cv) == SVt_PVCV || \
- SvTYPE(_cv) == SVt_PVFM); \
- &((XPVCV*)SvANY(_cv))->xiv_u.xivu_i32; \
- }))
-#else
-# define CvDEPTH(sv) ((XPVCV*)SvANY(sv))->xiv_u.xivu_i32
-#endif
-#define CvPADLIST(sv) ((XPVCV*)SvANY(sv))->xcv_padlist
-#define CvOUTSIDE(sv) ((XPVCV*)SvANY(sv))->xcv_outside
-#define CvFLAGS(sv) ((XPVCV*)SvANY(sv))->xcv_flags
-#define CvOUTSIDE_SEQ(sv) ((XPVCV*)SvANY(sv))->xcv_outside_seq
-
-#define CVf_METHOD 0x0001 /* CV is explicitly marked as a method */
-#define CVf_LOCKED 0x0002 /* CV locks itself or first arg on entry */
-#define CVf_LVALUE 0x0004 /* CV return value can be used as lvalue */
-
-#define CVf_WEAKOUTSIDE 0x0010 /* CvOUTSIDE isn't ref counted */
-#define CVf_CLONE 0x0020 /* anon CV uses external lexicals */
-#define CVf_CLONED 0x0040 /* a clone of one of those */
-#define CVf_ANON 0x0080 /* CvGV() can't be trusted */
-#define CVf_UNIQUE 0x0100 /* sub is only called once (eg PL_main_cv,
- * require, eval). */
-#define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV
- (esp. useful for special XSUBs) */
-#define CVf_CONST 0x0400 /* inlinable sub */
-#define CVf_ISXSUB 0x0800 /* CV is an XSUB, not pure perl. */
-
-/* This symbol for optimised communication between toke.c and op.c: */
-#define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LOCKED|CVf_LVALUE)
-
-#define CvCLONE(cv) (CvFLAGS(cv) & CVf_CLONE)
-#define CvCLONE_on(cv) (CvFLAGS(cv) |= CVf_CLONE)
-#define CvCLONE_off(cv) (CvFLAGS(cv) &= ~CVf_CLONE)
-
-#define CvCLONED(cv) (CvFLAGS(cv) & CVf_CLONED)
-#define CvCLONED_on(cv) (CvFLAGS(cv) |= CVf_CLONED)
-#define CvCLONED_off(cv) (CvFLAGS(cv) &= ~CVf_CLONED)
-
-#define CvANON(cv) (CvFLAGS(cv) & CVf_ANON)
-#define CvANON_on(cv) (CvFLAGS(cv) |= CVf_ANON)
-#define CvANON_off(cv) (CvFLAGS(cv) &= ~CVf_ANON)
-
-#define CvUNIQUE(cv) (CvFLAGS(cv) & CVf_UNIQUE)
-#define CvUNIQUE_on(cv) (CvFLAGS(cv) |= CVf_UNIQUE)
-#define CvUNIQUE_off(cv) (CvFLAGS(cv) &= ~CVf_UNIQUE)
-
-#define CvNODEBUG(cv) (CvFLAGS(cv) & CVf_NODEBUG)
-#define CvNODEBUG_on(cv) (CvFLAGS(cv) |= CVf_NODEBUG)
-#define CvNODEBUG_off(cv) (CvFLAGS(cv) &= ~CVf_NODEBUG)
-
-#define CvMETHOD(cv) (CvFLAGS(cv) & CVf_METHOD)
-#define CvMETHOD_on(cv) (CvFLAGS(cv) |= CVf_METHOD)
-#define CvMETHOD_off(cv) (CvFLAGS(cv) &= ~CVf_METHOD)
-
-#define CvLOCKED(cv) (CvFLAGS(cv) & CVf_LOCKED)
-#define CvLOCKED_on(cv) (CvFLAGS(cv) |= CVf_LOCKED)
-#define CvLOCKED_off(cv) (CvFLAGS(cv) &= ~CVf_LOCKED)
-
-#define CvLVALUE(cv) (CvFLAGS(cv) & CVf_LVALUE)
-#define CvLVALUE_on(cv) (CvFLAGS(cv) |= CVf_LVALUE)
-#define CvLVALUE_off(cv) (CvFLAGS(cv) &= ~CVf_LVALUE)
-
-#define CvEVAL(cv) (CvUNIQUE(cv) && !SvFAKE(cv))
-#define CvEVAL_on(cv) (CvUNIQUE_on(cv),SvFAKE_off(cv))
-#define CvEVAL_off(cv) CvUNIQUE_off(cv)
-
-/* BEGIN|CHECK|INIT|UNITCHECK|END */
-#define CvSPECIAL(cv) (CvUNIQUE(cv) && SvFAKE(cv))
-#define CvSPECIAL_on(cv) (CvUNIQUE_on(cv),SvFAKE_on(cv))
-#define CvSPECIAL_off(cv) (CvUNIQUE_off(cv),SvFAKE_off(cv))
-
-#define CvCONST(cv) (CvFLAGS(cv) & CVf_CONST)
-#define CvCONST_on(cv) (CvFLAGS(cv) |= CVf_CONST)
-#define CvCONST_off(cv) (CvFLAGS(cv) &= ~CVf_CONST)
-
-#define CvWEAKOUTSIDE(cv) (CvFLAGS(cv) & CVf_WEAKOUTSIDE)
-#define CvWEAKOUTSIDE_on(cv) (CvFLAGS(cv) |= CVf_WEAKOUTSIDE)
-#define CvWEAKOUTSIDE_off(cv) (CvFLAGS(cv) &= ~CVf_WEAKOUTSIDE)
-
-#define CvISXSUB(cv) (CvFLAGS(cv) & CVf_ISXSUB)
-#define CvISXSUB_on(cv) (CvFLAGS(cv) |= CVf_ISXSUB)
-#define CvISXSUB_off(cv) (CvFLAGS(cv) &= ~CVf_ISXSUB)
-
-/* Flags for newXS_flags */
-#define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */
-
-/*
-=head1 CV reference counts and CvOUTSIDE
-
-=for apidoc m|bool|CvWEAKOUTSIDE|CV *cv
-
-Each CV has a pointer, C<CvOUTSIDE()>, to its lexically enclosing
-CV (if any). Because pointers to anonymous sub prototypes are
-stored in C<&> pad slots, it is a possible to get a circular reference,
-with the parent pointing to the child and vice-versa. To avoid the
-ensuing memory leak, we do not increment the reference count of the CV
-pointed to by C<CvOUTSIDE> in the I<one specific instance> that the parent
-has a C<&> pad slot pointing back to us. In this case, we set the
-C<CvWEAKOUTSIDE> flag in the child. This allows us to determine under what
-circumstances we should decrement the refcount of the parent when freeing
-the child.
-
-There is a further complication with non-closure anonymous subs (i.e. those
-that do not refer to any lexicals outside that sub). In this case, the
-anonymous prototype is shared rather than being cloned. This has the
-consequence that the parent may be freed while there are still active
-children, eg
-
- BEGIN { $a = sub { eval '$x' } }
-
-In this case, the BEGIN is freed immediately after execution since there
-are no active references to it: the anon sub prototype has
-C<CvWEAKOUTSIDE> set since it's not a closure, and $a points to the same
-CV, so it doesn't contribute to BEGIN's refcount either. When $a is
-executed, the C<eval '$x'> causes the chain of C<CvOUTSIDE>s to be followed,
-and the freed BEGIN is accessed.
-
-To avoid this, whenever a CV and its associated pad is freed, any
-C<&> entries in the pad are explicitly removed from the pad, and if the
-refcount of the pointed-to anon sub is still positive, then that
-child's C<CvOUTSIDE> is set to point to its grandparent. This will only
-occur in the single specific case of a non-closure anon prototype
-having one or more active references (such as C<$a> above).
-
-One other thing to consider is that a CV may be merely undefined
-rather than freed, eg C<undef &foo>. In this case, its refcount may
-not have reached zero, but we still delete its pad and its C<CvROOT> etc.
-Since various children may still have their C<CvOUTSIDE> pointing at this
-undefined CV, we keep its own C<CvOUTSIDE> for the time being, so that
-the chain of lexical scopes is unbroken. For example, the following
-should print 123:
-
- my $x = 123;
- sub tmp { sub { eval '$x' } }
- my $a = tmp();
- undef &tmp;
- print $a->();
-
-=cut
-*/
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/dosish.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/dosish.h
deleted file mode 100644
index 0981137811d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/dosish.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/* dosish.h
- *
- * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-#define ABORT() abort();
-
-#ifndef SH_PATH
-#define SH_PATH "/bin/sh"
-#endif
-
-#ifdef DJGPP
-# define BIT_BUCKET "nul"
-# define OP_BINARY O_BINARY
-# define PERL_SYS_INIT_BODY(c,v) \
- MALLOC_CHECK_TAINT2(*c,*v) Perl_DJGPP_init(c,v); PERLIO_INIT
-# define init_os_extras Perl_init_os_extras
-# define HAS_UTIME
-# define HAS_KILL
- char *djgpp_pathexp (const char*);
- void Perl_DJGPP_init (int *argcp,char ***argvp);
-# if (DJGPP==2 && DJGPP_MINOR < 2)
-# define NO_LOCALECONV_MON_THOUSANDS_SEP
-# endif
-# define PERL_FS_VER_FMT "%d_%d_%d"
-#else /* DJGPP */
-# ifdef WIN32
-# define PERL_SYS_INIT_BODY(c,v) \
- MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT
-# define PERL_SYS_TERM_BODY() Perl_win32_term()
-# define BIT_BUCKET "nul"
-# else
-# ifdef NETWARE
-# define PERL_SYS_INIT_BODY(c,v) \
- MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT
-# define BIT_BUCKET "nwnul"
-# else
-# define PERL_SYS_INIT_BODY(c,v) \
- MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT
-# define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
-# endif /* NETWARE */
-# endif
-#endif /* DJGPP */
-
-#ifndef PERL_SYS_TERM_BODY
-# define PERL_SYS_TERM_BODY() HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
-#endif
-#define dXSUB_SYS
-
-/*
- * 5.003_07 and earlier keyed on #ifdef MSDOS for determining if we were
- * running on DOS, *and* if we had to cope with 16 bit memory addressing
- * constraints, *and* we need to have memory allocated as unsigned long.
- *
- * with the advent of *real* compilers for DOS, they are not locked together.
- * MSDOS means "I am running on MSDOS". HAS_64K_LIMIT means "I have
- * 16 bit memory addressing constraints".
- *
- * if you need the last, try #DEFINE MEM_SIZE unsigned long.
- */
-#ifdef MSDOS
-# ifndef DJGPP
-# define HAS_64K_LIMIT
-# endif
-#endif
-
-/* USEMYBINMODE
- * This symbol, if defined, indicates that the program should
- * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
- * that a file is in "binary" mode -- that is, that no translation
- * of bytes occurs on read or write operations.
- */
-#undef USEMYBINMODE
-
-/* Stat_t:
- * This symbol holds the type used to declare buffers for information
- * returned by stat(). It's usually just struct stat. It may be necessary
- * to include <sys/stat.h> and <sys/types.h> to get any typedef'ed
- * information.
- */
-#if defined(WIN64) || defined(USE_LARGE_FILES)
-# if defined(__BORLANDC__) /* buk */
-# include <sys\stat.h>
-# define Stat_t struct stati64
-# else
-#define Stat_t struct _stati64
-# endif
-#else
-#if defined(UNDER_CE)
-#define Stat_t struct xcestat
-#else
-#define Stat_t struct stat
-#endif
-#endif
-
-/* USE_STAT_RDEV:
- * This symbol is defined if this system has a stat structure declaring
- * st_rdev
- */
-#define USE_STAT_RDEV /**/
-
-/* ACME_MESS:
- * This symbol, if defined, indicates that error messages should be
- * should be generated in a format that allows the use of the Acme
- * GUI/editor's autofind feature.
- */
-#undef ACME_MESS /**/
-
-/* ALTERNATE_SHEBANG:
- * This symbol, if defined, contains a "magic" string which may be used
- * as the first line of a Perl program designed to be executed directly
- * by name, instead of the standard Unix #!. If ALTERNATE_SHEBANG
- * begins with a character other then #, then Perl will only treat
- * it as a command line if it finds the string "perl" in the first
- * word; otherwise it's treated as the first line of code in the script.
- * (IOW, Perl won't hand off to another interpreter via an alternate
- * shebang sequence that might be legal Perl code.)
- */
-/* #define ALTERNATE_SHEBANG "#!" / **/
-
-#include <signal.h>
-
-/*
- * fwrite1() should be a routine with the same calling sequence as fwrite(),
- * but which outputs all of the bytes requested as a single stream (unlike
- * fwrite() itself, which on some systems outputs several distinct records
- * if the number_of_items parameter is >1).
- */
-#define fwrite1 fwrite
-
-#define Fstat(fd,bufptr) fstat((fd),(bufptr))
-#ifdef DJGPP
-# define Fflush(fp) djgpp_fflush(fp)
-#else
-# define Fflush(fp) fflush(fp)
-#endif
-#define Mkdir(path,mode) mkdir((path),(mode))
-
-#ifndef WIN32
-# define Stat(fname,bufptr) stat((fname),(bufptr))
-#else
-# define HAS_IOCTL
-# define HAS_UTIME
-# define HAS_KILL
-# define HAS_WAIT
-# define HAS_CHOWN
-#endif /* WIN32 */
-
-/*
- * <rich@phekda.freeserve.co.uk>: The DJGPP port has code that converts
- * the return code of system() into the form that Unixy wait usually
- * returns:
- *
- * - signal number in bits 0-6;
- * - core dump flag in bit 7;
- * - exit code in bits 8-15.
- *
- * Bits 0-7 are always zero for DJGPP, because it uses system().
- * See djgpp.c.
- *
- * POSIX::W* use the W* macros from <sys/wait.h> to decode
- * the return code. Unfortunately the W* macros for DJGPP use
- * a different format than Unixy wait does. So there's a mismatch
- * and, say, WEXITSTATUS($?) will return bogus values.
- *
- * So here we add hack to redefine the W* macros from DJGPP's <sys/wait.h>
- * to work with our return-code conversion.
- */
-
-#ifdef DJGPP
-
-#include <sys/wait.h>
-
-#undef WEXITSTATUS
-#undef WIFEXITED
-#undef WIFSIGNALED
-#undef WIFSTOPPED
-#undef WNOHANG
-#undef WSTOPSIG
-#undef WTERMSIG
-#undef WUNTRACED
-
-#define WEXITSTATUS(stat_val) ((stat_val) >> 8)
-#define WIFEXITED(stat_val) 0
-#define WIFSIGNALED(stat_val) 0
-#define WIFSTOPPED(stat_val) 0
-#define WNOHANG 0
-#define WSTOPSIG(stat_val) 0
-#define WTERMSIG(stat_val) 0
-#define WUNTRACED 0
-
-#endif
-
-/* Don't go reading from /dev/urandom */
-#define PERL_NO_DEV_RANDOM
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embed.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embed.h
deleted file mode 100644
index f52288c3385..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embed.h
+++ /dev/null
@@ -1,4738 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * embed.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
- * Any changes made here will be lost!
- *
- * Edit those files and run 'make regen_headers' to effect changes.
- */
-
-/* (Doing namespace management portably in C is really gross.) */
-
-/* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms
- * (like warn instead of Perl_warn) for the API are not defined.
- * Not defining the short forms is a good thing for cleaner embedding. */
-
-#ifndef PERL_NO_SHORT_NAMES
-
-/* Hide global symbols */
-
-#if !defined(PERL_IMPLICIT_CONTEXT)
-
-#if defined(PERL_IMPLICIT_SYS)
-#endif
-#define doing_taint Perl_doing_taint
-#if defined(USE_ITHREADS)
-# if defined(PERL_IMPLICIT_SYS)
-# endif
-#endif
-#if defined(MYMALLOC)
-#ifdef PERL_CORE
-#define malloced_size Perl_malloced_size
-#define malloc_good_size Perl_malloc_good_size
-#endif
-#endif
-#define get_context Perl_get_context
-#define set_context Perl_set_context
-#define amagic_call Perl_amagic_call
-#define Gv_AMupdate Perl_Gv_AMupdate
-#define gv_handler Perl_gv_handler
-#ifdef PERL_CORE
-#define append_elem Perl_append_elem
-#define append_list Perl_append_list
-#define apply Perl_apply
-#endif
-#define apply_attrs_string Perl_apply_attrs_string
-#define av_clear Perl_av_clear
-#define av_delete Perl_av_delete
-#define av_exists Perl_av_exists
-#define av_extend Perl_av_extend
-#ifdef PERL_CORE
-#define av_fake Perl_av_fake
-#endif
-#define av_fetch Perl_av_fetch
-#define av_fill Perl_av_fill
-#define av_len Perl_av_len
-#define av_make Perl_av_make
-#define av_pop Perl_av_pop
-#define av_push Perl_av_push
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define av_reify Perl_av_reify
-#endif
-#define av_shift Perl_av_shift
-#define av_store Perl_av_store
-#define av_undef Perl_av_undef
-#define av_unshift Perl_av_unshift
-#ifdef PERL_CORE
-#define bind_match Perl_bind_match
-#define block_end Perl_block_end
-#endif
-#define block_gimme Perl_block_gimme
-#ifdef PERL_CORE
-#define block_start Perl_block_start
-#define boot_core_UNIVERSAL Perl_boot_core_UNIVERSAL
-#define boot_core_PerlIO Perl_boot_core_PerlIO
-#endif
-#define call_list Perl_call_list
-#ifdef PERL_CORE
-#define cando Perl_cando
-#endif
-#define cast_ulong Perl_cast_ulong
-#define cast_i32 Perl_cast_i32
-#define cast_iv Perl_cast_iv
-#define cast_uv Perl_cast_uv
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-#define my_chsize Perl_my_chsize
-#endif
-#ifdef PERL_CORE
-#define convert Perl_convert
-#define create_eval_scope Perl_create_eval_scope
-#endif
-#define croak Perl_croak
-#define vcroak Perl_vcroak
-#if defined(PERL_IMPLICIT_CONTEXT)
-#define croak_nocontext Perl_croak_nocontext
-#define die_nocontext Perl_die_nocontext
-#define deb_nocontext Perl_deb_nocontext
-#define form_nocontext Perl_form_nocontext
-#define load_module_nocontext Perl_load_module_nocontext
-#define mess_nocontext Perl_mess_nocontext
-#define warn_nocontext Perl_warn_nocontext
-#define warner_nocontext Perl_warner_nocontext
-#define newSVpvf_nocontext Perl_newSVpvf_nocontext
-#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
-#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
-#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
-#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
-#define fprintf_nocontext Perl_fprintf_nocontext
-#define printf_nocontext Perl_printf_nocontext
-#endif
-#ifdef PERL_CORE
-#define cv_ckproto Perl_cv_ckproto
-#define cv_ckproto_len Perl_cv_ckproto_len
-#define cv_clone Perl_cv_clone
-#endif
-#define gv_const_sv Perl_gv_const_sv
-#define cv_const_sv Perl_cv_const_sv
-#ifdef PERL_CORE
-#define op_const_sv Perl_op_const_sv
-#endif
-#define cv_undef Perl_cv_undef
-#define cx_dump Perl_cx_dump
-#define filter_add Perl_filter_add
-#define filter_del Perl_filter_del
-#define filter_read Perl_filter_read
-#define get_op_descs Perl_get_op_descs
-#define get_op_names Perl_get_op_names
-#ifdef PERL_CORE
-#define get_no_modify Perl_get_no_modify
-#define get_opargs Perl_get_opargs
-#endif
-#define get_ppaddr Perl_get_ppaddr
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define cxinc Perl_cxinc
-#endif
-#define deb Perl_deb
-#define vdeb Perl_vdeb
-#define debprofdump Perl_debprofdump
-#define debop Perl_debop
-#define debstack Perl_debstack
-#define debstackptrs Perl_debstackptrs
-#define delimcpy Perl_delimcpy
-#ifdef PERL_CORE
-#define delete_eval_scope Perl_delete_eval_scope
-#define deprecate Perl_deprecate
-#define deprecate_old Perl_deprecate_old
-#endif
-#define die Perl_die
-#ifdef PERL_CORE
-#define vdie Perl_vdie
-#define die_where Perl_die_where
-#endif
-#define dounwind Perl_dounwind
-#ifdef PERL_CORE
-#define do_aexec5 Perl_do_aexec5
-#endif
-#define do_binmode Perl_do_binmode
-#ifdef PERL_CORE
-#define do_chop Perl_do_chop
-#endif
-#define do_close Perl_do_close
-#ifdef PERL_CORE
-#define do_eof Perl_do_eof
-#endif
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-#else
-#ifdef PERL_CORE
-#define do_exec Perl_do_exec
-#endif
-#endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
-#define do_aspawn Perl_do_aspawn
-#define do_spawn Perl_do_spawn
-#define do_spawn_nowait Perl_do_spawn_nowait
-#endif
-#if !defined(WIN32)
-#ifdef PERL_CORE
-#define do_exec3 Perl_do_exec3
-#endif
-#endif
-#ifdef PERL_CORE
-#define do_execfree Perl_do_execfree
-#endif
-#ifdef PERL_IN_DOIO_C
-#ifdef PERL_CORE
-#define exec_failed S_exec_failed
-#endif
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#ifdef PERL_CORE
-#define do_ipcctl Perl_do_ipcctl
-#define do_ipcget Perl_do_ipcget
-#define do_msgrcv Perl_do_msgrcv
-#define do_msgsnd Perl_do_msgsnd
-#define do_semop Perl_do_semop
-#define do_shmio Perl_do_shmio
-#endif
-#endif
-#define do_join Perl_do_join
-#ifdef PERL_CORE
-#define do_kv Perl_do_kv
-#endif
-#define do_open9 Perl_do_open9
-#define do_openn Perl_do_openn
-#ifdef PERL_CORE
-#define do_print Perl_do_print
-#define do_readline Perl_do_readline
-#define do_chomp Perl_do_chomp
-#define do_seek Perl_do_seek
-#endif
-#define do_sprintf Perl_do_sprintf
-#ifdef PERL_CORE
-#define do_sysseek Perl_do_sysseek
-#define do_tell Perl_do_tell
-#define do_trans Perl_do_trans
-#define do_vecget Perl_do_vecget
-#define do_vecset Perl_do_vecset
-#define do_vop Perl_do_vop
-#define dofile Perl_dofile
-#endif
-#define dowantarray Perl_dowantarray
-#define dump_all Perl_dump_all
-#define dump_eval Perl_dump_eval
-#if defined(DUMP_FDS)
-#define dump_fds Perl_dump_fds
-#endif
-#define dump_form Perl_dump_form
-#define gv_dump Perl_gv_dump
-#define op_dump Perl_op_dump
-#define pmop_dump Perl_pmop_dump
-#define dump_packsubs Perl_dump_packsubs
-#define dump_sub Perl_dump_sub
-#define fbm_compile Perl_fbm_compile
-#define fbm_instr Perl_fbm_instr
-#ifdef PERL_CORE
-#define find_script Perl_find_script
-#define force_list Perl_force_list
-#define fold_constants Perl_fold_constants
-#endif
-#define form Perl_form
-#define vform Perl_vform
-#define free_tmps Perl_free_tmps
-#ifdef PERL_CORE
-#define gen_constant_list Perl_gen_constant_list
-#endif
-#if !defined(HAS_GETENV_LEN)
-#ifdef PERL_CORE
-#define getenv_len Perl_getenv_len
-#endif
-#endif
-#define gp_free Perl_gp_free
-#define gp_ref Perl_gp_ref
-#define gv_AVadd Perl_gv_AVadd
-#define gv_HVadd Perl_gv_HVadd
-#define gv_IOadd Perl_gv_IOadd
-#define gv_autoload4 Perl_gv_autoload4
-#define gv_check Perl_gv_check
-#define gv_efullname Perl_gv_efullname
-#define gv_efullname4 Perl_gv_efullname4
-#define gv_fetchfile Perl_gv_fetchfile
-#define gv_fetchfile_flags Perl_gv_fetchfile_flags
-#define gv_fetchmeth Perl_gv_fetchmeth
-#define gv_fetchmeth_autoload Perl_gv_fetchmeth_autoload
-#define gv_fetchmethod_autoload Perl_gv_fetchmethod_autoload
-#define gv_fetchpv Perl_gv_fetchpv
-#define gv_fullname Perl_gv_fullname
-#define gv_fullname4 Perl_gv_fullname4
-#define gv_init Perl_gv_init
-#define gv_name_set Perl_gv_name_set
-#define gv_stashpv Perl_gv_stashpv
-#define gv_stashpvn Perl_gv_stashpvn
-#define gv_stashsv Perl_gv_stashsv
-#define hv_clear Perl_hv_clear
-#define hv_delayfree_ent Perl_hv_delayfree_ent
-#define hv_common Perl_hv_common
-#define hv_common_key_len Perl_hv_common_key_len
-#define hv_free_ent Perl_hv_free_ent
-#define hv_iterinit Perl_hv_iterinit
-#define hv_iterkey Perl_hv_iterkey
-#define hv_iterkeysv Perl_hv_iterkeysv
-#define hv_iternextsv Perl_hv_iternextsv
-#define hv_iternext_flags Perl_hv_iternext_flags
-#define hv_iterval Perl_hv_iterval
-#define hv_ksplit Perl_hv_ksplit
-#define hv_undef Perl_hv_undef
-#define ibcmp Perl_ibcmp
-#define ibcmp_locale Perl_ibcmp_locale
-#define ibcmp_utf8 Perl_ibcmp_utf8
-#ifdef PERL_CORE
-#define ingroup Perl_ingroup
-#define init_argv_symbols Perl_init_argv_symbols
-#define init_debugger Perl_init_debugger
-#endif
-#define init_stacks Perl_init_stacks
-#define init_tm Perl_init_tm
-#ifdef PERL_CORE
-#define intro_my Perl_intro_my
-#endif
-#define instr Perl_instr
-#ifdef PERL_CORE
-#define io_close Perl_io_close
-#define invert Perl_invert
-#define is_gv_magical Perl_is_gv_magical
-#endif
-#define is_lvalue_sub Perl_is_lvalue_sub
-#define to_uni_upper_lc Perl_to_uni_upper_lc
-#define to_uni_title_lc Perl_to_uni_title_lc
-#define to_uni_lower_lc Perl_to_uni_lower_lc
-#define is_uni_alnum Perl_is_uni_alnum
-#define is_uni_alnumc Perl_is_uni_alnumc
-#define is_uni_idfirst Perl_is_uni_idfirst
-#define is_uni_alpha Perl_is_uni_alpha
-#define is_uni_ascii Perl_is_uni_ascii
-#define is_uni_space Perl_is_uni_space
-#define is_uni_cntrl Perl_is_uni_cntrl
-#define is_uni_graph Perl_is_uni_graph
-#define is_uni_digit Perl_is_uni_digit
-#define is_uni_upper Perl_is_uni_upper
-#define is_uni_lower Perl_is_uni_lower
-#define is_uni_print Perl_is_uni_print
-#define is_uni_punct Perl_is_uni_punct
-#define is_uni_xdigit Perl_is_uni_xdigit
-#define to_uni_upper Perl_to_uni_upper
-#define to_uni_title Perl_to_uni_title
-#define to_uni_lower Perl_to_uni_lower
-#define to_uni_fold Perl_to_uni_fold
-#define is_uni_alnum_lc Perl_is_uni_alnum_lc
-#define is_uni_alnumc_lc Perl_is_uni_alnumc_lc
-#define is_uni_idfirst_lc Perl_is_uni_idfirst_lc
-#define is_uni_alpha_lc Perl_is_uni_alpha_lc
-#define is_uni_ascii_lc Perl_is_uni_ascii_lc
-#define is_uni_space_lc Perl_is_uni_space_lc
-#define is_uni_cntrl_lc Perl_is_uni_cntrl_lc
-#define is_uni_graph_lc Perl_is_uni_graph_lc
-#define is_uni_digit_lc Perl_is_uni_digit_lc
-#define is_uni_upper_lc Perl_is_uni_upper_lc
-#define is_uni_lower_lc Perl_is_uni_lower_lc
-#define is_uni_print_lc Perl_is_uni_print_lc
-#define is_uni_punct_lc Perl_is_uni_punct_lc
-#define is_uni_xdigit_lc Perl_is_uni_xdigit_lc
-#define is_utf8_char Perl_is_utf8_char
-#define is_utf8_string Perl_is_utf8_string
-#define is_utf8_string_loclen Perl_is_utf8_string_loclen
-#define is_utf8_alnum Perl_is_utf8_alnum
-#define is_utf8_alnumc Perl_is_utf8_alnumc
-#define is_utf8_idfirst Perl_is_utf8_idfirst
-#define is_utf8_idcont Perl_is_utf8_idcont
-#define is_utf8_alpha Perl_is_utf8_alpha
-#define is_utf8_ascii Perl_is_utf8_ascii
-#define is_utf8_space Perl_is_utf8_space
-#define is_utf8_cntrl Perl_is_utf8_cntrl
-#define is_utf8_digit Perl_is_utf8_digit
-#define is_utf8_graph Perl_is_utf8_graph
-#define is_utf8_upper Perl_is_utf8_upper
-#define is_utf8_lower Perl_is_utf8_lower
-#define is_utf8_print Perl_is_utf8_print
-#define is_utf8_punct Perl_is_utf8_punct
-#define is_utf8_xdigit Perl_is_utf8_xdigit
-#define is_utf8_mark Perl_is_utf8_mark
-#ifdef PERL_CORE
-#define jmaybe Perl_jmaybe
-#define keyword Perl_keyword
-#endif
-#define leave_scope Perl_leave_scope
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define lex_end Perl_lex_end
-#endif
-#ifdef PERL_CORE
-#define lex_start Perl_lex_start
-#endif
-#define op_null Perl_op_null
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define op_clear Perl_op_clear
-#endif
-#define op_refcnt_lock Perl_op_refcnt_lock
-#define op_refcnt_unlock Perl_op_refcnt_unlock
-#ifdef PERL_CORE
-#define linklist Perl_linklist
-#define list Perl_list
-#define listkids Perl_listkids
-#endif
-#define load_module Perl_load_module
-#define vload_module Perl_vload_module
-#ifdef PERL_CORE
-#define localize Perl_localize
-#endif
-#define looks_like_number Perl_looks_like_number
-#define grok_bin Perl_grok_bin
-#define grok_hex Perl_grok_hex
-#define grok_number Perl_grok_number
-#define grok_numeric_radix Perl_grok_numeric_radix
-#define grok_oct Perl_grok_oct
-#ifdef PERL_CORE
-#define magic_clearenv Perl_magic_clearenv
-#define magic_clear_all_env Perl_magic_clear_all_env
-#define magic_clearhint Perl_magic_clearhint
-#define magic_clearisa Perl_magic_clearisa
-#define magic_clearpack Perl_magic_clearpack
-#define magic_clearsig Perl_magic_clearsig
-#define magic_existspack Perl_magic_existspack
-#define magic_freeregexp Perl_magic_freeregexp
-#define magic_freeovrld Perl_magic_freeovrld
-#define magic_get Perl_magic_get
-#define magic_getarylen Perl_magic_getarylen
-#define magic_getdefelem Perl_magic_getdefelem
-#define magic_getnkeys Perl_magic_getnkeys
-#define magic_getpack Perl_magic_getpack
-#define magic_getpos Perl_magic_getpos
-#define magic_getsig Perl_magic_getsig
-#define magic_getsubstr Perl_magic_getsubstr
-#define magic_gettaint Perl_magic_gettaint
-#define magic_getuvar Perl_magic_getuvar
-#define magic_getvec Perl_magic_getvec
-#define magic_len Perl_magic_len
-#define magic_nextpack Perl_magic_nextpack
-#define magic_regdata_cnt Perl_magic_regdata_cnt
-#define magic_regdatum_get Perl_magic_regdatum_get
-#define magic_regdatum_set Perl_magic_regdatum_set
-#define magic_set Perl_magic_set
-#define magic_setamagic Perl_magic_setamagic
-#define magic_setarylen Perl_magic_setarylen
-#define magic_freearylen_p Perl_magic_freearylen_p
-#define magic_setbm Perl_magic_setbm
-#define magic_setdbline Perl_magic_setdbline
-#define magic_setdefelem Perl_magic_setdefelem
-#define magic_setenv Perl_magic_setenv
-#define magic_setfm Perl_magic_setfm
-#define magic_sethint Perl_magic_sethint
-#define magic_setisa Perl_magic_setisa
-#define magic_setglob Perl_magic_setglob
-#define magic_setmglob Perl_magic_setmglob
-#define magic_setnkeys Perl_magic_setnkeys
-#define magic_setpack Perl_magic_setpack
-#define magic_setpos Perl_magic_setpos
-#define magic_setregexp Perl_magic_setregexp
-#define magic_setsig Perl_magic_setsig
-#define magic_setsubstr Perl_magic_setsubstr
-#define magic_settaint Perl_magic_settaint
-#define magic_setuvar Perl_magic_setuvar
-#define magic_setvec Perl_magic_setvec
-#define magic_setutf8 Perl_magic_setutf8
-#define magic_set_all_env Perl_magic_set_all_env
-#define magic_sizepack Perl_magic_sizepack
-#define magic_wipepack Perl_magic_wipepack
-#define magicname Perl_magicname
-#endif
-#define markstack_grow Perl_markstack_grow
-#if defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define magic_setcollxfrm Perl_magic_setcollxfrm
-#define mem_collxfrm Perl_mem_collxfrm
-#endif
-#endif
-#define mess Perl_mess
-#define vmess Perl_vmess
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define qerror Perl_qerror
-#endif
-#define sortsv Perl_sortsv
-#define sortsv_flags Perl_sortsv_flags
-#define mg_clear Perl_mg_clear
-#define mg_copy Perl_mg_copy
-#ifdef PERL_CORE
-#define mg_localize Perl_mg_localize
-#endif
-#define mg_find Perl_mg_find
-#define mg_free Perl_mg_free
-#define mg_get Perl_mg_get
-#define mg_length Perl_mg_length
-#define mg_magical Perl_mg_magical
-#define mg_set Perl_mg_set
-#define mg_size Perl_mg_size
-#define mini_mktime Perl_mini_mktime
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define mod Perl_mod
-#endif
-#ifdef PERL_CORE
-#define mode_from_discipline Perl_mode_from_discipline
-#endif
-#define moreswitches Perl_moreswitches
-#ifdef PERL_CORE
-#define my Perl_my
-#endif
-#define my_atof Perl_my_atof
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-#define my_bcopy Perl_my_bcopy
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero Perl_my_bzero
-#endif
-#define my_exit Perl_my_exit
-#define my_failure_exit Perl_my_failure_exit
-#define my_fflush_all Perl_my_fflush_all
-#define my_fork Perl_my_fork
-#define atfork_lock Perl_atfork_lock
-#define atfork_unlock Perl_atfork_unlock
-#define my_lstat Perl_my_lstat
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset Perl_my_memset
-#endif
-#define my_pclose Perl_my_pclose
-#define my_popen Perl_my_popen
-#define my_popen_list Perl_my_popen_list
-#define my_setenv Perl_my_setenv
-#define my_stat Perl_my_stat
-#define my_strftime Perl_my_strftime
-#if defined(MYSWAP)
-#define my_swap Perl_my_swap
-#define my_htonl Perl_my_htonl
-#define my_ntohl Perl_my_ntohl
-#endif
-#ifdef PERL_CORE
-#define my_unexec Perl_my_unexec
-#endif
-#define newANONLIST Perl_newANONLIST
-#define newANONHASH Perl_newANONHASH
-#define newANONSUB Perl_newANONSUB
-#define newASSIGNOP Perl_newASSIGNOP
-#define newCONDOP Perl_newCONDOP
-#define newCONSTSUB Perl_newCONSTSUB
-#ifdef PERL_MAD
-#define newFORM Perl_newFORM
-#else
-#define newFORM Perl_newFORM
-#endif
-#define newFOROP Perl_newFOROP
-#define newGIVENOP Perl_newGIVENOP
-#define newLOGOP Perl_newLOGOP
-#define newLOOPEX Perl_newLOOPEX
-#define newLOOPOP Perl_newLOOPOP
-#define newNULLLIST Perl_newNULLLIST
-#define newOP Perl_newOP
-#define newPROG Perl_newPROG
-#define newRANGE Perl_newRANGE
-#define newSLICEOP Perl_newSLICEOP
-#define newSTATEOP Perl_newSTATEOP
-#define newSUB Perl_newSUB
-#define newXS_flags Perl_newXS_flags
-#define newXS Perl_newXS
-#define newAV Perl_newAV
-#define newAVREF Perl_newAVREF
-#define newBINOP Perl_newBINOP
-#define newCVREF Perl_newCVREF
-#define newGVOP Perl_newGVOP
-#define newGVgen Perl_newGVgen
-#define newGVREF Perl_newGVREF
-#define newHVREF Perl_newHVREF
-#define newHV Perl_newHV
-#define newHVhv Perl_newHVhv
-#define newIO Perl_newIO
-#define newLISTOP Perl_newLISTOP
-#ifdef USE_ITHREADS
-#define newPADOP Perl_newPADOP
-#endif
-#define newPMOP Perl_newPMOP
-#define newPVOP Perl_newPVOP
-#define newRV Perl_newRV
-#define newRV_noinc Perl_newRV_noinc
-#define newSV Perl_newSV
-#define newSVREF Perl_newSVREF
-#define newSVOP Perl_newSVOP
-#define newSViv Perl_newSViv
-#define newSVuv Perl_newSVuv
-#define newSVnv Perl_newSVnv
-#define newSVpv Perl_newSVpv
-#define newSVpvn Perl_newSVpvn
-#define newSVpvn_flags Perl_newSVpvn_flags
-#define newSVhek Perl_newSVhek
-#define newSVpvn_share Perl_newSVpvn_share
-#define newSVpvf Perl_newSVpvf
-#define vnewSVpvf Perl_vnewSVpvf
-#define newSVrv Perl_newSVrv
-#define newSVsv Perl_newSVsv
-#define newSV_type Perl_newSV_type
-#define newUNOP Perl_newUNOP
-#define newWHENOP Perl_newWHENOP
-#define newWHILEOP Perl_newWHILEOP
-#define new_stackinfo Perl_new_stackinfo
-#define scan_vstring Perl_scan_vstring
-#define scan_version Perl_scan_version
-#define new_version Perl_new_version
-#define upg_version Perl_upg_version
-#define vverify Perl_vverify
-#define vnumify Perl_vnumify
-#define vnormal Perl_vnormal
-#define vstringify Perl_vstringify
-#define vcmp Perl_vcmp
-#ifdef PERL_CORE
-#define nextargv Perl_nextargv
-#endif
-#define ninstr Perl_ninstr
-#ifdef PERL_CORE
-#define oopsCV Perl_oopsCV
-#endif
-#define op_free Perl_op_free
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define package Perl_package
-#endif
-#else
-#ifdef PERL_CORE
-#define package Perl_package
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_alloc Perl_pad_alloc
-#define allocmy Perl_allocmy
-#define pad_findmy Perl_pad_findmy
-#endif
-#define find_rundefsvoffset Perl_find_rundefsvoffset
-#ifdef PERL_CORE
-#define oopsAV Perl_oopsAV
-#define oopsHV Perl_oopsHV
-#define pad_leavemy Perl_pad_leavemy
-#endif
-#define pad_sv Perl_pad_sv
-#ifdef PERL_CORE
-#define pad_free Perl_pad_free
-#define pad_reset Perl_pad_reset
-#define pad_swipe Perl_pad_swipe
-#define peep Perl_peep
-#endif
-#if defined(USE_REENTRANT_API)
-#define reentrant_size Perl_reentrant_size
-#define reentrant_init Perl_reentrant_init
-#define reentrant_free Perl_reentrant_free
-#define reentrant_retry Perl_reentrant_retry
-#endif
-#define call_atexit Perl_call_atexit
-#define call_argv Perl_call_argv
-#define call_method Perl_call_method
-#define call_pv Perl_call_pv
-#define call_sv Perl_call_sv
-#define despatch_signals Perl_despatch_signals
-#define doref Perl_doref
-#define eval_pv Perl_eval_pv
-#define eval_sv Perl_eval_sv
-#define get_sv Perl_get_sv
-#define get_av Perl_get_av
-#define get_hv Perl_get_hv
-#define get_cv Perl_get_cv
-#define get_cvn_flags Perl_get_cvn_flags
-#define init_i18nl10n Perl_init_i18nl10n
-#define init_i18nl14n Perl_init_i18nl14n
-#define new_collate Perl_new_collate
-#define new_ctype Perl_new_ctype
-#define new_numeric Perl_new_numeric
-#define set_numeric_local Perl_set_numeric_local
-#define set_numeric_radix Perl_set_numeric_radix
-#define set_numeric_standard Perl_set_numeric_standard
-#define require_pv Perl_require_pv
-#define pack_cat Perl_pack_cat
-#define packlist Perl_packlist
-#ifdef PERL_USES_PL_PIDSTATUS
-#ifdef PERL_CORE
-#define pidgone Perl_pidgone
-#endif
-#endif
-#define pmflag Perl_pmflag
-#ifdef PERL_CORE
-#define pmruntime Perl_pmruntime
-#define pmtrans Perl_pmtrans
-#endif
-#define pop_scope Perl_pop_scope
-#ifdef PERL_CORE
-#define prepend_elem Perl_prepend_elem
-#endif
-#define push_scope Perl_push_scope
-#ifdef PERL_CORE
-#define refkids Perl_refkids
-#endif
-#define regdump Perl_regdump
-#define regdump Perl_regdump
-#define regclass_swash Perl_regclass_swash
-#define pregexec Perl_pregexec
-#define pregfree Perl_pregfree
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_temp_copy Perl_reg_temp_copy
-#endif
-#define regfree_internal Perl_regfree_internal
-#define reg_stringify Perl_reg_stringify
-#if defined(USE_ITHREADS)
-#define regdupe_internal Perl_regdupe_internal
-#endif
-#define pregcomp Perl_pregcomp
-#define re_compile Perl_re_compile
-#define re_intuit_start Perl_re_intuit_start
-#define re_intuit_string Perl_re_intuit_string
-#define regexec_flags Perl_regexec_flags
-#define regnext Perl_regnext
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_named_buff Perl_reg_named_buff
-#define reg_named_buff_iter Perl_reg_named_buff_iter
-#endif
-#define reg_named_buff_fetch Perl_reg_named_buff_fetch
-#define reg_named_buff_exists Perl_reg_named_buff_exists
-#define reg_named_buff_firstkey Perl_reg_named_buff_firstkey
-#define reg_named_buff_nextkey Perl_reg_named_buff_nextkey
-#define reg_named_buff_scalar Perl_reg_named_buff_scalar
-#define reg_named_buff_all Perl_reg_named_buff_all
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_numbered_buff_fetch Perl_reg_numbered_buff_fetch
-#define reg_numbered_buff_store Perl_reg_numbered_buff_store
-#define reg_numbered_buff_length Perl_reg_numbered_buff_length
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_qr_package Perl_reg_qr_package
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regprop Perl_regprop
-#endif
-#define repeatcpy Perl_repeatcpy
-#define rninstr Perl_rninstr
-#define rsignal Perl_rsignal
-#ifdef PERL_CORE
-#define rsignal_restore Perl_rsignal_restore
-#define rsignal_save Perl_rsignal_save
-#endif
-#define rsignal_state Perl_rsignal_state
-#ifdef PERL_CORE
-#define rxres_free Perl_rxres_free
-#define rxres_restore Perl_rxres_restore
-#define rxres_save Perl_rxres_save
-#endif
-#if !defined(HAS_RENAME)
-#ifdef PERL_CORE
-#define same_dirent Perl_same_dirent
-#endif
-#endif
-#define savepv Perl_savepv
-#define savepvn Perl_savepvn
-#define savesharedpv Perl_savesharedpv
-#define savesharedpvn Perl_savesharedpvn
-#define savesvpv Perl_savesvpv
-#define savestack_grow Perl_savestack_grow
-#define savestack_grow_cnt Perl_savestack_grow_cnt
-#define save_aelem Perl_save_aelem
-#define save_alloc Perl_save_alloc
-#define save_aptr Perl_save_aptr
-#define save_ary Perl_save_ary
-#define save_bool Perl_save_bool
-#define save_clearsv Perl_save_clearsv
-#define save_delete Perl_save_delete
-#define save_destructor Perl_save_destructor
-#define save_destructor_x Perl_save_destructor_x
-#define save_freesv Perl_save_freesv
-#ifdef PERL_CORE
-#define save_freeop Perl_save_freeop
-#endif
-#define save_freepv Perl_save_freepv
-#define save_generic_svref Perl_save_generic_svref
-#define save_generic_pvref Perl_save_generic_pvref
-#define save_shared_pvref Perl_save_shared_pvref
-#define save_gp Perl_save_gp
-#define save_hash Perl_save_hash
-#define save_helem Perl_save_helem
-#define save_hptr Perl_save_hptr
-#define save_I16 Perl_save_I16
-#define save_I32 Perl_save_I32
-#define save_I8 Perl_save_I8
-#define save_int Perl_save_int
-#define save_item Perl_save_item
-#define save_iv Perl_save_iv
-#define save_list Perl_save_list
-#define save_long Perl_save_long
-#define save_mortalizesv Perl_save_mortalizesv
-#define save_nogv Perl_save_nogv
-#ifdef PERL_CORE
-#define save_op Perl_save_op
-#endif
-#define save_scalar Perl_save_scalar
-#define save_pptr Perl_save_pptr
-#define save_vptr Perl_save_vptr
-#define save_re_context Perl_save_re_context
-#define save_padsv Perl_save_padsv
-#define save_sptr Perl_save_sptr
-#define save_svref Perl_save_svref
-#ifdef PERL_CORE
-#define sawparens Perl_sawparens
-#define scalar Perl_scalar
-#define scalarkids Perl_scalarkids
-#define scalarseq Perl_scalarseq
-#define scalarvoid Perl_scalarvoid
-#endif
-#define scan_bin Perl_scan_bin
-#define scan_hex Perl_scan_hex
-#define scan_num Perl_scan_num
-#define scan_oct Perl_scan_oct
-#ifdef PERL_CORE
-#define scope Perl_scope
-#endif
-#define screaminstr Perl_screaminstr
-#if !defined(VMS)
-#ifdef PERL_CORE
-#define setenv_getix Perl_setenv_getix
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define setdefout Perl_setdefout
-#endif
-#define share_hek Perl_share_hek
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#else
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#endif
-#define stack_grow Perl_stack_grow
-#define start_subparse Perl_start_subparse
-#ifdef PERL_CORE
-#define sub_crush_depth Perl_sub_crush_depth
-#endif
-#define sv_2bool Perl_sv_2bool
-#define sv_2cv Perl_sv_2cv
-#define sv_2io Perl_sv_2io
-#ifdef PERL_IN_SV_C
-#ifdef PERL_CORE
-#define glob_2number S_glob_2number
-#define glob_2pv S_glob_2pv
-#endif
-#endif
-#define sv_2iv_flags Perl_sv_2iv_flags
-#define sv_2mortal Perl_sv_2mortal
-#define sv_2nv Perl_sv_2nv
-#ifdef PERL_CORE
-#define sv_2num Perl_sv_2num
-#endif
-#define sv_2pv_flags Perl_sv_2pv_flags
-#define sv_2pvutf8 Perl_sv_2pvutf8
-#define sv_2pvbyte Perl_sv_2pvbyte
-#define sv_pvn_nomg Perl_sv_pvn_nomg
-#define sv_2uv_flags Perl_sv_2uv_flags
-#define sv_iv Perl_sv_iv
-#define sv_uv Perl_sv_uv
-#define sv_nv Perl_sv_nv
-#define sv_pvn Perl_sv_pvn
-#define sv_pvutf8n Perl_sv_pvutf8n
-#define sv_pvbyten Perl_sv_pvbyten
-#define sv_true Perl_sv_true
-#ifdef PERL_CORE
-#define sv_add_arena Perl_sv_add_arena
-#endif
-#define sv_backoff Perl_sv_backoff
-#define sv_bless Perl_sv_bless
-#define sv_catpvf Perl_sv_catpvf
-#define sv_vcatpvf Perl_sv_vcatpvf
-#define sv_catpv Perl_sv_catpv
-#define sv_chop Perl_sv_chop
-#ifdef PERL_CORE
-#define sv_clean_all Perl_sv_clean_all
-#define sv_clean_objs Perl_sv_clean_objs
-#endif
-#define sv_clear Perl_sv_clear
-#define sv_cmp Perl_sv_cmp
-#define sv_cmp_locale Perl_sv_cmp_locale
-#if defined(USE_LOCALE_COLLATE)
-#define sv_collxfrm Perl_sv_collxfrm
-#endif
-#define sv_compile_2op Perl_sv_compile_2op
-#define getcwd_sv Perl_getcwd_sv
-#define sv_dec Perl_sv_dec
-#define sv_dump Perl_sv_dump
-#define sv_derived_from Perl_sv_derived_from
-#define sv_does Perl_sv_does
-#define sv_eq Perl_sv_eq
-#define sv_free Perl_sv_free
-#ifdef PERL_CORE
-#define sv_free_arenas Perl_sv_free_arenas
-#endif
-#define sv_gets Perl_sv_gets
-#define sv_grow Perl_sv_grow
-#define sv_inc Perl_sv_inc
-#define sv_insert Perl_sv_insert
-#define sv_isa Perl_sv_isa
-#define sv_isobject Perl_sv_isobject
-#define sv_len Perl_sv_len
-#define sv_len_utf8 Perl_sv_len_utf8
-#define sv_magic Perl_sv_magic
-#define sv_magicext Perl_sv_magicext
-#define sv_mortalcopy Perl_sv_mortalcopy
-#define sv_newmortal Perl_sv_newmortal
-#define sv_newref Perl_sv_newref
-#define sv_peek Perl_sv_peek
-#define sv_pos_u2b Perl_sv_pos_u2b
-#define sv_pos_b2u Perl_sv_pos_b2u
-#define sv_pvutf8n_force Perl_sv_pvutf8n_force
-#define sv_pvbyten_force Perl_sv_pvbyten_force
-#define sv_recode_to_utf8 Perl_sv_recode_to_utf8
-#define sv_cat_decode Perl_sv_cat_decode
-#define sv_reftype Perl_sv_reftype
-#define sv_replace Perl_sv_replace
-#define sv_report_used Perl_sv_report_used
-#define sv_reset Perl_sv_reset
-#define sv_setpvf Perl_sv_setpvf
-#define sv_vsetpvf Perl_sv_vsetpvf
-#define sv_setiv Perl_sv_setiv
-#define sv_setpviv Perl_sv_setpviv
-#define sv_setuv Perl_sv_setuv
-#define sv_setnv Perl_sv_setnv
-#define sv_setref_iv Perl_sv_setref_iv
-#define sv_setref_uv Perl_sv_setref_uv
-#define sv_setref_nv Perl_sv_setref_nv
-#define sv_setref_pv Perl_sv_setref_pv
-#define sv_setref_pvn Perl_sv_setref_pvn
-#define sv_setpv Perl_sv_setpv
-#define sv_setpvn Perl_sv_setpvn
-#define sv_tainted Perl_sv_tainted
-#define sv_unmagic Perl_sv_unmagic
-#define sv_unref_flags Perl_sv_unref_flags
-#define sv_untaint Perl_sv_untaint
-#define sv_upgrade Perl_sv_upgrade
-#define sv_usepvn_flags Perl_sv_usepvn_flags
-#define sv_vcatpvfn Perl_sv_vcatpvfn
-#define sv_vsetpvfn Perl_sv_vsetpvfn
-#define str_to_version Perl_str_to_version
-#define swash_init Perl_swash_init
-#define swash_fetch Perl_swash_fetch
-#define taint_env Perl_taint_env
-#define taint_proper Perl_taint_proper
-#define to_utf8_case Perl_to_utf8_case
-#define to_utf8_lower Perl_to_utf8_lower
-#define to_utf8_upper Perl_to_utf8_upper
-#define to_utf8_title Perl_to_utf8_title
-#define to_utf8_fold Perl_to_utf8_fold
-#if defined(UNLINK_ALL_VERSIONS)
-#define unlnk Perl_unlnk
-#endif
-#define unpack_str Perl_unpack_str
-#define unpackstring Perl_unpackstring
-#define unsharepvn Perl_unsharepvn
-#ifdef PERL_CORE
-#define unshare_hek Perl_unshare_hek
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define utilize Perl_utilize
-#endif
-#else
-#ifdef PERL_CORE
-#define utilize Perl_utilize
-#endif
-#endif
-#define utf16_to_utf8 Perl_utf16_to_utf8
-#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
-#define utf8_length Perl_utf8_length
-#define utf8_distance Perl_utf8_distance
-#define utf8_hop Perl_utf8_hop
-#define utf8_to_bytes Perl_utf8_to_bytes
-#define bytes_from_utf8 Perl_bytes_from_utf8
-#define bytes_to_utf8 Perl_bytes_to_utf8
-#define utf8_to_uvchr Perl_utf8_to_uvchr
-#define utf8_to_uvuni Perl_utf8_to_uvuni
-#ifdef EBCDIC
-#define utf8n_to_uvchr Perl_utf8n_to_uvchr
-#else
-#endif
-#define utf8n_to_uvuni Perl_utf8n_to_uvuni
-#ifdef EBCDIC
-#define uvchr_to_utf8 Perl_uvchr_to_utf8
-#else
-#endif
-#define uvchr_to_utf8_flags Perl_uvchr_to_utf8_flags
-#define uvuni_to_utf8_flags Perl_uvuni_to_utf8_flags
-#define pv_uni_display Perl_pv_uni_display
-#define sv_uni_display Perl_sv_uni_display
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define vivify_defelem Perl_vivify_defelem
-#endif
-#ifdef PERL_CORE
-#define vivify_ref Perl_vivify_ref
-#define wait4pid Perl_wait4pid
-#define parse_unicode_opts Perl_parse_unicode_opts
-#endif
-#define seed Perl_seed
-#ifdef PERL_CORE
-#define get_hash_seed Perl_get_hash_seed
-#define report_evil_fh Perl_report_evil_fh
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define report_uninit Perl_report_uninit
-#endif
-#define warn Perl_warn
-#define vwarn Perl_vwarn
-#define warner Perl_warner
-#define vwarner Perl_vwarner
-#ifdef PERL_CORE
-#define watch Perl_watch
-#endif
-#define whichsig Perl_whichsig
-#ifdef PERL_CORE
-#define write_to_stderr Perl_write_to_stderr
-#define yyerror Perl_yyerror
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define yylex Perl_yylex
-#endif
-#ifdef PERL_CORE
-#define yyparse Perl_yyparse
-#define parser_free Perl_parser_free
-#define yywarn Perl_yywarn
-#endif
-#if defined(MYMALLOC)
-#define dump_mstats Perl_dump_mstats
-#define get_mstats Perl_get_mstats
-#endif
-#define safesysmalloc Perl_safesysmalloc
-#define safesyscalloc Perl_safesyscalloc
-#define safesysrealloc Perl_safesysrealloc
-#define safesysfree Perl_safesysfree
-#if defined(PERL_GLOBAL_STRUCT)
-#define GetVars Perl_GetVars
-#define init_global_struct Perl_init_global_struct
-#define free_global_struct Perl_free_global_struct
-#endif
-#define runops_standard Perl_runops_standard
-#define runops_debug Perl_runops_debug
-#define sv_catpvf_mg Perl_sv_catpvf_mg
-#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg
-#define sv_catpv_mg Perl_sv_catpv_mg
-#define sv_setpvf_mg Perl_sv_setpvf_mg
-#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
-#define sv_setiv_mg Perl_sv_setiv_mg
-#define sv_setpviv_mg Perl_sv_setpviv_mg
-#define sv_setuv_mg Perl_sv_setuv_mg
-#define sv_setnv_mg Perl_sv_setnv_mg
-#define sv_setpv_mg Perl_sv_setpv_mg
-#define sv_setpvn_mg Perl_sv_setpvn_mg
-#define sv_setsv_mg Perl_sv_setsv_mg
-#define get_vtbl Perl_get_vtbl
-#define pv_display Perl_pv_display
-#define pv_escape Perl_pv_escape
-#define pv_pretty Perl_pv_pretty
-#define dump_indent Perl_dump_indent
-#define dump_vindent Perl_dump_vindent
-#define do_gv_dump Perl_do_gv_dump
-#define do_gvgv_dump Perl_do_gvgv_dump
-#define do_hv_dump Perl_do_hv_dump
-#define do_magic_dump Perl_do_magic_dump
-#define do_op_dump Perl_do_op_dump
-#define do_pmop_dump Perl_do_pmop_dump
-#define do_sv_dump Perl_do_sv_dump
-#define magic_dump Perl_magic_dump
-#define reginitcolors Perl_reginitcolors
-#define sv_utf8_downgrade Perl_sv_utf8_downgrade
-#define sv_utf8_encode Perl_sv_utf8_encode
-#define sv_utf8_decode Perl_sv_utf8_decode
-#define sv_force_normal_flags Perl_sv_force_normal_flags
-#define tmps_grow Perl_tmps_grow
-#define sv_rvweaken Perl_sv_rvweaken
-#ifdef PERL_CORE
-#define magic_killbackrefs Perl_magic_killbackrefs
-#endif
-#define newANONATTRSUB Perl_newANONATTRSUB
-#define newATTRSUB Perl_newATTRSUB
-#ifdef PERL_MAD
-#define newMYSUB Perl_newMYSUB
-#else
-#define newMYSUB Perl_newMYSUB
-#endif
-#ifdef PERL_CORE
-#define my_attrs Perl_my_attrs
-#define boot_core_xsutils Perl_boot_core_xsutils
-#endif
-#if defined(USE_ITHREADS)
-#define cx_dup Perl_cx_dup
-#define si_dup Perl_si_dup
-#define ss_dup Perl_ss_dup
-#define any_dup Perl_any_dup
-#define he_dup Perl_he_dup
-#define hek_dup Perl_hek_dup
-#define re_dup Perl_re_dup
-#define fp_dup Perl_fp_dup
-#define dirp_dup Perl_dirp_dup
-#define gp_dup Perl_gp_dup
-#define mg_dup Perl_mg_dup
-#define sv_dup Perl_sv_dup
-#define rvpv_dup Perl_rvpv_dup
-#define parser_dup Perl_parser_dup
-#endif
-#define ptr_table_new Perl_ptr_table_new
-#define ptr_table_fetch Perl_ptr_table_fetch
-#define ptr_table_store Perl_ptr_table_store
-#define ptr_table_split Perl_ptr_table_split
-#define ptr_table_clear Perl_ptr_table_clear
-#define ptr_table_free Perl_ptr_table_free
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-#define sys_intern_dup Perl_sys_intern_dup
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-#define sys_intern_clear Perl_sys_intern_clear
-#define sys_intern_init Perl_sys_intern_init
-#endif
-#define custom_op_name Perl_custom_op_name
-#define custom_op_desc Perl_custom_op_desc
-#define sv_nosharing Perl_sv_nosharing
-#define sv_destroyable Perl_sv_destroyable
-#ifdef NO_MATHOMS
-#else
-#define sv_nounlocking Perl_sv_nounlocking
-#endif
-#define nothreadhook Perl_nothreadhook
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_trans_simple S_do_trans_simple
-#define do_trans_count S_do_trans_count
-#define do_trans_complex S_do_trans_complex
-#define do_trans_simple_utf8 S_do_trans_simple_utf8
-#define do_trans_count_utf8 S_do_trans_count_utf8
-#define do_trans_complex_utf8 S_do_trans_complex_utf8
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gv_init_sv S_gv_init_sv
-#define gv_get_super_pkg S_gv_get_super_pkg
-#define require_tie_mod S_require_tie_mod
-#endif
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define hsplit S_hsplit
-#define hfreeentries S_hfreeentries
-#define new_he S_new_he
-#define save_hek_flags S_save_hek_flags
-#define hv_magic_check S_hv_magic_check
-#define unshare_hek_or_pvn S_unshare_hek_or_pvn
-#define share_hek_flags S_share_hek_flags
-#define hv_notallowed S_hv_notallowed
-#define hv_auxinit S_hv_auxinit
-#define hv_delete_common S_hv_delete_common
-#define clear_placeholders S_clear_placeholders
-#define refcounted_he_value S_refcounted_he_value
-#endif
-#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_magic S_save_magic
-#define magic_methpack S_magic_methpack
-#define magic_methcall S_magic_methcall
-#define restore_magic S_restore_magic
-#define unwind_handler_stack S_unwind_handler_stack
-#endif
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ck_anoncode Perl_ck_anoncode
-#define ck_bitop Perl_ck_bitop
-#define ck_concat Perl_ck_concat
-#define ck_defined Perl_ck_defined
-#define ck_delete Perl_ck_delete
-#define ck_die Perl_ck_die
-#define ck_eof Perl_ck_eof
-#define ck_eval Perl_ck_eval
-#define ck_exec Perl_ck_exec
-#define ck_exists Perl_ck_exists
-#define ck_exit Perl_ck_exit
-#define ck_ftst Perl_ck_ftst
-#define ck_fun Perl_ck_fun
-#define ck_glob Perl_ck_glob
-#define ck_grep Perl_ck_grep
-#define ck_index Perl_ck_index
-#define ck_join Perl_ck_join
-#define ck_lengthconst Perl_ck_lengthconst
-#define ck_lfun Perl_ck_lfun
-#define ck_listiob Perl_ck_listiob
-#define ck_match Perl_ck_match
-#define ck_method Perl_ck_method
-#define ck_null Perl_ck_null
-#define ck_open Perl_ck_open
-#define ck_readline Perl_ck_readline
-#define ck_repeat Perl_ck_repeat
-#define ck_require Perl_ck_require
-#define ck_retarget Perl_ck_retarget
-#define ck_return Perl_ck_return
-#define ck_rfun Perl_ck_rfun
-#define ck_rvconst Perl_ck_rvconst
-#define ck_sassign Perl_ck_sassign
-#define ck_select Perl_ck_select
-#define ck_shift Perl_ck_shift
-#define ck_sort Perl_ck_sort
-#define ck_spair Perl_ck_spair
-#define ck_split Perl_ck_split
-#define ck_subr Perl_ck_subr
-#define ck_substr Perl_ck_substr
-#define ck_svconst Perl_ck_svconst
-#define ck_trunc Perl_ck_trunc
-#define ck_unpack Perl_ck_unpack
-#define is_handle_constructor S_is_handle_constructor
-#define is_list_assignment S_is_list_assignment
-#endif
-# ifdef USE_ITHREADS
-# else
-# endif
-#ifdef PERL_CORE
-#define find_and_forget_pmops S_find_and_forget_pmops
-#define cop_free S_cop_free
-#define modkids S_modkids
-#define scalarboolean S_scalarboolean
-#define newDEFSVOP S_newDEFSVOP
-#define new_logop S_new_logop
-#define simplify_sort S_simplify_sort
-#define gv_ename S_gv_ename
-#define scalar_mod_type S_scalar_mod_type
-#define my_kid S_my_kid
-#define dup_attrlist S_dup_attrlist
-#define apply_attrs S_apply_attrs
-#define apply_attrs_my S_apply_attrs_my
-#define bad_type S_bad_type
-#define no_bareword_allowed S_no_bareword_allowed
-#define no_fh_allowed S_no_fh_allowed
-#define too_few_arguments S_too_few_arguments
-#define too_many_arguments S_too_many_arguments
-#define looks_like_bool S_looks_like_bool
-#define newGIVWHENOP S_newGIVWHENOP
-#define ref_array_or_hash S_ref_array_or_hash
-#define process_special_blocks S_process_special_blocks
-#endif
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc Perl_Slab_Alloc
-#define Slab_Free Perl_Slab_Free
-# if defined(PERL_DEBUG_READONLY_OPS)
-# if defined(PERL_IN_OP_C)
-#ifdef PERL_CORE
-#define Slab_to_rw S_Slab_to_rw
-#endif
-# endif
-# endif
-#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_beginning S_find_beginning
-#define forbid_setid S_forbid_setid
-#define incpush S_incpush
-#define init_interp S_init_interp
-#define init_ids S_init_ids
-#define init_main_stash S_init_main_stash
-#define init_perllib S_init_perllib
-#define init_postdump_symbols S_init_postdump_symbols
-#define init_predump_symbols S_init_predump_symbols
-#define my_exit_jump S_my_exit_jump
-#define nuke_stacks S_nuke_stacks
-#define open_script S_open_script
-#define usage S_usage
-#endif
-#ifdef DOSUID
-# ifdef IAMSUID
-# else
-# endif
-#else
-# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-# endif
-#endif
-# if defined(IAMSUID)
-#ifdef PERL_CORE
-#define fd_on_nosuid_fs S_fd_on_nosuid_fs
-#endif
-# endif
-#ifdef PERL_CORE
-#define parse_body S_parse_body
-#define run_body S_run_body
-#define incpush_if_exists S_incpush_if_exists
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refto S_refto
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define unpack_rec S_unpack_rec
-#define pack_rec S_pack_rec
-#define mul128 S_mul128
-#define measure_struct S_measure_struct
-#define next_symbol S_next_symbol
-#define is_an_int S_is_an_int
-#define div128 S_div128
-#define group_end S_group_end
-#define get_num S_get_num
-#define need_utf8 S_need_utf8
-#define first_symbol S_first_symbol
-#define sv_exp_grow S_sv_exp_grow
-#define bytes_to_uni S_bytes_to_uni
-#endif
-#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define docatch S_docatch
-#define dofindlabel S_dofindlabel
-#define doparseform S_doparseform
-#define num_overflow S_num_overflow
-#define dopoptoeval S_dopoptoeval
-#define dopoptogiven S_dopoptogiven
-#define dopoptolabel S_dopoptolabel
-#define dopoptoloop S_dopoptoloop
-#define dopoptosub_at S_dopoptosub_at
-#define dopoptowhen S_dopoptowhen
-#define save_lines S_save_lines
-#define doeval S_doeval
-#define check_type_and_open S_check_type_and_open
-#endif
-#ifndef PERL_DISABLE_PMC
-#ifdef PERL_CORE
-#define doopen_pm S_doopen_pm
-#endif
-#endif
-#ifdef PERL_CORE
-#define path_is_absolute S_path_is_absolute
-#define run_user_filter S_run_user_filter
-#define make_matcher S_make_matcher
-#define matcher_matches_sv S_matcher_matches_sv
-#define destroy_matcher S_destroy_matcher
-#define do_smartmatch S_do_smartmatch
-#endif
-#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_oddball S_do_oddball
-#define method_common S_method_common
-#endif
-#endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_ncmp S_sv_ncmp
-#define sv_i_ncmp S_sv_i_ncmp
-#define amagic_ncmp S_amagic_ncmp
-#define amagic_i_ncmp S_amagic_i_ncmp
-#define amagic_cmp S_amagic_cmp
-#define amagic_cmp_locale S_amagic_cmp_locale
-#define sortcv S_sortcv
-#define sortcv_xsub S_sortcv_xsub
-#define sortcv_stacked S_sortcv_stacked
-#define qsortsvu S_qsortsvu
-#endif
-#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define doform S_doform
-#endif
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#ifdef PERL_CORE
-#define dooneliner S_dooneliner
-#endif
-# endif
-#ifdef PERL_CORE
-#define space_join_names_mortal S_space_join_names_mortal
-#endif
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg S_reg
-#define reganode S_reganode
-#define regatom S_regatom
-#define regbranch S_regbranch
-#define reguni S_reguni
-#define regclass S_regclass
-#define regcurly S_regcurly
-#define reg_node S_reg_node
-#define reg_recode S_reg_recode
-#define regpiece S_regpiece
-#define reg_namedseq S_reg_namedseq
-#define reginsert S_reginsert
-#define regtail S_regtail
-#define reg_scan_name S_reg_scan_name
-#define join_exact S_join_exact
-#define regwhite S_regwhite
-#define nextchar S_nextchar
-#define reg_skipcomment S_reg_skipcomment
-#define scan_commit S_scan_commit
-#define cl_anything S_cl_anything
-#define cl_is_anything S_cl_is_anything
-#define cl_init S_cl_init
-#define cl_init_zero S_cl_init_zero
-#define cl_and S_cl_and
-#define cl_or S_cl_or
-#define study_chunk S_study_chunk
-#define add_data S_add_data
-#endif
-#ifdef PERL_CORE
-#define re_croak2 S_re_croak2
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regpposixcc S_regpposixcc
-#define checkposixcc S_checkposixcc
-#define make_trie S_make_trie
-#define make_trie_failtable S_make_trie_failtable
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regdump_extflags S_regdump_extflags
-#define dumpuntil S_dumpuntil
-#define put_byte S_put_byte
-#define dump_trie S_dump_trie
-#define dump_trie_interim_list S_dump_trie_interim_list
-#define dump_trie_interim_table S_dump_trie_interim_table
-#define regtail_study S_regtail_study
-#endif
-# endif
-#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regmatch S_regmatch
-#define regrepeat S_regrepeat
-#define regtry S_regtry
-#define reginclass S_reginclass
-#define regcppush S_regcppush
-#define regcppop S_regcppop
-#define reghop3 S_reghop3
-#endif
-#ifdef XXX_dmq
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghop4 S_reghop4
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghopmaybe3 S_reghopmaybe3
-#define find_byclass S_find_byclass
-#define swap_match_buff S_swap_match_buff
-#define to_utf8_substr S_to_utf8_substr
-#define to_byte_substr S_to_byte_substr
-#define reg_check_named_buff_matched S_reg_check_named_buff_matched
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dump_exec_pos S_dump_exec_pos
-#define debug_start_match S_debug_start_match
-#endif
-# endif
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_curcv S_deb_curcv
-#define debprof S_debprof
-#define sequence S_sequence
-#define sequence_tail S_sequence_tail
-#define sequence_num S_sequence_num
-#define pm_description S_pm_description
-#endif
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_scalar_at S_save_scalar_at
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define uiv_2buf S_uiv_2buf
-#define sv_unglob S_sv_unglob
-#define not_a_number S_not_a_number
-#define visit S_visit
-#define sv_del_backref S_sv_del_backref
-#define varname S_varname
-#endif
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define del_sv S_del_sv
-#endif
-# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
-#endif
-# else
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve S_sv_2iuv_non_preserve
-#endif
-# endif
-# endif
-#ifdef PERL_CORE
-#define expect_number S_expect_number
-#endif
-#ifdef PERL_CORE
-#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
-#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_pos_u2b_cached S_sv_pos_u2b_cached
-#define utf8_mg_pos_cache_update S_utf8_mg_pos_cache_update
-#define sv_pos_b2u_midway S_sv_pos_b2u_midway
-#define F0convert S_F0convert
-#endif
-# if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
-#define sv_release_COW S_sv_release_COW
-#endif
-# endif
-#ifdef PERL_CORE
-#define more_sv S_more_sv
-#define more_bodies S_more_bodies
-#define sv_2iuv_common S_sv_2iuv_common
-#define glob_assign_glob S_glob_assign_glob
-#define glob_assign_ref S_glob_assign_ref
-#define ptr_table_find S_ptr_table_find
-#endif
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define check_uni S_check_uni
-#define force_next S_force_next
-#define force_version S_force_version
-#define force_word S_force_word
-#define tokeq S_tokeq
-#define readpipe_override S_readpipe_override
-#define scan_const S_scan_const
-#define scan_formline S_scan_formline
-#define scan_heredoc S_scan_heredoc
-#define scan_ident S_scan_ident
-#define scan_inputsymbol S_scan_inputsymbol
-#define scan_pat S_scan_pat
-#define scan_str S_scan_str
-#define scan_subst S_scan_subst
-#define scan_trans S_scan_trans
-#define scan_word S_scan_word
-#define update_debugger_info S_update_debugger_info
-#define skipspace S_skipspace
-#define swallow_bom S_swallow_bom
-#define checkcomma S_checkcomma
-#define feature_is_enabled S_feature_is_enabled
-#define force_ident S_force_ident
-#define incline S_incline
-#define intuit_method S_intuit_method
-#define intuit_more S_intuit_more
-#define lop S_lop
-#define missingterm S_missingterm
-#define no_op S_no_op
-#define sublex_done S_sublex_done
-#define sublex_push S_sublex_push
-#define sublex_start S_sublex_start
-#define filter_gets S_filter_gets
-#define find_in_my_stash S_find_in_my_stash
-#define tokenize_use S_tokenize_use
-#endif
-#ifdef PERL_CORE
-#define ao S_ao
-#endif
-# if defined(PERL_CR_FILTER)
-#ifdef PERL_CORE
-#define cr_textfilter S_cr_textfilter
-#define strip_return S_strip_return
-#endif
-# endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport S_tokereport
-#define printbuf S_printbuf
-#endif
-# endif
-#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define isa_lookup S_isa_lookup
-#endif
-#endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define stdize_locale S_stdize_locale
-#endif
-#endif
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define closest_cop S_closest_cop
-#define mess_alloc S_mess_alloc
-#define vdie_croak_common S_vdie_croak_common
-#define vdie_common S_vdie_common
-#define write_no_mem S_write_no_mem
-#endif
-#endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mulexp10 S_mulexp10
-#endif
-#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define is_utf8_char_slow S_is_utf8_char_slow
-#define is_utf8_common S_is_utf8_common
-#define swash_get S_swash_get
-#endif
-#endif
-#define sv_setsv_flags Perl_sv_setsv_flags
-#define sv_catpvn_flags Perl_sv_catpvn_flags
-#define sv_catsv_flags Perl_sv_catsv_flags
-#define sv_utf8_upgrade_flags Perl_sv_utf8_upgrade_flags
-#define sv_pvn_force_flags Perl_sv_pvn_force_flags
-#define sv_copypv Perl_sv_copypv
-#define my_atof2 Perl_my_atof2
-#define my_socketpair Perl_my_socketpair
-#define my_dirfd Perl_my_dirfd
-#ifdef PERL_OLD_COPY_ON_WRITE
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define sv_setsv_cow Perl_sv_setsv_cow
-#endif
-#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-#define PerlIO_close Perl_PerlIO_close
-#define PerlIO_fill Perl_PerlIO_fill
-#define PerlIO_fileno Perl_PerlIO_fileno
-#define PerlIO_eof Perl_PerlIO_eof
-#define PerlIO_error Perl_PerlIO_error
-#define PerlIO_flush Perl_PerlIO_flush
-#define PerlIO_clearerr Perl_PerlIO_clearerr
-#define PerlIO_set_cnt Perl_PerlIO_set_cnt
-#define PerlIO_set_ptrcnt Perl_PerlIO_set_ptrcnt
-#define PerlIO_setlinebuf Perl_PerlIO_setlinebuf
-#define PerlIO_read Perl_PerlIO_read
-#define PerlIO_write Perl_PerlIO_write
-#define PerlIO_unread Perl_PerlIO_unread
-#define PerlIO_tell Perl_PerlIO_tell
-#define PerlIO_seek Perl_PerlIO_seek
-#define PerlIO_get_base Perl_PerlIO_get_base
-#define PerlIO_get_ptr Perl_PerlIO_get_ptr
-#define PerlIO_get_bufsiz Perl_PerlIO_get_bufsiz
-#define PerlIO_get_cnt Perl_PerlIO_get_cnt
-#define PerlIO_stdin Perl_PerlIO_stdin
-#define PerlIO_stdout Perl_PerlIO_stdout
-#define PerlIO_stderr Perl_PerlIO_stderr
-#endif /* PERLIO_LAYERS */
-#ifdef PERL_CORE
-#define deb_stack_all Perl_deb_stack_all
-#endif
-#ifdef PERL_IN_DEB_C
-#ifdef PERL_CORE
-#define deb_stack_n S_deb_stack_n
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_new Perl_pad_new
-#define pad_undef Perl_pad_undef
-#define pad_add_name Perl_pad_add_name
-#define pad_add_anon Perl_pad_add_anon
-#define pad_check_dup Perl_pad_check_dup
-#endif
-#ifdef DEBUGGING
-#ifdef PERL_CORE
-#define pad_setsv Perl_pad_setsv
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_block_start Perl_pad_block_start
-#define pad_tidy Perl_pad_tidy
-#define do_dump_pad Perl_do_dump_pad
-#define pad_fixup_inner_anons Perl_pad_fixup_inner_anons
-#endif
-#ifdef PERL_CORE
-#define pad_push Perl_pad_push
-#define pad_compname_type Perl_pad_compname_type
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_findlex S_pad_findlex
-#endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define cv_dump S_cv_dump
-#endif
-# endif
-#endif
-#define find_runcv Perl_find_runcv
-#ifdef PERL_CORE
-#define free_tied_hv_pool Perl_free_tied_hv_pool
-#endif
-#if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define get_debug_opts Perl_get_debug_opts
-#endif
-#endif
-#define save_set_svflags Perl_save_set_svflags
-#define hv_scalar Perl_hv_scalar
-#define hv_name_set Perl_hv_name_set
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#endif
-#define hv_clear_placeholders Perl_hv_clear_placeholders
-#ifdef PERL_CORE
-#define magic_scalarpack Perl_magic_scalarpack
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_hash_subscript S_find_hash_subscript
-#define find_array_subscript S_find_array_subscript
-#define find_uninit_var S_find_uninit_var
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE16
-#ifdef PERL_CORE
-#define my_htole16 Perl_my_htole16
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH16
-#ifdef PERL_CORE
-#define my_letoh16 Perl_my_letoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE16
-#ifdef PERL_CORE
-#define my_htobe16 Perl_my_htobe16
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH16
-#ifdef PERL_CORE
-#define my_betoh16 Perl_my_betoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE32
-#ifdef PERL_CORE
-#define my_htole32 Perl_my_htole32
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH32
-#ifdef PERL_CORE
-#define my_letoh32 Perl_my_letoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE32
-#ifdef PERL_CORE
-#define my_htobe32 Perl_my_htobe32
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH32
-#ifdef PERL_CORE
-#define my_betoh32 Perl_my_betoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE64
-#ifdef PERL_CORE
-#define my_htole64 Perl_my_htole64
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH64
-#ifdef PERL_CORE
-#define my_letoh64 Perl_my_letoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE64
-#ifdef PERL_CORE
-#define my_htobe64 Perl_my_htobe64
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH64
-#ifdef PERL_CORE
-#define my_betoh64 Perl_my_betoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLES
-#ifdef PERL_CORE
-#define my_htoles Perl_my_htoles
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHS
-#ifdef PERL_CORE
-#define my_letohs Perl_my_letohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBES
-#ifdef PERL_CORE
-#define my_htobes Perl_my_htobes
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHS
-#ifdef PERL_CORE
-#define my_betohs Perl_my_betohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEI
-#ifdef PERL_CORE
-#define my_htolei Perl_my_htolei
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHI
-#ifdef PERL_CORE
-#define my_letohi Perl_my_letohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEI
-#ifdef PERL_CORE
-#define my_htobei Perl_my_htobei
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHI
-#ifdef PERL_CORE
-#define my_betohi Perl_my_betohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEL
-#ifdef PERL_CORE
-#define my_htolel Perl_my_htolel
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHL
-#ifdef PERL_CORE
-#define my_letohl Perl_my_letohl
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEL
-#ifdef PERL_CORE
-#define my_htobel Perl_my_htobel
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-#ifdef PERL_CORE
-#define my_betohl Perl_my_betohl
-#endif
-#endif
-#ifdef PERL_CORE
-#define my_swabn Perl_my_swabn
-#endif
-#define gv_fetchpvn_flags Perl_gv_fetchpvn_flags
-#define gv_fetchsv Perl_gv_fetchsv
-#ifdef PERL_CORE
-#define is_gv_magical_sv Perl_is_gv_magical_sv
-#endif
-#define stashpv_hvname_match Perl_stashpv_hvname_match
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-#ifdef PERL_CORE
-#define dump_sv_child Perl_dump_sv_child
-#endif
-#endif
-#ifdef PERL_DONT_CREATE_GVSV
-#define gv_SVadd Perl_gv_SVadd
-#endif
-#ifdef PERL_CORE
-#define offer_nice_chunk Perl_offer_nice_chunk
-#endif
-#ifndef SPRINTF_RETURNS_STRLEN
-#endif
-#ifdef PERL_CORE
-#define my_clearenv Perl_my_clearenv
-#endif
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-#else
-#endif
-#endif
-#ifndef HAS_STRLCAT
-#endif
-#ifndef HAS_STRLCPY
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define pad_peg Perl_pad_peg
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define xmldump_attr S_xmldump_attr
-#endif
-#endif
-#ifdef PERL_CORE
-#define xmldump_indent Perl_xmldump_indent
-#define xmldump_vindent Perl_xmldump_vindent
-#define xmldump_all Perl_xmldump_all
-#define xmldump_packsubs Perl_xmldump_packsubs
-#define xmldump_sub Perl_xmldump_sub
-#define xmldump_form Perl_xmldump_form
-#define xmldump_eval Perl_xmldump_eval
-#define sv_catxmlsv Perl_sv_catxmlsv
-#define sv_catxmlpvn Perl_sv_catxmlpvn
-#define sv_xmlpeek Perl_sv_xmlpeek
-#define do_pmop_xmldump Perl_do_pmop_xmldump
-#define pmop_xmldump Perl_pmop_xmldump
-#define do_op_xmldump Perl_do_op_xmldump
-#define op_xmldump Perl_op_xmldump
-#endif
-#ifdef PERL_CORE
-#define newTOKEN Perl_newTOKEN
-#define token_free Perl_token_free
-#define token_getmad Perl_token_getmad
-#define op_getmad_weak Perl_op_getmad_weak
-#define op_getmad Perl_op_getmad
-#define prepend_madprops Perl_prepend_madprops
-#define append_madprops Perl_append_madprops
-#define addmad Perl_addmad
-#define newMADsv Perl_newMADsv
-#define newMADPROP Perl_newMADPROP
-#define mad_free Perl_mad_free
-#endif
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define skipspace0 S_skipspace0
-#define skipspace1 S_skipspace1
-#define skipspace2 S_skipspace2
-#define start_force S_start_force
-#define curmad S_curmad
-#endif
-# endif
-#ifdef PERL_CORE
-#define madlex Perl_madlex
-#define madparse Perl_madparse
-#endif
-#endif
-#if !defined(HAS_SIGNBIT)
-#endif
-#ifdef PERL_CORE
-#define mro_meta_init Perl_mro_meta_init
-#endif
-#if defined(USE_ITHREADS)
-#ifdef PERL_CORE
-#define mro_meta_dup Perl_mro_meta_dup
-#endif
-#endif
-#define mro_get_linear_isa Perl_mro_get_linear_isa
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mro_get_linear_isa_c3 S_mro_get_linear_isa_c3
-#define mro_get_linear_isa_dfs S_mro_get_linear_isa_dfs
-#endif
-#endif
-#ifdef PERL_CORE
-#define mro_isa_changed_in Perl_mro_isa_changed_in
-#endif
-#define mro_method_changed_in Perl_mro_method_changed_in
-#ifdef PERL_CORE
-#define boot_core_mro Perl_boot_core_mro
-#endif
-#define ck_anoncode Perl_ck_anoncode
-#define ck_bitop Perl_ck_bitop
-#define ck_chdir Perl_ck_chdir
-#define ck_concat Perl_ck_concat
-#define ck_defined Perl_ck_defined
-#define ck_delete Perl_ck_delete
-#define ck_die Perl_ck_die
-#define ck_eof Perl_ck_eof
-#define ck_eval Perl_ck_eval
-#define ck_exec Perl_ck_exec
-#define ck_exists Perl_ck_exists
-#define ck_exit Perl_ck_exit
-#define ck_ftst Perl_ck_ftst
-#define ck_fun Perl_ck_fun
-#define ck_glob Perl_ck_glob
-#define ck_grep Perl_ck_grep
-#define ck_index Perl_ck_index
-#define ck_join Perl_ck_join
-#define ck_lengthconst Perl_ck_lengthconst
-#define ck_lfun Perl_ck_lfun
-#define ck_listiob Perl_ck_listiob
-#define ck_match Perl_ck_match
-#define ck_method Perl_ck_method
-#define ck_null Perl_ck_null
-#define ck_open Perl_ck_open
-#define ck_readline Perl_ck_readline
-#define ck_repeat Perl_ck_repeat
-#define ck_require Perl_ck_require
-#define ck_return Perl_ck_return
-#define ck_rfun Perl_ck_rfun
-#define ck_rvconst Perl_ck_rvconst
-#define ck_sassign Perl_ck_sassign
-#define ck_select Perl_ck_select
-#define ck_shift Perl_ck_shift
-#define ck_smartmatch Perl_ck_smartmatch
-#define ck_sort Perl_ck_sort
-#define ck_spair Perl_ck_spair
-#define ck_split Perl_ck_split
-#define ck_subr Perl_ck_subr
-#define ck_substr Perl_ck_substr
-#define ck_svconst Perl_ck_svconst
-#define ck_trunc Perl_ck_trunc
-#define ck_unpack Perl_ck_unpack
-#define pp_aassign Perl_pp_aassign
-#define pp_abs Perl_pp_abs
-#define pp_accept Perl_pp_accept
-#define pp_add Perl_pp_add
-#define pp_aelem Perl_pp_aelem
-#define pp_aelemfast Perl_pp_aelemfast
-#define pp_alarm Perl_pp_alarm
-#define pp_and Perl_pp_and
-#define pp_andassign Perl_pp_andassign
-#define pp_anoncode Perl_pp_anoncode
-#define pp_anonhash Perl_pp_anonhash
-#define pp_anonlist Perl_pp_anonlist
-#define pp_aslice Perl_pp_aslice
-#define pp_atan2 Perl_pp_atan2
-#define pp_av2arylen Perl_pp_av2arylen
-#define pp_backtick Perl_pp_backtick
-#define pp_bind Perl_pp_bind
-#define pp_binmode Perl_pp_binmode
-#define pp_bit_and Perl_pp_bit_and
-#define pp_bit_or Perl_pp_bit_or
-#define pp_bit_xor Perl_pp_bit_xor
-#define pp_bless Perl_pp_bless
-#define pp_break Perl_pp_break
-#define pp_caller Perl_pp_caller
-#define pp_chdir Perl_pp_chdir
-#define pp_chmod Perl_pp_chmod
-#define pp_chomp Perl_pp_chomp
-#define pp_chop Perl_pp_chop
-#define pp_chown Perl_pp_chown
-#define pp_chr Perl_pp_chr
-#define pp_chroot Perl_pp_chroot
-#define pp_close Perl_pp_close
-#define pp_closedir Perl_pp_closedir
-#define pp_complement Perl_pp_complement
-#define pp_concat Perl_pp_concat
-#define pp_cond_expr Perl_pp_cond_expr
-#define pp_connect Perl_pp_connect
-#define pp_const Perl_pp_const
-#define pp_continue Perl_pp_continue
-#define pp_cos Perl_pp_cos
-#define pp_crypt Perl_pp_crypt
-#define pp_dbmclose Perl_pp_dbmclose
-#define pp_dbmopen Perl_pp_dbmopen
-#define pp_dbstate Perl_pp_dbstate
-#define pp_defined Perl_pp_defined
-#define pp_delete Perl_pp_delete
-#define pp_die Perl_pp_die
-#define pp_divide Perl_pp_divide
-#define pp_dofile Perl_pp_dofile
-#define pp_dor Perl_pp_dor
-#define pp_dorassign Perl_pp_dorassign
-#define pp_dump Perl_pp_dump
-#define pp_each Perl_pp_each
-#define pp_egrent Perl_pp_egrent
-#define pp_ehostent Perl_pp_ehostent
-#define pp_enetent Perl_pp_enetent
-#define pp_enter Perl_pp_enter
-#define pp_entereval Perl_pp_entereval
-#define pp_entergiven Perl_pp_entergiven
-#define pp_enteriter Perl_pp_enteriter
-#define pp_enterloop Perl_pp_enterloop
-#define pp_entersub Perl_pp_entersub
-#define pp_entertry Perl_pp_entertry
-#define pp_enterwhen Perl_pp_enterwhen
-#define pp_enterwrite Perl_pp_enterwrite
-#define pp_eof Perl_pp_eof
-#define pp_eprotoent Perl_pp_eprotoent
-#define pp_epwent Perl_pp_epwent
-#define pp_eq Perl_pp_eq
-#define pp_eservent Perl_pp_eservent
-#define pp_exec Perl_pp_exec
-#define pp_exists Perl_pp_exists
-#define pp_exit Perl_pp_exit
-#define pp_exp Perl_pp_exp
-#define pp_fcntl Perl_pp_fcntl
-#define pp_fileno Perl_pp_fileno
-#define pp_flip Perl_pp_flip
-#define pp_flock Perl_pp_flock
-#define pp_flop Perl_pp_flop
-#define pp_fork Perl_pp_fork
-#define pp_formline Perl_pp_formline
-#define pp_ftatime Perl_pp_ftatime
-#define pp_ftbinary Perl_pp_ftbinary
-#define pp_ftblk Perl_pp_ftblk
-#define pp_ftchr Perl_pp_ftchr
-#define pp_ftctime Perl_pp_ftctime
-#define pp_ftdir Perl_pp_ftdir
-#define pp_fteexec Perl_pp_fteexec
-#define pp_fteowned Perl_pp_fteowned
-#define pp_fteread Perl_pp_fteread
-#define pp_ftewrite Perl_pp_ftewrite
-#define pp_ftfile Perl_pp_ftfile
-#define pp_ftis Perl_pp_ftis
-#define pp_ftlink Perl_pp_ftlink
-#define pp_ftmtime Perl_pp_ftmtime
-#define pp_ftpipe Perl_pp_ftpipe
-#define pp_ftrexec Perl_pp_ftrexec
-#define pp_ftrowned Perl_pp_ftrowned
-#define pp_ftrread Perl_pp_ftrread
-#define pp_ftrwrite Perl_pp_ftrwrite
-#define pp_ftsgid Perl_pp_ftsgid
-#define pp_ftsize Perl_pp_ftsize
-#define pp_ftsock Perl_pp_ftsock
-#define pp_ftsuid Perl_pp_ftsuid
-#define pp_ftsvtx Perl_pp_ftsvtx
-#define pp_fttext Perl_pp_fttext
-#define pp_fttty Perl_pp_fttty
-#define pp_ftzero Perl_pp_ftzero
-#define pp_ge Perl_pp_ge
-#define pp_gelem Perl_pp_gelem
-#define pp_getc Perl_pp_getc
-#define pp_getlogin Perl_pp_getlogin
-#define pp_getpeername Perl_pp_getpeername
-#define pp_getpgrp Perl_pp_getpgrp
-#define pp_getppid Perl_pp_getppid
-#define pp_getpriority Perl_pp_getpriority
-#define pp_getsockname Perl_pp_getsockname
-#define pp_ggrent Perl_pp_ggrent
-#define pp_ggrgid Perl_pp_ggrgid
-#define pp_ggrnam Perl_pp_ggrnam
-#define pp_ghbyaddr Perl_pp_ghbyaddr
-#define pp_ghbyname Perl_pp_ghbyname
-#define pp_ghostent Perl_pp_ghostent
-#define pp_glob Perl_pp_glob
-#define pp_gmtime Perl_pp_gmtime
-#define pp_gnbyaddr Perl_pp_gnbyaddr
-#define pp_gnbyname Perl_pp_gnbyname
-#define pp_gnetent Perl_pp_gnetent
-#define pp_goto Perl_pp_goto
-#define pp_gpbyname Perl_pp_gpbyname
-#define pp_gpbynumber Perl_pp_gpbynumber
-#define pp_gprotoent Perl_pp_gprotoent
-#define pp_gpwent Perl_pp_gpwent
-#define pp_gpwnam Perl_pp_gpwnam
-#define pp_gpwuid Perl_pp_gpwuid
-#define pp_grepstart Perl_pp_grepstart
-#define pp_grepwhile Perl_pp_grepwhile
-#define pp_gsbyname Perl_pp_gsbyname
-#define pp_gsbyport Perl_pp_gsbyport
-#define pp_gservent Perl_pp_gservent
-#define pp_gsockopt Perl_pp_gsockopt
-#define pp_gt Perl_pp_gt
-#define pp_gv Perl_pp_gv
-#define pp_gvsv Perl_pp_gvsv
-#define pp_helem Perl_pp_helem
-#define pp_hex Perl_pp_hex
-#define pp_hslice Perl_pp_hslice
-#define pp_i_add Perl_pp_i_add
-#define pp_i_divide Perl_pp_i_divide
-#define pp_i_eq Perl_pp_i_eq
-#define pp_i_ge Perl_pp_i_ge
-#define pp_i_gt Perl_pp_i_gt
-#define pp_i_le Perl_pp_i_le
-#define pp_i_lt Perl_pp_i_lt
-#define pp_i_modulo Perl_pp_i_modulo
-#define pp_i_multiply Perl_pp_i_multiply
-#define pp_i_ncmp Perl_pp_i_ncmp
-#define pp_i_ne Perl_pp_i_ne
-#define pp_i_negate Perl_pp_i_negate
-#define pp_i_subtract Perl_pp_i_subtract
-#define pp_index Perl_pp_index
-#define pp_int Perl_pp_int
-#define pp_ioctl Perl_pp_ioctl
-#define pp_iter Perl_pp_iter
-#define pp_join Perl_pp_join
-#define pp_keys Perl_pp_keys
-#define pp_kill Perl_pp_kill
-#define pp_last Perl_pp_last
-#define pp_lc Perl_pp_lc
-#define pp_lcfirst Perl_pp_lcfirst
-#define pp_le Perl_pp_le
-#define pp_leave Perl_pp_leave
-#define pp_leaveeval Perl_pp_leaveeval
-#define pp_leavegiven Perl_pp_leavegiven
-#define pp_leaveloop Perl_pp_leaveloop
-#define pp_leavesub Perl_pp_leavesub
-#define pp_leavesublv Perl_pp_leavesublv
-#define pp_leavetry Perl_pp_leavetry
-#define pp_leavewhen Perl_pp_leavewhen
-#define pp_leavewrite Perl_pp_leavewrite
-#define pp_left_shift Perl_pp_left_shift
-#define pp_length Perl_pp_length
-#define pp_lineseq Perl_pp_lineseq
-#define pp_link Perl_pp_link
-#define pp_list Perl_pp_list
-#define pp_listen Perl_pp_listen
-#define pp_localtime Perl_pp_localtime
-#define pp_lock Perl_pp_lock
-#define pp_log Perl_pp_log
-#define pp_lslice Perl_pp_lslice
-#define pp_lstat Perl_pp_lstat
-#define pp_lt Perl_pp_lt
-#define pp_mapstart Perl_pp_mapstart
-#define pp_mapwhile Perl_pp_mapwhile
-#define pp_match Perl_pp_match
-#define pp_method Perl_pp_method
-#define pp_method_named Perl_pp_method_named
-#define pp_mkdir Perl_pp_mkdir
-#define pp_modulo Perl_pp_modulo
-#define pp_msgctl Perl_pp_msgctl
-#define pp_msgget Perl_pp_msgget
-#define pp_msgrcv Perl_pp_msgrcv
-#define pp_msgsnd Perl_pp_msgsnd
-#define pp_multiply Perl_pp_multiply
-#define pp_ncmp Perl_pp_ncmp
-#define pp_ne Perl_pp_ne
-#define pp_negate Perl_pp_negate
-#define pp_next Perl_pp_next
-#define pp_nextstate Perl_pp_nextstate
-#define pp_not Perl_pp_not
-#define pp_null Perl_pp_null
-#define pp_oct Perl_pp_oct
-#define pp_once Perl_pp_once
-#define pp_open Perl_pp_open
-#define pp_open_dir Perl_pp_open_dir
-#define pp_or Perl_pp_or
-#define pp_orassign Perl_pp_orassign
-#define pp_ord Perl_pp_ord
-#define pp_pack Perl_pp_pack
-#define pp_padany Perl_pp_padany
-#define pp_padav Perl_pp_padav
-#define pp_padhv Perl_pp_padhv
-#define pp_padsv Perl_pp_padsv
-#define pp_pipe_op Perl_pp_pipe_op
-#define pp_pop Perl_pp_pop
-#define pp_pos Perl_pp_pos
-#define pp_postdec Perl_pp_postdec
-#define pp_postinc Perl_pp_postinc
-#define pp_pow Perl_pp_pow
-#define pp_predec Perl_pp_predec
-#define pp_preinc Perl_pp_preinc
-#define pp_print Perl_pp_print
-#define pp_prototype Perl_pp_prototype
-#define pp_prtf Perl_pp_prtf
-#define pp_push Perl_pp_push
-#define pp_pushmark Perl_pp_pushmark
-#define pp_pushre Perl_pp_pushre
-#define pp_qr Perl_pp_qr
-#define pp_quotemeta Perl_pp_quotemeta
-#define pp_rand Perl_pp_rand
-#define pp_range Perl_pp_range
-#define pp_rcatline Perl_pp_rcatline
-#define pp_read Perl_pp_read
-#define pp_readdir Perl_pp_readdir
-#define pp_readline Perl_pp_readline
-#define pp_readlink Perl_pp_readlink
-#define pp_recv Perl_pp_recv
-#define pp_redo Perl_pp_redo
-#define pp_ref Perl_pp_ref
-#define pp_refgen Perl_pp_refgen
-#define pp_regcmaybe Perl_pp_regcmaybe
-#define pp_regcomp Perl_pp_regcomp
-#define pp_regcreset Perl_pp_regcreset
-#define pp_rename Perl_pp_rename
-#define pp_repeat Perl_pp_repeat
-#define pp_require Perl_pp_require
-#define pp_reset Perl_pp_reset
-#define pp_return Perl_pp_return
-#define pp_reverse Perl_pp_reverse
-#define pp_rewinddir Perl_pp_rewinddir
-#define pp_right_shift Perl_pp_right_shift
-#define pp_rindex Perl_pp_rindex
-#define pp_rmdir Perl_pp_rmdir
-#define pp_rv2av Perl_pp_rv2av
-#define pp_rv2cv Perl_pp_rv2cv
-#define pp_rv2gv Perl_pp_rv2gv
-#define pp_rv2hv Perl_pp_rv2hv
-#define pp_rv2sv Perl_pp_rv2sv
-#define pp_sassign Perl_pp_sassign
-#define pp_say Perl_pp_say
-#define pp_scalar Perl_pp_scalar
-#define pp_schomp Perl_pp_schomp
-#define pp_schop Perl_pp_schop
-#define pp_scmp Perl_pp_scmp
-#define pp_scope Perl_pp_scope
-#define pp_seek Perl_pp_seek
-#define pp_seekdir Perl_pp_seekdir
-#define pp_select Perl_pp_select
-#define pp_semctl Perl_pp_semctl
-#define pp_semget Perl_pp_semget
-#define pp_semop Perl_pp_semop
-#define pp_send Perl_pp_send
-#define pp_seq Perl_pp_seq
-#define pp_setpgrp Perl_pp_setpgrp
-#define pp_setpriority Perl_pp_setpriority
-#define pp_setstate Perl_pp_setstate
-#define pp_sge Perl_pp_sge
-#define pp_sgrent Perl_pp_sgrent
-#define pp_sgt Perl_pp_sgt
-#define pp_shift Perl_pp_shift
-#define pp_shmctl Perl_pp_shmctl
-#define pp_shmget Perl_pp_shmget
-#define pp_shmread Perl_pp_shmread
-#define pp_shmwrite Perl_pp_shmwrite
-#define pp_shostent Perl_pp_shostent
-#define pp_shutdown Perl_pp_shutdown
-#define pp_sin Perl_pp_sin
-#define pp_sle Perl_pp_sle
-#define pp_sleep Perl_pp_sleep
-#define pp_slt Perl_pp_slt
-#define pp_smartmatch Perl_pp_smartmatch
-#define pp_sne Perl_pp_sne
-#define pp_snetent Perl_pp_snetent
-#define pp_socket Perl_pp_socket
-#define pp_sockpair Perl_pp_sockpair
-#define pp_sort Perl_pp_sort
-#define pp_splice Perl_pp_splice
-#define pp_split Perl_pp_split
-#define pp_sprintf Perl_pp_sprintf
-#define pp_sprotoent Perl_pp_sprotoent
-#define pp_spwent Perl_pp_spwent
-#define pp_sqrt Perl_pp_sqrt
-#define pp_srand Perl_pp_srand
-#define pp_srefgen Perl_pp_srefgen
-#define pp_sselect Perl_pp_sselect
-#define pp_sservent Perl_pp_sservent
-#define pp_ssockopt Perl_pp_ssockopt
-#define pp_stat Perl_pp_stat
-#define pp_stringify Perl_pp_stringify
-#define pp_stub Perl_pp_stub
-#define pp_study Perl_pp_study
-#define pp_subst Perl_pp_subst
-#define pp_substcont Perl_pp_substcont
-#define pp_substr Perl_pp_substr
-#define pp_subtract Perl_pp_subtract
-#define pp_symlink Perl_pp_symlink
-#define pp_syscall Perl_pp_syscall
-#define pp_sysopen Perl_pp_sysopen
-#define pp_sysread Perl_pp_sysread
-#define pp_sysseek Perl_pp_sysseek
-#define pp_system Perl_pp_system
-#define pp_syswrite Perl_pp_syswrite
-#define pp_tell Perl_pp_tell
-#define pp_telldir Perl_pp_telldir
-#define pp_tie Perl_pp_tie
-#define pp_tied Perl_pp_tied
-#define pp_time Perl_pp_time
-#define pp_tms Perl_pp_tms
-#define pp_trans Perl_pp_trans
-#define pp_truncate Perl_pp_truncate
-#define pp_uc Perl_pp_uc
-#define pp_ucfirst Perl_pp_ucfirst
-#define pp_umask Perl_pp_umask
-#define pp_undef Perl_pp_undef
-#define pp_unlink Perl_pp_unlink
-#define pp_unpack Perl_pp_unpack
-#define pp_unshift Perl_pp_unshift
-#define pp_unstack Perl_pp_unstack
-#define pp_untie Perl_pp_untie
-#define pp_utime Perl_pp_utime
-#define pp_values Perl_pp_values
-#define pp_vec Perl_pp_vec
-#define pp_wait Perl_pp_wait
-#define pp_waitpid Perl_pp_waitpid
-#define pp_wantarray Perl_pp_wantarray
-#define pp_warn Perl_pp_warn
-#define pp_xor Perl_pp_xor
-
-#else /* PERL_IMPLICIT_CONTEXT */
-
-#if defined(PERL_IMPLICIT_SYS)
-#endif
-#define doing_taint Perl_doing_taint
-#if defined(USE_ITHREADS)
-# if defined(PERL_IMPLICIT_SYS)
-# endif
-#endif
-#if defined(MYMALLOC)
-#ifdef PERL_CORE
-#define malloced_size Perl_malloced_size
-#define malloc_good_size Perl_malloc_good_size
-#endif
-#endif
-#define get_context Perl_get_context
-#define set_context Perl_set_context
-#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d)
-#define Gv_AMupdate(a) Perl_Gv_AMupdate(aTHX_ a)
-#define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b)
-#ifdef PERL_CORE
-#define append_elem(a,b,c) Perl_append_elem(aTHX_ a,b,c)
-#define append_list(a,b,c) Perl_append_list(aTHX_ a,b,c)
-#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
-#endif
-#define apply_attrs_string(a,b,c,d) Perl_apply_attrs_string(aTHX_ a,b,c,d)
-#define av_clear(a) Perl_av_clear(aTHX_ a)
-#define av_delete(a,b,c) Perl_av_delete(aTHX_ a,b,c)
-#define av_exists(a,b) Perl_av_exists(aTHX_ a,b)
-#define av_extend(a,b) Perl_av_extend(aTHX_ a,b)
-#ifdef PERL_CORE
-#define av_fake(a,b) Perl_av_fake(aTHX_ a,b)
-#endif
-#define av_fetch(a,b,c) Perl_av_fetch(aTHX_ a,b,c)
-#define av_fill(a,b) Perl_av_fill(aTHX_ a,b)
-#define av_len(a) Perl_av_len(aTHX_ a)
-#define av_make(a,b) Perl_av_make(aTHX_ a,b)
-#define av_pop(a) Perl_av_pop(aTHX_ a)
-#define av_push(a,b) Perl_av_push(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define av_reify(a) Perl_av_reify(aTHX_ a)
-#endif
-#define av_shift(a) Perl_av_shift(aTHX_ a)
-#define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c)
-#define av_undef(a) Perl_av_undef(aTHX_ a)
-#define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b)
-#ifdef PERL_CORE
-#define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c)
-#define block_end(a,b) Perl_block_end(aTHX_ a,b)
-#endif
-#define block_gimme() Perl_block_gimme(aTHX)
-#ifdef PERL_CORE
-#define block_start(a) Perl_block_start(aTHX_ a)
-#define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX)
-#define boot_core_PerlIO() Perl_boot_core_PerlIO(aTHX)
-#endif
-#define call_list(a,b) Perl_call_list(aTHX_ a,b)
-#ifdef PERL_CORE
-#define cando(a,b,c) Perl_cando(aTHX_ a,b,c)
-#endif
-#define cast_ulong(a) Perl_cast_ulong(aTHX_ a)
-#define cast_i32(a) Perl_cast_i32(aTHX_ a)
-#define cast_iv(a) Perl_cast_iv(aTHX_ a)
-#define cast_uv(a) Perl_cast_uv(aTHX_ a)
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-#define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b)
-#endif
-#ifdef PERL_CORE
-#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
-#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
-#endif
-#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
-#if defined(PERL_IMPLICIT_CONTEXT)
-#endif
-#ifdef PERL_CORE
-#define cv_ckproto(a,b,c) Perl_cv_ckproto(aTHX_ a,b,c)
-#define cv_ckproto_len(a,b,c,d) Perl_cv_ckproto_len(aTHX_ a,b,c,d)
-#define cv_clone(a) Perl_cv_clone(aTHX_ a)
-#endif
-#define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a)
-#define cv_const_sv(a) Perl_cv_const_sv(aTHX_ a)
-#ifdef PERL_CORE
-#define op_const_sv(a,b) Perl_op_const_sv(aTHX_ a,b)
-#endif
-#define cv_undef(a) Perl_cv_undef(aTHX_ a)
-#define cx_dump(a) Perl_cx_dump(aTHX_ a)
-#define filter_add(a,b) Perl_filter_add(aTHX_ a,b)
-#define filter_del(a) Perl_filter_del(aTHX_ a)
-#define filter_read(a,b,c) Perl_filter_read(aTHX_ a,b,c)
-#define get_op_descs() Perl_get_op_descs(aTHX)
-#define get_op_names() Perl_get_op_names(aTHX)
-#ifdef PERL_CORE
-#define get_no_modify() Perl_get_no_modify(aTHX)
-#define get_opargs() Perl_get_opargs(aTHX)
-#endif
-#define get_ppaddr() Perl_get_ppaddr(aTHX)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define cxinc() Perl_cxinc(aTHX)
-#endif
-#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
-#define debprofdump() Perl_debprofdump(aTHX)
-#define debop(a) Perl_debop(aTHX_ a)
-#define debstack() Perl_debstack(aTHX)
-#define debstackptrs() Perl_debstackptrs(aTHX)
-#define delimcpy(a,b,c,d,e,f) Perl_delimcpy(aTHX_ a,b,c,d,e,f)
-#ifdef PERL_CORE
-#define delete_eval_scope() Perl_delete_eval_scope(aTHX)
-#define deprecate(a) Perl_deprecate(aTHX_ a)
-#define deprecate_old(a) Perl_deprecate_old(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define vdie(a,b) Perl_vdie(aTHX_ a,b)
-#define die_where(a,b) Perl_die_where(aTHX_ a,b)
-#endif
-#define dounwind(a) Perl_dounwind(aTHX_ a)
-#ifdef PERL_CORE
-#define do_aexec5(a,b,c,d,e) Perl_do_aexec5(aTHX_ a,b,c,d,e)
-#endif
-#define do_binmode(a,b,c) Perl_do_binmode(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define do_chop(a,b) Perl_do_chop(aTHX_ a,b)
-#endif
-#define do_close(a,b) Perl_do_close(aTHX_ a,b)
-#ifdef PERL_CORE
-#define do_eof(a) Perl_do_eof(aTHX_ a)
-#endif
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-#ifdef PERL_CORE
-#endif
-#else
-#ifdef PERL_CORE
-#define do_exec(a) Perl_do_exec(aTHX_ a)
-#endif
-#endif
-#if defined(WIN32) || defined(__SYMBIAN32__)
-#define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c)
-#define do_spawn(a) Perl_do_spawn(aTHX_ a)
-#define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a)
-#endif
-#if !defined(WIN32)
-#ifdef PERL_CORE
-#define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c)
-#endif
-#endif
-#ifdef PERL_CORE
-#define do_execfree() Perl_do_execfree(aTHX)
-#endif
-#ifdef PERL_IN_DOIO_C
-#ifdef PERL_CORE
-#define exec_failed(a,b,c) S_exec_failed(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#ifdef PERL_CORE
-#define do_ipcctl(a,b,c) Perl_do_ipcctl(aTHX_ a,b,c)
-#define do_ipcget(a,b,c) Perl_do_ipcget(aTHX_ a,b,c)
-#define do_msgrcv(a,b) Perl_do_msgrcv(aTHX_ a,b)
-#define do_msgsnd(a,b) Perl_do_msgsnd(aTHX_ a,b)
-#define do_semop(a,b) Perl_do_semop(aTHX_ a,b)
-#define do_shmio(a,b,c) Perl_do_shmio(aTHX_ a,b,c)
-#endif
-#endif
-#define do_join(a,b,c,d) Perl_do_join(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define do_kv() Perl_do_kv(aTHX)
-#endif
-#define do_open9(a,b,c,d,e,f,g,h,i) Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
-#define do_openn(a,b,c,d,e,f,g,h,i) Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i)
-#ifdef PERL_CORE
-#define do_print(a,b) Perl_do_print(aTHX_ a,b)
-#define do_readline() Perl_do_readline(aTHX)
-#define do_chomp(a) Perl_do_chomp(aTHX_ a)
-#define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c)
-#endif
-#define do_sprintf(a,b,c) Perl_do_sprintf(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c)
-#define do_tell(a) Perl_do_tell(aTHX_ a)
-#define do_trans(a) Perl_do_trans(aTHX_ a)
-#define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c)
-#define do_vecset(a) Perl_do_vecset(aTHX_ a)
-#define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d)
-#define dofile(a,b) Perl_dofile(aTHX_ a,b)
-#endif
-#define dowantarray() Perl_dowantarray(aTHX)
-#define dump_all() Perl_dump_all(aTHX)
-#define dump_eval() Perl_dump_eval(aTHX)
-#if defined(DUMP_FDS)
-#define dump_fds(a) Perl_dump_fds(aTHX_ a)
-#endif
-#define dump_form(a) Perl_dump_form(aTHX_ a)
-#define gv_dump(a) Perl_gv_dump(aTHX_ a)
-#define op_dump(a) Perl_op_dump(aTHX_ a)
-#define pmop_dump(a) Perl_pmop_dump(aTHX_ a)
-#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a)
-#define dump_sub(a) Perl_dump_sub(aTHX_ a)
-#define fbm_compile(a,b) Perl_fbm_compile(aTHX_ a,b)
-#define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d)
-#define force_list(a) Perl_force_list(aTHX_ a)
-#define fold_constants(a) Perl_fold_constants(aTHX_ a)
-#endif
-#define vform(a,b) Perl_vform(aTHX_ a,b)
-#define free_tmps() Perl_free_tmps(aTHX)
-#ifdef PERL_CORE
-#define gen_constant_list(a) Perl_gen_constant_list(aTHX_ a)
-#endif
-#if !defined(HAS_GETENV_LEN)
-#ifdef PERL_CORE
-#define getenv_len(a,b) Perl_getenv_len(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#endif
-#define gp_free(a) Perl_gp_free(aTHX_ a)
-#define gp_ref(a) Perl_gp_ref(aTHX_ a)
-#define gv_AVadd(a) Perl_gv_AVadd(aTHX_ a)
-#define gv_HVadd(a) Perl_gv_HVadd(aTHX_ a)
-#define gv_IOadd(a) Perl_gv_IOadd(aTHX_ a)
-#define gv_autoload4(a,b,c,d) Perl_gv_autoload4(aTHX_ a,b,c,d)
-#define gv_check(a) Perl_gv_check(aTHX_ a)
-#define gv_efullname(a,b) Perl_gv_efullname(aTHX_ a,b)
-#define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d)
-#define gv_fetchfile(a) Perl_gv_fetchfile(aTHX_ a)
-#define gv_fetchfile_flags(a,b,c) Perl_gv_fetchfile_flags(aTHX_ a,b,c)
-#define gv_fetchmeth(a,b,c,d) Perl_gv_fetchmeth(aTHX_ a,b,c,d)
-#define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
-#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
-#define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c)
-#define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b)
-#define gv_fullname4(a,b,c,d) Perl_gv_fullname4(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#endif
-#define gv_init(a,b,c,d,e) Perl_gv_init(aTHX_ a,b,c,d,e)
-#define gv_name_set(a,b,c,d) Perl_gv_name_set(aTHX_ a,b,c,d)
-#define gv_stashpv(a,b) Perl_gv_stashpv(aTHX_ a,b)
-#define gv_stashpvn(a,b,c) Perl_gv_stashpvn(aTHX_ a,b,c)
-#define gv_stashsv(a,b) Perl_gv_stashsv(aTHX_ a,b)
-#define hv_clear(a) Perl_hv_clear(aTHX_ a)
-#ifdef PERL_CORE
-#endif
-#define hv_delayfree_ent(a,b) Perl_hv_delayfree_ent(aTHX_ a,b)
-#define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h)
-#define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f)
-#define hv_free_ent(a,b) Perl_hv_free_ent(aTHX_ a,b)
-#define hv_iterinit(a) Perl_hv_iterinit(aTHX_ a)
-#define hv_iterkey(a,b) Perl_hv_iterkey(aTHX_ a,b)
-#define hv_iterkeysv(a) Perl_hv_iterkeysv(aTHX_ a)
-#define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c)
-#define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b)
-#define hv_iterval(a,b) Perl_hv_iterval(aTHX_ a,b)
-#define hv_ksplit(a,b) Perl_hv_ksplit(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#define hv_undef(a) Perl_hv_undef(aTHX_ a)
-#define ibcmp(a,b,c) Perl_ibcmp(aTHX_ a,b,c)
-#define ibcmp_locale(a,b,c) Perl_ibcmp_locale(aTHX_ a,b,c)
-#define ibcmp_utf8(a,b,c,d,e,f,g,h) Perl_ibcmp_utf8(aTHX_ a,b,c,d,e,f,g,h)
-#ifdef PERL_CORE
-#define ingroup(a,b) Perl_ingroup(aTHX_ a,b)
-#define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b)
-#define init_debugger() Perl_init_debugger(aTHX)
-#endif
-#define init_stacks() Perl_init_stacks(aTHX)
-#define init_tm(a) Perl_init_tm(aTHX_ a)
-#ifdef PERL_CORE
-#define intro_my() Perl_intro_my(aTHX)
-#endif
-#define instr(a,b) Perl_instr(aTHX_ a,b)
-#ifdef PERL_CORE
-#define io_close(a,b) Perl_io_close(aTHX_ a,b)
-#define invert(a) Perl_invert(aTHX_ a)
-#define is_gv_magical(a,b,c) Perl_is_gv_magical(aTHX_ a,b,c)
-#endif
-#define is_lvalue_sub() Perl_is_lvalue_sub(aTHX)
-#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a)
-#define to_uni_title_lc(a) Perl_to_uni_title_lc(aTHX_ a)
-#define to_uni_lower_lc(a) Perl_to_uni_lower_lc(aTHX_ a)
-#define is_uni_alnum(a) Perl_is_uni_alnum(aTHX_ a)
-#define is_uni_alnumc(a) Perl_is_uni_alnumc(aTHX_ a)
-#define is_uni_idfirst(a) Perl_is_uni_idfirst(aTHX_ a)
-#define is_uni_alpha(a) Perl_is_uni_alpha(aTHX_ a)
-#define is_uni_ascii(a) Perl_is_uni_ascii(aTHX_ a)
-#define is_uni_space(a) Perl_is_uni_space(aTHX_ a)
-#define is_uni_cntrl(a) Perl_is_uni_cntrl(aTHX_ a)
-#define is_uni_graph(a) Perl_is_uni_graph(aTHX_ a)
-#define is_uni_digit(a) Perl_is_uni_digit(aTHX_ a)
-#define is_uni_upper(a) Perl_is_uni_upper(aTHX_ a)
-#define is_uni_lower(a) Perl_is_uni_lower(aTHX_ a)
-#define is_uni_print(a) Perl_is_uni_print(aTHX_ a)
-#define is_uni_punct(a) Perl_is_uni_punct(aTHX_ a)
-#define is_uni_xdigit(a) Perl_is_uni_xdigit(aTHX_ a)
-#define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c)
-#define to_uni_title(a,b,c) Perl_to_uni_title(aTHX_ a,b,c)
-#define to_uni_lower(a,b,c) Perl_to_uni_lower(aTHX_ a,b,c)
-#define to_uni_fold(a,b,c) Perl_to_uni_fold(aTHX_ a,b,c)
-#define is_uni_alnum_lc(a) Perl_is_uni_alnum_lc(aTHX_ a)
-#define is_uni_alnumc_lc(a) Perl_is_uni_alnumc_lc(aTHX_ a)
-#define is_uni_idfirst_lc(a) Perl_is_uni_idfirst_lc(aTHX_ a)
-#define is_uni_alpha_lc(a) Perl_is_uni_alpha_lc(aTHX_ a)
-#define is_uni_ascii_lc(a) Perl_is_uni_ascii_lc(aTHX_ a)
-#define is_uni_space_lc(a) Perl_is_uni_space_lc(aTHX_ a)
-#define is_uni_cntrl_lc(a) Perl_is_uni_cntrl_lc(aTHX_ a)
-#define is_uni_graph_lc(a) Perl_is_uni_graph_lc(aTHX_ a)
-#define is_uni_digit_lc(a) Perl_is_uni_digit_lc(aTHX_ a)
-#define is_uni_upper_lc(a) Perl_is_uni_upper_lc(aTHX_ a)
-#define is_uni_lower_lc(a) Perl_is_uni_lower_lc(aTHX_ a)
-#define is_uni_print_lc(a) Perl_is_uni_print_lc(aTHX_ a)
-#define is_uni_punct_lc(a) Perl_is_uni_punct_lc(aTHX_ a)
-#define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a)
-#define is_utf8_char(a) Perl_is_utf8_char(aTHX_ a)
-#define is_utf8_string(a,b) Perl_is_utf8_string(aTHX_ a,b)
-#define is_utf8_string_loclen(a,b,c,d) Perl_is_utf8_string_loclen(aTHX_ a,b,c,d)
-#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a)
-#define is_utf8_alnumc(a) Perl_is_utf8_alnumc(aTHX_ a)
-#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a)
-#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a)
-#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a)
-#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a)
-#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a)
-#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a)
-#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a)
-#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a)
-#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a)
-#define is_utf8_lower(a) Perl_is_utf8_lower(aTHX_ a)
-#define is_utf8_print(a) Perl_is_utf8_print(aTHX_ a)
-#define is_utf8_punct(a) Perl_is_utf8_punct(aTHX_ a)
-#define is_utf8_xdigit(a) Perl_is_utf8_xdigit(aTHX_ a)
-#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a)
-#ifdef PERL_CORE
-#define jmaybe(a) Perl_jmaybe(aTHX_ a)
-#define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c)
-#endif
-#define leave_scope(a) Perl_leave_scope(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define lex_end() Perl_lex_end(aTHX)
-#endif
-#ifdef PERL_CORE
-#define lex_start(a,b,c) Perl_lex_start(aTHX_ a,b,c)
-#endif
-#define op_null(a) Perl_op_null(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define op_clear(a) Perl_op_clear(aTHX_ a)
-#endif
-#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
-#define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX)
-#ifdef PERL_CORE
-#define linklist(a) Perl_linklist(aTHX_ a)
-#define list(a) Perl_list(aTHX_ a)
-#define listkids(a) Perl_listkids(aTHX_ a)
-#endif
-#define vload_module(a,b,c,d) Perl_vload_module(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define localize(a,b) Perl_localize(aTHX_ a,b)
-#endif
-#define looks_like_number(a) Perl_looks_like_number(aTHX_ a)
-#define grok_bin(a,b,c,d) Perl_grok_bin(aTHX_ a,b,c,d)
-#define grok_hex(a,b,c,d) Perl_grok_hex(aTHX_ a,b,c,d)
-#define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c)
-#define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b)
-#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define magic_clearenv(a,b) Perl_magic_clearenv(aTHX_ a,b)
-#define magic_clear_all_env(a,b) Perl_magic_clear_all_env(aTHX_ a,b)
-#define magic_clearhint(a,b) Perl_magic_clearhint(aTHX_ a,b)
-#define magic_clearisa(a,b) Perl_magic_clearisa(aTHX_ a,b)
-#define magic_clearpack(a,b) Perl_magic_clearpack(aTHX_ a,b)
-#define magic_clearsig(a,b) Perl_magic_clearsig(aTHX_ a,b)
-#define magic_existspack(a,b) Perl_magic_existspack(aTHX_ a,b)
-#define magic_freeregexp(a,b) Perl_magic_freeregexp(aTHX_ a,b)
-#define magic_freeovrld(a,b) Perl_magic_freeovrld(aTHX_ a,b)
-#define magic_get(a,b) Perl_magic_get(aTHX_ a,b)
-#define magic_getarylen(a,b) Perl_magic_getarylen(aTHX_ a,b)
-#define magic_getdefelem(a,b) Perl_magic_getdefelem(aTHX_ a,b)
-#define magic_getnkeys(a,b) Perl_magic_getnkeys(aTHX_ a,b)
-#define magic_getpack(a,b) Perl_magic_getpack(aTHX_ a,b)
-#define magic_getpos(a,b) Perl_magic_getpos(aTHX_ a,b)
-#define magic_getsig(a,b) Perl_magic_getsig(aTHX_ a,b)
-#define magic_getsubstr(a,b) Perl_magic_getsubstr(aTHX_ a,b)
-#define magic_gettaint(a,b) Perl_magic_gettaint(aTHX_ a,b)
-#define magic_getuvar(a,b) Perl_magic_getuvar(aTHX_ a,b)
-#define magic_getvec(a,b) Perl_magic_getvec(aTHX_ a,b)
-#define magic_len(a,b) Perl_magic_len(aTHX_ a,b)
-#define magic_nextpack(a,b,c) Perl_magic_nextpack(aTHX_ a,b,c)
-#define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b)
-#define magic_regdatum_get(a,b) Perl_magic_regdatum_get(aTHX_ a,b)
-#define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b)
-#define magic_set(a,b) Perl_magic_set(aTHX_ a,b)
-#define magic_setamagic(a,b) Perl_magic_setamagic(aTHX_ a,b)
-#define magic_setarylen(a,b) Perl_magic_setarylen(aTHX_ a,b)
-#define magic_freearylen_p(a,b) Perl_magic_freearylen_p(aTHX_ a,b)
-#define magic_setbm(a,b) Perl_magic_setbm(aTHX_ a,b)
-#define magic_setdbline(a,b) Perl_magic_setdbline(aTHX_ a,b)
-#define magic_setdefelem(a,b) Perl_magic_setdefelem(aTHX_ a,b)
-#define magic_setenv(a,b) Perl_magic_setenv(aTHX_ a,b)
-#define magic_setfm(a,b) Perl_magic_setfm(aTHX_ a,b)
-#define magic_sethint(a,b) Perl_magic_sethint(aTHX_ a,b)
-#define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b)
-#define magic_setglob(a,b) Perl_magic_setglob(aTHX_ a,b)
-#define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b)
-#define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b)
-#define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b)
-#define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b)
-#define magic_setregexp(a,b) Perl_magic_setregexp(aTHX_ a,b)
-#define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b)
-#define magic_setsubstr(a,b) Perl_magic_setsubstr(aTHX_ a,b)
-#define magic_settaint(a,b) Perl_magic_settaint(aTHX_ a,b)
-#define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b)
-#define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b)
-#define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b)
-#define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b)
-#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b)
-#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b)
-#define magicname(a,b,c) Perl_magicname(aTHX_ a,b,c)
-#endif
-#define markstack_grow() Perl_markstack_grow(aTHX)
-#if defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b)
-#define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c)
-#endif
-#endif
-#define vmess(a,b) Perl_vmess(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define qerror(a) Perl_qerror(aTHX_ a)
-#endif
-#define sortsv(a,b,c) Perl_sortsv(aTHX_ a,b,c)
-#define sortsv_flags(a,b,c,d) Perl_sortsv_flags(aTHX_ a,b,c,d)
-#define mg_clear(a) Perl_mg_clear(aTHX_ a)
-#define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define mg_localize(a,b) Perl_mg_localize(aTHX_ a,b)
-#endif
-#define mg_find(a,b) Perl_mg_find(aTHX_ a,b)
-#define mg_free(a) Perl_mg_free(aTHX_ a)
-#define mg_get(a) Perl_mg_get(aTHX_ a)
-#define mg_length(a) Perl_mg_length(aTHX_ a)
-#define mg_magical(a) Perl_mg_magical(aTHX_ a)
-#define mg_set(a) Perl_mg_set(aTHX_ a)
-#define mg_size(a) Perl_mg_size(aTHX_ a)
-#define mini_mktime(a) Perl_mini_mktime(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define mod(a,b) Perl_mod(aTHX_ a,b)
-#endif
-#ifdef PERL_CORE
-#define mode_from_discipline(a) Perl_mode_from_discipline(aTHX_ a)
-#endif
-#define moreswitches(a) Perl_moreswitches(aTHX_ a)
-#ifdef PERL_CORE
-#define my(a) Perl_my(aTHX_ a)
-#endif
-#define my_atof(a) Perl_my_atof(aTHX_ a)
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-#define my_bcopy Perl_my_bcopy
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero Perl_my_bzero
-#endif
-#define my_exit(a) Perl_my_exit(aTHX_ a)
-#define my_failure_exit() Perl_my_failure_exit(aTHX)
-#define my_fflush_all() Perl_my_fflush_all(aTHX)
-#define my_fork Perl_my_fork
-#define atfork_lock Perl_atfork_lock
-#define atfork_unlock Perl_atfork_unlock
-#define my_lstat() Perl_my_lstat(aTHX)
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset Perl_my_memset
-#endif
-#define my_pclose(a) Perl_my_pclose(aTHX_ a)
-#define my_popen(a,b) Perl_my_popen(aTHX_ a,b)
-#define my_popen_list(a,b,c) Perl_my_popen_list(aTHX_ a,b,c)
-#define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b)
-#define my_stat() Perl_my_stat(aTHX)
-#define my_strftime(a,b,c,d,e,f,g,h,i,j) Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j)
-#if defined(MYSWAP)
-#define my_swap(a) Perl_my_swap(aTHX_ a)
-#define my_htonl(a) Perl_my_htonl(aTHX_ a)
-#define my_ntohl(a) Perl_my_ntohl(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define my_unexec() Perl_my_unexec(aTHX)
-#endif
-#define newANONLIST(a) Perl_newANONLIST(aTHX_ a)
-#define newANONHASH(a) Perl_newANONHASH(aTHX_ a)
-#define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c)
-#define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d)
-#define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d)
-#define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c)
-#ifdef PERL_MAD
-#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
-#else
-#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
-#endif
-#define newFOROP(a,b,c,d,e,f,g) Perl_newFOROP(aTHX_ a,b,c,d,e,f,g)
-#define newGIVENOP(a,b,c) Perl_newGIVENOP(aTHX_ a,b,c)
-#define newLOGOP(a,b,c,d) Perl_newLOGOP(aTHX_ a,b,c,d)
-#define newLOOPEX(a,b) Perl_newLOOPEX(aTHX_ a,b)
-#define newLOOPOP(a,b,c,d) Perl_newLOOPOP(aTHX_ a,b,c,d)
-#define newNULLLIST() Perl_newNULLLIST(aTHX)
-#define newOP(a,b) Perl_newOP(aTHX_ a,b)
-#define newPROG(a) Perl_newPROG(aTHX_ a)
-#define newRANGE(a,b,c) Perl_newRANGE(aTHX_ a,b,c)
-#define newSLICEOP(a,b,c) Perl_newSLICEOP(aTHX_ a,b,c)
-#define newSTATEOP(a,b,c) Perl_newSTATEOP(aTHX_ a,b,c)
-#define newSUB(a,b,c,d) Perl_newSUB(aTHX_ a,b,c,d)
-#define newXS_flags(a,b,c,d,e) Perl_newXS_flags(aTHX_ a,b,c,d,e)
-#define newXS(a,b,c) Perl_newXS(aTHX_ a,b,c)
-#define newAV() Perl_newAV(aTHX)
-#define newAVREF(a) Perl_newAVREF(aTHX_ a)
-#define newBINOP(a,b,c,d) Perl_newBINOP(aTHX_ a,b,c,d)
-#define newCVREF(a,b) Perl_newCVREF(aTHX_ a,b)
-#define newGVOP(a,b,c) Perl_newGVOP(aTHX_ a,b,c)
-#define newGVgen(a) Perl_newGVgen(aTHX_ a)
-#define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b)
-#define newHVREF(a) Perl_newHVREF(aTHX_ a)
-#define newHV() Perl_newHV(aTHX)
-#define newHVhv(a) Perl_newHVhv(aTHX_ a)
-#define newIO() Perl_newIO(aTHX)
-#define newLISTOP(a,b,c,d) Perl_newLISTOP(aTHX_ a,b,c,d)
-#ifdef USE_ITHREADS
-#define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c)
-#endif
-#define newPMOP(a,b) Perl_newPMOP(aTHX_ a,b)
-#define newPVOP(a,b,c) Perl_newPVOP(aTHX_ a,b,c)
-#define newRV(a) Perl_newRV(aTHX_ a)
-#define newRV_noinc(a) Perl_newRV_noinc(aTHX_ a)
-#define newSV(a) Perl_newSV(aTHX_ a)
-#define newSVREF(a) Perl_newSVREF(aTHX_ a)
-#define newSVOP(a,b,c) Perl_newSVOP(aTHX_ a,b,c)
-#define newSViv(a) Perl_newSViv(aTHX_ a)
-#define newSVuv(a) Perl_newSVuv(aTHX_ a)
-#define newSVnv(a) Perl_newSVnv(aTHX_ a)
-#define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b)
-#define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b)
-#define newSVpvn_flags(a,b,c) Perl_newSVpvn_flags(aTHX_ a,b,c)
-#define newSVhek(a) Perl_newSVhek(aTHX_ a)
-#define newSVpvn_share(a,b,c) Perl_newSVpvn_share(aTHX_ a,b,c)
-#define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b)
-#define newSVrv(a,b) Perl_newSVrv(aTHX_ a,b)
-#define newSVsv(a) Perl_newSVsv(aTHX_ a)
-#define newSV_type(a) Perl_newSV_type(aTHX_ a)
-#define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c)
-#define newWHENOP(a,b) Perl_newWHENOP(aTHX_ a,b)
-#define newWHILEOP(a,b,c,d,e,f,g,h) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g,h)
-#define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b)
-#define scan_vstring(a,b,c) Perl_scan_vstring(aTHX_ a,b,c)
-#define scan_version(a,b,c) Perl_scan_version(aTHX_ a,b,c)
-#define new_version(a) Perl_new_version(aTHX_ a)
-#define upg_version(a,b) Perl_upg_version(aTHX_ a,b)
-#define vverify(a) Perl_vverify(aTHX_ a)
-#define vnumify(a) Perl_vnumify(aTHX_ a)
-#define vnormal(a) Perl_vnormal(aTHX_ a)
-#define vstringify(a) Perl_vstringify(aTHX_ a)
-#define vcmp(a,b) Perl_vcmp(aTHX_ a,b)
-#ifdef PERL_CORE
-#define nextargv(a) Perl_nextargv(aTHX_ a)
-#endif
-#define ninstr(a,b,c,d) Perl_ninstr(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#define oopsCV(a) Perl_oopsCV(aTHX_ a)
-#endif
-#define op_free(a) Perl_op_free(aTHX_ a)
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define package(a) Perl_package(aTHX_ a)
-#endif
-#else
-#ifdef PERL_CORE
-#define package(a) Perl_package(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
-#define allocmy(a) Perl_allocmy(aTHX_ a)
-#define pad_findmy(a) Perl_pad_findmy(aTHX_ a)
-#endif
-#define find_rundefsvoffset() Perl_find_rundefsvoffset(aTHX)
-#ifdef PERL_CORE
-#define oopsAV(a) Perl_oopsAV(aTHX_ a)
-#define oopsHV(a) Perl_oopsHV(aTHX_ a)
-#define pad_leavemy() Perl_pad_leavemy(aTHX)
-#endif
-#define pad_sv(a) Perl_pad_sv(aTHX_ a)
-#ifdef PERL_CORE
-#define pad_free(a) Perl_pad_free(aTHX_ a)
-#define pad_reset() Perl_pad_reset(aTHX)
-#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
-#define peep(a) Perl_peep(aTHX_ a)
-#endif
-#if defined(USE_REENTRANT_API)
-#define reentrant_size() Perl_reentrant_size(aTHX)
-#define reentrant_init() Perl_reentrant_init(aTHX)
-#define reentrant_free() Perl_reentrant_free(aTHX)
-#endif
-#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b)
-#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c)
-#define call_method(a,b) Perl_call_method(aTHX_ a,b)
-#define call_pv(a,b) Perl_call_pv(aTHX_ a,b)
-#define call_sv(a,b) Perl_call_sv(aTHX_ a,b)
-#define despatch_signals() Perl_despatch_signals(aTHX)
-#define doref(a,b,c) Perl_doref(aTHX_ a,b,c)
-#define eval_pv(a,b) Perl_eval_pv(aTHX_ a,b)
-#define eval_sv(a,b) Perl_eval_sv(aTHX_ a,b)
-#define get_sv(a,b) Perl_get_sv(aTHX_ a,b)
-#define get_av(a,b) Perl_get_av(aTHX_ a,b)
-#define get_hv(a,b) Perl_get_hv(aTHX_ a,b)
-#define get_cv(a,b) Perl_get_cv(aTHX_ a,b)
-#define get_cvn_flags(a,b,c) Perl_get_cvn_flags(aTHX_ a,b,c)
-#define init_i18nl10n(a) Perl_init_i18nl10n(aTHX_ a)
-#define init_i18nl14n(a) Perl_init_i18nl14n(aTHX_ a)
-#define new_collate(a) Perl_new_collate(aTHX_ a)
-#define new_ctype(a) Perl_new_ctype(aTHX_ a)
-#define new_numeric(a) Perl_new_numeric(aTHX_ a)
-#define set_numeric_local() Perl_set_numeric_local(aTHX)
-#define set_numeric_radix() Perl_set_numeric_radix(aTHX)
-#define set_numeric_standard() Perl_set_numeric_standard(aTHX)
-#define require_pv(a) Perl_require_pv(aTHX_ a)
-#define pack_cat(a,b,c,d,e,f,g) Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
-#define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e)
-#ifdef PERL_USES_PL_PIDSTATUS
-#ifdef PERL_CORE
-#define pidgone(a,b) Perl_pidgone(aTHX_ a,b)
-#endif
-#endif
-#define pmflag(a,b) Perl_pmflag(aTHX_ a,b)
-#ifdef PERL_CORE
-#define pmruntime(a,b,c) Perl_pmruntime(aTHX_ a,b,c)
-#define pmtrans(a,b,c) Perl_pmtrans(aTHX_ a,b,c)
-#endif
-#define pop_scope() Perl_pop_scope(aTHX)
-#ifdef PERL_CORE
-#define prepend_elem(a,b,c) Perl_prepend_elem(aTHX_ a,b,c)
-#endif
-#define push_scope() Perl_push_scope(aTHX)
-#ifdef PERL_CORE
-#define refkids(a,b) Perl_refkids(aTHX_ a,b)
-#endif
-#define regdump(a) Perl_regdump(aTHX_ a)
-#define regdump(a) Perl_regdump(aTHX_ a)
-#define regclass_swash(a,b,c,d,e) Perl_regclass_swash(aTHX_ a,b,c,d,e)
-#define pregexec(a,b,c,d,e,f,g) Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
-#define pregfree(a) Perl_pregfree(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_temp_copy(a) Perl_reg_temp_copy(aTHX_ a)
-#endif
-#define regfree_internal(a) Perl_regfree_internal(aTHX_ a)
-#define reg_stringify(a,b,c,d) Perl_reg_stringify(aTHX_ a,b,c,d)
-#if defined(USE_ITHREADS)
-#define regdupe_internal(a,b) Perl_regdupe_internal(aTHX_ a,b)
-#endif
-#define pregcomp(a,b) Perl_pregcomp(aTHX_ a,b)
-#define re_compile(a,b) Perl_re_compile(aTHX_ a,b)
-#define re_intuit_start(a,b,c,d,e,f) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f)
-#define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a)
-#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
-#define regnext(a) Perl_regnext(aTHX_ a)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_named_buff(a,b,c,d) Perl_reg_named_buff(aTHX_ a,b,c,d)
-#define reg_named_buff_iter(a,b,c) Perl_reg_named_buff_iter(aTHX_ a,b,c)
-#endif
-#define reg_named_buff_fetch(a,b,c) Perl_reg_named_buff_fetch(aTHX_ a,b,c)
-#define reg_named_buff_exists(a,b,c) Perl_reg_named_buff_exists(aTHX_ a,b,c)
-#define reg_named_buff_firstkey(a,b) Perl_reg_named_buff_firstkey(aTHX_ a,b)
-#define reg_named_buff_nextkey(a,b) Perl_reg_named_buff_nextkey(aTHX_ a,b)
-#define reg_named_buff_scalar(a,b) Perl_reg_named_buff_scalar(aTHX_ a,b)
-#define reg_named_buff_all(a,b) Perl_reg_named_buff_all(aTHX_ a,b)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_numbered_buff_fetch(a,b,c) Perl_reg_numbered_buff_fetch(aTHX_ a,b,c)
-#define reg_numbered_buff_store(a,b,c) Perl_reg_numbered_buff_store(aTHX_ a,b,c)
-#define reg_numbered_buff_length(a,b,c) Perl_reg_numbered_buff_length(aTHX_ a,b,c)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg_qr_package(a) Perl_reg_qr_package(aTHX_ a)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regprop(a,b,c) Perl_regprop(aTHX_ a,b,c)
-#endif
-#define repeatcpy(a,b,c,d) Perl_repeatcpy(aTHX_ a,b,c,d)
-#define rninstr(a,b,c,d) Perl_rninstr(aTHX_ a,b,c,d)
-#define rsignal(a,b) Perl_rsignal(aTHX_ a,b)
-#ifdef PERL_CORE
-#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b)
-#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c)
-#endif
-#define rsignal_state(a) Perl_rsignal_state(aTHX_ a)
-#ifdef PERL_CORE
-#define rxres_free(a) Perl_rxres_free(aTHX_ a)
-#define rxres_restore(a,b) Perl_rxres_restore(aTHX_ a,b)
-#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b)
-#endif
-#if !defined(HAS_RENAME)
-#ifdef PERL_CORE
-#define same_dirent(a,b) Perl_same_dirent(aTHX_ a,b)
-#endif
-#endif
-#define savepv(a) Perl_savepv(aTHX_ a)
-#define savepvn(a,b) Perl_savepvn(aTHX_ a,b)
-#define savesharedpv(a) Perl_savesharedpv(aTHX_ a)
-#define savesharedpvn(a,b) Perl_savesharedpvn(aTHX_ a,b)
-#define savesvpv(a) Perl_savesvpv(aTHX_ a)
-#define savestack_grow() Perl_savestack_grow(aTHX)
-#define savestack_grow_cnt(a) Perl_savestack_grow_cnt(aTHX_ a)
-#define save_aelem(a,b,c) Perl_save_aelem(aTHX_ a,b,c)
-#define save_alloc(a,b) Perl_save_alloc(aTHX_ a,b)
-#define save_aptr(a) Perl_save_aptr(aTHX_ a)
-#define save_ary(a) Perl_save_ary(aTHX_ a)
-#define save_bool(a) Perl_save_bool(aTHX_ a)
-#define save_clearsv(a) Perl_save_clearsv(aTHX_ a)
-#define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c)
-#define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b)
-#define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b)
-#define save_freesv(a) Perl_save_freesv(aTHX_ a)
-#ifdef PERL_CORE
-#define save_freeop(a) Perl_save_freeop(aTHX_ a)
-#endif
-#define save_freepv(a) Perl_save_freepv(aTHX_ a)
-#define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a)
-#define save_generic_pvref(a) Perl_save_generic_pvref(aTHX_ a)
-#define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a)
-#define save_gp(a,b) Perl_save_gp(aTHX_ a,b)
-#define save_hash(a) Perl_save_hash(aTHX_ a)
-#define save_helem(a,b,c) Perl_save_helem(aTHX_ a,b,c)
-#define save_hptr(a) Perl_save_hptr(aTHX_ a)
-#define save_I16(a) Perl_save_I16(aTHX_ a)
-#define save_I32(a) Perl_save_I32(aTHX_ a)
-#define save_I8(a) Perl_save_I8(aTHX_ a)
-#define save_int(a) Perl_save_int(aTHX_ a)
-#define save_item(a) Perl_save_item(aTHX_ a)
-#define save_iv(a) Perl_save_iv(aTHX_ a)
-#define save_list(a,b) Perl_save_list(aTHX_ a,b)
-#define save_long(a) Perl_save_long(aTHX_ a)
-#define save_mortalizesv(a) Perl_save_mortalizesv(aTHX_ a)
-#define save_nogv(a) Perl_save_nogv(aTHX_ a)
-#ifdef PERL_CORE
-#define save_op() Perl_save_op(aTHX)
-#endif
-#define save_scalar(a) Perl_save_scalar(aTHX_ a)
-#define save_pptr(a) Perl_save_pptr(aTHX_ a)
-#define save_vptr(a) Perl_save_vptr(aTHX_ a)
-#define save_re_context() Perl_save_re_context(aTHX)
-#define save_padsv(a) Perl_save_padsv(aTHX_ a)
-#define save_sptr(a) Perl_save_sptr(aTHX_ a)
-#define save_svref(a) Perl_save_svref(aTHX_ a)
-#ifdef PERL_CORE
-#define sawparens(a) Perl_sawparens(aTHX_ a)
-#define scalar(a) Perl_scalar(aTHX_ a)
-#define scalarkids(a) Perl_scalarkids(aTHX_ a)
-#define scalarseq(a) Perl_scalarseq(aTHX_ a)
-#define scalarvoid(a) Perl_scalarvoid(aTHX_ a)
-#endif
-#define scan_bin(a,b,c) Perl_scan_bin(aTHX_ a,b,c)
-#define scan_hex(a,b,c) Perl_scan_hex(aTHX_ a,b,c)
-#define scan_num(a,b) Perl_scan_num(aTHX_ a,b)
-#define scan_oct(a,b,c) Perl_scan_oct(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define scope(a) Perl_scope(aTHX_ a)
-#endif
-#define screaminstr(a,b,c,d,e,f) Perl_screaminstr(aTHX_ a,b,c,d,e,f)
-#if !defined(VMS)
-#ifdef PERL_CORE
-#define setenv_getix(a) Perl_setenv_getix(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define setdefout(a) Perl_setdefout(aTHX_ a)
-#endif
-#define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c)
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#else
-#ifdef PERL_CORE
-#define sighandler Perl_sighandler
-#endif
-#define csighandler Perl_csighandler
-#endif
-#define stack_grow(a,b,c) Perl_stack_grow(aTHX_ a,b,c)
-#define start_subparse(a,b) Perl_start_subparse(aTHX_ a,b)
-#ifdef PERL_CORE
-#define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a)
-#endif
-#define sv_2bool(a) Perl_sv_2bool(aTHX_ a)
-#define sv_2cv(a,b,c,d) Perl_sv_2cv(aTHX_ a,b,c,d)
-#define sv_2io(a) Perl_sv_2io(aTHX_ a)
-#ifdef PERL_IN_SV_C
-#ifdef PERL_CORE
-#define glob_2number(a) S_glob_2number(aTHX_ a)
-#define glob_2pv(a,b) S_glob_2pv(aTHX_ a,b)
-#endif
-#endif
-#define sv_2iv_flags(a,b) Perl_sv_2iv_flags(aTHX_ a,b)
-#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a)
-#define sv_2nv(a) Perl_sv_2nv(aTHX_ a)
-#ifdef PERL_CORE
-#define sv_2num(a) Perl_sv_2num(aTHX_ a)
-#endif
-#define sv_2pv_flags(a,b,c) Perl_sv_2pv_flags(aTHX_ a,b,c)
-#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b)
-#define sv_2pvbyte(a,b) Perl_sv_2pvbyte(aTHX_ a,b)
-#define sv_pvn_nomg(a,b) Perl_sv_pvn_nomg(aTHX_ a,b)
-#define sv_2uv_flags(a,b) Perl_sv_2uv_flags(aTHX_ a,b)
-#define sv_iv(a) Perl_sv_iv(aTHX_ a)
-#define sv_uv(a) Perl_sv_uv(aTHX_ a)
-#define sv_nv(a) Perl_sv_nv(aTHX_ a)
-#define sv_pvn(a,b) Perl_sv_pvn(aTHX_ a,b)
-#define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b)
-#define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b)
-#define sv_true(a) Perl_sv_true(aTHX_ a)
-#ifdef PERL_CORE
-#define sv_add_arena(a,b,c) Perl_sv_add_arena(aTHX_ a,b,c)
-#endif
-#define sv_backoff(a) Perl_sv_backoff(aTHX_ a)
-#define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b)
-#define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c)
-#define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b)
-#define sv_chop(a,b) Perl_sv_chop(aTHX_ a,b)
-#ifdef PERL_CORE
-#define sv_clean_all() Perl_sv_clean_all(aTHX)
-#define sv_clean_objs() Perl_sv_clean_objs(aTHX)
-#endif
-#define sv_clear(a) Perl_sv_clear(aTHX_ a)
-#define sv_cmp(a,b) Perl_sv_cmp(aTHX_ a,b)
-#define sv_cmp_locale(a,b) Perl_sv_cmp_locale(aTHX_ a,b)
-#if defined(USE_LOCALE_COLLATE)
-#define sv_collxfrm(a,b) Perl_sv_collxfrm(aTHX_ a,b)
-#endif
-#define sv_compile_2op(a,b,c,d) Perl_sv_compile_2op(aTHX_ a,b,c,d)
-#define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a)
-#define sv_dec(a) Perl_sv_dec(aTHX_ a)
-#define sv_dump(a) Perl_sv_dump(aTHX_ a)
-#define sv_derived_from(a,b) Perl_sv_derived_from(aTHX_ a,b)
-#define sv_does(a,b) Perl_sv_does(aTHX_ a,b)
-#define sv_eq(a,b) Perl_sv_eq(aTHX_ a,b)
-#define sv_free(a) Perl_sv_free(aTHX_ a)
-#ifdef PERL_CORE
-#define sv_free_arenas() Perl_sv_free_arenas(aTHX)
-#endif
-#define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c)
-#define sv_grow(a,b) Perl_sv_grow(aTHX_ a,b)
-#define sv_inc(a) Perl_sv_inc(aTHX_ a)
-#define sv_insert(a,b,c,d,e) Perl_sv_insert(aTHX_ a,b,c,d,e)
-#define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b)
-#define sv_isobject(a) Perl_sv_isobject(aTHX_ a)
-#define sv_len(a) Perl_sv_len(aTHX_ a)
-#define sv_len_utf8(a) Perl_sv_len_utf8(aTHX_ a)
-#define sv_magic(a,b,c,d,e) Perl_sv_magic(aTHX_ a,b,c,d,e)
-#define sv_magicext(a,b,c,d,e,f) Perl_sv_magicext(aTHX_ a,b,c,d,e,f)
-#define sv_mortalcopy(a) Perl_sv_mortalcopy(aTHX_ a)
-#define sv_newmortal() Perl_sv_newmortal(aTHX)
-#define sv_newref(a) Perl_sv_newref(aTHX_ a)
-#define sv_peek(a) Perl_sv_peek(aTHX_ a)
-#define sv_pos_u2b(a,b,c) Perl_sv_pos_u2b(aTHX_ a,b,c)
-#define sv_pos_b2u(a,b) Perl_sv_pos_b2u(aTHX_ a,b)
-#define sv_pvutf8n_force(a,b) Perl_sv_pvutf8n_force(aTHX_ a,b)
-#define sv_pvbyten_force(a,b) Perl_sv_pvbyten_force(aTHX_ a,b)
-#define sv_recode_to_utf8(a,b) Perl_sv_recode_to_utf8(aTHX_ a,b)
-#define sv_cat_decode(a,b,c,d,e,f) Perl_sv_cat_decode(aTHX_ a,b,c,d,e,f)
-#define sv_reftype(a,b) Perl_sv_reftype(aTHX_ a,b)
-#define sv_replace(a,b) Perl_sv_replace(aTHX_ a,b)
-#define sv_report_used() Perl_sv_report_used(aTHX)
-#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b)
-#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
-#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
-#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
-#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
-#define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b)
-#define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c)
-#define sv_setref_uv(a,b,c) Perl_sv_setref_uv(aTHX_ a,b,c)
-#define sv_setref_nv(a,b,c) Perl_sv_setref_nv(aTHX_ a,b,c)
-#define sv_setref_pv(a,b,c) Perl_sv_setref_pv(aTHX_ a,b,c)
-#define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
-#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b)
-#define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c)
-#define sv_tainted(a) Perl_sv_tainted(aTHX_ a)
-#define sv_unmagic(a,b) Perl_sv_unmagic(aTHX_ a,b)
-#define sv_unref_flags(a,b) Perl_sv_unref_flags(aTHX_ a,b)
-#define sv_untaint(a) Perl_sv_untaint(aTHX_ a)
-#define sv_upgrade(a,b) Perl_sv_upgrade(aTHX_ a,b)
-#define sv_usepvn_flags(a,b,c,d) Perl_sv_usepvn_flags(aTHX_ a,b,c,d)
-#define sv_vcatpvfn(a,b,c,d,e,f,g) Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
-#define sv_vsetpvfn(a,b,c,d,e,f,g) Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
-#define str_to_version(a) Perl_str_to_version(aTHX_ a)
-#define swash_init(a,b,c,d,e) Perl_swash_init(aTHX_ a,b,c,d,e)
-#define swash_fetch(a,b,c) Perl_swash_fetch(aTHX_ a,b,c)
-#define taint_env() Perl_taint_env(aTHX)
-#define taint_proper(a,b) Perl_taint_proper(aTHX_ a,b)
-#define to_utf8_case(a,b,c,d,e,f) Perl_to_utf8_case(aTHX_ a,b,c,d,e,f)
-#define to_utf8_lower(a,b,c) Perl_to_utf8_lower(aTHX_ a,b,c)
-#define to_utf8_upper(a,b,c) Perl_to_utf8_upper(aTHX_ a,b,c)
-#define to_utf8_title(a,b,c) Perl_to_utf8_title(aTHX_ a,b,c)
-#define to_utf8_fold(a,b,c) Perl_to_utf8_fold(aTHX_ a,b,c)
-#if defined(UNLINK_ALL_VERSIONS)
-#define unlnk(a) Perl_unlnk(aTHX_ a)
-#endif
-#define unpack_str(a,b,c,d,e,f,g,h) Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
-#define unpackstring(a,b,c,d,e) Perl_unpackstring(aTHX_ a,b,c,d,e)
-#define unsharepvn(a,b,c) Perl_unsharepvn(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define unshare_hek(a) Perl_unshare_hek(aTHX_ a)
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
-#endif
-#else
-#ifdef PERL_CORE
-#define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e)
-#endif
-#endif
-#define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d)
-#define utf16_to_utf8_reversed(a,b,c,d) Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
-#define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b)
-#define utf8_distance(a,b) Perl_utf8_distance(aTHX_ a,b)
-#define utf8_hop(a,b) Perl_utf8_hop(aTHX_ a,b)
-#define utf8_to_bytes(a,b) Perl_utf8_to_bytes(aTHX_ a,b)
-#define bytes_from_utf8(a,b,c) Perl_bytes_from_utf8(aTHX_ a,b,c)
-#define bytes_to_utf8(a,b) Perl_bytes_to_utf8(aTHX_ a,b)
-#define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b)
-#define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b)
-#ifdef EBCDIC
-#define utf8n_to_uvchr(a,b,c,d) Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
-#else
-#endif
-#define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
-#ifdef EBCDIC
-#define uvchr_to_utf8(a,b) Perl_uvchr_to_utf8(aTHX_ a,b)
-#else
-#endif
-#define uvchr_to_utf8_flags(a,b,c) Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
-#define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
-#define pv_uni_display(a,b,c,d,e) Perl_pv_uni_display(aTHX_ a,b,c,d,e)
-#define sv_uni_display(a,b,c,d) Perl_sv_uni_display(aTHX_ a,b,c,d)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b)
-#define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c)
-#define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a)
-#endif
-#define seed() Perl_seed(aTHX)
-#ifdef PERL_CORE
-#define get_hash_seed() Perl_get_hash_seed(aTHX)
-#define report_evil_fh(a,b,c) Perl_report_evil_fh(aTHX_ a,b,c)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define report_uninit(a) Perl_report_uninit(aTHX_ a)
-#endif
-#define vwarn(a,b) Perl_vwarn(aTHX_ a,b)
-#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define watch(a) Perl_watch(aTHX_ a)
-#endif
-#define whichsig(a) Perl_whichsig(aTHX_ a)
-#ifdef PERL_CORE
-#define write_to_stderr(a,b) Perl_write_to_stderr(aTHX_ a,b)
-#define yyerror(a) Perl_yyerror(aTHX_ a)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define yylex() Perl_yylex(aTHX)
-#endif
-#ifdef PERL_CORE
-#define yyparse() Perl_yyparse(aTHX)
-#define parser_free(a) Perl_parser_free(aTHX_ a)
-#define yywarn(a) Perl_yywarn(aTHX_ a)
-#endif
-#if defined(MYMALLOC)
-#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
-#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c)
-#endif
-#define safesysmalloc Perl_safesysmalloc
-#define safesyscalloc Perl_safesyscalloc
-#define safesysrealloc Perl_safesysrealloc
-#define safesysfree Perl_safesysfree
-#if defined(PERL_GLOBAL_STRUCT)
-#define GetVars() Perl_GetVars(aTHX)
-#define init_global_struct() Perl_init_global_struct(aTHX)
-#define free_global_struct(a) Perl_free_global_struct(aTHX_ a)
-#endif
-#define runops_standard() Perl_runops_standard(aTHX)
-#define runops_debug() Perl_runops_debug(aTHX)
-#define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
-#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
-#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
-#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
-#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
-#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
-#define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b)
-#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
-#define sv_setpvn_mg(a,b,c) Perl_sv_setpvn_mg(aTHX_ a,b,c)
-#define sv_setsv_mg(a,b) Perl_sv_setsv_mg(aTHX_ a,b)
-#define get_vtbl(a) Perl_get_vtbl(aTHX_ a)
-#define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e)
-#define pv_escape(a,b,c,d,e,f) Perl_pv_escape(aTHX_ a,b,c,d,e,f)
-#define pv_pretty(a,b,c,d,e,f,g) Perl_pv_pretty(aTHX_ a,b,c,d,e,f,g)
-#define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d)
-#define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d)
-#define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d)
-#define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d)
-#define do_magic_dump(a,b,c,d,e,f,g) Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g)
-#define do_op_dump(a,b,c) Perl_do_op_dump(aTHX_ a,b,c)
-#define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c)
-#define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
-#define magic_dump(a) Perl_magic_dump(aTHX_ a)
-#define reginitcolors() Perl_reginitcolors(aTHX)
-#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b)
-#define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a)
-#define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a)
-#define sv_force_normal_flags(a,b) Perl_sv_force_normal_flags(aTHX_ a,b)
-#define tmps_grow(a) Perl_tmps_grow(aTHX_ a)
-#define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a)
-#ifdef PERL_CORE
-#define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b)
-#endif
-#define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d)
-#define newATTRSUB(a,b,c,d,e) Perl_newATTRSUB(aTHX_ a,b,c,d,e)
-#ifdef PERL_MAD
-#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
-#else
-#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
-#endif
-#ifdef PERL_CORE
-#define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b)
-#define boot_core_xsutils() Perl_boot_core_xsutils(aTHX)
-#endif
-#if defined(USE_ITHREADS)
-#define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d)
-#define si_dup(a,b) Perl_si_dup(aTHX_ a,b)
-#define ss_dup(a,b) Perl_ss_dup(aTHX_ a,b)
-#define any_dup(a,b) Perl_any_dup(aTHX_ a,b)
-#define he_dup(a,b,c) Perl_he_dup(aTHX_ a,b,c)
-#define hek_dup(a,b) Perl_hek_dup(aTHX_ a,b)
-#define re_dup(a,b) Perl_re_dup(aTHX_ a,b)
-#define fp_dup(a,b,c) Perl_fp_dup(aTHX_ a,b,c)
-#define dirp_dup(a) Perl_dirp_dup(aTHX_ a)
-#define gp_dup(a,b) Perl_gp_dup(aTHX_ a,b)
-#define mg_dup(a,b) Perl_mg_dup(aTHX_ a,b)
-#define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b)
-#define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c)
-#define parser_dup(a,b) Perl_parser_dup(aTHX_ a,b)
-#endif
-#define ptr_table_new() Perl_ptr_table_new(aTHX)
-#define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b)
-#define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c)
-#define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a)
-#define ptr_table_clear(a) Perl_ptr_table_clear(aTHX_ a)
-#define ptr_table_free(a) Perl_ptr_table_free(aTHX_ a)
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-#define sys_intern_clear() Perl_sys_intern_clear(aTHX)
-#define sys_intern_init() Perl_sys_intern_init(aTHX)
-#endif
-#define custom_op_name(a) Perl_custom_op_name(aTHX_ a)
-#define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a)
-#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
-#define sv_destroyable(a) Perl_sv_destroyable(aTHX_ a)
-#ifdef NO_MATHOMS
-#else
-#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
-#endif
-#define nothreadhook() Perl_nothreadhook(aTHX)
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_trans_simple(a) S_do_trans_simple(aTHX_ a)
-#define do_trans_count(a) S_do_trans_count(aTHX_ a)
-#define do_trans_complex(a) S_do_trans_complex(aTHX_ a)
-#define do_trans_simple_utf8(a) S_do_trans_simple_utf8(aTHX_ a)
-#define do_trans_count_utf8(a) S_do_trans_count_utf8(aTHX_ a)
-#define do_trans_complex_utf8(a) S_do_trans_complex_utf8(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b)
-#define gv_get_super_pkg(a,b) S_gv_get_super_pkg(aTHX_ a,b)
-#define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e)
-#endif
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define hsplit(a) S_hsplit(aTHX_ a)
-#define hfreeentries(a) S_hfreeentries(aTHX_ a)
-#define new_he() S_new_he(aTHX)
-#define save_hek_flags S_save_hek_flags
-#define hv_magic_check S_hv_magic_check
-#define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
-#define share_hek_flags(a,b,c,d) S_share_hek_flags(aTHX_ a,b,c,d)
-#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
-#define hv_auxinit S_hv_auxinit
-#define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
-#define clear_placeholders(a,b) S_clear_placeholders(aTHX_ a,b)
-#define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_magic(a,b) S_save_magic(aTHX_ a,b)
-#define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c)
-#define magic_methcall(a,b,c,d,e,f) S_magic_methcall(aTHX_ a,b,c,d,e,f)
-#define restore_magic(a) S_restore_magic(aTHX_ a)
-#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
-#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
-#define ck_concat(a) Perl_ck_concat(aTHX_ a)
-#define ck_defined(a) Perl_ck_defined(aTHX_ a)
-#define ck_delete(a) Perl_ck_delete(aTHX_ a)
-#define ck_die(a) Perl_ck_die(aTHX_ a)
-#define ck_eof(a) Perl_ck_eof(aTHX_ a)
-#define ck_eval(a) Perl_ck_eval(aTHX_ a)
-#define ck_exec(a) Perl_ck_exec(aTHX_ a)
-#define ck_exists(a) Perl_ck_exists(aTHX_ a)
-#define ck_exit(a) Perl_ck_exit(aTHX_ a)
-#define ck_ftst(a) Perl_ck_ftst(aTHX_ a)
-#define ck_fun(a) Perl_ck_fun(aTHX_ a)
-#define ck_glob(a) Perl_ck_glob(aTHX_ a)
-#define ck_grep(a) Perl_ck_grep(aTHX_ a)
-#define ck_index(a) Perl_ck_index(aTHX_ a)
-#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
-#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
-#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
-#define ck_match(a) Perl_ck_match(aTHX_ a)
-#define ck_method(a) Perl_ck_method(aTHX_ a)
-#define ck_null(a) Perl_ck_null(aTHX_ a)
-#define ck_open(a) Perl_ck_open(aTHX_ a)
-#define ck_readline(a) Perl_ck_readline(aTHX_ a)
-#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
-#define ck_require(a) Perl_ck_require(aTHX_ a)
-#define ck_retarget(a) Perl_ck_retarget(aTHX_ a)
-#define ck_return(a) Perl_ck_return(aTHX_ a)
-#define ck_rfun(a) Perl_ck_rfun(aTHX_ a)
-#define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a)
-#define ck_sassign(a) Perl_ck_sassign(aTHX_ a)
-#define ck_select(a) Perl_ck_select(aTHX_ a)
-#define ck_shift(a) Perl_ck_shift(aTHX_ a)
-#define ck_sort(a) Perl_ck_sort(aTHX_ a)
-#define ck_spair(a) Perl_ck_spair(aTHX_ a)
-#define ck_split(a) Perl_ck_split(aTHX_ a)
-#define ck_subr(a) Perl_ck_subr(aTHX_ a)
-#define ck_substr(a) Perl_ck_substr(aTHX_ a)
-#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
-#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
-#define ck_unpack(a) Perl_ck_unpack(aTHX_ a)
-#define is_handle_constructor S_is_handle_constructor
-#define is_list_assignment(a) S_is_list_assignment(aTHX_ a)
-#endif
-# ifdef USE_ITHREADS
-#ifdef PERL_CORE
-#endif
-# else
-#ifdef PERL_CORE
-#endif
-# endif
-#ifdef PERL_CORE
-#define find_and_forget_pmops(a) S_find_and_forget_pmops(aTHX_ a)
-#define cop_free(a) S_cop_free(aTHX_ a)
-#define modkids(a,b) S_modkids(aTHX_ a,b)
-#define scalarboolean(a) S_scalarboolean(aTHX_ a)
-#define newDEFSVOP() S_newDEFSVOP(aTHX)
-#define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d)
-#define simplify_sort(a) S_simplify_sort(aTHX_ a)
-#define gv_ename(a) S_gv_ename(aTHX_ a)
-#define scalar_mod_type S_scalar_mod_type
-#define my_kid(a,b,c) S_my_kid(aTHX_ a,b,c)
-#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
-#define apply_attrs(a,b,c,d) S_apply_attrs(aTHX_ a,b,c,d)
-#define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d)
-#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d)
-#define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a)
-#define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a)
-#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
-#define too_many_arguments(a,b) S_too_many_arguments(aTHX_ a,b)
-#define looks_like_bool(a) S_looks_like_bool(aTHX_ a)
-#define newGIVWHENOP(a,b,c,d,e) S_newGIVWHENOP(aTHX_ a,b,c,d,e)
-#define ref_array_or_hash(a) S_ref_array_or_hash(aTHX_ a)
-#define process_special_blocks(a,b,c) S_process_special_blocks(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc(a) Perl_Slab_Alloc(aTHX_ a)
-#define Slab_Free(a) Perl_Slab_Free(aTHX_ a)
-# if defined(PERL_DEBUG_READONLY_OPS)
-#ifdef PERL_CORE
-#endif
-# if defined(PERL_IN_OP_C)
-#ifdef PERL_CORE
-#define Slab_to_rw(a) S_Slab_to_rw(aTHX_ a)
-#endif
-# endif
-# endif
-#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_beginning(a,b) S_find_beginning(aTHX_ a,b)
-#define forbid_setid(a,b) S_forbid_setid(aTHX_ a,b)
-#define incpush(a,b,c,d,e) S_incpush(aTHX_ a,b,c,d,e)
-#define init_interp() S_init_interp(aTHX)
-#define init_ids() S_init_ids(aTHX)
-#define init_main_stash() S_init_main_stash(aTHX)
-#define init_perllib() S_init_perllib(aTHX)
-#define init_postdump_symbols(a,b,c) S_init_postdump_symbols(aTHX_ a,b,c)
-#define init_predump_symbols() S_init_predump_symbols(aTHX)
-#define my_exit_jump() S_my_exit_jump(aTHX)
-#define nuke_stacks() S_nuke_stacks(aTHX)
-#define open_script(a,b,c,d,e) S_open_script(aTHX_ a,b,c,d,e)
-#define usage(a) S_usage(aTHX_ a)
-#endif
-#ifdef DOSUID
-# ifdef IAMSUID
-#ifdef PERL_CORE
-#endif
-# else
-#ifdef PERL_CORE
-#endif
-# endif
-#else
-# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-#ifdef PERL_CORE
-#endif
-# endif
-#endif
-# if defined(IAMSUID)
-#ifdef PERL_CORE
-#define fd_on_nosuid_fs(a) S_fd_on_nosuid_fs(aTHX_ a)
-#endif
-# endif
-#ifdef PERL_CORE
-#define parse_body(a,b) S_parse_body(aTHX_ a,b)
-#define run_body(a) S_run_body(aTHX_ a)
-#define incpush_if_exists(a) S_incpush_if_exists(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define refto(a) S_refto(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define unpack_rec(a,b,c,d,e) S_unpack_rec(aTHX_ a,b,c,d,e)
-#define pack_rec(a,b,c,d) S_pack_rec(aTHX_ a,b,c,d)
-#define mul128(a,b) S_mul128(aTHX_ a,b)
-#define measure_struct(a) S_measure_struct(aTHX_ a)
-#define next_symbol(a) S_next_symbol(aTHX_ a)
-#define is_an_int(a,b) S_is_an_int(aTHX_ a,b)
-#define div128(a,b) S_div128(aTHX_ a,b)
-#define group_end(a,b,c) S_group_end(aTHX_ a,b,c)
-#define get_num(a,b) S_get_num(aTHX_ a,b)
-#define need_utf8 S_need_utf8
-#define first_symbol S_first_symbol
-#define sv_exp_grow(a,b) S_sv_exp_grow(aTHX_ a,b)
-#define bytes_to_uni S_bytes_to_uni
-#endif
-#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define docatch(a) S_docatch(aTHX_ a)
-#define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d)
-#define doparseform(a) S_doparseform(aTHX_ a)
-#define num_overflow S_num_overflow
-#define dopoptoeval(a) S_dopoptoeval(aTHX_ a)
-#define dopoptogiven(a) S_dopoptogiven(aTHX_ a)
-#define dopoptolabel(a) S_dopoptolabel(aTHX_ a)
-#define dopoptoloop(a) S_dopoptoloop(aTHX_ a)
-#define dopoptosub_at(a,b) S_dopoptosub_at(aTHX_ a,b)
-#define dopoptowhen(a) S_dopoptowhen(aTHX_ a)
-#define save_lines(a,b) S_save_lines(aTHX_ a,b)
-#define doeval(a,b,c,d) S_doeval(aTHX_ a,b,c,d)
-#define check_type_and_open(a) S_check_type_and_open(aTHX_ a)
-#endif
-#ifndef PERL_DISABLE_PMC
-#ifdef PERL_CORE
-#define doopen_pm(a,b) S_doopen_pm(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define path_is_absolute S_path_is_absolute
-#define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c)
-#define make_matcher(a) S_make_matcher(aTHX_ a)
-#define matcher_matches_sv(a,b) S_matcher_matches_sv(aTHX_ a,b)
-#define destroy_matcher(a) S_destroy_matcher(aTHX_ a)
-#define do_smartmatch(a,b) S_do_smartmatch(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define do_oddball(a,b,c) S_do_oddball(aTHX_ a,b,c)
-#define method_common(a,b) S_method_common(aTHX_ a,b)
-#endif
-#endif
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b)
-#define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b)
-#define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b)
-#define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b)
-#define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b)
-#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
-#define sortcv(a,b) S_sortcv(aTHX_ a,b)
-#define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b)
-#define sortcv_stacked(a,b) S_sortcv_stacked(aTHX_ a,b)
-#define qsortsvu(a,b,c) S_qsortsvu(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define doform(a,b,c) S_doform(aTHX_ a,b,c)
-#endif
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#ifdef PERL_CORE
-#define dooneliner(a,b) S_dooneliner(aTHX_ a,b)
-#endif
-# endif
-#ifdef PERL_CORE
-#define space_join_names_mortal(a) S_space_join_names_mortal(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d)
-#define reganode(a,b,c) S_reganode(aTHX_ a,b,c)
-#define regatom(a,b,c) S_regatom(aTHX_ a,b,c)
-#define regbranch(a,b,c,d) S_regbranch(aTHX_ a,b,c,d)
-#define reguni(a,b,c) S_reguni(aTHX_ a,b,c)
-#define regclass(a,b) S_regclass(aTHX_ a,b)
-#define regcurly S_regcurly
-#define reg_node(a,b) S_reg_node(aTHX_ a,b)
-#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
-#define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c)
-#define reg_namedseq(a,b) S_reg_namedseq(aTHX_ a,b)
-#define reginsert(a,b,c,d) S_reginsert(aTHX_ a,b,c,d)
-#define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d)
-#define reg_scan_name(a,b) S_reg_scan_name(aTHX_ a,b)
-#define join_exact(a,b,c,d,e,f) S_join_exact(aTHX_ a,b,c,d,e,f)
-#define regwhite S_regwhite
-#define nextchar(a) S_nextchar(aTHX_ a)
-#define reg_skipcomment(a) S_reg_skipcomment(aTHX_ a)
-#define scan_commit(a,b,c,d) S_scan_commit(aTHX_ a,b,c,d)
-#define cl_anything S_cl_anything
-#define cl_is_anything S_cl_is_anything
-#define cl_init S_cl_init
-#define cl_init_zero S_cl_init_zero
-#define cl_and S_cl_and
-#define cl_or S_cl_or
-#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
-#define add_data S_add_data
-#endif
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regpposixcc(a,b) S_regpposixcc(aTHX_ a,b)
-#define checkposixcc(a) S_checkposixcc(aTHX_ a)
-#define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
-#define make_trie_failtable(a,b,c,d) S_make_trie_failtable(aTHX_ a,b,c,d)
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b)
-#define dumpuntil(a,b,c,d,e,f,g,h) S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h)
-#define put_byte(a,b) S_put_byte(aTHX_ a,b)
-#define dump_trie(a,b,c,d) S_dump_trie(aTHX_ a,b,c,d)
-#define dump_trie_interim_list(a,b,c,d,e) S_dump_trie_interim_list(aTHX_ a,b,c,d,e)
-#define dump_trie_interim_table(a,b,c,d,e) S_dump_trie_interim_table(aTHX_ a,b,c,d,e)
-#define regtail_study(a,b,c,d) S_regtail_study(aTHX_ a,b,c,d)
-#endif
-# endif
-#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define regmatch(a,b) S_regmatch(aTHX_ a,b)
-#define regrepeat(a,b,c,d) S_regrepeat(aTHX_ a,b,c,d)
-#define regtry(a,b) S_regtry(aTHX_ a,b)
-#define reginclass(a,b,c,d,e) S_reginclass(aTHX_ a,b,c,d,e)
-#define regcppush(a) S_regcppush(aTHX_ a)
-#define regcppop(a) S_regcppop(aTHX_ a)
-#define reghop3 S_reghop3
-#endif
-#ifdef XXX_dmq
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghop4 S_reghop4
-#endif
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define reghopmaybe3 S_reghopmaybe3
-#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
-#define swap_match_buff(a) S_swap_match_buff(aTHX_ a)
-#define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a)
-#define to_byte_substr(a) S_to_byte_substr(aTHX_ a)
-#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
-#endif
-# ifdef DEBUGGING
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define dump_exec_pos(a,b,c,d,e,f) S_dump_exec_pos(aTHX_ a,b,c,d,e,f)
-#define debug_start_match(a,b,c,d,e) S_debug_start_match(aTHX_ a,b,c,d,e)
-#endif
-# endif
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define deb_curcv(a) S_deb_curcv(aTHX_ a)
-#define debprof(a) S_debprof(aTHX_ a)
-#define sequence(a) S_sequence(aTHX_ a)
-#define sequence_tail(a) S_sequence_tail(aTHX_ a)
-#define sequence_num(a) S_sequence_num(aTHX_ a)
-#define pm_description(a) S_pm_description(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define save_scalar_at(a) S_save_scalar_at(aTHX_ a)
-#endif
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define uiv_2buf S_uiv_2buf
-#define sv_unglob(a) S_sv_unglob(aTHX_ a)
-#define not_a_number(a) S_not_a_number(aTHX_ a)
-#define visit(a,b,c) S_visit(aTHX_ a,b,c)
-#define sv_del_backref(a,b) S_sv_del_backref(aTHX_ a,b)
-#define varname(a,b,c,d,e,f) S_varname(aTHX_ a,b,c,d,e,f)
-#endif
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define del_sv(a) S_del_sv(aTHX_ a)
-#endif
-# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve(a,b) S_sv_2iuv_non_preserve(aTHX_ a,b)
-#endif
-# else
-#ifdef PERL_CORE
-#define sv_2iuv_non_preserve(a) S_sv_2iuv_non_preserve(aTHX_ a)
-#endif
-# endif
-# endif
-#ifdef PERL_CORE
-#define expect_number(a) S_expect_number(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
-#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
-#define utf8_mg_pos_cache_update(a,b,c,d,e) S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
-#define sv_pos_b2u_midway(a,b,c,d) S_sv_pos_b2u_midway(aTHX_ a,b,c,d)
-#define F0convert S_F0convert
-#endif
-# if defined(PERL_OLD_COPY_ON_WRITE)
-#ifdef PERL_CORE
-#define sv_release_COW(a,b,c) S_sv_release_COW(aTHX_ a,b,c)
-#endif
-# endif
-#ifdef PERL_CORE
-#define more_sv() S_more_sv(aTHX)
-#define more_bodies(a) S_more_bodies(aTHX_ a)
-#define sv_2iuv_common(a) S_sv_2iuv_common(aTHX_ a)
-#define glob_assign_glob(a,b,c) S_glob_assign_glob(aTHX_ a,b,c)
-#define glob_assign_ref(a,b) S_glob_assign_ref(aTHX_ a,b)
-#define ptr_table_find S_ptr_table_find
-#endif
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define check_uni() S_check_uni(aTHX)
-#define force_next(a) S_force_next(aTHX_ a)
-#define force_version(a,b) S_force_version(aTHX_ a,b)
-#define force_word(a,b,c,d,e) S_force_word(aTHX_ a,b,c,d,e)
-#define tokeq(a) S_tokeq(aTHX_ a)
-#define readpipe_override() S_readpipe_override(aTHX)
-#define scan_const(a) S_scan_const(aTHX_ a)
-#define scan_formline(a) S_scan_formline(aTHX_ a)
-#define scan_heredoc(a) S_scan_heredoc(aTHX_ a)
-#define scan_ident(a,b,c,d,e) S_scan_ident(aTHX_ a,b,c,d,e)
-#define scan_inputsymbol(a) S_scan_inputsymbol(aTHX_ a)
-#define scan_pat(a,b) S_scan_pat(aTHX_ a,b)
-#define scan_str(a,b,c) S_scan_str(aTHX_ a,b,c)
-#define scan_subst(a) S_scan_subst(aTHX_ a)
-#define scan_trans(a) S_scan_trans(aTHX_ a)
-#define scan_word(a,b,c,d,e) S_scan_word(aTHX_ a,b,c,d,e)
-#define update_debugger_info(a,b,c) S_update_debugger_info(aTHX_ a,b,c)
-#define skipspace(a) S_skipspace(aTHX_ a)
-#define swallow_bom(a) S_swallow_bom(aTHX_ a)
-#define checkcomma(a,b,c) S_checkcomma(aTHX_ a,b,c)
-#define feature_is_enabled(a,b) S_feature_is_enabled(aTHX_ a,b)
-#define force_ident(a,b) S_force_ident(aTHX_ a,b)
-#define incline(a) S_incline(aTHX_ a)
-#define intuit_method(a,b,c) S_intuit_method(aTHX_ a,b,c)
-#define intuit_more(a) S_intuit_more(aTHX_ a)
-#define lop(a,b,c) S_lop(aTHX_ a,b,c)
-#define missingterm(a) S_missingterm(aTHX_ a)
-#define no_op(a,b) S_no_op(aTHX_ a,b)
-#define sublex_done() S_sublex_done(aTHX)
-#define sublex_push() S_sublex_push(aTHX)
-#define sublex_start() S_sublex_start(aTHX)
-#define filter_gets(a,b,c) S_filter_gets(aTHX_ a,b,c)
-#define find_in_my_stash(a,b) S_find_in_my_stash(aTHX_ a,b)
-#define tokenize_use(a,b) S_tokenize_use(aTHX_ a,b)
-#define ao(a) S_ao(aTHX_ a)
-#endif
-# if defined(PERL_CR_FILTER)
-#ifdef PERL_CORE
-#define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c)
-#define strip_return(a) S_strip_return(aTHX_ a)
-#endif
-# endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define tokereport(a) S_tokereport(aTHX_ a)
-#define printbuf(a,b) S_printbuf(aTHX_ a,b)
-#endif
-# endif
-#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define isa_lookup(a,b,c) S_isa_lookup(aTHX_ a,b,c)
-#endif
-#endif
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-#ifdef PERL_CORE
-#define stdize_locale(a) S_stdize_locale(aTHX_ a)
-#endif
-#endif
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define closest_cop(a,b) S_closest_cop(aTHX_ a,b)
-#define mess_alloc() S_mess_alloc(aTHX)
-#define vdie_croak_common(a,b,c,d) S_vdie_croak_common(aTHX_ a,b,c,d)
-#define vdie_common(a,b,c,d) S_vdie_common(aTHX_ a,b,c,d)
-#define write_no_mem() S_write_no_mem(aTHX)
-#endif
-#endif
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mulexp10 S_mulexp10
-#endif
-#endif
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define is_utf8_char_slow S_is_utf8_char_slow
-#define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c)
-#define swash_get(a,b,c) S_swash_get(aTHX_ a,b,c)
-#endif
-#endif
-#define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c)
-#define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d)
-#define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c)
-#define sv_utf8_upgrade_flags(a,b) Perl_sv_utf8_upgrade_flags(aTHX_ a,b)
-#define sv_pvn_force_flags(a,b,c) Perl_sv_pvn_force_flags(aTHX_ a,b,c)
-#define sv_copypv(a,b) Perl_sv_copypv(aTHX_ a,b)
-#define my_atof2(a,b) Perl_my_atof2(aTHX_ a,b)
-#define my_socketpair Perl_my_socketpair
-#define my_dirfd(a) Perl_my_dirfd(aTHX_ a)
-#ifdef PERL_OLD_COPY_ON_WRITE
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
-#endif
-#endif
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-#define PerlIO_close(a) Perl_PerlIO_close(aTHX_ a)
-#define PerlIO_fill(a) Perl_PerlIO_fill(aTHX_ a)
-#define PerlIO_fileno(a) Perl_PerlIO_fileno(aTHX_ a)
-#define PerlIO_eof(a) Perl_PerlIO_eof(aTHX_ a)
-#define PerlIO_error(a) Perl_PerlIO_error(aTHX_ a)
-#define PerlIO_flush(a) Perl_PerlIO_flush(aTHX_ a)
-#define PerlIO_clearerr(a) Perl_PerlIO_clearerr(aTHX_ a)
-#define PerlIO_set_cnt(a,b) Perl_PerlIO_set_cnt(aTHX_ a,b)
-#define PerlIO_set_ptrcnt(a,b,c) Perl_PerlIO_set_ptrcnt(aTHX_ a,b,c)
-#define PerlIO_setlinebuf(a) Perl_PerlIO_setlinebuf(aTHX_ a)
-#define PerlIO_read(a,b,c) Perl_PerlIO_read(aTHX_ a,b,c)
-#define PerlIO_write(a,b,c) Perl_PerlIO_write(aTHX_ a,b,c)
-#define PerlIO_unread(a,b,c) Perl_PerlIO_unread(aTHX_ a,b,c)
-#define PerlIO_tell(a) Perl_PerlIO_tell(aTHX_ a)
-#define PerlIO_seek(a,b,c) Perl_PerlIO_seek(aTHX_ a,b,c)
-#define PerlIO_get_base(a) Perl_PerlIO_get_base(aTHX_ a)
-#define PerlIO_get_ptr(a) Perl_PerlIO_get_ptr(aTHX_ a)
-#define PerlIO_get_bufsiz(a) Perl_PerlIO_get_bufsiz(aTHX_ a)
-#define PerlIO_get_cnt(a) Perl_PerlIO_get_cnt(aTHX_ a)
-#define PerlIO_stdin() Perl_PerlIO_stdin(aTHX)
-#define PerlIO_stdout() Perl_PerlIO_stdout(aTHX)
-#define PerlIO_stderr() Perl_PerlIO_stderr(aTHX)
-#endif /* PERLIO_LAYERS */
-#ifdef PERL_CORE
-#define deb_stack_all() Perl_deb_stack_all(aTHX)
-#endif
-#ifdef PERL_IN_DEB_C
-#ifdef PERL_CORE
-#define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_new(a) Perl_pad_new(aTHX_ a)
-#define pad_undef(a) Perl_pad_undef(aTHX_ a)
-#define pad_add_name(a,b,c,d,e) Perl_pad_add_name(aTHX_ a,b,c,d,e)
-#define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b)
-#define pad_check_dup(a,b,c) Perl_pad_check_dup(aTHX_ a,b,c)
-#endif
-#ifdef DEBUGGING
-#ifdef PERL_CORE
-#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define pad_block_start(a) Perl_pad_block_start(aTHX_ a)
-#define pad_tidy(a) Perl_pad_tidy(aTHX_ a)
-#define do_dump_pad(a,b,c,d) Perl_do_dump_pad(aTHX_ a,b,c,d)
-#define pad_fixup_inner_anons(a,b,c) Perl_pad_fixup_inner_anons(aTHX_ a,b,c)
-#endif
-#ifdef PERL_CORE
-#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
-#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a)
-#endif
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
-#endif
-# if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define cv_dump(a,b) S_cv_dump(aTHX_ a,b)
-#endif
-# endif
-#endif
-#define find_runcv(a) Perl_find_runcv(aTHX_ a)
-#ifdef PERL_CORE
-#define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX)
-#endif
-#if defined(DEBUGGING)
-#ifdef PERL_CORE
-#define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b)
-#endif
-#endif
-#define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c)
-#define hv_scalar(a) Perl_hv_scalar(aTHX_ a)
-#define hv_name_set(a,b,c,d) Perl_hv_name_set(aTHX_ a,b,c,d)
-#ifdef PERL_CORE
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#define hv_clear_placeholders(a) Perl_hv_clear_placeholders(aTHX_ a)
-#ifdef PERL_CORE
-#define magic_scalarpack(a,b) Perl_magic_scalarpack(aTHX_ a,b)
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define find_hash_subscript(a,b) S_find_hash_subscript(aTHX_ a,b)
-#define find_array_subscript(a,b) S_find_array_subscript(aTHX_ a,b)
-#define find_uninit_var(a,b,c) S_find_uninit_var(aTHX_ a,b,c)
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE16
-#ifdef PERL_CORE
-#define my_htole16 Perl_my_htole16
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH16
-#ifdef PERL_CORE
-#define my_letoh16 Perl_my_letoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE16
-#ifdef PERL_CORE
-#define my_htobe16 Perl_my_htobe16
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH16
-#ifdef PERL_CORE
-#define my_betoh16 Perl_my_betoh16
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE32
-#ifdef PERL_CORE
-#define my_htole32 Perl_my_htole32
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH32
-#ifdef PERL_CORE
-#define my_letoh32 Perl_my_letoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE32
-#ifdef PERL_CORE
-#define my_htobe32 Perl_my_htobe32
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH32
-#ifdef PERL_CORE
-#define my_betoh32 Perl_my_betoh32
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLE64
-#ifdef PERL_CORE
-#define my_htole64 Perl_my_htole64
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOH64
-#ifdef PERL_CORE
-#define my_letoh64 Perl_my_letoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBE64
-#ifdef PERL_CORE
-#define my_htobe64 Perl_my_htobe64
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOH64
-#ifdef PERL_CORE
-#define my_betoh64 Perl_my_betoh64
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLES
-#ifdef PERL_CORE
-#define my_htoles Perl_my_htoles
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHS
-#ifdef PERL_CORE
-#define my_letohs Perl_my_letohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBES
-#ifdef PERL_CORE
-#define my_htobes Perl_my_htobes
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHS
-#ifdef PERL_CORE
-#define my_betohs Perl_my_betohs
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEI
-#ifdef PERL_CORE
-#define my_htolei Perl_my_htolei
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHI
-#ifdef PERL_CORE
-#define my_letohi Perl_my_letohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEI
-#ifdef PERL_CORE
-#define my_htobei Perl_my_htobei
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHI
-#ifdef PERL_CORE
-#define my_betohi Perl_my_betohi
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOLEL
-#ifdef PERL_CORE
-#define my_htolel Perl_my_htolel
-#endif
-#endif
-#ifdef PERL_NEED_MY_LETOHL
-#ifdef PERL_CORE
-#define my_letohl Perl_my_letohl
-#endif
-#endif
-#ifdef PERL_NEED_MY_HTOBEL
-#ifdef PERL_CORE
-#define my_htobel Perl_my_htobel
-#endif
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-#ifdef PERL_CORE
-#define my_betohl Perl_my_betohl
-#endif
-#endif
-#ifdef PERL_CORE
-#define my_swabn Perl_my_swabn
-#endif
-#define gv_fetchpvn_flags(a,b,c,d) Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
-#define gv_fetchsv(a,b,c) Perl_gv_fetchsv(aTHX_ a,b,c)
-#ifdef PERL_CORE
-#define is_gv_magical_sv(a,b) Perl_is_gv_magical_sv(aTHX_ a,b)
-#endif
-#define stashpv_hvname_match(a,b) Perl_stashpv_hvname_match(aTHX_ a,b)
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-#ifdef PERL_CORE
-#define dump_sv_child(a) Perl_dump_sv_child(aTHX_ a)
-#endif
-#endif
-#ifdef PERL_DONT_CREATE_GVSV
-#define gv_SVadd(a) Perl_gv_SVadd(aTHX_ a)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#define offer_nice_chunk(a,b) Perl_offer_nice_chunk(aTHX_ a,b)
-#endif
-#ifndef SPRINTF_RETURNS_STRLEN
-#endif
-#ifdef PERL_CORE
-#define my_clearenv() Perl_my_clearenv(aTHX)
-#endif
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-#else
-#endif
-#endif
-#ifndef HAS_STRLCAT
-#endif
-#ifndef HAS_STRLCPY
-#endif
-#ifdef PERL_MAD
-#ifdef PERL_CORE
-#define pad_peg Perl_pad_peg
-#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#endif
-#endif
-#ifdef PERL_CORE
-#define xmldump_vindent(a,b,c,d) Perl_xmldump_vindent(aTHX_ a,b,c,d)
-#define xmldump_all() Perl_xmldump_all(aTHX)
-#define xmldump_packsubs(a) Perl_xmldump_packsubs(aTHX_ a)
-#define xmldump_sub(a) Perl_xmldump_sub(aTHX_ a)
-#define xmldump_form(a) Perl_xmldump_form(aTHX_ a)
-#define xmldump_eval() Perl_xmldump_eval(aTHX)
-#define sv_catxmlsv(a,b) Perl_sv_catxmlsv(aTHX_ a,b)
-#define sv_catxmlpvn(a,b,c,d) Perl_sv_catxmlpvn(aTHX_ a,b,c,d)
-#define sv_xmlpeek(a) Perl_sv_xmlpeek(aTHX_ a)
-#define do_pmop_xmldump(a,b,c) Perl_do_pmop_xmldump(aTHX_ a,b,c)
-#define pmop_xmldump(a) Perl_pmop_xmldump(aTHX_ a)
-#define do_op_xmldump(a,b,c) Perl_do_op_xmldump(aTHX_ a,b,c)
-#define op_xmldump(a) Perl_op_xmldump(aTHX_ a)
-#endif
-#ifdef PERL_CORE
-#define newTOKEN(a,b,c) Perl_newTOKEN(aTHX_ a,b,c)
-#define token_free(a) Perl_token_free(aTHX_ a)
-#define token_getmad(a,b,c) Perl_token_getmad(aTHX_ a,b,c)
-#define op_getmad_weak(a,b,c) Perl_op_getmad_weak(aTHX_ a,b,c)
-#define op_getmad(a,b,c) Perl_op_getmad(aTHX_ a,b,c)
-#define prepend_madprops(a,b,c) Perl_prepend_madprops(aTHX_ a,b,c)
-#define append_madprops(a,b,c) Perl_append_madprops(aTHX_ a,b,c)
-#define addmad(a,b,c) Perl_addmad(aTHX_ a,b,c)
-#define newMADsv(a,b) Perl_newMADsv(aTHX_ a,b)
-#define newMADPROP(a,b,c,d) Perl_newMADPROP(aTHX_ a,b,c,d)
-#define mad_free(a) Perl_mad_free(aTHX_ a)
-#endif
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define skipspace0(a) S_skipspace0(aTHX_ a)
-#define skipspace1(a) S_skipspace1(aTHX_ a)
-#define skipspace2(a,b) S_skipspace2(aTHX_ a,b)
-#define start_force(a) S_start_force(aTHX_ a)
-#define curmad(a,b) S_curmad(aTHX_ a,b)
-#endif
-# endif
-#ifdef PERL_CORE
-#define madlex() Perl_madlex(aTHX)
-#define madparse() Perl_madparse(aTHX)
-#endif
-#endif
-#if !defined(HAS_SIGNBIT)
-#endif
-#if defined(PERL_CORE) || defined(PERL_EXT)
-#endif
-#ifdef PERL_CORE
-#define mro_meta_init(a) Perl_mro_meta_init(aTHX_ a)
-#endif
-#if defined(USE_ITHREADS)
-#ifdef PERL_CORE
-#define mro_meta_dup(a,b) Perl_mro_meta_dup(aTHX_ a,b)
-#endif
-#endif
-#define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a)
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-#ifdef PERL_CORE
-#define mro_get_linear_isa_c3(a,b) S_mro_get_linear_isa_c3(aTHX_ a,b)
-#define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b)
-#endif
-#endif
-#ifdef PERL_CORE
-#define mro_isa_changed_in(a) Perl_mro_isa_changed_in(aTHX_ a)
-#endif
-#define mro_method_changed_in(a) Perl_mro_method_changed_in(aTHX_ a)
-#ifdef PERL_CORE
-#define boot_core_mro() Perl_boot_core_mro(aTHX)
-#endif
-#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
-#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
-#define ck_chdir(a) Perl_ck_chdir(aTHX_ a)
-#define ck_concat(a) Perl_ck_concat(aTHX_ a)
-#define ck_defined(a) Perl_ck_defined(aTHX_ a)
-#define ck_delete(a) Perl_ck_delete(aTHX_ a)
-#define ck_die(a) Perl_ck_die(aTHX_ a)
-#define ck_eof(a) Perl_ck_eof(aTHX_ a)
-#define ck_eval(a) Perl_ck_eval(aTHX_ a)
-#define ck_exec(a) Perl_ck_exec(aTHX_ a)
-#define ck_exists(a) Perl_ck_exists(aTHX_ a)
-#define ck_exit(a) Perl_ck_exit(aTHX_ a)
-#define ck_ftst(a) Perl_ck_ftst(aTHX_ a)
-#define ck_fun(a) Perl_ck_fun(aTHX_ a)
-#define ck_glob(a) Perl_ck_glob(aTHX_ a)
-#define ck_grep(a) Perl_ck_grep(aTHX_ a)
-#define ck_index(a) Perl_ck_index(aTHX_ a)
-#define ck_join(a) Perl_ck_join(aTHX_ a)
-#define ck_lengthconst(a) Perl_ck_lengthconst(aTHX_ a)
-#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
-#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
-#define ck_match(a) Perl_ck_match(aTHX_ a)
-#define ck_method(a) Perl_ck_method(aTHX_ a)
-#define ck_null(a) Perl_ck_null(aTHX_ a)
-#define ck_open(a) Perl_ck_open(aTHX_ a)
-#define ck_readline(a) Perl_ck_readline(aTHX_ a)
-#define ck_repeat(a) Perl_ck_repeat(aTHX_ a)
-#define ck_require(a) Perl_ck_require(aTHX_ a)
-#define ck_return(a) Perl_ck_return(aTHX_ a)
-#define ck_rfun(a) Perl_ck_rfun(aTHX_ a)
-#define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a)
-#define ck_sassign(a) Perl_ck_sassign(aTHX_ a)
-#define ck_select(a) Perl_ck_select(aTHX_ a)
-#define ck_shift(a) Perl_ck_shift(aTHX_ a)
-#define ck_smartmatch(a) Perl_ck_smartmatch(aTHX_ a)
-#define ck_sort(a) Perl_ck_sort(aTHX_ a)
-#define ck_spair(a) Perl_ck_spair(aTHX_ a)
-#define ck_split(a) Perl_ck_split(aTHX_ a)
-#define ck_subr(a) Perl_ck_subr(aTHX_ a)
-#define ck_substr(a) Perl_ck_substr(aTHX_ a)
-#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
-#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
-#define ck_unpack(a) Perl_ck_unpack(aTHX_ a)
-#define pp_aassign() Perl_pp_aassign(aTHX)
-#define pp_abs() Perl_pp_abs(aTHX)
-#define pp_accept() Perl_pp_accept(aTHX)
-#define pp_add() Perl_pp_add(aTHX)
-#define pp_aelem() Perl_pp_aelem(aTHX)
-#define pp_aelemfast() Perl_pp_aelemfast(aTHX)
-#define pp_alarm() Perl_pp_alarm(aTHX)
-#define pp_and() Perl_pp_and(aTHX)
-#define pp_andassign() Perl_pp_andassign(aTHX)
-#define pp_anoncode() Perl_pp_anoncode(aTHX)
-#define pp_anonhash() Perl_pp_anonhash(aTHX)
-#define pp_anonlist() Perl_pp_anonlist(aTHX)
-#define pp_aslice() Perl_pp_aslice(aTHX)
-#define pp_atan2() Perl_pp_atan2(aTHX)
-#define pp_av2arylen() Perl_pp_av2arylen(aTHX)
-#define pp_backtick() Perl_pp_backtick(aTHX)
-#define pp_bind() Perl_pp_bind(aTHX)
-#define pp_binmode() Perl_pp_binmode(aTHX)
-#define pp_bit_and() Perl_pp_bit_and(aTHX)
-#define pp_bit_or() Perl_pp_bit_or(aTHX)
-#define pp_bit_xor() Perl_pp_bit_xor(aTHX)
-#define pp_bless() Perl_pp_bless(aTHX)
-#define pp_break() Perl_pp_break(aTHX)
-#define pp_caller() Perl_pp_caller(aTHX)
-#define pp_chdir() Perl_pp_chdir(aTHX)
-#define pp_chmod() Perl_pp_chmod(aTHX)
-#define pp_chomp() Perl_pp_chomp(aTHX)
-#define pp_chop() Perl_pp_chop(aTHX)
-#define pp_chown() Perl_pp_chown(aTHX)
-#define pp_chr() Perl_pp_chr(aTHX)
-#define pp_chroot() Perl_pp_chroot(aTHX)
-#define pp_close() Perl_pp_close(aTHX)
-#define pp_closedir() Perl_pp_closedir(aTHX)
-#define pp_complement() Perl_pp_complement(aTHX)
-#define pp_concat() Perl_pp_concat(aTHX)
-#define pp_cond_expr() Perl_pp_cond_expr(aTHX)
-#define pp_connect() Perl_pp_connect(aTHX)
-#define pp_const() Perl_pp_const(aTHX)
-#define pp_continue() Perl_pp_continue(aTHX)
-#define pp_cos() Perl_pp_cos(aTHX)
-#define pp_crypt() Perl_pp_crypt(aTHX)
-#define pp_dbmclose() Perl_pp_dbmclose(aTHX)
-#define pp_dbmopen() Perl_pp_dbmopen(aTHX)
-#define pp_dbstate() Perl_pp_dbstate(aTHX)
-#define pp_defined() Perl_pp_defined(aTHX)
-#define pp_delete() Perl_pp_delete(aTHX)
-#define pp_die() Perl_pp_die(aTHX)
-#define pp_divide() Perl_pp_divide(aTHX)
-#define pp_dofile() Perl_pp_dofile(aTHX)
-#define pp_dor() Perl_pp_dor(aTHX)
-#define pp_dorassign() Perl_pp_dorassign(aTHX)
-#define pp_dump() Perl_pp_dump(aTHX)
-#define pp_each() Perl_pp_each(aTHX)
-#define pp_egrent() Perl_pp_egrent(aTHX)
-#define pp_ehostent() Perl_pp_ehostent(aTHX)
-#define pp_enetent() Perl_pp_enetent(aTHX)
-#define pp_enter() Perl_pp_enter(aTHX)
-#define pp_entereval() Perl_pp_entereval(aTHX)
-#define pp_entergiven() Perl_pp_entergiven(aTHX)
-#define pp_enteriter() Perl_pp_enteriter(aTHX)
-#define pp_enterloop() Perl_pp_enterloop(aTHX)
-#define pp_entersub() Perl_pp_entersub(aTHX)
-#define pp_entertry() Perl_pp_entertry(aTHX)
-#define pp_enterwhen() Perl_pp_enterwhen(aTHX)
-#define pp_enterwrite() Perl_pp_enterwrite(aTHX)
-#define pp_eof() Perl_pp_eof(aTHX)
-#define pp_eprotoent() Perl_pp_eprotoent(aTHX)
-#define pp_epwent() Perl_pp_epwent(aTHX)
-#define pp_eq() Perl_pp_eq(aTHX)
-#define pp_eservent() Perl_pp_eservent(aTHX)
-#define pp_exec() Perl_pp_exec(aTHX)
-#define pp_exists() Perl_pp_exists(aTHX)
-#define pp_exit() Perl_pp_exit(aTHX)
-#define pp_exp() Perl_pp_exp(aTHX)
-#define pp_fcntl() Perl_pp_fcntl(aTHX)
-#define pp_fileno() Perl_pp_fileno(aTHX)
-#define pp_flip() Perl_pp_flip(aTHX)
-#define pp_flock() Perl_pp_flock(aTHX)
-#define pp_flop() Perl_pp_flop(aTHX)
-#define pp_fork() Perl_pp_fork(aTHX)
-#define pp_formline() Perl_pp_formline(aTHX)
-#define pp_ftatime() Perl_pp_ftatime(aTHX)
-#define pp_ftbinary() Perl_pp_ftbinary(aTHX)
-#define pp_ftblk() Perl_pp_ftblk(aTHX)
-#define pp_ftchr() Perl_pp_ftchr(aTHX)
-#define pp_ftctime() Perl_pp_ftctime(aTHX)
-#define pp_ftdir() Perl_pp_ftdir(aTHX)
-#define pp_fteexec() Perl_pp_fteexec(aTHX)
-#define pp_fteowned() Perl_pp_fteowned(aTHX)
-#define pp_fteread() Perl_pp_fteread(aTHX)
-#define pp_ftewrite() Perl_pp_ftewrite(aTHX)
-#define pp_ftfile() Perl_pp_ftfile(aTHX)
-#define pp_ftis() Perl_pp_ftis(aTHX)
-#define pp_ftlink() Perl_pp_ftlink(aTHX)
-#define pp_ftmtime() Perl_pp_ftmtime(aTHX)
-#define pp_ftpipe() Perl_pp_ftpipe(aTHX)
-#define pp_ftrexec() Perl_pp_ftrexec(aTHX)
-#define pp_ftrowned() Perl_pp_ftrowned(aTHX)
-#define pp_ftrread() Perl_pp_ftrread(aTHX)
-#define pp_ftrwrite() Perl_pp_ftrwrite(aTHX)
-#define pp_ftsgid() Perl_pp_ftsgid(aTHX)
-#define pp_ftsize() Perl_pp_ftsize(aTHX)
-#define pp_ftsock() Perl_pp_ftsock(aTHX)
-#define pp_ftsuid() Perl_pp_ftsuid(aTHX)
-#define pp_ftsvtx() Perl_pp_ftsvtx(aTHX)
-#define pp_fttext() Perl_pp_fttext(aTHX)
-#define pp_fttty() Perl_pp_fttty(aTHX)
-#define pp_ftzero() Perl_pp_ftzero(aTHX)
-#define pp_ge() Perl_pp_ge(aTHX)
-#define pp_gelem() Perl_pp_gelem(aTHX)
-#define pp_getc() Perl_pp_getc(aTHX)
-#define pp_getlogin() Perl_pp_getlogin(aTHX)
-#define pp_getpeername() Perl_pp_getpeername(aTHX)
-#define pp_getpgrp() Perl_pp_getpgrp(aTHX)
-#define pp_getppid() Perl_pp_getppid(aTHX)
-#define pp_getpriority() Perl_pp_getpriority(aTHX)
-#define pp_getsockname() Perl_pp_getsockname(aTHX)
-#define pp_ggrent() Perl_pp_ggrent(aTHX)
-#define pp_ggrgid() Perl_pp_ggrgid(aTHX)
-#define pp_ggrnam() Perl_pp_ggrnam(aTHX)
-#define pp_ghbyaddr() Perl_pp_ghbyaddr(aTHX)
-#define pp_ghbyname() Perl_pp_ghbyname(aTHX)
-#define pp_ghostent() Perl_pp_ghostent(aTHX)
-#define pp_glob() Perl_pp_glob(aTHX)
-#define pp_gmtime() Perl_pp_gmtime(aTHX)
-#define pp_gnbyaddr() Perl_pp_gnbyaddr(aTHX)
-#define pp_gnbyname() Perl_pp_gnbyname(aTHX)
-#define pp_gnetent() Perl_pp_gnetent(aTHX)
-#define pp_goto() Perl_pp_goto(aTHX)
-#define pp_gpbyname() Perl_pp_gpbyname(aTHX)
-#define pp_gpbynumber() Perl_pp_gpbynumber(aTHX)
-#define pp_gprotoent() Perl_pp_gprotoent(aTHX)
-#define pp_gpwent() Perl_pp_gpwent(aTHX)
-#define pp_gpwnam() Perl_pp_gpwnam(aTHX)
-#define pp_gpwuid() Perl_pp_gpwuid(aTHX)
-#define pp_grepstart() Perl_pp_grepstart(aTHX)
-#define pp_grepwhile() Perl_pp_grepwhile(aTHX)
-#define pp_gsbyname() Perl_pp_gsbyname(aTHX)
-#define pp_gsbyport() Perl_pp_gsbyport(aTHX)
-#define pp_gservent() Perl_pp_gservent(aTHX)
-#define pp_gsockopt() Perl_pp_gsockopt(aTHX)
-#define pp_gt() Perl_pp_gt(aTHX)
-#define pp_gv() Perl_pp_gv(aTHX)
-#define pp_gvsv() Perl_pp_gvsv(aTHX)
-#define pp_helem() Perl_pp_helem(aTHX)
-#define pp_hex() Perl_pp_hex(aTHX)
-#define pp_hslice() Perl_pp_hslice(aTHX)
-#define pp_i_add() Perl_pp_i_add(aTHX)
-#define pp_i_divide() Perl_pp_i_divide(aTHX)
-#define pp_i_eq() Perl_pp_i_eq(aTHX)
-#define pp_i_ge() Perl_pp_i_ge(aTHX)
-#define pp_i_gt() Perl_pp_i_gt(aTHX)
-#define pp_i_le() Perl_pp_i_le(aTHX)
-#define pp_i_lt() Perl_pp_i_lt(aTHX)
-#define pp_i_modulo() Perl_pp_i_modulo(aTHX)
-#define pp_i_multiply() Perl_pp_i_multiply(aTHX)
-#define pp_i_ncmp() Perl_pp_i_ncmp(aTHX)
-#define pp_i_ne() Perl_pp_i_ne(aTHX)
-#define pp_i_negate() Perl_pp_i_negate(aTHX)
-#define pp_i_subtract() Perl_pp_i_subtract(aTHX)
-#define pp_index() Perl_pp_index(aTHX)
-#define pp_int() Perl_pp_int(aTHX)
-#define pp_ioctl() Perl_pp_ioctl(aTHX)
-#define pp_iter() Perl_pp_iter(aTHX)
-#define pp_join() Perl_pp_join(aTHX)
-#define pp_keys() Perl_pp_keys(aTHX)
-#define pp_kill() Perl_pp_kill(aTHX)
-#define pp_last() Perl_pp_last(aTHX)
-#define pp_lc() Perl_pp_lc(aTHX)
-#define pp_lcfirst() Perl_pp_lcfirst(aTHX)
-#define pp_le() Perl_pp_le(aTHX)
-#define pp_leave() Perl_pp_leave(aTHX)
-#define pp_leaveeval() Perl_pp_leaveeval(aTHX)
-#define pp_leavegiven() Perl_pp_leavegiven(aTHX)
-#define pp_leaveloop() Perl_pp_leaveloop(aTHX)
-#define pp_leavesub() Perl_pp_leavesub(aTHX)
-#define pp_leavesublv() Perl_pp_leavesublv(aTHX)
-#define pp_leavetry() Perl_pp_leavetry(aTHX)
-#define pp_leavewhen() Perl_pp_leavewhen(aTHX)
-#define pp_leavewrite() Perl_pp_leavewrite(aTHX)
-#define pp_left_shift() Perl_pp_left_shift(aTHX)
-#define pp_length() Perl_pp_length(aTHX)
-#define pp_lineseq() Perl_pp_lineseq(aTHX)
-#define pp_link() Perl_pp_link(aTHX)
-#define pp_list() Perl_pp_list(aTHX)
-#define pp_listen() Perl_pp_listen(aTHX)
-#define pp_localtime() Perl_pp_localtime(aTHX)
-#define pp_lock() Perl_pp_lock(aTHX)
-#define pp_log() Perl_pp_log(aTHX)
-#define pp_lslice() Perl_pp_lslice(aTHX)
-#define pp_lstat() Perl_pp_lstat(aTHX)
-#define pp_lt() Perl_pp_lt(aTHX)
-#define pp_mapstart() Perl_pp_mapstart(aTHX)
-#define pp_mapwhile() Perl_pp_mapwhile(aTHX)
-#define pp_match() Perl_pp_match(aTHX)
-#define pp_method() Perl_pp_method(aTHX)
-#define pp_method_named() Perl_pp_method_named(aTHX)
-#define pp_mkdir() Perl_pp_mkdir(aTHX)
-#define pp_modulo() Perl_pp_modulo(aTHX)
-#define pp_msgctl() Perl_pp_msgctl(aTHX)
-#define pp_msgget() Perl_pp_msgget(aTHX)
-#define pp_msgrcv() Perl_pp_msgrcv(aTHX)
-#define pp_msgsnd() Perl_pp_msgsnd(aTHX)
-#define pp_multiply() Perl_pp_multiply(aTHX)
-#define pp_ncmp() Perl_pp_ncmp(aTHX)
-#define pp_ne() Perl_pp_ne(aTHX)
-#define pp_negate() Perl_pp_negate(aTHX)
-#define pp_next() Perl_pp_next(aTHX)
-#define pp_nextstate() Perl_pp_nextstate(aTHX)
-#define pp_not() Perl_pp_not(aTHX)
-#define pp_null() Perl_pp_null(aTHX)
-#define pp_oct() Perl_pp_oct(aTHX)
-#define pp_once() Perl_pp_once(aTHX)
-#define pp_open() Perl_pp_open(aTHX)
-#define pp_open_dir() Perl_pp_open_dir(aTHX)
-#define pp_or() Perl_pp_or(aTHX)
-#define pp_orassign() Perl_pp_orassign(aTHX)
-#define pp_ord() Perl_pp_ord(aTHX)
-#define pp_pack() Perl_pp_pack(aTHX)
-#define pp_padany() Perl_pp_padany(aTHX)
-#define pp_padav() Perl_pp_padav(aTHX)
-#define pp_padhv() Perl_pp_padhv(aTHX)
-#define pp_padsv() Perl_pp_padsv(aTHX)
-#define pp_pipe_op() Perl_pp_pipe_op(aTHX)
-#define pp_pop() Perl_pp_pop(aTHX)
-#define pp_pos() Perl_pp_pos(aTHX)
-#define pp_postdec() Perl_pp_postdec(aTHX)
-#define pp_postinc() Perl_pp_postinc(aTHX)
-#define pp_pow() Perl_pp_pow(aTHX)
-#define pp_predec() Perl_pp_predec(aTHX)
-#define pp_preinc() Perl_pp_preinc(aTHX)
-#define pp_print() Perl_pp_print(aTHX)
-#define pp_prototype() Perl_pp_prototype(aTHX)
-#define pp_prtf() Perl_pp_prtf(aTHX)
-#define pp_push() Perl_pp_push(aTHX)
-#define pp_pushmark() Perl_pp_pushmark(aTHX)
-#define pp_pushre() Perl_pp_pushre(aTHX)
-#define pp_qr() Perl_pp_qr(aTHX)
-#define pp_quotemeta() Perl_pp_quotemeta(aTHX)
-#define pp_rand() Perl_pp_rand(aTHX)
-#define pp_range() Perl_pp_range(aTHX)
-#define pp_rcatline() Perl_pp_rcatline(aTHX)
-#define pp_read() Perl_pp_read(aTHX)
-#define pp_readdir() Perl_pp_readdir(aTHX)
-#define pp_readline() Perl_pp_readline(aTHX)
-#define pp_readlink() Perl_pp_readlink(aTHX)
-#define pp_recv() Perl_pp_recv(aTHX)
-#define pp_redo() Perl_pp_redo(aTHX)
-#define pp_ref() Perl_pp_ref(aTHX)
-#define pp_refgen() Perl_pp_refgen(aTHX)
-#define pp_regcmaybe() Perl_pp_regcmaybe(aTHX)
-#define pp_regcomp() Perl_pp_regcomp(aTHX)
-#define pp_regcreset() Perl_pp_regcreset(aTHX)
-#define pp_rename() Perl_pp_rename(aTHX)
-#define pp_repeat() Perl_pp_repeat(aTHX)
-#define pp_require() Perl_pp_require(aTHX)
-#define pp_reset() Perl_pp_reset(aTHX)
-#define pp_return() Perl_pp_return(aTHX)
-#define pp_reverse() Perl_pp_reverse(aTHX)
-#define pp_rewinddir() Perl_pp_rewinddir(aTHX)
-#define pp_right_shift() Perl_pp_right_shift(aTHX)
-#define pp_rindex() Perl_pp_rindex(aTHX)
-#define pp_rmdir() Perl_pp_rmdir(aTHX)
-#define pp_rv2av() Perl_pp_rv2av(aTHX)
-#define pp_rv2cv() Perl_pp_rv2cv(aTHX)
-#define pp_rv2gv() Perl_pp_rv2gv(aTHX)
-#define pp_rv2hv() Perl_pp_rv2hv(aTHX)
-#define pp_rv2sv() Perl_pp_rv2sv(aTHX)
-#define pp_sassign() Perl_pp_sassign(aTHX)
-#define pp_say() Perl_pp_say(aTHX)
-#define pp_scalar() Perl_pp_scalar(aTHX)
-#define pp_schomp() Perl_pp_schomp(aTHX)
-#define pp_schop() Perl_pp_schop(aTHX)
-#define pp_scmp() Perl_pp_scmp(aTHX)
-#define pp_scope() Perl_pp_scope(aTHX)
-#define pp_seek() Perl_pp_seek(aTHX)
-#define pp_seekdir() Perl_pp_seekdir(aTHX)
-#define pp_select() Perl_pp_select(aTHX)
-#define pp_semctl() Perl_pp_semctl(aTHX)
-#define pp_semget() Perl_pp_semget(aTHX)
-#define pp_semop() Perl_pp_semop(aTHX)
-#define pp_send() Perl_pp_send(aTHX)
-#define pp_seq() Perl_pp_seq(aTHX)
-#define pp_setpgrp() Perl_pp_setpgrp(aTHX)
-#define pp_setpriority() Perl_pp_setpriority(aTHX)
-#define pp_setstate() Perl_pp_setstate(aTHX)
-#define pp_sge() Perl_pp_sge(aTHX)
-#define pp_sgrent() Perl_pp_sgrent(aTHX)
-#define pp_sgt() Perl_pp_sgt(aTHX)
-#define pp_shift() Perl_pp_shift(aTHX)
-#define pp_shmctl() Perl_pp_shmctl(aTHX)
-#define pp_shmget() Perl_pp_shmget(aTHX)
-#define pp_shmread() Perl_pp_shmread(aTHX)
-#define pp_shmwrite() Perl_pp_shmwrite(aTHX)
-#define pp_shostent() Perl_pp_shostent(aTHX)
-#define pp_shutdown() Perl_pp_shutdown(aTHX)
-#define pp_sin() Perl_pp_sin(aTHX)
-#define pp_sle() Perl_pp_sle(aTHX)
-#define pp_sleep() Perl_pp_sleep(aTHX)
-#define pp_slt() Perl_pp_slt(aTHX)
-#define pp_smartmatch() Perl_pp_smartmatch(aTHX)
-#define pp_sne() Perl_pp_sne(aTHX)
-#define pp_snetent() Perl_pp_snetent(aTHX)
-#define pp_socket() Perl_pp_socket(aTHX)
-#define pp_sockpair() Perl_pp_sockpair(aTHX)
-#define pp_sort() Perl_pp_sort(aTHX)
-#define pp_splice() Perl_pp_splice(aTHX)
-#define pp_split() Perl_pp_split(aTHX)
-#define pp_sprintf() Perl_pp_sprintf(aTHX)
-#define pp_sprotoent() Perl_pp_sprotoent(aTHX)
-#define pp_spwent() Perl_pp_spwent(aTHX)
-#define pp_sqrt() Perl_pp_sqrt(aTHX)
-#define pp_srand() Perl_pp_srand(aTHX)
-#define pp_srefgen() Perl_pp_srefgen(aTHX)
-#define pp_sselect() Perl_pp_sselect(aTHX)
-#define pp_sservent() Perl_pp_sservent(aTHX)
-#define pp_ssockopt() Perl_pp_ssockopt(aTHX)
-#define pp_stat() Perl_pp_stat(aTHX)
-#define pp_stringify() Perl_pp_stringify(aTHX)
-#define pp_stub() Perl_pp_stub(aTHX)
-#define pp_study() Perl_pp_study(aTHX)
-#define pp_subst() Perl_pp_subst(aTHX)
-#define pp_substcont() Perl_pp_substcont(aTHX)
-#define pp_substr() Perl_pp_substr(aTHX)
-#define pp_subtract() Perl_pp_subtract(aTHX)
-#define pp_symlink() Perl_pp_symlink(aTHX)
-#define pp_syscall() Perl_pp_syscall(aTHX)
-#define pp_sysopen() Perl_pp_sysopen(aTHX)
-#define pp_sysread() Perl_pp_sysread(aTHX)
-#define pp_sysseek() Perl_pp_sysseek(aTHX)
-#define pp_system() Perl_pp_system(aTHX)
-#define pp_syswrite() Perl_pp_syswrite(aTHX)
-#define pp_tell() Perl_pp_tell(aTHX)
-#define pp_telldir() Perl_pp_telldir(aTHX)
-#define pp_tie() Perl_pp_tie(aTHX)
-#define pp_tied() Perl_pp_tied(aTHX)
-#define pp_time() Perl_pp_time(aTHX)
-#define pp_tms() Perl_pp_tms(aTHX)
-#define pp_trans() Perl_pp_trans(aTHX)
-#define pp_truncate() Perl_pp_truncate(aTHX)
-#define pp_uc() Perl_pp_uc(aTHX)
-#define pp_ucfirst() Perl_pp_ucfirst(aTHX)
-#define pp_umask() Perl_pp_umask(aTHX)
-#define pp_undef() Perl_pp_undef(aTHX)
-#define pp_unlink() Perl_pp_unlink(aTHX)
-#define pp_unpack() Perl_pp_unpack(aTHX)
-#define pp_unshift() Perl_pp_unshift(aTHX)
-#define pp_unstack() Perl_pp_unstack(aTHX)
-#define pp_untie() Perl_pp_untie(aTHX)
-#define pp_utime() Perl_pp_utime(aTHX)
-#define pp_values() Perl_pp_values(aTHX)
-#define pp_vec() Perl_pp_vec(aTHX)
-#define pp_wait() Perl_pp_wait(aTHX)
-#define pp_waitpid() Perl_pp_waitpid(aTHX)
-#define pp_wantarray() Perl_pp_wantarray(aTHX)
-#define pp_warn() Perl_pp_warn(aTHX)
-#define pp_xor() Perl_pp_xor(aTHX)
-
-#endif /* PERL_IMPLICIT_CONTEXT */
-
-#endif /* #ifndef PERL_NO_SHORT_NAMES */
-
-
-/* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to
- disable them.
- */
-
-#if !defined(PERL_CORE)
-# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr))
-# define sv_setptrref(rv,ptr) sv_setref_iv(rv,NULL,PTR2IV(ptr))
-#endif
-
-#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
-
-/* Compatibility for various misnamed functions. All functions
- in the API that begin with "perl_" (not "Perl_") take an explicit
- interpreter context pointer.
- The following are not like that, but since they had a "perl_"
- prefix in previous versions, we provide compatibility macros.
- */
-# define perl_atexit(a,b) call_atexit(a,b)
-# define perl_call_argv(a,b,c) call_argv(a,b,c)
-# define perl_call_pv(a,b) call_pv(a,b)
-# define perl_call_method(a,b) call_method(a,b)
-# define perl_call_sv(a,b) call_sv(a,b)
-# define perl_eval_sv(a,b) eval_sv(a,b)
-# define perl_eval_pv(a,b) eval_pv(a,b)
-# define perl_require_pv(a) require_pv(a)
-# define perl_get_sv(a,b) get_sv(a,b)
-# define perl_get_av(a,b) get_av(a,b)
-# define perl_get_hv(a,b) get_hv(a,b)
-# define perl_get_cv(a,b) get_cv(a,b)
-# define perl_init_i18nl10n(a) init_i18nl10n(a)
-# define perl_init_i18nl14n(a) init_i18nl14n(a)
-# define perl_new_ctype(a) new_ctype(a)
-# define perl_new_collate(a) new_collate(a)
-# define perl_new_numeric(a) new_numeric(a)
-
-/* varargs functions can't be handled with CPP macros. :-(
- This provides a set of compatibility functions that don't take
- an extra argument but grab the context pointer using the macro
- dTHX.
- */
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
-# define croak Perl_croak_nocontext
-# define deb Perl_deb_nocontext
-# define die Perl_die_nocontext
-# define form Perl_form_nocontext
-# define load_module Perl_load_module_nocontext
-# define mess Perl_mess_nocontext
-# define newSVpvf Perl_newSVpvf_nocontext
-# define sv_catpvf Perl_sv_catpvf_nocontext
-# define sv_setpvf Perl_sv_setpvf_nocontext
-# define warn Perl_warn_nocontext
-# define warner Perl_warner_nocontext
-# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
-# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
-#endif
-
-#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
-
-#if !defined(PERL_IMPLICIT_CONTEXT)
-/* undefined symbols, point them back at the usual ones */
-# define Perl_croak_nocontext Perl_croak
-# define Perl_die_nocontext Perl_die
-# define Perl_deb_nocontext Perl_deb
-# define Perl_form_nocontext Perl_form
-# define Perl_load_module_nocontext Perl_load_module
-# define Perl_mess_nocontext Perl_mess
-# define Perl_newSVpvf_nocontext Perl_newSVpvf
-# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
-# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
-# define Perl_warn_nocontext Perl_warn
-# define Perl_warner_nocontext Perl_warner
-# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
-# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
-#endif
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embedvar.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embedvar.h
deleted file mode 100644
index 71b603a13c0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/embedvar.h
+++ /dev/null
@@ -1,842 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * embedvar.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
- * Any changes made here will be lost!
- *
- * Edit those files and run 'make regen_headers' to effect changes.
- */
-
-/* (Doing namespace management portably in C is really gross.) */
-
-/*
- The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
- are supported:
- 1) none
- 2) MULTIPLICITY # supported for compatibility
- 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
-
- All other combinations of these flags are errors.
-
- only #3 is supported directly, while #2 is a special
- case of #3 (supported by redefining vTHX appropriately).
-*/
-
-#if defined(MULTIPLICITY)
-/* cases 2 and 3 above */
-
-# if defined(PERL_IMPLICIT_CONTEXT)
-# define vTHX aTHX
-# else
-# define vTHX PERL_GET_INTERP
-# endif
-
-#define PL_Argv (vTHX->IArgv)
-#define PL_Cmd (vTHX->ICmd)
-#define PL_DBcv (vTHX->IDBcv)
-#define PL_DBgv (vTHX->IDBgv)
-#define PL_DBline (vTHX->IDBline)
-#define PL_DBsignal (vTHX->IDBsignal)
-#define PL_DBsingle (vTHX->IDBsingle)
-#define PL_DBsub (vTHX->IDBsub)
-#define PL_DBtrace (vTHX->IDBtrace)
-#define PL_Dir (vTHX->IDir)
-#define PL_Env (vTHX->IEnv)
-#define PL_LIO (vTHX->ILIO)
-#define PL_Mem (vTHX->IMem)
-#define PL_MemParse (vTHX->IMemParse)
-#define PL_MemShared (vTHX->IMemShared)
-#define PL_OpPtr (vTHX->IOpPtr)
-#define PL_OpSlab (vTHX->IOpSlab)
-#define PL_OpSpace (vTHX->IOpSpace)
-#define PL_Proc (vTHX->IProc)
-#define PL_Sock (vTHX->ISock)
-#define PL_StdIO (vTHX->IStdIO)
-#define PL_Sv (vTHX->ISv)
-#define PL_Xpv (vTHX->IXpv)
-#define PL_amagic_generation (vTHX->Iamagic_generation)
-#define PL_an (vTHX->Ian)
-#define PL_argvgv (vTHX->Iargvgv)
-#define PL_argvout_stack (vTHX->Iargvout_stack)
-#define PL_argvoutgv (vTHX->Iargvoutgv)
-#define PL_basetime (vTHX->Ibasetime)
-#define PL_beginav (vTHX->Ibeginav)
-#define PL_beginav_save (vTHX->Ibeginav_save)
-#define PL_bitcount (vTHX->Ibitcount)
-#define PL_body_arenas (vTHX->Ibody_arenas)
-#define PL_body_roots (vTHX->Ibody_roots)
-#define PL_bodytarget (vTHX->Ibodytarget)
-#define PL_checkav (vTHX->Icheckav)
-#define PL_checkav_save (vTHX->Icheckav_save)
-#define PL_chopset (vTHX->Ichopset)
-#define PL_clocktick (vTHX->Iclocktick)
-#define PL_collation_ix (vTHX->Icollation_ix)
-#define PL_collation_name (vTHX->Icollation_name)
-#define PL_collation_standard (vTHX->Icollation_standard)
-#define PL_collxfrm_base (vTHX->Icollxfrm_base)
-#define PL_collxfrm_mult (vTHX->Icollxfrm_mult)
-#define PL_colors (vTHX->Icolors)
-#define PL_colorset (vTHX->Icolorset)
-#define PL_compcv (vTHX->Icompcv)
-#define PL_compiling (vTHX->Icompiling)
-#define PL_comppad (vTHX->Icomppad)
-#define PL_comppad_name (vTHX->Icomppad_name)
-#define PL_comppad_name_fill (vTHX->Icomppad_name_fill)
-#define PL_comppad_name_floor (vTHX->Icomppad_name_floor)
-#define PL_cop_seqmax (vTHX->Icop_seqmax)
-#define PL_cryptseen (vTHX->Icryptseen)
-#define PL_curcop (vTHX->Icurcop)
-#define PL_curcopdb (vTHX->Icurcopdb)
-#define PL_curpad (vTHX->Icurpad)
-#define PL_curpm (vTHX->Icurpm)
-#define PL_curstack (vTHX->Icurstack)
-#define PL_curstackinfo (vTHX->Icurstackinfo)
-#define PL_curstash (vTHX->Icurstash)
-#define PL_curstname (vTHX->Icurstname)
-#define PL_custom_op_descs (vTHX->Icustom_op_descs)
-#define PL_custom_op_names (vTHX->Icustom_op_names)
-#define PL_cv_has_eval (vTHX->Icv_has_eval)
-#define PL_dbargs (vTHX->Idbargs)
-#define PL_debstash (vTHX->Idebstash)
-#define PL_debug (vTHX->Idebug)
-#define PL_debug_pad (vTHX->Idebug_pad)
-#define PL_def_layerlist (vTHX->Idef_layerlist)
-#define PL_defgv (vTHX->Idefgv)
-#define PL_defoutgv (vTHX->Idefoutgv)
-#define PL_defstash (vTHX->Idefstash)
-#define PL_delaymagic (vTHX->Idelaymagic)
-#define PL_destroyhook (vTHX->Idestroyhook)
-#define PL_diehook (vTHX->Idiehook)
-#define PL_dirty (vTHX->Idirty)
-#define PL_doextract (vTHX->Idoextract)
-#define PL_doswitches (vTHX->Idoswitches)
-#define PL_dowarn (vTHX->Idowarn)
-#define PL_dumper_fd (vTHX->Idumper_fd)
-#define PL_dumpindent (vTHX->Idumpindent)
-#define PL_e_script (vTHX->Ie_script)
-#define PL_efloatbuf (vTHX->Iefloatbuf)
-#define PL_efloatsize (vTHX->Iefloatsize)
-#define PL_egid (vTHX->Iegid)
-#define PL_encoding (vTHX->Iencoding)
-#define PL_endav (vTHX->Iendav)
-#define PL_envgv (vTHX->Ienvgv)
-#define PL_errgv (vTHX->Ierrgv)
-#define PL_errors (vTHX->Ierrors)
-#define PL_euid (vTHX->Ieuid)
-#define PL_eval_root (vTHX->Ieval_root)
-#define PL_eval_start (vTHX->Ieval_start)
-#define PL_evalseq (vTHX->Ievalseq)
-#define PL_exit_flags (vTHX->Iexit_flags)
-#define PL_exitlist (vTHX->Iexitlist)
-#define PL_exitlistlen (vTHX->Iexitlistlen)
-#define PL_fdpid (vTHX->Ifdpid)
-#define PL_filemode (vTHX->Ifilemode)
-#define PL_firstgv (vTHX->Ifirstgv)
-#define PL_forkprocess (vTHX->Iforkprocess)
-#define PL_formfeed (vTHX->Iformfeed)
-#define PL_formtarget (vTHX->Iformtarget)
-#define PL_generation (vTHX->Igeneration)
-#define PL_gensym (vTHX->Igensym)
-#define PL_gid (vTHX->Igid)
-#define PL_glob_index (vTHX->Iglob_index)
-#define PL_globalstash (vTHX->Iglobalstash)
-#define PL_hash_seed (vTHX->Ihash_seed)
-#define PL_hintgv (vTHX->Ihintgv)
-#define PL_hints (vTHX->Ihints)
-#define PL_hv_fetch_ent_mh (vTHX->Ihv_fetch_ent_mh)
-#define PL_in_clean_all (vTHX->Iin_clean_all)
-#define PL_in_clean_objs (vTHX->Iin_clean_objs)
-#define PL_in_eval (vTHX->Iin_eval)
-#define PL_in_load_module (vTHX->Iin_load_module)
-#define PL_incgv (vTHX->Iincgv)
-#define PL_initav (vTHX->Iinitav)
-#define PL_inplace (vTHX->Iinplace)
-#define PL_isarev (vTHX->Iisarev)
-#define PL_known_layers (vTHX->Iknown_layers)
-#define PL_last_in_gv (vTHX->Ilast_in_gv)
-#define PL_last_swash_hv (vTHX->Ilast_swash_hv)
-#define PL_last_swash_key (vTHX->Ilast_swash_key)
-#define PL_last_swash_klen (vTHX->Ilast_swash_klen)
-#define PL_last_swash_slen (vTHX->Ilast_swash_slen)
-#define PL_last_swash_tmps (vTHX->Ilast_swash_tmps)
-#define PL_lastfd (vTHX->Ilastfd)
-#define PL_lastgotoprobe (vTHX->Ilastgotoprobe)
-#define PL_lastscream (vTHX->Ilastscream)
-#define PL_laststatval (vTHX->Ilaststatval)
-#define PL_laststype (vTHX->Ilaststype)
-#define PL_localizing (vTHX->Ilocalizing)
-#define PL_localpatches (vTHX->Ilocalpatches)
-#define PL_lockhook (vTHX->Ilockhook)
-#define PL_madskills (vTHX->Imadskills)
-#define PL_main_cv (vTHX->Imain_cv)
-#define PL_main_root (vTHX->Imain_root)
-#define PL_main_start (vTHX->Imain_start)
-#define PL_mainstack (vTHX->Imainstack)
-#define PL_markstack (vTHX->Imarkstack)
-#define PL_markstack_max (vTHX->Imarkstack_max)
-#define PL_markstack_ptr (vTHX->Imarkstack_ptr)
-#define PL_max_intro_pending (vTHX->Imax_intro_pending)
-#define PL_maxo (vTHX->Imaxo)
-#define PL_maxscream (vTHX->Imaxscream)
-#define PL_maxsysfd (vTHX->Imaxsysfd)
-#define PL_memory_debug_header (vTHX->Imemory_debug_header)
-#define PL_mess_sv (vTHX->Imess_sv)
-#define PL_min_intro_pending (vTHX->Imin_intro_pending)
-#define PL_minus_E (vTHX->Iminus_E)
-#define PL_minus_F (vTHX->Iminus_F)
-#define PL_minus_a (vTHX->Iminus_a)
-#define PL_minus_c (vTHX->Iminus_c)
-#define PL_minus_l (vTHX->Iminus_l)
-#define PL_minus_n (vTHX->Iminus_n)
-#define PL_minus_p (vTHX->Iminus_p)
-#define PL_modcount (vTHX->Imodcount)
-#define PL_modglobal (vTHX->Imodglobal)
-#define PL_my_cxt_keys (vTHX->Imy_cxt_keys)
-#define PL_my_cxt_list (vTHX->Imy_cxt_list)
-#define PL_my_cxt_size (vTHX->Imy_cxt_size)
-#define PL_na (vTHX->Ina)
-#define PL_nice_chunk (vTHX->Inice_chunk)
-#define PL_nice_chunk_size (vTHX->Inice_chunk_size)
-#define PL_nomemok (vTHX->Inomemok)
-#define PL_numeric_local (vTHX->Inumeric_local)
-#define PL_numeric_name (vTHX->Inumeric_name)
-#define PL_numeric_radix_sv (vTHX->Inumeric_radix_sv)
-#define PL_numeric_standard (vTHX->Inumeric_standard)
-#define PL_ofs_sv (vTHX->Iofs_sv)
-#define PL_oldname (vTHX->Ioldname)
-#define PL_op (vTHX->Iop)
-#define PL_op_mask (vTHX->Iop_mask)
-#define PL_opsave (vTHX->Iopsave)
-#define PL_origalen (vTHX->Iorigalen)
-#define PL_origargc (vTHX->Iorigargc)
-#define PL_origargv (vTHX->Iorigargv)
-#define PL_origenviron (vTHX->Iorigenviron)
-#define PL_origfilename (vTHX->Iorigfilename)
-#define PL_ors_sv (vTHX->Iors_sv)
-#define PL_osname (vTHX->Iosname)
-#define PL_pad_reset_pending (vTHX->Ipad_reset_pending)
-#define PL_padix (vTHX->Ipadix)
-#define PL_padix_floor (vTHX->Ipadix_floor)
-#define PL_parser (vTHX->Iparser)
-#define PL_patchlevel (vTHX->Ipatchlevel)
-#define PL_peepp (vTHX->Ipeepp)
-#define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
-#define PL_perldb (vTHX->Iperldb)
-#define PL_perlio (vTHX->Iperlio)
-#define PL_pidstatus (vTHX->Ipidstatus)
-#define PL_ppid (vTHX->Ippid)
-#define PL_preambleav (vTHX->Ipreambleav)
-#define PL_preprocess (vTHX->Ipreprocess)
-#define PL_profiledata (vTHX->Iprofiledata)
-#define PL_psig_name (vTHX->Ipsig_name)
-#define PL_psig_pend (vTHX->Ipsig_pend)
-#define PL_psig_ptr (vTHX->Ipsig_ptr)
-#define PL_ptr_table (vTHX->Iptr_table)
-#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
-#define PL_reentrant_retint (vTHX->Ireentrant_retint)
-#define PL_reg_state (vTHX->Ireg_state)
-#define PL_regdummy (vTHX->Iregdummy)
-#define PL_regex_pad (vTHX->Iregex_pad)
-#define PL_regex_padav (vTHX->Iregex_padav)
-#define PL_reginterp_cnt (vTHX->Ireginterp_cnt)
-#define PL_regmatch_slab (vTHX->Iregmatch_slab)
-#define PL_regmatch_state (vTHX->Iregmatch_state)
-#define PL_rehash_seed (vTHX->Irehash_seed)
-#define PL_rehash_seed_set (vTHX->Irehash_seed_set)
-#define PL_replgv (vTHX->Ireplgv)
-#define PL_restartop (vTHX->Irestartop)
-#define PL_rs (vTHX->Irs)
-#define PL_runops (vTHX->Irunops)
-#define PL_savebegin (vTHX->Isavebegin)
-#define PL_savestack (vTHX->Isavestack)
-#define PL_savestack_ix (vTHX->Isavestack_ix)
-#define PL_savestack_max (vTHX->Isavestack_max)
-#define PL_sawampersand (vTHX->Isawampersand)
-#define PL_scopestack (vTHX->Iscopestack)
-#define PL_scopestack_ix (vTHX->Iscopestack_ix)
-#define PL_scopestack_max (vTHX->Iscopestack_max)
-#define PL_screamfirst (vTHX->Iscreamfirst)
-#define PL_screamnext (vTHX->Iscreamnext)
-#define PL_secondgv (vTHX->Isecondgv)
-#define PL_sharehook (vTHX->Isharehook)
-#define PL_sig_pending (vTHX->Isig_pending)
-#define PL_sighandlerp (vTHX->Isighandlerp)
-#define PL_signals (vTHX->Isignals)
-#define PL_slab_count (vTHX->Islab_count)
-#define PL_slabs (vTHX->Islabs)
-#define PL_sort_RealCmp (vTHX->Isort_RealCmp)
-#define PL_sortcop (vTHX->Isortcop)
-#define PL_sortstash (vTHX->Isortstash)
-#define PL_splitstr (vTHX->Isplitstr)
-#define PL_srand_called (vTHX->Isrand_called)
-#define PL_stack_base (vTHX->Istack_base)
-#define PL_stack_max (vTHX->Istack_max)
-#define PL_stack_sp (vTHX->Istack_sp)
-#define PL_start_env (vTHX->Istart_env)
-#define PL_stashcache (vTHX->Istashcache)
-#define PL_statbuf (vTHX->Istatbuf)
-#define PL_statcache (vTHX->Istatcache)
-#define PL_statgv (vTHX->Istatgv)
-#define PL_statname (vTHX->Istatname)
-#define PL_statusvalue (vTHX->Istatusvalue)
-#define PL_statusvalue_posix (vTHX->Istatusvalue_posix)
-#define PL_statusvalue_vms (vTHX->Istatusvalue_vms)
-#define PL_stderrgv (vTHX->Istderrgv)
-#define PL_stdingv (vTHX->Istdingv)
-#define PL_strtab (vTHX->Istrtab)
-#define PL_sub_generation (vTHX->Isub_generation)
-#define PL_subline (vTHX->Isubline)
-#define PL_subname (vTHX->Isubname)
-#define PL_sv_arenaroot (vTHX->Isv_arenaroot)
-#define PL_sv_count (vTHX->Isv_count)
-#define PL_sv_no (vTHX->Isv_no)
-#define PL_sv_objcount (vTHX->Isv_objcount)
-#define PL_sv_root (vTHX->Isv_root)
-#define PL_sv_undef (vTHX->Isv_undef)
-#define PL_sv_yes (vTHX->Isv_yes)
-#define PL_sys_intern (vTHX->Isys_intern)
-#define PL_taint_warn (vTHX->Itaint_warn)
-#define PL_tainted (vTHX->Itainted)
-#define PL_tainting (vTHX->Itainting)
-#define PL_threadhook (vTHX->Ithreadhook)
-#define PL_timesbuf (vTHX->Itimesbuf)
-#define PL_tmps_floor (vTHX->Itmps_floor)
-#define PL_tmps_ix (vTHX->Itmps_ix)
-#define PL_tmps_max (vTHX->Itmps_max)
-#define PL_tmps_stack (vTHX->Itmps_stack)
-#define PL_top_env (vTHX->Itop_env)
-#define PL_toptarget (vTHX->Itoptarget)
-#define PL_uid (vTHX->Iuid)
-#define PL_unicode (vTHX->Iunicode)
-#define PL_unitcheckav (vTHX->Iunitcheckav)
-#define PL_unitcheckav_save (vTHX->Iunitcheckav_save)
-#define PL_unlockhook (vTHX->Iunlockhook)
-#define PL_unsafe (vTHX->Iunsafe)
-#define PL_utf8_alnum (vTHX->Iutf8_alnum)
-#define PL_utf8_alnumc (vTHX->Iutf8_alnumc)
-#define PL_utf8_alpha (vTHX->Iutf8_alpha)
-#define PL_utf8_ascii (vTHX->Iutf8_ascii)
-#define PL_utf8_cntrl (vTHX->Iutf8_cntrl)
-#define PL_utf8_digit (vTHX->Iutf8_digit)
-#define PL_utf8_graph (vTHX->Iutf8_graph)
-#define PL_utf8_idcont (vTHX->Iutf8_idcont)
-#define PL_utf8_idstart (vTHX->Iutf8_idstart)
-#define PL_utf8_lower (vTHX->Iutf8_lower)
-#define PL_utf8_mark (vTHX->Iutf8_mark)
-#define PL_utf8_print (vTHX->Iutf8_print)
-#define PL_utf8_punct (vTHX->Iutf8_punct)
-#define PL_utf8_space (vTHX->Iutf8_space)
-#define PL_utf8_tofold (vTHX->Iutf8_tofold)
-#define PL_utf8_tolower (vTHX->Iutf8_tolower)
-#define PL_utf8_totitle (vTHX->Iutf8_totitle)
-#define PL_utf8_toupper (vTHX->Iutf8_toupper)
-#define PL_utf8_upper (vTHX->Iutf8_upper)
-#define PL_utf8_xdigit (vTHX->Iutf8_xdigit)
-#define PL_utf8cache (vTHX->Iutf8cache)
-#define PL_utf8locale (vTHX->Iutf8locale)
-#define PL_warnhook (vTHX->Iwarnhook)
-#define PL_watchaddr (vTHX->Iwatchaddr)
-#define PL_watchok (vTHX->Iwatchok)
-#define PL_xmlfp (vTHX->Ixmlfp)
-
-#else /* !MULTIPLICITY */
-
-/* case 1 above */
-
-#define PL_IArgv PL_Argv
-#define PL_ICmd PL_Cmd
-#define PL_IDBcv PL_DBcv
-#define PL_IDBgv PL_DBgv
-#define PL_IDBline PL_DBline
-#define PL_IDBsignal PL_DBsignal
-#define PL_IDBsingle PL_DBsingle
-#define PL_IDBsub PL_DBsub
-#define PL_IDBtrace PL_DBtrace
-#define PL_IDir PL_Dir
-#define PL_IEnv PL_Env
-#define PL_ILIO PL_LIO
-#define PL_IMem PL_Mem
-#define PL_IMemParse PL_MemParse
-#define PL_IMemShared PL_MemShared
-#define PL_IOpPtr PL_OpPtr
-#define PL_IOpSlab PL_OpSlab
-#define PL_IOpSpace PL_OpSpace
-#define PL_IProc PL_Proc
-#define PL_ISock PL_Sock
-#define PL_IStdIO PL_StdIO
-#define PL_ISv PL_Sv
-#define PL_IXpv PL_Xpv
-#define PL_Iamagic_generation PL_amagic_generation
-#define PL_Ian PL_an
-#define PL_Iargvgv PL_argvgv
-#define PL_Iargvout_stack PL_argvout_stack
-#define PL_Iargvoutgv PL_argvoutgv
-#define PL_Ibasetime PL_basetime
-#define PL_Ibeginav PL_beginav
-#define PL_Ibeginav_save PL_beginav_save
-#define PL_Ibitcount PL_bitcount
-#define PL_Ibody_arenas PL_body_arenas
-#define PL_Ibody_roots PL_body_roots
-#define PL_Ibodytarget PL_bodytarget
-#define PL_Icheckav PL_checkav
-#define PL_Icheckav_save PL_checkav_save
-#define PL_Ichopset PL_chopset
-#define PL_Iclocktick PL_clocktick
-#define PL_Icollation_ix PL_collation_ix
-#define PL_Icollation_name PL_collation_name
-#define PL_Icollation_standard PL_collation_standard
-#define PL_Icollxfrm_base PL_collxfrm_base
-#define PL_Icollxfrm_mult PL_collxfrm_mult
-#define PL_Icolors PL_colors
-#define PL_Icolorset PL_colorset
-#define PL_Icompcv PL_compcv
-#define PL_Icompiling PL_compiling
-#define PL_Icomppad PL_comppad
-#define PL_Icomppad_name PL_comppad_name
-#define PL_Icomppad_name_fill PL_comppad_name_fill
-#define PL_Icomppad_name_floor PL_comppad_name_floor
-#define PL_Icop_seqmax PL_cop_seqmax
-#define PL_Icryptseen PL_cryptseen
-#define PL_Icurcop PL_curcop
-#define PL_Icurcopdb PL_curcopdb
-#define PL_Icurpad PL_curpad
-#define PL_Icurpm PL_curpm
-#define PL_Icurstack PL_curstack
-#define PL_Icurstackinfo PL_curstackinfo
-#define PL_Icurstash PL_curstash
-#define PL_Icurstname PL_curstname
-#define PL_Icustom_op_descs PL_custom_op_descs
-#define PL_Icustom_op_names PL_custom_op_names
-#define PL_Icv_has_eval PL_cv_has_eval
-#define PL_Idbargs PL_dbargs
-#define PL_Idebstash PL_debstash
-#define PL_Idebug PL_debug
-#define PL_Idebug_pad PL_debug_pad
-#define PL_Idef_layerlist PL_def_layerlist
-#define PL_Idefgv PL_defgv
-#define PL_Idefoutgv PL_defoutgv
-#define PL_Idefstash PL_defstash
-#define PL_Idelaymagic PL_delaymagic
-#define PL_Idestroyhook PL_destroyhook
-#define PL_Idiehook PL_diehook
-#define PL_Idirty PL_dirty
-#define PL_Idoextract PL_doextract
-#define PL_Idoswitches PL_doswitches
-#define PL_Idowarn PL_dowarn
-#define PL_Idumper_fd PL_dumper_fd
-#define PL_Idumpindent PL_dumpindent
-#define PL_Ie_script PL_e_script
-#define PL_Iefloatbuf PL_efloatbuf
-#define PL_Iefloatsize PL_efloatsize
-#define PL_Iegid PL_egid
-#define PL_Iencoding PL_encoding
-#define PL_Iendav PL_endav
-#define PL_Ienvgv PL_envgv
-#define PL_Ierrgv PL_errgv
-#define PL_Ierrors PL_errors
-#define PL_Ieuid PL_euid
-#define PL_Ieval_root PL_eval_root
-#define PL_Ieval_start PL_eval_start
-#define PL_Ievalseq PL_evalseq
-#define PL_Iexit_flags PL_exit_flags
-#define PL_Iexitlist PL_exitlist
-#define PL_Iexitlistlen PL_exitlistlen
-#define PL_Ifdpid PL_fdpid
-#define PL_Ifilemode PL_filemode
-#define PL_Ifirstgv PL_firstgv
-#define PL_Iforkprocess PL_forkprocess
-#define PL_Iformfeed PL_formfeed
-#define PL_Iformtarget PL_formtarget
-#define PL_Igeneration PL_generation
-#define PL_Igensym PL_gensym
-#define PL_Igid PL_gid
-#define PL_Iglob_index PL_glob_index
-#define PL_Iglobalstash PL_globalstash
-#define PL_Ihash_seed PL_hash_seed
-#define PL_Ihintgv PL_hintgv
-#define PL_Ihints PL_hints
-#define PL_Ihv_fetch_ent_mh PL_hv_fetch_ent_mh
-#define PL_Iin_clean_all PL_in_clean_all
-#define PL_Iin_clean_objs PL_in_clean_objs
-#define PL_Iin_eval PL_in_eval
-#define PL_Iin_load_module PL_in_load_module
-#define PL_Iincgv PL_incgv
-#define PL_Iinitav PL_initav
-#define PL_Iinplace PL_inplace
-#define PL_Iisarev PL_isarev
-#define PL_Iknown_layers PL_known_layers
-#define PL_Ilast_in_gv PL_last_in_gv
-#define PL_Ilast_swash_hv PL_last_swash_hv
-#define PL_Ilast_swash_key PL_last_swash_key
-#define PL_Ilast_swash_klen PL_last_swash_klen
-#define PL_Ilast_swash_slen PL_last_swash_slen
-#define PL_Ilast_swash_tmps PL_last_swash_tmps
-#define PL_Ilastfd PL_lastfd
-#define PL_Ilastgotoprobe PL_lastgotoprobe
-#define PL_Ilastscream PL_lastscream
-#define PL_Ilaststatval PL_laststatval
-#define PL_Ilaststype PL_laststype
-#define PL_Ilocalizing PL_localizing
-#define PL_Ilocalpatches PL_localpatches
-#define PL_Ilockhook PL_lockhook
-#define PL_Imadskills PL_madskills
-#define PL_Imain_cv PL_main_cv
-#define PL_Imain_root PL_main_root
-#define PL_Imain_start PL_main_start
-#define PL_Imainstack PL_mainstack
-#define PL_Imarkstack PL_markstack
-#define PL_Imarkstack_max PL_markstack_max
-#define PL_Imarkstack_ptr PL_markstack_ptr
-#define PL_Imax_intro_pending PL_max_intro_pending
-#define PL_Imaxo PL_maxo
-#define PL_Imaxscream PL_maxscream
-#define PL_Imaxsysfd PL_maxsysfd
-#define PL_Imemory_debug_header PL_memory_debug_header
-#define PL_Imess_sv PL_mess_sv
-#define PL_Imin_intro_pending PL_min_intro_pending
-#define PL_Iminus_E PL_minus_E
-#define PL_Iminus_F PL_minus_F
-#define PL_Iminus_a PL_minus_a
-#define PL_Iminus_c PL_minus_c
-#define PL_Iminus_l PL_minus_l
-#define PL_Iminus_n PL_minus_n
-#define PL_Iminus_p PL_minus_p
-#define PL_Imodcount PL_modcount
-#define PL_Imodglobal PL_modglobal
-#define PL_Imy_cxt_keys PL_my_cxt_keys
-#define PL_Imy_cxt_list PL_my_cxt_list
-#define PL_Imy_cxt_size PL_my_cxt_size
-#define PL_Ina PL_na
-#define PL_Inice_chunk PL_nice_chunk
-#define PL_Inice_chunk_size PL_nice_chunk_size
-#define PL_Inomemok PL_nomemok
-#define PL_Inumeric_local PL_numeric_local
-#define PL_Inumeric_name PL_numeric_name
-#define PL_Inumeric_radix_sv PL_numeric_radix_sv
-#define PL_Inumeric_standard PL_numeric_standard
-#define PL_Iofs_sv PL_ofs_sv
-#define PL_Ioldname PL_oldname
-#define PL_Iop PL_op
-#define PL_Iop_mask PL_op_mask
-#define PL_Iopsave PL_opsave
-#define PL_Iorigalen PL_origalen
-#define PL_Iorigargc PL_origargc
-#define PL_Iorigargv PL_origargv
-#define PL_Iorigenviron PL_origenviron
-#define PL_Iorigfilename PL_origfilename
-#define PL_Iors_sv PL_ors_sv
-#define PL_Iosname PL_osname
-#define PL_Ipad_reset_pending PL_pad_reset_pending
-#define PL_Ipadix PL_padix
-#define PL_Ipadix_floor PL_padix_floor
-#define PL_Iparser PL_parser
-#define PL_Ipatchlevel PL_patchlevel
-#define PL_Ipeepp PL_peepp
-#define PL_Iperl_destruct_level PL_perl_destruct_level
-#define PL_Iperldb PL_perldb
-#define PL_Iperlio PL_perlio
-#define PL_Ipidstatus PL_pidstatus
-#define PL_Ippid PL_ppid
-#define PL_Ipreambleav PL_preambleav
-#define PL_Ipreprocess PL_preprocess
-#define PL_Iprofiledata PL_profiledata
-#define PL_Ipsig_name PL_psig_name
-#define PL_Ipsig_pend PL_psig_pend
-#define PL_Ipsig_ptr PL_psig_ptr
-#define PL_Iptr_table PL_ptr_table
-#define PL_Ireentrant_buffer PL_reentrant_buffer
-#define PL_Ireentrant_retint PL_reentrant_retint
-#define PL_Ireg_state PL_reg_state
-#define PL_Iregdummy PL_regdummy
-#define PL_Iregex_pad PL_regex_pad
-#define PL_Iregex_padav PL_regex_padav
-#define PL_Ireginterp_cnt PL_reginterp_cnt
-#define PL_Iregmatch_slab PL_regmatch_slab
-#define PL_Iregmatch_state PL_regmatch_state
-#define PL_Irehash_seed PL_rehash_seed
-#define PL_Irehash_seed_set PL_rehash_seed_set
-#define PL_Ireplgv PL_replgv
-#define PL_Irestartop PL_restartop
-#define PL_Irs PL_rs
-#define PL_Irunops PL_runops
-#define PL_Isavebegin PL_savebegin
-#define PL_Isavestack PL_savestack
-#define PL_Isavestack_ix PL_savestack_ix
-#define PL_Isavestack_max PL_savestack_max
-#define PL_Isawampersand PL_sawampersand
-#define PL_Iscopestack PL_scopestack
-#define PL_Iscopestack_ix PL_scopestack_ix
-#define PL_Iscopestack_max PL_scopestack_max
-#define PL_Iscreamfirst PL_screamfirst
-#define PL_Iscreamnext PL_screamnext
-#define PL_Isecondgv PL_secondgv
-#define PL_Isharehook PL_sharehook
-#define PL_Isig_pending PL_sig_pending
-#define PL_Isighandlerp PL_sighandlerp
-#define PL_Isignals PL_signals
-#define PL_Islab_count PL_slab_count
-#define PL_Islabs PL_slabs
-#define PL_Isort_RealCmp PL_sort_RealCmp
-#define PL_Isortcop PL_sortcop
-#define PL_Isortstash PL_sortstash
-#define PL_Isplitstr PL_splitstr
-#define PL_Isrand_called PL_srand_called
-#define PL_Istack_base PL_stack_base
-#define PL_Istack_max PL_stack_max
-#define PL_Istack_sp PL_stack_sp
-#define PL_Istart_env PL_start_env
-#define PL_Istashcache PL_stashcache
-#define PL_Istatbuf PL_statbuf
-#define PL_Istatcache PL_statcache
-#define PL_Istatgv PL_statgv
-#define PL_Istatname PL_statname
-#define PL_Istatusvalue PL_statusvalue
-#define PL_Istatusvalue_posix PL_statusvalue_posix
-#define PL_Istatusvalue_vms PL_statusvalue_vms
-#define PL_Istderrgv PL_stderrgv
-#define PL_Istdingv PL_stdingv
-#define PL_Istrtab PL_strtab
-#define PL_Isub_generation PL_sub_generation
-#define PL_Isubline PL_subline
-#define PL_Isubname PL_subname
-#define PL_Isv_arenaroot PL_sv_arenaroot
-#define PL_Isv_count PL_sv_count
-#define PL_Isv_no PL_sv_no
-#define PL_Isv_objcount PL_sv_objcount
-#define PL_Isv_root PL_sv_root
-#define PL_Isv_undef PL_sv_undef
-#define PL_Isv_yes PL_sv_yes
-#define PL_Isys_intern PL_sys_intern
-#define PL_Itaint_warn PL_taint_warn
-#define PL_Itainted PL_tainted
-#define PL_Itainting PL_tainting
-#define PL_Ithreadhook PL_threadhook
-#define PL_Itimesbuf PL_timesbuf
-#define PL_Itmps_floor PL_tmps_floor
-#define PL_Itmps_ix PL_tmps_ix
-#define PL_Itmps_max PL_tmps_max
-#define PL_Itmps_stack PL_tmps_stack
-#define PL_Itop_env PL_top_env
-#define PL_Itoptarget PL_toptarget
-#define PL_Iuid PL_uid
-#define PL_Iunicode PL_unicode
-#define PL_Iunitcheckav PL_unitcheckav
-#define PL_Iunitcheckav_save PL_unitcheckav_save
-#define PL_Iunlockhook PL_unlockhook
-#define PL_Iunsafe PL_unsafe
-#define PL_Iutf8_alnum PL_utf8_alnum
-#define PL_Iutf8_alnumc PL_utf8_alnumc
-#define PL_Iutf8_alpha PL_utf8_alpha
-#define PL_Iutf8_ascii PL_utf8_ascii
-#define PL_Iutf8_cntrl PL_utf8_cntrl
-#define PL_Iutf8_digit PL_utf8_digit
-#define PL_Iutf8_graph PL_utf8_graph
-#define PL_Iutf8_idcont PL_utf8_idcont
-#define PL_Iutf8_idstart PL_utf8_idstart
-#define PL_Iutf8_lower PL_utf8_lower
-#define PL_Iutf8_mark PL_utf8_mark
-#define PL_Iutf8_print PL_utf8_print
-#define PL_Iutf8_punct PL_utf8_punct
-#define PL_Iutf8_space PL_utf8_space
-#define PL_Iutf8_tofold PL_utf8_tofold
-#define PL_Iutf8_tolower PL_utf8_tolower
-#define PL_Iutf8_totitle PL_utf8_totitle
-#define PL_Iutf8_toupper PL_utf8_toupper
-#define PL_Iutf8_upper PL_utf8_upper
-#define PL_Iutf8_xdigit PL_utf8_xdigit
-#define PL_Iutf8cache PL_utf8cache
-#define PL_Iutf8locale PL_utf8locale
-#define PL_Iwarnhook PL_warnhook
-#define PL_Iwatchaddr PL_watchaddr
-#define PL_Iwatchok PL_watchok
-#define PL_Ixmlfp PL_xmlfp
-
-
-#endif /* MULTIPLICITY */
-
-#if defined(PERL_GLOBAL_STRUCT)
-
-#define PL_No (my_vars->GNo)
-#define PL_GNo (my_vars->GNo)
-#define PL_Yes (my_vars->GYes)
-#define PL_GYes (my_vars->GYes)
-#define PL_appctx (my_vars->Gappctx)
-#define PL_Gappctx (my_vars->Gappctx)
-#define PL_check (my_vars->Gcheck)
-#define PL_Gcheck (my_vars->Gcheck)
-#define PL_csighandlerp (my_vars->Gcsighandlerp)
-#define PL_Gcsighandlerp (my_vars->Gcsighandlerp)
-#define PL_curinterp (my_vars->Gcurinterp)
-#define PL_Gcurinterp (my_vars->Gcurinterp)
-#define PL_do_undump (my_vars->Gdo_undump)
-#define PL_Gdo_undump (my_vars->Gdo_undump)
-#define PL_dollarzero_mutex (my_vars->Gdollarzero_mutex)
-#define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex)
-#define PL_fold_locale (my_vars->Gfold_locale)
-#define PL_Gfold_locale (my_vars->Gfold_locale)
-#define PL_global_struct_size (my_vars->Gglobal_struct_size)
-#define PL_Gglobal_struct_size (my_vars->Gglobal_struct_size)
-#define PL_hexdigit (my_vars->Ghexdigit)
-#define PL_Ghexdigit (my_vars->Ghexdigit)
-#define PL_hints_mutex (my_vars->Ghints_mutex)
-#define PL_Ghints_mutex (my_vars->Ghints_mutex)
-#define PL_interp_size (my_vars->Ginterp_size)
-#define PL_Ginterp_size (my_vars->Ginterp_size)
-#define PL_interp_size_5_10_0 (my_vars->Ginterp_size_5_10_0)
-#define PL_Ginterp_size_5_10_0 (my_vars->Ginterp_size_5_10_0)
-#define PL_malloc_mutex (my_vars->Gmalloc_mutex)
-#define PL_Gmalloc_mutex (my_vars->Gmalloc_mutex)
-#define PL_mmap_page_size (my_vars->Gmmap_page_size)
-#define PL_Gmmap_page_size (my_vars->Gmmap_page_size)
-#define PL_my_ctx_mutex (my_vars->Gmy_ctx_mutex)
-#define PL_Gmy_ctx_mutex (my_vars->Gmy_ctx_mutex)
-#define PL_my_cxt_index (my_vars->Gmy_cxt_index)
-#define PL_Gmy_cxt_index (my_vars->Gmy_cxt_index)
-#define PL_op_mutex (my_vars->Gop_mutex)
-#define PL_Gop_mutex (my_vars->Gop_mutex)
-#define PL_op_seq (my_vars->Gop_seq)
-#define PL_Gop_seq (my_vars->Gop_seq)
-#define PL_op_sequence (my_vars->Gop_sequence)
-#define PL_Gop_sequence (my_vars->Gop_sequence)
-#define PL_patleave (my_vars->Gpatleave)
-#define PL_Gpatleave (my_vars->Gpatleave)
-#define PL_perlio_debug_fd (my_vars->Gperlio_debug_fd)
-#define PL_Gperlio_debug_fd (my_vars->Gperlio_debug_fd)
-#define PL_perlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
-#define PL_Gperlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
-#define PL_perlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
-#define PL_Gperlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
-#define PL_perlio_mutex (my_vars->Gperlio_mutex)
-#define PL_Gperlio_mutex (my_vars->Gperlio_mutex)
-#define PL_ppaddr (my_vars->Gppaddr)
-#define PL_Gppaddr (my_vars->Gppaddr)
-#define PL_revision (my_vars->Grevision)
-#define PL_Grevision (my_vars->Grevision)
-#define PL_runops_dbg (my_vars->Grunops_dbg)
-#define PL_Grunops_dbg (my_vars->Grunops_dbg)
-#define PL_runops_std (my_vars->Grunops_std)
-#define PL_Grunops_std (my_vars->Grunops_std)
-#define PL_sh_path (my_vars->Gsh_path)
-#define PL_Gsh_path (my_vars->Gsh_path)
-#define PL_sig_defaulting (my_vars->Gsig_defaulting)
-#define PL_Gsig_defaulting (my_vars->Gsig_defaulting)
-#define PL_sig_handlers_initted (my_vars->Gsig_handlers_initted)
-#define PL_Gsig_handlers_initted (my_vars->Gsig_handlers_initted)
-#define PL_sig_ignoring (my_vars->Gsig_ignoring)
-#define PL_Gsig_ignoring (my_vars->Gsig_ignoring)
-#define PL_sig_sv (my_vars->Gsig_sv)
-#define PL_Gsig_sv (my_vars->Gsig_sv)
-#define PL_sig_trapped (my_vars->Gsig_trapped)
-#define PL_Gsig_trapped (my_vars->Gsig_trapped)
-#define PL_sigfpe_saved (my_vars->Gsigfpe_saved)
-#define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved)
-#define PL_subversion (my_vars->Gsubversion)
-#define PL_Gsubversion (my_vars->Gsubversion)
-#define PL_sv_placeholder (my_vars->Gsv_placeholder)
-#define PL_Gsv_placeholder (my_vars->Gsv_placeholder)
-#define PL_thr_key (my_vars->Gthr_key)
-#define PL_Gthr_key (my_vars->Gthr_key)
-#define PL_timesbase (my_vars->Gtimesbase)
-#define PL_Gtimesbase (my_vars->Gtimesbase)
-#define PL_use_safe_putenv (my_vars->Guse_safe_putenv)
-#define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv)
-#define PL_version (my_vars->Gversion)
-#define PL_Gversion (my_vars->Gversion)
-#define PL_veto_cleanup (my_vars->Gveto_cleanup)
-#define PL_Gveto_cleanup (my_vars->Gveto_cleanup)
-#define PL_watch_pvx (my_vars->Gwatch_pvx)
-#define PL_Gwatch_pvx (my_vars->Gwatch_pvx)
-
-#else /* !PERL_GLOBAL_STRUCT */
-
-#define PL_GNo PL_No
-#define PL_GYes PL_Yes
-#define PL_Gappctx PL_appctx
-#define PL_Gcheck PL_check
-#define PL_Gcsighandlerp PL_csighandlerp
-#define PL_Gcurinterp PL_curinterp
-#define PL_Gdo_undump PL_do_undump
-#define PL_Gdollarzero_mutex PL_dollarzero_mutex
-#define PL_Gfold_locale PL_fold_locale
-#define PL_Gglobal_struct_size PL_global_struct_size
-#define PL_Ghexdigit PL_hexdigit
-#define PL_Ghints_mutex PL_hints_mutex
-#define PL_Ginterp_size PL_interp_size
-#define PL_Ginterp_size_5_10_0 PL_interp_size_5_10_0
-#define PL_Gmalloc_mutex PL_malloc_mutex
-#define PL_Gmmap_page_size PL_mmap_page_size
-#define PL_Gmy_ctx_mutex PL_my_ctx_mutex
-#define PL_Gmy_cxt_index PL_my_cxt_index
-#define PL_Gop_mutex PL_op_mutex
-#define PL_Gop_seq PL_op_seq
-#define PL_Gop_sequence PL_op_sequence
-#define PL_Gpatleave PL_patleave
-#define PL_Gperlio_debug_fd PL_perlio_debug_fd
-#define PL_Gperlio_fd_refcnt PL_perlio_fd_refcnt
-#define PL_Gperlio_fd_refcnt_size PL_perlio_fd_refcnt_size
-#define PL_Gperlio_mutex PL_perlio_mutex
-#define PL_Gppaddr PL_ppaddr
-#define PL_Grevision PL_revision
-#define PL_Grunops_dbg PL_runops_dbg
-#define PL_Grunops_std PL_runops_std
-#define PL_Gsh_path PL_sh_path
-#define PL_Gsig_defaulting PL_sig_defaulting
-#define PL_Gsig_handlers_initted PL_sig_handlers_initted
-#define PL_Gsig_ignoring PL_sig_ignoring
-#define PL_Gsig_sv PL_sig_sv
-#define PL_Gsig_trapped PL_sig_trapped
-#define PL_Gsigfpe_saved PL_sigfpe_saved
-#define PL_Gsubversion PL_subversion
-#define PL_Gsv_placeholder PL_sv_placeholder
-#define PL_Gthr_key PL_thr_key
-#define PL_Gtimesbase PL_timesbase
-#define PL_Guse_safe_putenv PL_use_safe_putenv
-#define PL_Gversion PL_version
-#define PL_Gveto_cleanup PL_veto_cleanup
-#define PL_Gwatch_pvx PL_watch_pvx
-
-#endif /* PERL_GLOBAL_STRUCT */
-
-#ifdef PERL_POLLUTE /* disabled by default in 5.6.0 */
-
-#define DBassertion PL_DBassertion
-#define DBsingle PL_DBsingle
-#define DBsub PL_DBsub
-#define compiling PL_compiling
-#define curcop PL_curcop
-#define curstash PL_curstash
-#define debstash PL_debstash
-#define defgv PL_defgv
-#define diehook PL_diehook
-#define dirty PL_dirty
-#define dowarn PL_dowarn
-#define errgv PL_errgv
-#define na PL_na
-#define no_modify PL_no_modify
-#define perl_destruct_level PL_perl_destruct_level
-#define perldb PL_perldb
-#define ppaddr PL_ppaddr
-#define rsfp PL_rsfp
-#define rsfp_filters PL_rsfp_filters
-#define stack_base PL_stack_base
-#define stack_sp PL_stack_sp
-#define stdingv PL_stdingv
-#define sv_arenaroot PL_sv_arenaroot
-#define sv_no PL_sv_no
-#define sv_undef PL_sv_undef
-#define sv_yes PL_sv_yes
-#define tainted PL_tainted
-#define tainting PL_tainting
-
-#endif /* PERL_POLLUTE */
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakesdio.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakesdio.h
deleted file mode 100644
index 614438096e0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakesdio.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* fakestdio.h
- *
- * Copyright (C) 2000, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * This is "source level" stdio compatibility mode.
- * We try and #define stdio functions in terms of PerlIO.
- */
-#define _CANNOT "CANNOT"
-#undef FILE
-#define FILE PerlIO
-#undef clearerr
-#undef fclose
-#undef fdopen
-#undef feof
-#undef ferror
-#undef fflush
-#undef fgetc
-#undef fgetpos
-#undef fgets
-#undef fileno
-#undef flockfile
-#undef fopen
-#undef fprintf
-#undef fputc
-#undef fputs
-#undef fread
-#undef freopen
-#undef fscanf
-#undef fseek
-#undef fsetpos
-#undef ftell
-#undef ftrylockfile
-#undef funlockfile
-#undef fwrite
-#undef getc
-#undef getc_unlocked
-#undef getw
-#undef pclose
-#undef popen
-#undef putc
-#undef putc_unlocked
-#undef putw
-#undef rewind
-#undef setbuf
-#undef setvbuf
-#undef stderr
-#undef stdin
-#undef stdout
-#undef tmpfile
-#undef ungetc
-#undef vfprintf
-#undef printf
-
-/* printf used to live in perl.h like this - more sophisticated
- than the rest
- */
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-#define printf(fmt,args...) PerlIO_stdoutf(fmt,##args)
-#else
-#define printf PerlIO_stdoutf
-#endif
-
-#define fprintf PerlIO_printf
-#define stdin PerlIO_stdin()
-#define stdout PerlIO_stdout()
-#define stderr PerlIO_stderr()
-#define tmpfile() PerlIO_tmpfile()
-#define fclose(f) PerlIO_close(f)
-#define fflush(f) PerlIO_flush(f)
-#define fopen(p,m) PerlIO_open(p,m)
-#define vfprintf(f,fmt,a) PerlIO_vprintf(f,fmt,a)
-#define fgetc(f) PerlIO_getc(f)
-#define fputc(c,f) PerlIO_putc(f,c)
-#define fputs(s,f) PerlIO_puts(f,s)
-#define getc(f) PerlIO_getc(f)
-#define getc_unlocked(f) PerlIO_getc(f)
-#define putc(c,f) PerlIO_putc(f,c)
-#define putc_unlocked(c,f) PerlIO_putc(c,f)
-#define ungetc(c,f) PerlIO_ungetc(f,c)
-#if 0
-/* return values of read/write need work */
-#define fread(b,s,c,f) PerlIO_read(f,b,(s*c))
-#define fwrite(b,s,c,f) PerlIO_write(f,b,(s*c))
-#else
-#define fread(b,s,c,f) _CANNOT fread
-#define fwrite(b,s,c,f) _CANNOT fwrite
-#endif
-#define fseek(f,o,w) PerlIO_seek(f,o,w)
-#define ftell(f) PerlIO_tell(f)
-#define rewind(f) PerlIO_rewind(f)
-#define clearerr(f) PerlIO_clearerr(f)
-#define feof(f) PerlIO_eof(f)
-#define ferror(f) PerlIO_error(f)
-#define fdopen(fd,p) PerlIO_fdopen(fd,p)
-#define fileno(f) PerlIO_fileno(f)
-#define popen(c,m) my_popen(c,m)
-#define pclose(f) my_pclose(f)
-
-#define fsetpos(f,p) _CANNOT _fsetpos_
-#define fgetpos(f,p) _CANNOT _fgetpos_
-
-#define __filbuf(f) _CANNOT __filbuf_
-#define _filbuf(f) _CANNOT _filbuf_
-#define __flsbuf(c,f) _CANNOT __flsbuf_
-#define _flsbuf(c,f) _CANNOT _flsbuf_
-#define getw(f) _CANNOT _getw_
-#define putw(v,f) _CANNOT _putw_
-#if SFIO_VERSION < 20000101L
-#define flockfile(f) _CANNOT _flockfile_
-#define ftrylockfile(f) _CANNOT _ftrylockfile_
-#define funlockfile(f) _CANNOT _funlockfile_
-#endif
-#define freopen(p,m,f) _CANNOT _freopen_
-#define setbuf(f,b) _CANNOT _setbuf_
-#define setvbuf(f,b,x,s) _CANNOT _setvbuf_
-#define fscanf _CANNOT _fscanf_
-#define fgets(s,n,f) _CANNOT _fgets_
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakethr.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakethr.h
deleted file mode 100644
index 7c82aa6d691..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/fakethr.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* fakethr.h
- *
- * Copyright (C) 1999, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-typedef int perl_mutex;
-typedef int perl_key;
-
-typedef struct perl_thread *perl_os_thread;
-/* With fake threads, thr is global(ish) so we don't need dTHR */
-#define dTHR extern int errno
-
-struct perl_wait_queue {
- struct perl_thread * thread;
- struct perl_wait_queue * next;
-};
-typedef struct perl_wait_queue *perl_cond;
-
-/* Ask thread.h to include our per-thread extras */
-#define HAVE_THREAD_INTERN
-struct thread_intern {
- perl_os_thread next_run, prev_run; /* Linked list of runnable threads */
- perl_cond wait_queue; /* Wait queue that we are waiting on */
- IV private; /* Holds data across time slices */
- I32 savemark; /* Holds MARK for thread join values */
-};
-
-#define init_thread_intern(t) \
- STMT_START { \
- t->self = (t); \
- (t)->i.next_run = (t)->i.prev_run = (t); \
- (t)->i.wait_queue = 0; \
- (t)->i.private = 0; \
- } STMT_END
-
-/*
- * Note that SCHEDULE() is only callable from pp code (which
- * must be expecting to be restarted). We'll have to do
- * something a bit different for XS code.
- */
-
-#define SCHEDULE() return schedule(), PL_op
-
-#define MUTEX_LOCK(m)
-#define MUTEX_UNLOCK(m)
-#define MUTEX_INIT(m)
-#define MUTEX_DESTROY(m)
-#define COND_INIT(c) perl_cond_init(c)
-#define COND_SIGNAL(c) perl_cond_signal(c)
-#define COND_BROADCAST(c) perl_cond_broadcast(c)
-#define COND_WAIT(c, m) \
- STMT_START { \
- perl_cond_wait(c); \
- SCHEDULE(); \
- } STMT_END
-#define COND_DESTROY(c)
-
-#define THREAD_CREATE(t, f) f((t))
-#define THREAD_POST_CREATE(t) NOOP
-
-#define YIELD NOOP
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/form.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/form.h
deleted file mode 100644
index 114d6d4475f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/form.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* form.h
- *
- * Copyright (C) 1991, 1992, 1993, 2000, 2004 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#define FF_END 0
-#define FF_LINEMARK 1
-#define FF_LITERAL 2
-#define FF_SKIP 3
-#define FF_FETCH 4
-#define FF_CHECKNL 5
-#define FF_CHECKCHOP 6
-#define FF_SPACE 7
-#define FF_HALFSPACE 8
-#define FF_ITEM 9
-#define FF_CHOP 10
-#define FF_LINEGLOB 11
-#define FF_DECIMAL 12
-#define FF_NEWLINE 13
-#define FF_BLANK 14
-#define FF_MORE 15
-#define FF_0DECIMAL 16
-#define FF_LINESNGL 17
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/gv.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/gv.h
deleted file mode 100644
index fbd7e344f31..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/gv.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/* gv.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-struct gp {
- SV * gp_sv; /* scalar value */
- struct io * gp_io; /* filehandle value */
- CV * gp_cv; /* subroutine value */
- U32 gp_cvgen; /* generational validity of cached gv_cv */
- U32 gp_refcnt; /* how many globs point to this? */
- HV * gp_hv; /* hash value */
- AV * gp_av; /* array value */
- CV * gp_form; /* format value */
- GV * gp_egv; /* effective gv, if *glob */
- line_t gp_line; /* line first declared at (for -w) */
- HEK * gp_file_hek; /* file first declared in (for -w) */
-};
-
-#define GvXPVGV(gv) ((XPVGV*)SvANY(gv))
-
-
-#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__INTEL_COMPILER)
-# define GvGP(gv) \
- (*({GV *const shplep = (GV *) (gv); \
- assert(SvTYPE(shplep) == SVt_PVGV || SvTYPE(shplep) == SVt_PVLV); \
- assert(isGV_with_GP(shplep)); \
- &((shplep)->sv_u.svu_gp);}))
-# define GvFLAGS(gv) \
- (*({GV *const yaah = (GV *) (gv); \
- assert(SvTYPE(yaah) == SVt_PVGV || SvTYPE(yaah) == SVt_PVLV); \
- assert(isGV_with_GP(yaah)); \
- &(GvXPVGV(yaah)->xpv_cur);}))
-# define GvSTASH(gv) \
- (*({ GV * const _gv = (GV *) (gv); \
- assert(isGV_with_GP(_gv)); \
- assert(SvTYPE(_gv) == SVt_PVGV || SvTYPE(_gv) >= SVt_PVLV); \
- &(GvXPVGV(_gv)->xnv_u.xgv_stash); \
- }))
-# define GvNAME_HEK(gv) \
- (*({ GV * const zzzz = (GV *) (gv); \
- assert(isGV_with_GP(zzzz)); \
- assert(SvTYPE(zzzz) == SVt_PVGV || SvTYPE(zzzz) >= SVt_PVLV); \
- assert(!SvVALID(zzzz)); \
- &(GvXPVGV(zzzz)->xiv_u.xivu_namehek); \
- }))
-# define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_KEY(GvNAME_HEK(gv)); })
-# define GvNAMELEN_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); })
-#else
-# define GvGP(gv) ((gv)->sv_u.svu_gp)
-# define GvFLAGS(gv) (GvXPVGV(gv)->xpv_cur)
-# define GvSTASH(gv) (GvXPVGV(gv)->xnv_u.xgv_stash)
-# define GvNAME_HEK(gv) (GvXPVGV(gv)->xiv_u.xivu_namehek)
-# define GvNAME_get(gv) HEK_KEY(GvNAME_HEK(gv))
-# define GvNAMELEN_get(gv) HEK_LEN(GvNAME_HEK(gv))
-#endif
-
-#define GvNAME(gv) GvNAME_get(gv)
-#define GvNAMELEN(gv) GvNAMELEN_get(gv)
-
-#define GvASSIGN_GENERATION(gv) (0 + ((XPV*) SvANY(gv))->xpv_len)
-#define GvASSIGN_GENERATION_set(gv,val) \
- STMT_START { assert(SvTYPE(gv) == SVt_PVGV); \
- (((XPV*) SvANY(gv))->xpv_len = (val)); } STMT_END
-
-/*
-=head1 GV Functions
-
-=for apidoc Am|SV*|GvSV|GV* gv
-
-Return the SV from the GV.
-
-=cut
-*/
-
-#define GvSV(gv) (GvGP(gv)->gp_sv)
-#ifdef PERL_DONT_CREATE_GVSV
-#define GvSVn(gv) (*(GvGP(gv)->gp_sv ? \
- &(GvGP(gv)->gp_sv) : \
- &(GvGP(gv_SVadd(gv))->gp_sv)))
-#else
-#define GvSVn(gv) GvSV(gv)
-#endif
-
-#define GvREFCNT(gv) (GvGP(gv)->gp_refcnt)
-#define GvIO(gv) ((gv) && SvTYPE((SV*)gv) == SVt_PVGV && GvGP(gv) ? GvIOp(gv) : NULL)
-#define GvIOp(gv) (GvGP(gv)->gp_io)
-#define GvIOn(gv) (GvIO(gv) ? GvIOp(gv) : GvIOp(gv_IOadd(gv)))
-
-#define GvFORM(gv) (GvGP(gv)->gp_form)
-#define GvAV(gv) (GvGP(gv)->gp_av)
-
-/* This macro is deprecated. Do not use! */
-#define GvREFCNT_inc(gv) ((GV*)SvREFCNT_inc(gv)) /* DO NOT USE */
-
-#define GvAVn(gv) (GvGP(gv)->gp_av ? \
- GvGP(gv)->gp_av : \
- GvGP(gv_AVadd(gv))->gp_av)
-#define GvHV(gv) ((GvGP(gv))->gp_hv)
-
-#define GvHVn(gv) (GvGP(gv)->gp_hv ? \
- GvGP(gv)->gp_hv : \
- GvGP(gv_HVadd(gv))->gp_hv)
-
-#define GvCV(gv) (GvGP(gv)->gp_cv)
-#define GvCVGEN(gv) (GvGP(gv)->gp_cvgen)
-#define GvCVu(gv) (GvGP(gv)->gp_cvgen ? NULL : GvGP(gv)->gp_cv)
-
-#define GvLINE(gv) (GvGP(gv)->gp_line)
-#define GvFILE_HEK(gv) (GvGP(gv)->gp_file_hek)
-#define GvFILE(gv) (GvFILE_HEK(gv) ? HEK_KEY(GvFILE_HEK(gv)) : NULL)
-#define GvFILEGV(gv) (gv_fetchfile(GvFILE(gv)))
-
-#define GvEGV(gv) (GvGP(gv)->gp_egv)
-#define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv)
-#define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv)
-
-#define GVf_INTRO 0x01
-#define GVf_MULTI 0x02
-#define GVf_ASSUMECV 0x04
-#define GVf_IN_PAD 0x08
-#define GVf_IMPORTED 0xF0
-#define GVf_IMPORTED_SV 0x10
-#define GVf_IMPORTED_AV 0x20
-#define GVf_IMPORTED_HV 0x40
-#define GVf_IMPORTED_CV 0x80
-
-#define GvINTRO(gv) (GvFLAGS(gv) & GVf_INTRO)
-#define GvINTRO_on(gv) (GvFLAGS(gv) |= GVf_INTRO)
-#define GvINTRO_off(gv) (GvFLAGS(gv) &= ~GVf_INTRO)
-
-#define GvMULTI(gv) (GvFLAGS(gv) & GVf_MULTI)
-#define GvMULTI_on(gv) (GvFLAGS(gv) |= GVf_MULTI)
-#define GvMULTI_off(gv) (GvFLAGS(gv) &= ~GVf_MULTI)
-
-#define GvASSUMECV(gv) (GvFLAGS(gv) & GVf_ASSUMECV)
-#define GvASSUMECV_on(gv) (GvFLAGS(gv) |= GVf_ASSUMECV)
-#define GvASSUMECV_off(gv) (GvFLAGS(gv) &= ~GVf_ASSUMECV)
-
-#define GvIMPORTED(gv) (GvFLAGS(gv) & GVf_IMPORTED)
-#define GvIMPORTED_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED)
-#define GvIMPORTED_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED)
-
-#define GvIMPORTED_SV(gv) (GvFLAGS(gv) & GVf_IMPORTED_SV)
-#define GvIMPORTED_SV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_SV)
-#define GvIMPORTED_SV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_SV)
-
-#define GvIMPORTED_AV(gv) (GvFLAGS(gv) & GVf_IMPORTED_AV)
-#define GvIMPORTED_AV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_AV)
-#define GvIMPORTED_AV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_AV)
-
-#define GvIMPORTED_HV(gv) (GvFLAGS(gv) & GVf_IMPORTED_HV)
-#define GvIMPORTED_HV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_HV)
-#define GvIMPORTED_HV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_HV)
-
-#define GvIMPORTED_CV(gv) (GvFLAGS(gv) & GVf_IMPORTED_CV)
-#define GvIMPORTED_CV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_CV)
-#define GvIMPORTED_CV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_CV)
-
-#define GvIN_PAD(gv) (GvFLAGS(gv) & GVf_IN_PAD)
-#define GvIN_PAD_on(gv) (GvFLAGS(gv) |= GVf_IN_PAD)
-#define GvIN_PAD_off(gv) (GvFLAGS(gv) &= ~GVf_IN_PAD)
-
-#define GvUNIQUE(gv) 0
-#define GvUNIQUE_on(gv) NOOP
-#define GvUNIQUE_off(gv) NOOP
-
-#ifdef USE_ITHREADS
-#define GV_UNIQUE_CHECK
-#else
-#undef GV_UNIQUE_CHECK
-#endif
-
-#define Nullgv Null(GV*)
-
-#define DM_UID 0x003
-#define DM_RUID 0x001
-#define DM_EUID 0x002
-#define DM_ARRAY 0x004
-#define DM_GID 0x030
-#define DM_RGID 0x010
-#define DM_EGID 0x020
-#define DM_DELAY 0x100
-
-/*
- * symbol creation flags, for use in gv_fetchpv() and get_*v()
- */
-#define GV_ADD 0x01 /* add, if symbol not already there
- For gv_name_set, adding a HEK for the first
- time, so don't try to free what's there. */
-#define GV_ADDMULTI 0x02 /* add, pretending it has been added already */
-#define GV_ADDWARN 0x04 /* add, but warn if symbol wasn't already there */
-#define GV_ADDINEVAL 0x08 /* add, as though we're doing so within an eval */
-#define GV_NOINIT 0x10 /* add, but don't init symbol, if type != PVGV */
-/* This is used by toke.c to avoid turing placeholder constants in the symbol
- table into full PVGVs with attached constant subroutines. */
-#define GV_NOADD_NOINIT 0x20 /* Don't add the symbol if it's not there.
- Don't init it if it is there but ! PVGV */
-#define GV_NOEXPAND 0x40 /* Don't expand SvOK() entries to PVGV */
-#define GV_NOTQUAL 0x80 /* A plain symbol name, not qualified with a
- package (so skip checks for :: and ') */
-
-/* SVf_UTF8 (more accurately the return value from SvUTF8) is also valid
- as a flag to gv_fetch_pvn_flags, so ensure it lies outside this range.
-*/
-
-#define GV_NOADD_MASK (SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL)
-/* The bit flags that don't cause gv_fetchpv() to add a symbol if not found */
-
-#define gv_fullname3(sv,gv,prefix) gv_fullname4(sv,gv,prefix,TRUE)
-#define gv_efullname3(sv,gv,prefix) gv_efullname4(sv,gv,prefix,TRUE)
-#define gv_fetchmethod(stash, name) gv_fetchmethod_autoload(stash, name, TRUE)
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/handy.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/handy.h
deleted file mode 100644
index 2fb67ebb59d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/handy.h
+++ /dev/null
@@ -1,865 +0,0 @@
-/* handy.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
- * 2000, 2001, 2002, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#if !defined(__STDC__)
-#ifdef NULL
-#undef NULL
-#endif
-#ifndef I286
-# define NULL 0
-#else
-# define NULL 0L
-#endif
-#endif
-
-#define Null(type) ((type)NULL)
-
-/*
-=head1 Handy Values
-
-=for apidoc AmU||Nullch
-Null character pointer.
-
-=for apidoc AmU||Nullsv
-Null SV pointer.
-
-=cut
-*/
-
-#define Nullch Null(char*)
-#define Nullfp Null(PerlIO*)
-#define Nullsv Null(SV*)
-
-#ifdef TRUE
-#undef TRUE
-#endif
-#ifdef FALSE
-#undef FALSE
-#endif
-#define TRUE (1)
-#define FALSE (0)
-
-
-/* XXX Configure ought to have a test for a boolean type, if I can
- just figure out all the headers such a test needs.
- Andy Dougherty August 1996
-*/
-/* bool is built-in for g++-2.6.3 and later, which might be used
- for extensions. <_G_config.h> defines _G_HAVE_BOOL, but we can't
- be sure _G_config.h will be included before this file. _G_config.h
- also defines _G_HAVE_BOOL for both gcc and g++, but only g++
- actually has bool. Hence, _G_HAVE_BOOL is pretty useless for us.
- g++ can be identified by __GNUG__.
- Andy Dougherty February 2000
-*/
-#ifdef __GNUG__ /* GNU g++ has bool built-in */
-# ifndef HAS_BOOL
-# define HAS_BOOL 1
-# endif
-#endif
-
-/* The NeXT dynamic loader headers will not build with the bool macro
- So declare them now to clear confusion.
-*/
-#if defined(NeXT) || defined(__NeXT__)
-# undef FALSE
-# undef TRUE
- typedef enum bool { FALSE = 0, TRUE = 1 } bool;
-# define ENUM_BOOL 1
-# ifndef HAS_BOOL
-# define HAS_BOOL 1
-# endif /* !HAS_BOOL */
-#endif /* NeXT || __NeXT__ */
-
-#ifndef HAS_BOOL
-# if defined(UTS) || defined(VMS)
-# define bool int
-# else
-# define bool char
-# endif
-# define HAS_BOOL 1
-#endif
-
-/* Try to figure out __func__ or __FUNCTION__ equivalent, if any.
- * XXX Should really be a Configure probe, with HAS__FUNCTION__
- * and FUNCTION__ as results.
- * XXX Similarly, a Configure probe for __FILE__ and __LINE__ is needed. */
-#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */
-# define FUNCTION__ __func__
-#else
-# if (defined(_MSC_VER) && _MSC_VER < 1300) || /* Pre-MSVC 7.0 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
- (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
-# define FUNCTION__ ""
-# else
-# define FUNCTION__ __FUNCTION__ /* Common extension. */
-# endif
-#endif
-
-/* XXX A note on the perl source internal type system. The
- original intent was that I32 be *exactly* 32 bits.
-
- Currently, we only guarantee that I32 is *at least* 32 bits.
- Specifically, if int is 64 bits, then so is I32. (This is the case
- for the Cray.) This has the advantage of meshing nicely with
- standard library calls (where we pass an I32 and the library is
- expecting an int), but the disadvantage that an I32 is not 32 bits.
- Andy Dougherty August 1996
-
- There is no guarantee that there is *any* integral type with
- exactly 32 bits. It is perfectly legal for a system to have
- sizeof(short) == sizeof(int) == sizeof(long) == 8.
-
- Similarly, there is no guarantee that I16 and U16 have exactly 16
- bits.
-
- For dealing with issues that may arise from various 32/64-bit
- systems, we will ask Configure to check out
-
- SHORTSIZE == sizeof(short)
- INTSIZE == sizeof(int)
- LONGSIZE == sizeof(long)
- LONGLONGSIZE == sizeof(long long) (if HAS_LONG_LONG)
- PTRSIZE == sizeof(void *)
- DOUBLESIZE == sizeof(double)
- LONG_DOUBLESIZE == sizeof(long double) (if HAS_LONG_DOUBLE).
-
-*/
-
-#ifdef I_INTTYPES /* e.g. Linux has int64_t without <inttypes.h> */
-# include <inttypes.h>
-# ifdef INT32_MIN_BROKEN
-# undef INT32_MIN
-# define INT32_MIN (-2147483647-1)
-# endif
-# ifdef INT64_MIN_BROKEN
-# undef INT64_MIN
-# define INT64_MIN (-9223372036854775807LL-1)
-# endif
-#endif
-
-typedef I8TYPE I8;
-typedef U8TYPE U8;
-typedef I16TYPE I16;
-typedef U16TYPE U16;
-typedef I32TYPE I32;
-typedef U32TYPE U32;
-#ifdef PERL_CORE
-# ifdef HAS_QUAD
-typedef I64TYPE I64;
-typedef U64TYPE U64;
-# endif
-#endif /* PERL_CORE */
-
-#if defined(HAS_QUAD) && defined(USE_64_BIT_INT)
-# ifndef UINT64_C /* usually from <inttypes.h> */
-# if defined(HAS_LONG_LONG) && QUADKIND == QUAD_IS_LONG_LONG
-# define INT64_C(c) CAT2(c,LL)
-# define UINT64_C(c) CAT2(c,ULL)
-# else
-# if LONGSIZE == 8 && QUADKIND == QUAD_IS_LONG
-# define INT64_C(c) CAT2(c,L)
-# define UINT64_C(c) CAT2(c,UL)
-# else
-# define INT64_C(c) ((I64TYPE)(c))
-# define UINT64_C(c) ((U64TYPE)(c))
-# endif
-# endif
-# endif
-#endif
-
-/* HMB H.Merijn Brand - a placeholder for preparing Configure patches */
-#if defined(LOCALTIME_R_NEEDS_TZSET) && defined(HAS_PSEUDOFORK) && defined(USE_DTRACE)
-/* Not (yet) used at top level, but mention them for metaconfig */
-#endif
-
-/* Mention I8SIZE, U8SIZE, I16SIZE, U16SIZE, I32SIZE, U32SIZE,
- I64SIZE, and U64SIZE here so that metaconfig pulls them in. */
-
-#if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX)
-
-/* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type.
- Please search CHAR_MAX in perl.h for further details. */
-#define U8_MAX UINT8_MAX
-#define U8_MIN UINT8_MIN
-
-#define I16_MAX INT16_MAX
-#define I16_MIN INT16_MIN
-#define U16_MAX UINT16_MAX
-#define U16_MIN UINT16_MIN
-
-#define I32_MAX INT32_MAX
-#define I32_MIN INT32_MIN
-#ifndef UINT32_MAX_BROKEN /* e.g. HP-UX with gcc messes this up */
-# define U32_MAX UINT32_MAX
-#else
-# define U32_MAX 4294967295U
-#endif
-#define U32_MIN UINT32_MIN
-
-#else
-
-/* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type.
- Please search CHAR_MAX in perl.h for further details. */
-#define U8_MAX PERL_UCHAR_MAX
-#define U8_MIN PERL_UCHAR_MIN
-
-#define I16_MAX PERL_SHORT_MAX
-#define I16_MIN PERL_SHORT_MIN
-#define U16_MAX PERL_USHORT_MAX
-#define U16_MIN PERL_USHORT_MIN
-
-#if LONGSIZE > 4
-# define I32_MAX PERL_INT_MAX
-# define I32_MIN PERL_INT_MIN
-# define U32_MAX PERL_UINT_MAX
-# define U32_MIN PERL_UINT_MIN
-#else
-# define I32_MAX PERL_LONG_MAX
-# define I32_MIN PERL_LONG_MIN
-# define U32_MAX PERL_ULONG_MAX
-# define U32_MIN PERL_ULONG_MIN
-#endif
-
-#endif
-
-/* log(2) is pretty close to 0.30103, just in case anyone is grepping for it */
-#define BIT_DIGITS(N) (((N)*146)/485 + 1) /* log2(10) =~ 146/485 */
-#define TYPE_DIGITS(T) BIT_DIGITS(sizeof(T) * 8)
-#define TYPE_CHARS(T) (TYPE_DIGITS(T) + 2) /* sign, NUL */
-
-#define Ctl(ch) ((ch) & 037)
-
-/*
-=head1 SV-Body Allocation
-
-=for apidoc Ama|SV*|newSVpvs|const char* s
-Like C<newSVpvn>, but takes a literal string instead of a string/length pair.
-
-=for apidoc Ama|SV*|newSVpvs_flags|const char* s|U32 flags
-Like C<newSVpvn_flags>, but takes a literal string instead of a string/length
-pair.
-
-=for apidoc Ama|SV*|newSVpvs_share|const char* s
-Like C<newSVpvn_share>, but takes a literal string instead of a string/length
-pair and omits the hash parameter.
-
-=for apidoc Am|void|sv_catpvs|SV* sv|const char* s
-Like C<sv_catpvn>, but takes a literal string instead of a string/length pair.
-
-=for apidoc Am|void|sv_setpvs|SV* sv|const char* s
-Like C<sv_setpvn>, but takes a literal string instead of a string/length pair.
-
-=head1 Memory Management
-
-=for apidoc Ama|char*|savepvs|const char* s
-Like C<savepvn>, but takes a literal string instead of a string/length pair.
-
-=head1 GV Functions
-
-=for apidoc Am|HV*|gv_stashpvs|const char* name|I32 create
-Like C<gv_stashpvn>, but takes a literal string instead of a string/length pair.
-
-=head1 Hash Manipulation Functions
-
-=for apidoc Am|SV**|hv_fetchs|HV* tb|const char* key|I32 lval
-Like C<hv_fetch>, but takes a literal string instead of a string/length pair.
-
-=for apidoc Am|SV**|hv_stores|HV* tb|const char* key|NULLOK SV* val
-Like C<hv_store>, but takes a literal string instead of a string/length pair
-and omits the hash parameter.
-
-=cut
-*/
-
-/* concatenating with "" ensures that only literal strings are accepted as argument */
-#define STR_WITH_LEN(s) (s ""), (sizeof(s)-1)
-
-/* note that STR_WITH_LEN() can't be used as argument to macros or functions that
- * under some configurations might be macros, which means that it requires the full
- * Perl_xxx(aTHX_ ...) form for any API calls where it's used.
- */
-
-/* STR_WITH_LEN() shortcuts */
-#define newSVpvs(str) Perl_newSVpvn(aTHX_ STR_WITH_LEN(str))
-#define newSVpvs_flags(str,flags) \
- Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN(str), flags)
-#define newSVpvs_share(str) Perl_newSVpvn_share(aTHX_ STR_WITH_LEN(str), 0)
-#define sv_catpvs(sv, str) Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC)
-#define sv_setpvs(sv, str) Perl_sv_setpvn(aTHX_ sv, STR_WITH_LEN(str))
-#define savepvs(str) Perl_savepvn(aTHX_ STR_WITH_LEN(str))
-#define gv_stashpvs(str, create) Perl_gv_stashpvn(aTHX_ STR_WITH_LEN(str), create)
-#define gv_fetchpvs(namebeg, add, sv_type) Perl_gv_fetchpvn_flags(aTHX_ STR_WITH_LEN(namebeg), add, sv_type)
-#define hv_fetchs(hv,key,lval) \
- ((SV **)Perl_hv_common(aTHX_ (hv), NULL, STR_WITH_LEN(key), 0, \
- (lval) ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \
- : HV_FETCH_JUST_SV, NULL, 0))
-
-#define hv_stores(hv,key,val) \
- ((SV **)Perl_hv_common(aTHX_ (hv), NULL, STR_WITH_LEN(key), 0, \
- (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), (val), 0))
-
-
-/*
-=head1 Miscellaneous Functions
-
-=for apidoc Am|bool|strNE|char* s1|char* s2
-Test two strings to see if they are different. Returns true or
-false.
-
-=for apidoc Am|bool|strEQ|char* s1|char* s2
-Test two strings to see if they are equal. Returns true or false.
-
-=for apidoc Am|bool|strLT|char* s1|char* s2
-Test two strings to see if the first, C<s1>, is less than the second,
-C<s2>. Returns true or false.
-
-=for apidoc Am|bool|strLE|char* s1|char* s2
-Test two strings to see if the first, C<s1>, is less than or equal to the
-second, C<s2>. Returns true or false.
-
-=for apidoc Am|bool|strGT|char* s1|char* s2
-Test two strings to see if the first, C<s1>, is greater than the second,
-C<s2>. Returns true or false.
-
-=for apidoc Am|bool|strGE|char* s1|char* s2
-Test two strings to see if the first, C<s1>, is greater than or equal to
-the second, C<s2>. Returns true or false.
-
-=for apidoc Am|bool|strnNE|char* s1|char* s2|STRLEN len
-Test two strings to see if they are different. The C<len> parameter
-indicates the number of bytes to compare. Returns true or false. (A
-wrapper for C<strncmp>).
-
-=for apidoc Am|bool|strnEQ|char* s1|char* s2|STRLEN len
-Test two strings to see if they are equal. The C<len> parameter indicates
-the number of bytes to compare. Returns true or false. (A wrapper for
-C<strncmp>).
-
-=cut
-*/
-
-#define strNE(s1,s2) (strcmp(s1,s2))
-#define strEQ(s1,s2) (!strcmp(s1,s2))
-#define strLT(s1,s2) (strcmp(s1,s2) < 0)
-#define strLE(s1,s2) (strcmp(s1,s2) <= 0)
-#define strGT(s1,s2) (strcmp(s1,s2) > 0)
-#define strGE(s1,s2) (strcmp(s1,s2) >= 0)
-#define strnNE(s1,s2,l) (strncmp(s1,s2,l))
-#define strnEQ(s1,s2,l) (!strncmp(s1,s2,l))
-
-#ifdef HAS_MEMCMP
-# define memNE(s1,s2,l) (memcmp(s1,s2,l))
-# define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
-#else
-# define memNE(s1,s2,l) (bcmp(s1,s2,l))
-# define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
-#endif
-
-#define memEQs(s1, l, s2) \
- (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
-#define memNEs(s1, l, s2) !memEQs(s1, l, s2)
-
-/*
- * Character classes.
- *
- * Unfortunately, the introduction of locales means that we
- * can't trust isupper(), etc. to tell the truth. And when
- * it comes to /\w+/ with tainting enabled, we *must* be able
- * to trust our character classes.
- *
- * Therefore, the default tests in the text of Perl will be
- * independent of locale. Any code that wants to depend on
- * the current locale will use the tests that begin with "lc".
- */
-
-#ifdef HAS_SETLOCALE /* XXX Is there a better test for this? */
-# ifndef CTYPE256
-# define CTYPE256
-# endif
-#endif
-
-/*
-
-=head1 Character classes
-
-=for apidoc Am|bool|isALNUM|char ch
-Returns a boolean indicating whether the C C<char> is an ASCII alphanumeric
-character (including underscore) or digit.
-
-=for apidoc Am|bool|isALPHA|char ch
-Returns a boolean indicating whether the C C<char> is an ASCII alphabetic
-character.
-
-=for apidoc Am|bool|isSPACE|char ch
-Returns a boolean indicating whether the C C<char> is whitespace.
-
-=for apidoc Am|bool|isDIGIT|char ch
-Returns a boolean indicating whether the C C<char> is an ASCII
-digit.
-
-=for apidoc Am|bool|isUPPER|char ch
-Returns a boolean indicating whether the C C<char> is an uppercase
-character.
-
-=for apidoc Am|bool|isLOWER|char ch
-Returns a boolean indicating whether the C C<char> is a lowercase
-character.
-
-=for apidoc Am|char|toUPPER|char ch
-Converts the specified character to uppercase.
-
-=for apidoc Am|char|toLOWER|char ch
-Converts the specified character to lowercase.
-
-=cut
-*/
-
-#define isALNUM(c) (isALPHA(c) || isDIGIT(c) || (c) == '_')
-#define isIDFIRST(c) (isALPHA(c) || (c) == '_')
-#define isALPHA(c) (isUPPER(c) || isLOWER(c))
-#define isSPACE(c) \
- ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) =='\r' || (c) == '\f')
-#define isPSXSPC(c) (isSPACE(c) || (c) == '\v')
-#define isBLANK(c) ((c) == ' ' || (c) == '\t')
-#define isDIGIT(c) ((c) >= '0' && (c) <= '9')
-#ifdef EBCDIC
- /* In EBCDIC we do not do locales: therefore() isupper() is fine. */
-# define isUPPER(c) isupper(c)
-# define isLOWER(c) islower(c)
-# define isALNUMC(c) isalnum(c)
-# define isASCII(c) isascii(c)
-# define isCNTRL(c) iscntrl(c)
-# define isGRAPH(c) isgraph(c)
-# define isPRINT(c) isprint(c)
-# define isPUNCT(c) ispunct(c)
-# define isXDIGIT(c) isxdigit(c)
-# define toUPPER(c) toupper(c)
-# define toLOWER(c) tolower(c)
-#else
-# define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
-# define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
-# define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
-# define isASCII(c) ((c) <= 127)
-# define isCNTRL(c) ((c) < ' ' || (c) == 127)
-# define isGRAPH(c) (isALNUM(c) || isPUNCT(c))
-# define isPRINT(c) (((c) >= 32 && (c) < 127))
-# define isPUNCT(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
-# define isXDIGIT(c) (isDIGIT(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
-# define toUPPER(c) (isLOWER(c) ? (c) - ('a' - 'A') : (c))
-# define toLOWER(c) (isUPPER(c) ? (c) + ('a' - 'A') : (c))
-#endif
-
-#ifdef USE_NEXT_CTYPE
-
-# define isALNUM_LC(c) \
- (NXIsAlNum((unsigned int)(c)) || (char)(c) == '_')
-# define isIDFIRST_LC(c) \
- (NXIsAlpha((unsigned int)(c)) || (char)(c) == '_')
-# define isALPHA_LC(c) NXIsAlpha((unsigned int)(c))
-# define isSPACE_LC(c) NXIsSpace((unsigned int)(c))
-# define isDIGIT_LC(c) NXIsDigit((unsigned int)(c))
-# define isUPPER_LC(c) NXIsUpper((unsigned int)(c))
-# define isLOWER_LC(c) NXIsLower((unsigned int)(c))
-# define isALNUMC_LC(c) NXIsAlNum((unsigned int)(c))
-# define isCNTRL_LC(c) NXIsCntrl((unsigned int)(c))
-# define isGRAPH_LC(c) NXIsGraph((unsigned int)(c))
-# define isPRINT_LC(c) NXIsPrint((unsigned int)(c))
-# define isPUNCT_LC(c) NXIsPunct((unsigned int)(c))
-# define toUPPER_LC(c) NXToUpper((unsigned int)(c))
-# define toLOWER_LC(c) NXToLower((unsigned int)(c))
-
-#else /* !USE_NEXT_CTYPE */
-
-# if defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
-
-# define isALNUM_LC(c) (isalnum((unsigned char)(c)) || (char)(c) == '_')
-# define isIDFIRST_LC(c) (isalpha((unsigned char)(c)) || (char)(c) == '_')
-# define isALPHA_LC(c) isalpha((unsigned char)(c))
-# define isSPACE_LC(c) isspace((unsigned char)(c))
-# define isDIGIT_LC(c) isdigit((unsigned char)(c))
-# define isUPPER_LC(c) isupper((unsigned char)(c))
-# define isLOWER_LC(c) islower((unsigned char)(c))
-# define isALNUMC_LC(c) isalnum((unsigned char)(c))
-# define isCNTRL_LC(c) iscntrl((unsigned char)(c))
-# define isGRAPH_LC(c) isgraph((unsigned char)(c))
-# define isPRINT_LC(c) isprint((unsigned char)(c))
-# define isPUNCT_LC(c) ispunct((unsigned char)(c))
-# define toUPPER_LC(c) toupper((unsigned char)(c))
-# define toLOWER_LC(c) tolower((unsigned char)(c))
-
-# else
-
-# define isALNUM_LC(c) (isascii(c) && (isalnum(c) || (c) == '_'))
-# define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_'))
-# define isALPHA_LC(c) (isascii(c) && isalpha(c))
-# define isSPACE_LC(c) (isascii(c) && isspace(c))
-# define isDIGIT_LC(c) (isascii(c) && isdigit(c))
-# define isUPPER_LC(c) (isascii(c) && isupper(c))
-# define isLOWER_LC(c) (isascii(c) && islower(c))
-# define isALNUMC_LC(c) (isascii(c) && isalnum(c))
-# define isCNTRL_LC(c) (isascii(c) && iscntrl(c))
-# define isGRAPH_LC(c) (isascii(c) && isgraph(c))
-# define isPRINT_LC(c) (isascii(c) && isprint(c))
-# define isPUNCT_LC(c) (isascii(c) && ispunct(c))
-# define toUPPER_LC(c) toupper(c)
-# define toLOWER_LC(c) tolower(c)
-
-# endif
-#endif /* USE_NEXT_CTYPE */
-
-#define isPSXSPC_LC(c) (isSPACE_LC(c) || (c) == '\v')
-#define isBLANK_LC(c) isBLANK(c) /* could be wrong */
-
-#define isALNUM_uni(c) is_uni_alnum(c)
-#define isIDFIRST_uni(c) is_uni_idfirst(c)
-#define isALPHA_uni(c) is_uni_alpha(c)
-#define isSPACE_uni(c) is_uni_space(c)
-#define isDIGIT_uni(c) is_uni_digit(c)
-#define isUPPER_uni(c) is_uni_upper(c)
-#define isLOWER_uni(c) is_uni_lower(c)
-#define isALNUMC_uni(c) is_uni_alnumc(c)
-#define isASCII_uni(c) is_uni_ascii(c)
-#define isCNTRL_uni(c) is_uni_cntrl(c)
-#define isGRAPH_uni(c) is_uni_graph(c)
-#define isPRINT_uni(c) is_uni_print(c)
-#define isPUNCT_uni(c) is_uni_punct(c)
-#define isXDIGIT_uni(c) is_uni_xdigit(c)
-#define toUPPER_uni(c,s,l) to_uni_upper(c,s,l)
-#define toTITLE_uni(c,s,l) to_uni_title(c,s,l)
-#define toLOWER_uni(c,s,l) to_uni_lower(c,s,l)
-#define toFOLD_uni(c,s,l) to_uni_fold(c,s,l)
-
-#define isPSXSPC_uni(c) (isSPACE_uni(c) ||(c) == '\f')
-#define isBLANK_uni(c) isBLANK(c) /* could be wrong */
-
-#define isALNUM_LC_uvchr(c) (c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c))
-#define isIDFIRST_LC_uvchr(c) (c < 256 ? isIDFIRST_LC(c) : is_uni_idfirst_lc(c))
-#define isALPHA_LC_uvchr(c) (c < 256 ? isALPHA_LC(c) : is_uni_alpha_lc(c))
-#define isSPACE_LC_uvchr(c) (c < 256 ? isSPACE_LC(c) : is_uni_space_lc(c))
-#define isDIGIT_LC_uvchr(c) (c < 256 ? isDIGIT_LC(c) : is_uni_digit_lc(c))
-#define isUPPER_LC_uvchr(c) (c < 256 ? isUPPER_LC(c) : is_uni_upper_lc(c))
-#define isLOWER_LC_uvchr(c) (c < 256 ? isLOWER_LC(c) : is_uni_lower_lc(c))
-#define isALNUMC_LC_uvchr(c) (c < 256 ? isALNUMC_LC(c) : is_uni_alnumc_lc(c))
-#define isCNTRL_LC_uvchr(c) (c < 256 ? isCNTRL_LC(c) : is_uni_cntrl_lc(c))
-#define isGRAPH_LC_uvchr(c) (c < 256 ? isGRAPH_LC(c) : is_uni_graph_lc(c))
-#define isPRINT_LC_uvchr(c) (c < 256 ? isPRINT_LC(c) : is_uni_print_lc(c))
-#define isPUNCT_LC_uvchr(c) (c < 256 ? isPUNCT_LC(c) : is_uni_punct_lc(c))
-
-#define isPSXSPC_LC_uni(c) (isSPACE_LC_uni(c) ||(c) == '\f')
-#define isBLANK_LC_uni(c) isBLANK(c) /* could be wrong */
-
-#define isALNUM_utf8(p) is_utf8_alnum(p)
-/* The ID_Start of Unicode is quite limiting: it assumes a L-class
- * character (meaning that you cannot have, say, a CJK character).
- * Instead, let's allow ID_Continue but not digits. */
-#define isIDFIRST_utf8(p) (is_utf8_idcont(p) && !is_utf8_digit(p))
-#define isALPHA_utf8(p) is_utf8_alpha(p)
-#define isSPACE_utf8(p) is_utf8_space(p)
-#define isDIGIT_utf8(p) is_utf8_digit(p)
-#define isUPPER_utf8(p) is_utf8_upper(p)
-#define isLOWER_utf8(p) is_utf8_lower(p)
-#define isALNUMC_utf8(p) is_utf8_alnumc(p)
-#define isASCII_utf8(p) is_utf8_ascii(p)
-#define isCNTRL_utf8(p) is_utf8_cntrl(p)
-#define isGRAPH_utf8(p) is_utf8_graph(p)
-#define isPRINT_utf8(p) is_utf8_print(p)
-#define isPUNCT_utf8(p) is_utf8_punct(p)
-#define isXDIGIT_utf8(p) is_utf8_xdigit(p)
-#define toUPPER_utf8(p,s,l) to_utf8_upper(p,s,l)
-#define toTITLE_utf8(p,s,l) to_utf8_title(p,s,l)
-#define toLOWER_utf8(p,s,l) to_utf8_lower(p,s,l)
-
-#define isPSXSPC_utf8(c) (isSPACE_utf8(c) ||(c) == '\f')
-#define isBLANK_utf8(c) isBLANK(c) /* could be wrong */
-
-#define isALNUM_LC_utf8(p) isALNUM_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isALPHA_LC_utf8(p) isALPHA_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isSPACE_LC_utf8(p) isSPACE_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isDIGIT_LC_utf8(p) isDIGIT_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isUPPER_LC_utf8(p) isUPPER_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isLOWER_LC_utf8(p) isLOWER_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isALNUMC_LC_utf8(p) isALNUMC_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isCNTRL_LC_utf8(p) isCNTRL_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isGRAPH_LC_utf8(p) isGRAPH_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isPRINT_LC_utf8(p) isPRINT_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isPUNCT_LC_utf8(p) isPUNCT_LC_uvchr(utf8_to_uvchr(p, 0))
-
-#define isPSXSPC_LC_utf8(c) (isSPACE_LC_utf8(c) ||(c) == '\f')
-#define isBLANK_LC_utf8(c) isBLANK(c) /* could be wrong */
-
-#ifdef EBCDIC
-# ifdef PERL_IMPLICIT_CONTEXT
-# define toCTRL(c) Perl_ebcdic_control(aTHX_ c)
-# else
-# define toCTRL Perl_ebcdic_control
-# endif
-#else
- /* This conversion works both ways, strangely enough. */
-# define toCTRL(c) (toUPPER(c) ^ 64)
-#endif
-
-/* Line numbers are unsigned, 32 bits. */
-typedef U32 line_t;
-#define NOLINE ((line_t) 4294967295UL)
-
-
-/*
-=head1 Memory Management
-
-=for apidoc Am|void|Newx|void* ptr|int nitems|type
-The XSUB-writer's interface to the C C<malloc> function.
-
-In 5.9.3, Newx() and friends replace the older New() API, and drops
-the first parameter, I<x>, a debug aid which allowed callers to identify
-themselves. This aid has been superseded by a new build option,
-PERL_MEM_LOG (see L<perlhack/PERL_MEM_LOG>). The older API is still
-there for use in XS modules supporting older perls.
-
-=for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
-The XSUB-writer's interface to the C C<malloc> function, with
-cast. See also C<Newx>.
-
-=for apidoc Am|void|Newxz|void* ptr|int nitems|type
-The XSUB-writer's interface to the C C<malloc> function. The allocated
-memory is zeroed with C<memzero>. See also C<Newx>.
-
-=for apidoc Am|void|Renew|void* ptr|int nitems|type
-The XSUB-writer's interface to the C C<realloc> function.
-
-=for apidoc Am|void|Renewc|void* ptr|int nitems|type|cast
-The XSUB-writer's interface to the C C<realloc> function, with
-cast.
-
-=for apidoc Am|void|Safefree|void* ptr
-The XSUB-writer's interface to the C C<free> function.
-
-=for apidoc Am|void|Move|void* src|void* dest|int nitems|type
-The XSUB-writer's interface to the C C<memmove> function. The C<src> is the
-source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is
-the type. Can do overlapping moves. See also C<Copy>.
-
-=for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type
-Like C<Move> but returns dest. Useful for encouraging compilers to tail-call
-optimise.
-
-=for apidoc Am|void|Copy|void* src|void* dest|int nitems|type
-The XSUB-writer's interface to the C C<memcpy> function. The C<src> is the
-source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is
-the type. May fail on overlapping copies. See also C<Move>.
-
-=for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type
-
-Like C<Copy> but returns dest. Useful for encouraging compilers to tail-call
-optimise.
-
-=for apidoc Am|void|Zero|void* dest|int nitems|type
-
-The XSUB-writer's interface to the C C<memzero> function. The C<dest> is the
-destination, C<nitems> is the number of items, and C<type> is the type.
-
-=for apidoc Am|void *|ZeroD|void* dest|int nitems|type
-
-Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call
-optimise.
-
-=for apidoc Am|void|StructCopy|type src|type dest|type
-This is an architecture-independent macro to copy one structure to another.
-
-=for apidoc Am|void|PoisonWith|void* dest|int nitems|type|U8 byte
-
-Fill up memory with a byte pattern (a byte repeated over and over
-again) that hopefully catches attempts to access uninitialized memory.
-
-=for apidoc Am|void|PoisonNew|void* dest|int nitems|type
-
-PoisonWith(0xAB) for catching access to allocated but uninitialized memory.
-
-=for apidoc Am|void|PoisonFree|void* dest|int nitems|type
-
-PoisonWith(0xEF) for catching access to freed memory.
-
-=for apidoc Am|void|Poison|void* dest|int nitems|type
-
-PoisonWith(0xEF) for catching access to freed memory.
-
-=cut */
-
-/* Maintained for backwards-compatibility only. Use newSV() instead. */
-#ifndef PERL_CORE
-#define NEWSV(x,len) newSV(len)
-#endif
-
-#define MEM_SIZE_MAX ((MEM_SIZE)~0)
-
-/* The +0.0 in MEM_WRAP_CHECK_ is an attempt to foil
- * overly eager compilers that will bleat about e.g.
- * (U16)n > (size_t)~0/sizeof(U16) always being false. */
-#ifdef PERL_MALLOC_WRAP
-#define MEM_WRAP_CHECK(n,t) MEM_WRAP_CHECK_1(n,t,PL_memory_wrap)
-#define MEM_WRAP_CHECK_1(n,t,a) \
- (void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t) && (Perl_croak_nocontext(a),0))
-#define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
-
-#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (Perl_croak_nocontext(PL_memory_wrap),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
-
-#else
-
-#define MEM_WRAP_CHECK(n,t)
-#define MEM_WRAP_CHECK_1(n,t,a)
-#define MEM_WRAP_CHECK_2(n,t,a,b)
-#define MEM_WRAP_CHECK_(n,t)
-
-#define PERL_STRLEN_ROUNDUP(n) (((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
-
-#endif
-
-#ifdef PERL_MEM_LOG
-/*
- * If PERL_MEM_LOG is defined, all Newx()s, Renew()s, and Safefree()s
- * go through functions, which are handy for debugging breakpoints, but
- * which more importantly get the immediate calling environment (file and
- * line number, and C function name if available) passed in. This info can
- * then be used for logging the calls, for which one gets a sample
- * implementation if PERL_MEM_LOG_STDERR is defined.
- *
- * Known problems:
- * - all memory allocs do not get logged, only those
- * that go through Newx() and derivatives (while all
- * Safefrees do get logged)
- * - __FILE__ and __LINE__ do not work everywhere
- * - __func__ or __FUNCTION__ even less so
- * - I think more goes on after the perlio frees but
- * the thing is that STDERR gets closed (as do all
- * the file descriptors)
- * - no deeper calling stack than the caller of the Newx()
- * or the kind, but do I look like a C reflection/introspection
- * utility to you?
- * - the function prototypes for the logging functions
- * probably should maybe be somewhere else than handy.h
- * - one could consider inlining (macrofying) the logging
- * for speed, but I am too lazy
- * - one could imagine recording the allocations in a hash,
- * (keyed by the allocation address?), and maintain that
- * through reallocs and frees, but how to do that without
- * any News() happening...?
- */
-
-Malloc_t Perl_mem_log_alloc(const UV n, const UV typesize, const char *typename, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
-
-Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *typename, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname);
-
-Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname);
-
-#endif
-
-#ifdef PERL_MEM_LOG
-#define MEM_LOG_ALLOC(n,t,a) Perl_mem_log_alloc(n,sizeof(t),STRINGIFY(t),a,__FILE__,__LINE__,FUNCTION__)
-#define MEM_LOG_REALLOC(n,t,v,a) Perl_mem_log_realloc(n,sizeof(t),STRINGIFY(t),v,a,__FILE__,__LINE__,FUNCTION__)
-#define MEM_LOG_FREE(a) Perl_mem_log_free(a,__FILE__,__LINE__,FUNCTION__)
-#endif
-
-#ifndef MEM_LOG_ALLOC
-#define MEM_LOG_ALLOC(n,t,a) (a)
-#endif
-#ifndef MEM_LOG_REALLOC
-#define MEM_LOG_REALLOC(n,t,v,a) (a)
-#endif
-#ifndef MEM_LOG_FREE
-#define MEM_LOG_FREE(a) (a)
-#endif
-
-#define Newx(v,n,t) (v = (MEM_WRAP_CHECK_(n,t) MEM_LOG_ALLOC(n,t,(t*)safemalloc((MEM_SIZE)((n)*sizeof(t))))))
-#define Newxc(v,n,t,c) (v = (MEM_WRAP_CHECK_(n,t) MEM_LOG_ALLOC(n,t,(c*)safemalloc((MEM_SIZE)((n)*sizeof(t))))))
-#define Newxz(v,n,t) (v = (MEM_WRAP_CHECK_(n,t) MEM_LOG_ALLOC(n,t,(t*)safecalloc((n),sizeof(t)))))
-
-#ifndef PERL_CORE
-/* pre 5.9.x compatibility */
-#define New(x,v,n,t) Newx(v,n,t)
-#define Newc(x,v,n,t,c) Newxc(v,n,t,c)
-#define Newz(x,v,n,t) Newxz(v,n,t)
-#endif
-
-#define Renew(v,n,t) \
- (v = (MEM_WRAP_CHECK_(n,t) MEM_LOG_REALLOC(n,t,v,(t*)saferealloc((Malloc_t)(v),(MEM_SIZE)((n)*sizeof(t))))))
-#define Renewc(v,n,t,c) \
- (v = (MEM_WRAP_CHECK_(n,t) MEM_LOG_REALLOC(n,t,v,(c*)saferealloc((Malloc_t)(v),(MEM_SIZE)((n)*sizeof(t))))))
-
-#ifdef PERL_POISON
-#define Safefree(d) \
- ((d) ? (void)(safefree(MEM_LOG_FREE((Malloc_t)(d))), Poison(&(d), 1, Malloc_t)) : (void) 0)
-#else
-#define Safefree(d) safefree(MEM_LOG_FREE((Malloc_t)(d)))
-#endif
-
-#define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) (void)memzero((char*)(d), (n) * sizeof(t)))
-
-#define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#ifdef HAS_MEMSET
-#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t)))
-#else
-/* Using bzero(), which returns void. */
-#define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t)),d)
-#endif
-
-#define PoisonWith(d,n,t,b) (MEM_WRAP_CHECK_(n,t) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t)))
-#define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB)
-#define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF)
-#define Poison(d,n,t) PoisonFree(d,n,t)
-
-#ifdef USE_STRUCT_COPY
-#define StructCopy(s,d,t) (*((t*)(d)) = *((t*)(s)))
-#else
-#define StructCopy(s,d,t) Copy(s,d,1,t)
-#endif
-
-#define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
-
-#ifdef NEED_VA_COPY
-# ifdef va_copy
-# define Perl_va_copy(s, d) va_copy(d, s)
-# else
-# if defined(__va_copy)
-# define Perl_va_copy(s, d) __va_copy(d, s)
-# else
-# define Perl_va_copy(s, d) Copy(s, d, 1, va_list)
-# endif
-# endif
-#endif
-
-/* convenience debug macros */
-#ifdef USE_ITHREADS
-#define pTHX_FORMAT "Perl interpreter: 0x%p"
-#define pTHX__FORMAT ", Perl interpreter: 0x%p"
-#define pTHX_VALUE_ (void *)my_perl,
-#define pTHX_VALUE (void *)my_perl
-#define pTHX__VALUE_ ,(void *)my_perl,
-#define pTHX__VALUE ,(void *)my_perl
-#else
-#define pTHX_FORMAT
-#define pTHX__FORMAT
-#define pTHX_VALUE_
-#define pTHX_VALUE
-#define pTHX__VALUE_
-#define pTHX__VALUE
-#endif /* USE_ITHREADS */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/hv.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/hv.h
deleted file mode 100644
index 6548db8b5f3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/hv.h
+++ /dev/null
@@ -1,552 +0,0 @@
-/* hv.h
- *
- * Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/* entry in hash value chain */
-struct he {
- /* Keep hent_next first in this structure, because sv_free_arenas take
- advantage of this to share code between the he arenas and the SV
- body arenas */
- HE *hent_next; /* next entry in chain */
- HEK *hent_hek; /* hash key */
- union {
- SV *hent_val; /* scalar value that was hashed */
- Size_t hent_refcount; /* references for this shared hash key */
- } he_valu;
-};
-
-/* hash key -- defined separately for use as shared pointer */
-struct hek {
- U32 hek_hash; /* hash of key */
- I32 hek_len; /* length of hash key */
- char hek_key[1]; /* variable-length hash key */
- /* the hash-key is \0-terminated */
- /* after the \0 there is a byte for flags, such as whether the key
- is UTF-8 */
-};
-
-struct shared_he {
- struct he shared_he_he;
- struct hek shared_he_hek;
-};
-
-/* Subject to change.
- Don't access this directly.
- Use the funcs in mro.c
-*/
-
-
-/* structure may change, so not public yet */
-struct mro_alg;
-
-struct mro_meta {
- AV *mro_linear_dfs; /* cached dfs @ISA linearization */
- AV *mro_linear_c3; /* cached c3 @ISA linearization */
- HV *mro_nextmethod; /* next::method caching */
- U32 cache_gen; /* Bumping this invalidates our method cache */
- U32 pkg_gen; /* Bumps when local methods/@ISA change */
- const struct mro_alg *mro_which; /* which mro alg is in use? */
-};
-
-/* Subject to change.
- Don't access this directly.
-*/
-
-struct xpvhv_aux {
- HEK *xhv_name; /* name, if a symbol table */
- AV *xhv_backreferences; /* back references for weak references */
- HE *xhv_eiter; /* current entry of iterator */
- I32 xhv_riter; /* current root of iterator */
- struct mro_meta *xhv_mro_meta;
-};
-
-/* hash structure: */
-/* This structure must match the beginning of struct xpvmg in sv.h. */
-struct xpvhv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xhv_fill; /* how full xhv_array currently is */
- STRLEN xhv_max; /* subscript of last element of xhv_array */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-};
-
-#define xhv_keys xiv_u.xivu_iv
-
-typedef struct {
- STRLEN xhv_fill; /* how full xhv_array currently is */
- STRLEN xhv_max; /* subscript of last element of xhv_array */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-} xpvhv_allocated;
-
-/* hash a key */
-/* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins
- * from requirements by Colin Plumb.
- * (http://burtleburtle.net/bob/hash/doobs.html) */
-/* The use of a temporary pointer and the casting games
- * is needed to serve the dual purposes of
- * (a) the hashed data being interpreted as "unsigned char" (new since 5.8,
- * a "char" can be either signed or unsigned, depending on the compiler)
- * (b) catering for old code that uses a "char"
- *
- * The "hash seed" feature was added in Perl 5.8.1 to perturb the results
- * to avoid "algorithmic complexity attacks".
- *
- * If USE_HASH_SEED is defined, hash randomisation is done by default
- * If USE_HASH_SEED_EXPLICIT is defined, hash randomisation is done
- * only if the environment variable PERL_HASH_SEED is set.
- * For maximal control, one can define PERL_HASH_SEED.
- * (see also perl.c:perl_parse()).
- */
-#ifndef PERL_HASH_SEED
-# if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
-# define PERL_HASH_SEED PL_hash_seed
-# else
-# define PERL_HASH_SEED 0
-# endif
-#endif
-#define PERL_HASH(hash,str,len) \
- STMT_START { \
- register const char * const s_PeRlHaSh_tmp = str; \
- register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
- register I32 i_PeRlHaSh = len; \
- register U32 hash_PeRlHaSh = PERL_HASH_SEED; \
- while (i_PeRlHaSh--) { \
- hash_PeRlHaSh += *s_PeRlHaSh++; \
- hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 6); \
- } \
- hash_PeRlHaSh += (hash_PeRlHaSh << 3); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
- (hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
- } STMT_END
-
-/* Only hv.c and mod_perl should be doing this. */
-#ifdef PERL_HASH_INTERNAL_ACCESS
-#define PERL_HASH_INTERNAL(hash,str,len) \
- STMT_START { \
- register const char * const s_PeRlHaSh_tmp = str; \
- register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
- register I32 i_PeRlHaSh = len; \
- register U32 hash_PeRlHaSh = PL_rehash_seed; \
- while (i_PeRlHaSh--) { \
- hash_PeRlHaSh += *s_PeRlHaSh++; \
- hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 6); \
- } \
- hash_PeRlHaSh += (hash_PeRlHaSh << 3); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
- (hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
- } STMT_END
-#endif
-
-/*
-=head1 Hash Manipulation Functions
-
-=for apidoc AmU||HEf_SVKEY
-This flag, used in the length slot of hash entries and magic structures,
-specifies the structure contains an C<SV*> pointer where a C<char*> pointer
-is to be expected. (For information only--not to be used).
-
-=head1 Handy Values
-
-=for apidoc AmU||Nullhv
-Null HV pointer.
-
-=head1 Hash Manipulation Functions
-
-=for apidoc Am|char*|HvNAME|HV* stash
-Returns the package name of a stash, or NULL if C<stash> isn't a stash.
-See C<SvSTASH>, C<CvSTASH>.
-
-=for apidoc Am|void*|HeKEY|HE* he
-Returns the actual pointer stored in the key slot of the hash entry. The
-pointer may be either C<char*> or C<SV*>, depending on the value of
-C<HeKLEN()>. Can be assigned to. The C<HePV()> or C<HeSVKEY()> macros are
-usually preferable for finding the value of a key.
-
-=for apidoc Am|STRLEN|HeKLEN|HE* he
-If this is negative, and amounts to C<HEf_SVKEY>, it indicates the entry
-holds an C<SV*> key. Otherwise, holds the actual length of the key. Can
-be assigned to. The C<HePV()> macro is usually preferable for finding key
-lengths.
-
-=for apidoc Am|SV*|HeVAL|HE* he
-Returns the value slot (type C<SV*>) stored in the hash entry.
-
-=for apidoc Am|U32|HeHASH|HE* he
-Returns the computed hash stored in the hash entry.
-
-=for apidoc Am|char*|HePV|HE* he|STRLEN len
-Returns the key slot of the hash entry as a C<char*> value, doing any
-necessary dereferencing of possibly C<SV*> keys. The length of the string
-is placed in C<len> (this is a macro, so do I<not> use C<&len>). If you do
-not care about what the length of the key is, you may use the global
-variable C<PL_na>, though this is rather less efficient than using a local
-variable. Remember though, that hash keys in perl are free to contain
-embedded nulls, so using C<strlen()> or similar is not a good way to find
-the length of hash keys. This is very similar to the C<SvPV()> macro
-described elsewhere in this document. See also C<HeUTF8>.
-
-If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a
-new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more
-efficient.
-
-=for apidoc Am|char*|HeUTF8|HE* he|STRLEN len
-Returns whether the C<char *> value returned by C<HePV> is encoded in UTF-8,
-doing any necessary dereferencing of possibly C<SV*> keys. The value returned
-will be 0 or non-0, not necessarily 1 (or even a value with any low bits set),
-so B<do not> blindly assign this to a C<bool> variable, as C<bool> may be a
-typedef for C<char>.
-
-=for apidoc Am|SV*|HeSVKEY|HE* he
-Returns the key as an C<SV*>, or C<NULL> if the hash entry does not
-contain an C<SV*> key.
-
-=for apidoc Am|SV*|HeSVKEY_force|HE* he
-Returns the key as an C<SV*>. Will create and return a temporary mortal
-C<SV*> if the hash entry contains only a C<char*> key.
-
-=for apidoc Am|SV*|HeSVKEY_set|HE* he|SV* sv
-Sets the key to a given C<SV*>, taking care to set the appropriate flags to
-indicate the presence of an C<SV*> key, and returns the same
-C<SV*>.
-
-=cut
-*/
-
-/* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */
-#define HEf_SVKEY -2 /* hent_key is an SV* */
-
-
-#define Nullhv Null(HV*)
-#define HvARRAY(hv) ((hv)->sv_u.svu_hash)
-#define HvFILL(hv) ((XPVHV*) SvANY(hv))->xhv_fill
-#define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max
-/* This quite intentionally does no flag checking first. That's your
- responsibility. */
-#define HvAUX(hv) ((struct xpvhv_aux*)&(HvARRAY(hv)[HvMAX(hv)+1]))
-#define HvRITER(hv) (*Perl_hv_riter_p(aTHX_ (HV*)(hv)))
-#define HvEITER(hv) (*Perl_hv_eiter_p(aTHX_ (HV*)(hv)))
-#define HvRITER_set(hv,r) Perl_hv_riter_set(aTHX_ (HV*)(hv), r)
-#define HvEITER_set(hv,e) Perl_hv_eiter_set(aTHX_ (HV*)(hv), e)
-#define HvRITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_riter : -1)
-#define HvEITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_eiter : NULL)
-#define HvNAME(hv) HvNAME_get(hv)
-
-/* Checking that hv is a valid package stash is the
- caller's responsibility */
-#define HvMROMETA(hv) (HvAUX(hv)->xhv_mro_meta \
- ? HvAUX(hv)->xhv_mro_meta \
- : mro_meta_init(hv))
-
-/* FIXME - all of these should use a UTF8 aware API, which should also involve
- getting the length. */
-/* This macro may go away without notice. */
-#define HvNAME_HEK(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_name : NULL)
-#define HvNAME_get(hv) ((SvOOK(hv) && (HvAUX(hv)->xhv_name)) \
- ? HEK_KEY(HvAUX(hv)->xhv_name) : NULL)
-#define HvNAMELEN_get(hv) ((SvOOK(hv) && (HvAUX(hv)->xhv_name)) \
- ? HEK_LEN(HvAUX(hv)->xhv_name) : 0)
-
-/* the number of keys (including any placeholers) */
-#define XHvTOTALKEYS(xhv) ((xhv)->xhv_keys)
-
-/*
- * HvKEYS gets the number of keys that actually exist(), and is provided
- * for backwards compatibility with old XS code. The core uses HvUSEDKEYS
- * (keys, excluding placeholdes) and HvTOTALKEYS (including placeholders)
- */
-#define HvKEYS(hv) HvUSEDKEYS(hv)
-#define HvUSEDKEYS(hv) (HvTOTALKEYS(hv) - HvPLACEHOLDERS_get(hv))
-#define HvTOTALKEYS(hv) XHvTOTALKEYS((XPVHV*) SvANY(hv))
-#define HvPLACEHOLDERS(hv) (*Perl_hv_placeholders_p(aTHX_ (HV*)hv))
-#define HvPLACEHOLDERS_get(hv) (SvMAGIC(hv) ? Perl_hv_placeholders_get(aTHX_ (HV*)hv) : 0)
-#define HvPLACEHOLDERS_set(hv,p) Perl_hv_placeholders_set(aTHX_ (HV*)hv, p)
-
-#define HvSHAREKEYS(hv) (SvFLAGS(hv) & SVphv_SHAREKEYS)
-#define HvSHAREKEYS_on(hv) (SvFLAGS(hv) |= SVphv_SHAREKEYS)
-#define HvSHAREKEYS_off(hv) (SvFLAGS(hv) &= ~SVphv_SHAREKEYS)
-
-/* This is an optimisation flag. It won't be set if all hash keys have a 0
- * flag. Currently the only flags relate to utf8.
- * Hence it won't be set if all keys are 8 bit only. It will be set if any key
- * is utf8 (including 8 bit keys that were entered as utf8, and need upgrading
- * when retrieved during iteration. It may still be set when there are no longer
- * any utf8 keys.
- * See HVhek_ENABLEHVKFLAGS for the trigger.
- */
-#define HvHASKFLAGS(hv) (SvFLAGS(hv) & SVphv_HASKFLAGS)
-#define HvHASKFLAGS_on(hv) (SvFLAGS(hv) |= SVphv_HASKFLAGS)
-#define HvHASKFLAGS_off(hv) (SvFLAGS(hv) &= ~SVphv_HASKFLAGS)
-
-#define HvLAZYDEL(hv) (SvFLAGS(hv) & SVphv_LAZYDEL)
-#define HvLAZYDEL_on(hv) (SvFLAGS(hv) |= SVphv_LAZYDEL)
-#define HvLAZYDEL_off(hv) (SvFLAGS(hv) &= ~SVphv_LAZYDEL)
-
-#define HvREHASH(hv) (SvFLAGS(hv) & SVphv_REHASH)
-#define HvREHASH_on(hv) (SvFLAGS(hv) |= SVphv_REHASH)
-#define HvREHASH_off(hv) (SvFLAGS(hv) &= ~SVphv_REHASH)
-
-#define Nullhe Null(HE*)
-#define HeNEXT(he) (he)->hent_next
-#define HeKEY_hek(he) (he)->hent_hek
-#define HeKEY(he) HEK_KEY(HeKEY_hek(he))
-#define HeKEY_sv(he) (*(SV**)HeKEY(he))
-#define HeKLEN(he) HEK_LEN(HeKEY_hek(he))
-#define HeKUTF8(he) HEK_UTF8(HeKEY_hek(he))
-#define HeKWASUTF8(he) HEK_WASUTF8(HeKEY_hek(he))
-#define HeKREHASH(he) HEK_REHASH(HeKEY_hek(he))
-#define HeKLEN_UTF8(he) (HeKUTF8(he) ? -HeKLEN(he) : HeKLEN(he))
-#define HeKFLAGS(he) HEK_FLAGS(HeKEY_hek(he))
-#define HeVAL(he) (he)->he_valu.hent_val
-#define HeHASH(he) HEK_HASH(HeKEY_hek(he))
-#define HePV(he,lp) ((HeKLEN(he) == HEf_SVKEY) ? \
- SvPV(HeKEY_sv(he),lp) : \
- ((lp = HeKLEN(he)), HeKEY(he)))
-#define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \
- SvUTF8(HeKEY_sv(he)) : \
- (U32)HeKUTF8(he))
-
-#define HeSVKEY(he) ((HeKEY(he) && \
- HeKLEN(he) == HEf_SVKEY) ? \
- HeKEY_sv(he) : NULL)
-
-#define HeSVKEY_force(he) (HeKEY(he) ? \
- ((HeKLEN(he) == HEf_SVKEY) ? \
- HeKEY_sv(he) : \
- newSVpvn_flags(HeKEY(he), \
- HeKLEN(he), SVs_TEMP)) : \
- &PL_sv_undef)
-#define HeSVKEY_set(he,sv) ((HeKLEN(he) = HEf_SVKEY), (HeKEY_sv(he) = sv))
-
-#define Nullhek Null(HEK*)
-#define HEK_BASESIZE STRUCT_OFFSET(HEK, hek_key[0])
-#define HEK_HASH(hek) (hek)->hek_hash
-#define HEK_LEN(hek) (hek)->hek_len
-#define HEK_KEY(hek) (hek)->hek_key
-#define HEK_FLAGS(hek) (*((unsigned char *)(HEK_KEY(hek))+HEK_LEN(hek)+1))
-
-#define HVhek_UTF8 0x01 /* Key is utf8 encoded. */
-#define HVhek_WASUTF8 0x02 /* Key is bytes here, but was supplied as utf8. */
-#define HVhek_REHASH 0x04 /* This key is in an hv using a custom HASH . */
-#define HVhek_UNSHARED 0x08 /* This key isn't a shared hash key. */
-#define HVhek_FREEKEY 0x100 /* Internal flag to say key is malloc()ed. */
-#define HVhek_PLACEHOLD 0x200 /* Internal flag to create placeholder.
- * (may change, but Storable is a core module) */
-#define HVhek_MASK 0xFF
-
-/* Which flags enable HvHASKFLAGS? Somewhat a hack on a hack, as
- HVhek_REHASH is only needed because the rehash flag has to be duplicated
- into all keys as hv_iternext has no access to the hash flags. At this
- point Storable's tests get upset, because sometimes hashes are "keyed"
- and sometimes not, depending on the order of data insertion, and whether
- it triggered rehashing. So currently HVhek_REHASH is exempt.
- Similarly UNSHARED
-*/
-
-#define HVhek_ENABLEHVKFLAGS (HVhek_MASK & ~(HVhek_REHASH|HVhek_UNSHARED))
-
-#define HEK_UTF8(hek) (HEK_FLAGS(hek) & HVhek_UTF8)
-#define HEK_UTF8_on(hek) (HEK_FLAGS(hek) |= HVhek_UTF8)
-#define HEK_UTF8_off(hek) (HEK_FLAGS(hek) &= ~HVhek_UTF8)
-#define HEK_WASUTF8(hek) (HEK_FLAGS(hek) & HVhek_WASUTF8)
-#define HEK_WASUTF8_on(hek) (HEK_FLAGS(hek) |= HVhek_WASUTF8)
-#define HEK_WASUTF8_off(hek) (HEK_FLAGS(hek) &= ~HVhek_WASUTF8)
-#define HEK_REHASH(hek) (HEK_FLAGS(hek) & HVhek_REHASH)
-#define HEK_REHASH_on(hek) (HEK_FLAGS(hek) |= HVhek_REHASH)
-
-/* calculate HV array allocation */
-#ifndef PERL_USE_LARGE_HV_ALLOC
-/* Default to allocating the correct size - default to assuming that malloc()
- is not broken and is efficient at allocating blocks sized at powers-of-two.
-*/
-# define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE*))
-#else
-# define MALLOC_OVERHEAD 16
-# define PERL_HV_ARRAY_ALLOC_BYTES(size) \
- (((size) < 64) \
- ? (size) * sizeof(HE*) \
- : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD)
-#endif
-
-/* Flags for hv_iternext_flags. */
-#define HV_ITERNEXT_WANTPLACEHOLDERS 0x01 /* Don't skip placeholders. */
-
-#define hv_iternext(hv) hv_iternext_flags(hv, 0)
-#define hv_magic(hv, gv, how) sv_magic((SV*)(hv), (SV*)(gv), how, NULL, 0)
-
-/* available as a function in hv.c */
-#define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash))
-#define sharepvn(sv, len, hash) Perl_sharepvn(sv, len, hash)
-
-#define share_hek_hek(hek) \
- (++(((struct shared_he *)(((char *)hek) \
- - STRUCT_OFFSET(struct shared_he, \
- shared_he_hek))) \
- ->shared_he_he.he_valu.hent_refcount), \
- hek)
-
-#define hv_store_ent(hv, keysv, val, hash) \
- ((HE *) hv_common((hv), (keysv), NULL, 0, 0, HV_FETCH_ISSTORE, \
- (val), (hash)))
-
-#define hv_exists_ent(hv, keysv, hash) \
- (hv_common((hv), (keysv), NULL, 0, 0, HV_FETCH_ISEXISTS, 0, (hash)) \
- ? TRUE : FALSE)
-#define hv_fetch_ent(hv, keysv, lval, hash) \
- ((HE *) hv_common((hv), (keysv), NULL, 0, 0, \
- ((lval) ? HV_FETCH_LVALUE : 0), NULL, (hash)))
-#define hv_delete_ent(hv, key, flags, hash) \
- ((SV *) hv_common((hv), (key), NULL, 0, 0, (flags) | HV_DELETE, \
- NULL, (hash)))
-
-#define hv_store_flags(hv, key, klen, val, hash, flags) \
- ((SV**) hv_common((hv), NULL, (key), (klen), (flags), \
- (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), (val), \
- (hash)))
-
-#define hv_store(hv, key, klen, val, hash) \
- ((SV**) hv_common_key_len((hv), (key), (klen), \
- (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), \
- (val), (hash)))
-
-#define hv_exists(hv, key, klen) \
- (hv_common_key_len((hv), (key), (klen), HV_FETCH_ISEXISTS, NULL, 0) \
- ? TRUE : FALSE)
-
-#define hv_fetch(hv, key, klen, lval) \
- ((SV**) hv_common_key_len((hv), (key), (klen), (lval) \
- ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \
- : HV_FETCH_JUST_SV, NULL, 0))
-
-#define hv_delete(hv, key, klen, flags) \
- ((SV*) hv_common_key_len((hv), (key), (klen), \
- (flags) | HV_DELETE, NULL, 0))
-
-/* This refcounted he structure is used for storing the hints used for lexical
- pragmas. Without threads, it's basically struct he + refcount.
- With threads, life gets more complex as the structure needs to be shared
- between threads (because it hangs from OPs, which are shared), hence the
- alternate definition and mutex. */
-
-struct refcounted_he;
-
-#ifdef PERL_CORE
-
-/* Gosh. This really isn't a good name any longer. */
-struct refcounted_he {
- struct refcounted_he *refcounted_he_next; /* next entry in chain */
-#ifdef USE_ITHREADS
- U32 refcounted_he_hash;
- U32 refcounted_he_keylen;
-#else
- HEK *refcounted_he_hek; /* hint key */
-#endif
- union {
- IV refcounted_he_u_iv;
- UV refcounted_he_u_uv;
- STRLEN refcounted_he_u_len;
- void *refcounted_he_u_ptr; /* Might be useful in future */
- } refcounted_he_val;
- U32 refcounted_he_refcnt; /* reference count */
- /* First byte is flags. Then NUL-terminated value. Then for ithreads,
- non-NUL terminated key. */
- char refcounted_he_data[1];
-};
-
-/* Flag bits are HVhek_UTF8, HVhek_WASUTF8, then */
-#define HVrhek_undef 0x00 /* Value is undef. */
-#define HVrhek_delete 0x10 /* Value is placeholder - signifies delete. */
-#define HVrhek_IV 0x20 /* Value is IV. */
-#define HVrhek_UV 0x30 /* Value is UV. */
-#define HVrhek_PV 0x40 /* Value is a (byte) string. */
-#define HVrhek_PV_UTF8 0x50 /* Value is a (utf8) string. */
-/* Two spare. As these have to live in the optree, you can't store anything
- interpreter specific, such as SVs. :-( */
-#define HVrhek_typemask 0x70
-
-#ifdef USE_ITHREADS
-/* A big expression to find the key offset */
-#define REF_HE_KEY(chain) \
- ((((chain->refcounted_he_data[0] & 0x60) == 0x40) \
- ? chain->refcounted_he_val.refcounted_he_u_len + 1 : 0) \
- + 1 + chain->refcounted_he_data)
-#endif
-
-# ifdef USE_ITHREADS
-# define HINTS_REFCNT_LOCK MUTEX_LOCK(&PL_hints_mutex)
-# define HINTS_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_hints_mutex)
-# else
-# define HINTS_REFCNT_LOCK NOOP
-# define HINTS_REFCNT_UNLOCK NOOP
-# endif
-#endif
-
-#ifdef USE_ITHREADS
-# define HINTS_REFCNT_INIT MUTEX_INIT(&PL_hints_mutex)
-# define HINTS_REFCNT_TERM MUTEX_DESTROY(&PL_hints_mutex)
-#else
-# define HINTS_REFCNT_INIT NOOP
-# define HINTS_REFCNT_TERM NOOP
-#endif
-
-/* Hash actions
- * Passed in PERL_MAGIC_uvar calls
- */
-#define HV_DISABLE_UVAR_XKEY 0x01
-/* We need to ensure that these don't clash with G_DISCARD, which is 2, as it
- is documented as being passed to hv_delete(). */
-#define HV_FETCH_ISSTORE 0x04
-#define HV_FETCH_ISEXISTS 0x08
-#define HV_FETCH_LVALUE 0x10
-#define HV_FETCH_JUST_SV 0x20
-#define HV_DELETE 0x40
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/intrpvar.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/intrpvar.h
deleted file mode 100644
index 3dc8a006dab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/intrpvar.h
+++ /dev/null
@@ -1,686 +0,0 @@
-/* intrpvar.h
- *
- * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- * 2006, 2007
- * by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
-=head1 Per-Interpreter Variables
-*/
-
-/* These variables are per-interpreter in threaded/multiplicity builds,
- * global otherwise.
-
- * Don't forget to re-run embed.pl to propagate changes! */
-
-/* New variables must be added to the very end for binary compatibility.
- * XSUB.h provides wrapper functions via perlapi.h that make this
- * irrelevant, but not all code may be expected to #include XSUB.h. */
-
-/* Don't forget to add your variable also to perl_clone()! */
-
-/* The 'I' prefix is only needed for vars that need appropriate #defines
- * generated when built with or without MULTIPLICITY. It is also used
- * to generate the appropriate export list for win32.
- *
- * When building without MULTIPLICITY, these variables will be truly global.
- *
- * Important ones in the first cache line (if alignment is done right) */
-
-PERLVAR(Istack_sp, SV **) /* top of the stack */
-#ifdef OP_IN_REGISTER
-PERLVAR(Iopsave, OP *)
-#else
-PERLVAR(Iop, OP *) /* currently executing op */
-#endif
-PERLVAR(Icurpad, SV **) /* active pad (lexicals+tmps) */
-
-PERLVAR(Istack_base, SV **)
-PERLVAR(Istack_max, SV **)
-
-PERLVAR(Iscopestack, I32 *) /* scopes we've ENTERed */
-PERLVAR(Iscopestack_ix, I32)
-PERLVAR(Iscopestack_max,I32)
-
-PERLVAR(Isavestack, ANY *) /* items that need to be restored when
- LEAVEing scopes we've ENTERed */
-PERLVAR(Isavestack_ix, I32)
-PERLVAR(Isavestack_max, I32)
-
-PERLVAR(Itmps_stack, SV **) /* mortals we've made */
-PERLVARI(Itmps_ix, I32, -1)
-PERLVARI(Itmps_floor, I32, -1)
-PERLVAR(Itmps_max, I32)
-PERLVAR(Imodcount, I32) /* how much mod()ification in
- assignment? */
-
-PERLVAR(Imarkstack, I32 *) /* stack_sp locations we're
- remembering */
-PERLVAR(Imarkstack_ptr, I32 *)
-PERLVAR(Imarkstack_max, I32 *)
-
-PERLVAR(ISv, SV *) /* used to hold temporary values */
-PERLVAR(IXpv, XPV *) /* used to hold temporary values */
-
-/*
-=for apidoc Amn|STRLEN|PL_na
-
-A convenience variable which is typically used with C<SvPV> when one
-doesn't care about the length of the string. It is usually more efficient
-to either declare a local variable and use that instead or to use the
-C<SvPV_nolen> macro.
-
-=cut
-*/
-
-PERLVAR(Ina, STRLEN) /* for use in SvPV when length is
- Not Applicable */
-
-/* stat stuff */
-PERLVAR(Istatbuf, Stat_t)
-PERLVAR(Istatcache, Stat_t) /* _ */
-PERLVAR(Istatgv, GV *)
-PERLVARI(Istatname, SV *, NULL)
-
-#ifdef HAS_TIMES
-PERLVAR(Itimesbuf, struct tms)
-#endif
-
-/* Fields used by magic variables such as $@, $/ and so on */
-PERLVAR(Icurpm, PMOP *) /* what to do \ interps in REs from */
-
-/*
-=for apidoc mn|SV*|PL_rs
-
-The input record separator - C<$/> in Perl space.
-
-=for apidoc mn|GV*|PL_last_in_gv
-
-The GV which was last used for a filehandle input operation. (C<< <FH> >>)
-
-=for apidoc mn|SV*|PL_ofs_sv
-
-The output field separator - C<$,> in Perl space.
-
-=cut
-*/
-
-PERLVAR(Irs, SV *) /* input record separator $/ */
-PERLVAR(Ilast_in_gv, GV *) /* GV used in last <FH> */
-PERLVAR(Iofs_sv, SV *) /* output field separator $, */
-PERLVAR(Idefoutgv, GV *) /* default FH for output */
-PERLVARI(Ichopset, const char *, " \n-") /* $: */
-PERLVAR(Iformtarget, SV *)
-PERLVAR(Ibodytarget, SV *)
-PERLVAR(Itoptarget, SV *)
-
-/* Stashes */
-PERLVAR(Idefstash, HV *) /* main symbol table */
-PERLVAR(Icurstash, HV *) /* symbol table for current package */
-
-PERLVAR(Irestartop, OP *) /* propagating an error from croak? */
-PERLVAR(Icurcop, COP * VOL)
-PERLVAR(Icurstack, AV *) /* THE STACK */
-PERLVAR(Icurstackinfo, PERL_SI *) /* current stack + context */
-PERLVAR(Imainstack, AV *) /* the stack when nothing funny is
- happening */
-
-PERLVAR(Itop_env, JMPENV *) /* ptr to current sigjmp environment */
-PERLVAR(Istart_env, JMPENV) /* empty startup sigjmp environment */
-PERLVARI(Ierrors, SV *, NULL) /* outstanding queued errors */
-
-/* statics "owned" by various functions */
-PERLVAR(Ihv_fetch_ent_mh, HE*) /* owned by hv_fetch_ent() */
-
-PERLVAR(Ilastgotoprobe, OP*) /* from pp_ctl.c */
-
-/* sort stuff */
-PERLVAR(Isortcop, OP *) /* user defined sort routine */
-PERLVAR(Isortstash, HV *) /* which is in some package or other */
-PERLVAR(Ifirstgv, GV *) /* $a */
-PERLVAR(Isecondgv, GV *) /* $b */
-
-/* float buffer */
-PERLVAR(Iefloatbuf, char *)
-PERLVAR(Iefloatsize, STRLEN)
-
-/* regex stuff */
-
-PERLVAR(Iscreamfirst, I32 *)
-PERLVAR(Iscreamnext, I32 *)
-PERLVAR(Ilastscream, SV *)
-
-PERLVAR(Ireg_state, struct re_save_state)
-
-PERLVAR(Iregdummy, regnode) /* from regcomp.c */
-
-PERLVARI(Idumpindent, U16, 4) /* number of blanks per dump
- indentation level */
-
-
-PERLVAR(Iutf8locale, bool) /* utf8 locale detected */
-PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */
-
-PERLVARA(Icolors,6, char *) /* from regcomp.c */
-
-PERLVARI(Ipeepp, peep_t, MEMBER_TO_FPTR(Perl_peep))
- /* Pointer to peephole optimizer */
-
-PERLVARI(Imaxscream, I32, -1)
-PERLVARI(Ireginterp_cnt,I32, 0) /* Whether "Regexp" was interpolated. */
-PERLVARI(Iwatchaddr, char **, 0)
-PERLVAR(Iwatchok, char *)
-
-/* the currently active slab in a chain of slabs of regmatch states,
- * and the currently active state within that slab */
-
-PERLVARI(Iregmatch_slab, regmatch_slab *, NULL)
-PERLVAR(Iregmatch_state, regmatch_state *)
-
-/* Put anything new that is pointer aligned here. */
-
-PERLVAR(Idelaymagic, U16) /* ($<,$>) = ... */
-PERLVAR(Ilocalizing, U8) /* are we processing a local() list? */
-PERLVAR(Icolorset, bool) /* from regcomp.c */
-PERLVARI(Idirty, bool, FALSE) /* in the middle of tearing things
- down? */
-PERLVAR(Iin_eval, VOL U8) /* trap "fatal" errors? */
-PERLVAR(Itainted, bool) /* using variables controlled by $< */
-
-/* This value may be set when embedding for full cleanup */
-/* 0=none, 1=full, 2=full with checks */
-/* mod_perl is special, and also assigns a meaning -1 */
-PERLVARI(Iperl_destruct_level, signed char, 0)
-
-PERLVAR(Iperldb, U32)
-
-/* pseudo environmental stuff */
-PERLVAR(Iorigargc, int)
-PERLVAR(Iorigargv, char **)
-PERLVAR(Ienvgv, GV *)
-PERLVAR(Iincgv, GV *)
-PERLVAR(Ihintgv, GV *)
-PERLVAR(Iorigfilename, char *)
-PERLVAR(Idiehook, SV *)
-PERLVAR(Iwarnhook, SV *)
-
-/* switches */
-PERLVAR(Ipatchlevel, SV *)
-PERLVAR(Ilocalpatches, const char * const *)
-PERLVARI(Isplitstr, const char *, " ")
-
-PERLVAR(Iminus_c, bool)
-PERLVAR(Ipreprocess, bool)
-PERLVAR(Iminus_n, bool)
-PERLVAR(Iminus_p, bool)
-PERLVAR(Iminus_l, bool)
-PERLVAR(Iminus_a, bool)
-PERLVAR(Iminus_F, bool)
-PERLVAR(Idoswitches, bool)
-
-PERLVAR(Iminus_E, bool)
-
-/*
-
-=for apidoc mn|bool|PL_dowarn
-
-The C variable which corresponds to Perl's $^W warning variable.
-
-=cut
-*/
-
-PERLVAR(Idowarn, U8)
-PERLVAR(Idoextract, bool)
-PERLVAR(Isawampersand, bool) /* must save all match strings */
-PERLVAR(Iunsafe, bool)
-PERLVAR(Iexit_flags, U8) /* was exit() unexpected, etc. */
-PERLVAR(Isrand_called, bool)
-/* Part of internal state, but makes the 16th 1 byte variable in a row. */
-PERLVAR(Itainting, bool) /* doing taint checks */
-PERLVAR(Iinplace, char *)
-PERLVAR(Ie_script, SV *)
-
-/* magical thingies */
-PERLVAR(Ibasetime, Time_t) /* $^T */
-PERLVAR(Iformfeed, SV *) /* $^L */
-
-
-PERLVARI(Imaxsysfd, I32, MAXSYSFD)
- /* top fd to pass to subprocesses */
-PERLVAR(Istatusvalue, I32) /* $? */
-#ifdef VMS
-PERLVAR(Istatusvalue_vms,U32)
-#else
-PERLVAR(Istatusvalue_posix,I32)
-#endif
-
-PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */
-PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */
-
-/* shortcuts to various I/O objects */
-PERLVAR(Istdingv, GV *)
-PERLVAR(Istderrgv, GV *)
-PERLVAR(Idefgv, GV *)
-PERLVAR(Iargvgv, GV *)
-PERLVAR(Iargvoutgv, GV *)
-PERLVAR(Iargvout_stack, AV *)
-
-/* shortcuts to regexp stuff */
-PERLVAR(Ireplgv, GV *)
-
-/* shortcuts to misc objects */
-PERLVAR(Ierrgv, GV *)
-
-/* shortcuts to debugging objects */
-PERLVAR(IDBgv, GV *)
-PERLVAR(IDBline, GV *)
-
-/*
-=for apidoc mn|GV *|PL_DBsub
-When Perl is run in debugging mode, with the B<-d> switch, this GV contains
-the SV which holds the name of the sub being debugged. This is the C
-variable which corresponds to Perl's $DB::sub variable. See
-C<PL_DBsingle>.
-
-=for apidoc mn|SV *|PL_DBsingle
-When Perl is run in debugging mode, with the B<-d> switch, this SV is a
-boolean which indicates whether subs are being single-stepped.
-Single-stepping is automatically turned on after every step. This is the C
-variable which corresponds to Perl's $DB::single variable. See
-C<PL_DBsub>.
-
-=for apidoc mn|SV *|PL_DBtrace
-Trace variable used when Perl is run in debugging mode, with the B<-d>
-switch. This is the C variable which corresponds to Perl's $DB::trace
-variable. See C<PL_DBsingle>.
-
-=cut
-*/
-
-PERLVAR(IDBsub, GV *)
-PERLVAR(IDBsingle, SV *)
-PERLVAR(IDBtrace, SV *)
-PERLVAR(IDBsignal, SV *)
-PERLVAR(Idbargs, AV *) /* args to call listed by caller function */
-
-/* symbol tables */
-PERLVAR(Idebstash, HV *) /* symbol table for perldb package */
-PERLVAR(Iglobalstash, HV *) /* global keyword overrides imported here */
-PERLVAR(Icurstname, SV *) /* name of current package */
-PERLVAR(Ibeginav, AV *) /* names of BEGIN subroutines */
-PERLVAR(Iendav, AV *) /* names of END subroutines */
-PERLVAR(Iunitcheckav, AV *) /* names of UNITCHECK subroutines */
-PERLVAR(Icheckav, AV *) /* names of CHECK subroutines */
-PERLVAR(Iinitav, AV *) /* names of INIT subroutines */
-PERLVAR(Istrtab, HV *) /* shared string table */
-PERLVARI(Isub_generation,U32,1) /* incr to invalidate method cache */
-
-/* funky return mechanisms */
-PERLVAR(Iforkprocess, int) /* so do_open |- can return proc# */
-
-/* memory management */
-PERLVAR(Isv_count, I32) /* how many SV* are currently allocated */
-PERLVAR(Isv_objcount, I32) /* how many objects are currently allocated */
-PERLVAR(Isv_root, SV*) /* storage for SVs belonging to interp */
-PERLVAR(Isv_arenaroot, SV*) /* list of areas for garbage collection */
-
-/* subprocess state */
-PERLVAR(Ifdpid, AV *) /* keep fd-to-pid mappings for my_popen */
-
-/* internal state */
-PERLVARI(Iop_mask, char *, NULL) /* masked operations for safe evals */
-
-/* current interpreter roots */
-PERLVAR(Imain_cv, CV *)
-PERLVAR(Imain_root, OP *)
-PERLVAR(Imain_start, OP *)
-PERLVAR(Ieval_root, OP *)
-PERLVAR(Ieval_start, OP *)
-
-/* runtime control stuff */
-PERLVARI(Icurcopdb, COP *, NULL)
-
-PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
-PERLVAR(Ilastfd, int) /* what to preserve mode on */
-PERLVAR(Ioldname, char *) /* what to preserve mode on */
-PERLVAR(IArgv, char **) /* stuff to free from do_aexec, vfork safe */
-PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
-/* Elements in this array have ';' appended and are injected as a single line
- into the tokeniser. You can't put any (literal) newlines into any program
- you stuff in into this array, as the point where it's injected is expecting
- a single physical line. */
-PERLVAR(Ipreambleav, AV *)
-PERLVAR(Imess_sv, SV *)
-PERLVAR(Iors_sv, SV *) /* output record separator $\ */
-/* statics moved here for shared library purposes */
-PERLVARI(Igensym, I32, 0) /* next symbol for getsym() to define */
-PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
-PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */
-PERLVARI(Ilaststype, U16, OP_STAT)
-PERLVARI(Ilaststatval, int, -1)
-
-/* interpreter atexit processing */
-PERLVARI(Iexitlistlen, I32, 0) /* length of same */
-PERLVARI(Iexitlist, PerlExitListEntry *, NULL)
- /* list of exit functions */
-
-/*
-=for apidoc Amn|HV*|PL_modglobal
-
-C<PL_modglobal> is a general purpose, interpreter global HV for use by
-extensions that need to keep information on a per-interpreter basis.
-In a pinch, it can also be used as a symbol table for extensions
-to share data among each other. It is a good idea to use keys
-prefixed by the package name of the extension that owns the data.
-
-=cut
-*/
-
-PERLVAR(Imodglobal, HV *) /* per-interp module data */
-
-/* these used to be in global before 5.004_68 */
-PERLVARI(Iprofiledata, U32 *, NULL) /* table of ops, counts */
-
-PERLVAR(Icompiling, COP) /* compiling/done executing marker */
-
-PERLVAR(Icompcv, CV *) /* currently compiling subroutine */
-PERLVAR(Icomppad, AV *) /* storage for lexically scoped temporaries */
-PERLVAR(Icomppad_name, AV *) /* variable names for "my" variables */
-PERLVAR(Icomppad_name_fill, I32) /* last "introduced" variable offset */
-PERLVAR(Icomppad_name_floor, I32) /* start of vars in innermost block */
-
-#ifdef HAVE_INTERP_INTERN
-PERLVAR(Isys_intern, struct interp_intern)
- /* platform internals */
-#endif
-
-/* more statics moved here */
-PERLVAR(IDBcv, CV *) /* from perl.c */
-PERLVARI(Igeneration, int, 100) /* from op.c */
-
-PERLVARI(Iin_clean_objs,bool, FALSE) /* from sv.c */
-PERLVARI(Iin_clean_all, bool, FALSE) /* from sv.c */
-PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
-PERLVARI(Isavebegin, bool, FALSE) /* save BEGINs for compiler */
-
-PERLVAR(Iuid, Uid_t) /* current real user id */
-PERLVAR(Ieuid, Uid_t) /* current effective user id */
-PERLVAR(Igid, Gid_t) /* current real group id */
-PERLVAR(Iegid, Gid_t) /* current effective group id */
-PERLVARI(Ian, U32, 0) /* malloc sequence number */
-PERLVARI(Icop_seqmax, U32, 0) /* statement sequence number */
-PERLVARI(Ievalseq, U32, 0) /* eval sequence number */
-PERLVAR(Iorigalen, U32)
-PERLVAR(Iorigenviron, char **)
-#ifdef PERL_USES_PL_PIDSTATUS
-PERLVAR(Ipidstatus, HV *) /* pid-to-status mappings for waitpid */
-#endif
-PERLVAR(Iosname, char *) /* operating system */
-
-PERLVAR(Isighandlerp, Sighandler_t)
-
-PERLVARA(Ibody_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
-
-PERLVAR(Inice_chunk, char *) /* a nice chunk of memory to reuse */
-PERLVAR(Inice_chunk_size, U32) /* how nice the chunk of memory is */
-
-PERLVARI(Imaxo, int, MAXO) /* maximum number of ops */
-
-PERLVARI(Irunops, runops_proc_t, MEMBER_TO_FPTR(RUNOPS_DEFAULT))
-
-/*
-=for apidoc Amn|SV|PL_sv_undef
-This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>.
-
-=for apidoc Amn|SV|PL_sv_no
-This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as
-C<&PL_sv_no>.
-
-=for apidoc Amn|SV|PL_sv_yes
-This is the C<true> SV. See C<PL_sv_no>. Always refer to this as
-C<&PL_sv_yes>.
-
-=cut
-*/
-
-PERLVAR(Isv_undef, SV)
-PERLVAR(Isv_no, SV)
-PERLVAR(Isv_yes, SV)
-
-PERLVAR(Isubname, SV *) /* name of current subroutine */
-
-PERLVAR(Isubline, I32) /* line this subroutine began on */
-PERLVAR(Imin_intro_pending, I32) /* start of vars to introduce */
-
-PERLVAR(Imax_intro_pending, I32) /* end of vars to introduce */
-PERLVAR(Ipadix, I32) /* max used index in current "register" pad */
-
-PERLVAR(Ipadix_floor, I32) /* how low may inner block reset padix */
-PERLVAR(Ipad_reset_pending, I32) /* reset pad on next attempted alloc */
-
-PERLVAR(Ihints, U32) /* pragma-tic compile-time flags */
-
-PERLVAR(Idebug, VOL U32) /* flags given to -D switch */
-
-PERLVARI(Iamagic_generation, long, 0)
-
-#ifdef USE_LOCALE_COLLATE
-PERLVAR(Icollation_name,char *) /* Name of current collation */
-PERLVAR(Icollxfrm_base, Size_t) /* Basic overhead in *xfrm() */
-PERLVARI(Icollxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */
-PERLVARI(Icollation_ix, U32, 0) /* Collation generation index */
-PERLVARI(Icollation_standard, bool, TRUE)
- /* Assume simple collation */
-#endif /* USE_LOCALE_COLLATE */
-
-
-#if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING)
-# define PERL___I -1
-#else
-# define PERL___I 1
-#endif
-PERLVARI(Iutf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
-#undef PERL___I
-
-
-#ifdef USE_LOCALE_NUMERIC
-
-PERLVARI(Inumeric_standard, bool, TRUE)
- /* Assume simple numerics */
-PERLVARI(Inumeric_local, bool, TRUE)
- /* Assume local numerics */
-PERLVAR(Inumeric_name, char *) /* Name of current numeric locale */
-#endif /* !USE_LOCALE_NUMERIC */
-
-/* utf8 character classes */
-PERLVAR(Iutf8_alnum, SV *)
-PERLVAR(Iutf8_alnumc, SV *)
-PERLVAR(Iutf8_ascii, SV *)
-PERLVAR(Iutf8_alpha, SV *)
-PERLVAR(Iutf8_space, SV *)
-PERLVAR(Iutf8_cntrl, SV *)
-PERLVAR(Iutf8_graph, SV *)
-PERLVAR(Iutf8_digit, SV *)
-PERLVAR(Iutf8_upper, SV *)
-PERLVAR(Iutf8_lower, SV *)
-PERLVAR(Iutf8_print, SV *)
-PERLVAR(Iutf8_punct, SV *)
-PERLVAR(Iutf8_xdigit, SV *)
-PERLVAR(Iutf8_mark, SV *)
-PERLVAR(Iutf8_toupper, SV *)
-PERLVAR(Iutf8_totitle, SV *)
-PERLVAR(Iutf8_tolower, SV *)
-PERLVAR(Iutf8_tofold, SV *)
-PERLVAR(Ilast_swash_hv, HV *)
-PERLVAR(Ilast_swash_tmps, U8 *)
-PERLVAR(Ilast_swash_slen, STRLEN)
-PERLVARA(Ilast_swash_key,10, U8)
-PERLVAR(Ilast_swash_klen, U8) /* Only needs to store 0-10 */
-
-#ifdef FCRYPT
-PERLVARI(Icryptseen, bool, FALSE) /* has fast crypt() been initialized? */
-#endif
-
-PERLVARI(Iglob_index, int, 0)
-
-
-PERLVAR(Iparser, yy_parser *) /* current parser state */
-
-PERLVAR(Ibitcount, char *)
-
-PERLVAR(Ipsig_ptr, SV**)
-PERLVAR(Ipsig_name, SV**)
-
-#if defined(PERL_IMPLICIT_SYS)
-PERLVAR(IMem, struct IPerlMem*)
-PERLVAR(IMemShared, struct IPerlMem*)
-PERLVAR(IMemParse, struct IPerlMem*)
-PERLVAR(IEnv, struct IPerlEnv*)
-PERLVAR(IStdIO, struct IPerlStdIO*)
-PERLVAR(ILIO, struct IPerlLIO*)
-PERLVAR(IDir, struct IPerlDir*)
-PERLVAR(ISock, struct IPerlSock*)
-PERLVAR(IProc, struct IPerlProc*)
-#endif
-
-PERLVAR(Iptr_table, PTR_TBL_t*)
-PERLVARI(Ibeginav_save, AV*, NULL) /* save BEGIN{}s when compiling */
-
-PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
-
-
-#ifdef USE_LOCALE_NUMERIC
-
-PERLVAR(Inumeric_radix_sv, SV *) /* The radix separator if not '.' */
-
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Iregex_pad, SV**) /* Shortcut into the array of
- regex_padav */
-PERLVAR(Iregex_padav, AV*) /* All regex objects, indexed via the
- values in op_pmoffset of pmop.
- Entry 0 is an array of IVs listing
- the now-free slots in the array */
-#endif
-
-#ifdef USE_REENTRANT_API
-PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */
-#endif
-
-PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */
-PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */
-
-#ifdef PERLIO_LAYERS
-PERLVARI(Iperlio, PerlIO *,NULL)
-PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
-PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
-#endif
-
-PERLVARI(Iencoding, SV*, NULL) /* character encoding */
-
-PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re extension */
-
-PERLVAR(Iutf8_idstart, SV *)
-PERLVAR(Iutf8_idcont, SV *)
-
-PERLVAR(Isort_RealCmp, SVCOMPARE_t)
-
-PERLVARI(Icheckav_save, AV*, NULL) /* save CHECK{}s when compiling */
-PERLVARI(Iunitcheckav_save, AV*, NULL) /* save UNITCHECK{}s when compiling */
-
-PERLVARI(Iclocktick, long, 0) /* this many times() ticks in a second */
-
-PERLVARI(Iin_load_module, int, 0) /* to prevent recursions in PerlIO_find_layer */
-
-PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
-
-PERLVAR(Isignals, U32) /* Using which pre-5.8 signals */
-
-PERLVAR(Ireentrant_retint, int) /* Integer return value from reentrant functions */
-
-PERLVAR(Istashcache, HV *) /* Cache to speed up S_method_common */
-
-/* Hooks to shared SVs and locks. */
-PERLVARI(Isharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
-PERLVARI(Ilockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
-#ifdef NO_MATHOMS
-# define PERL_UNLOCK_HOOK Perl_sv_nosharing
-#else
-/* This reference ensures that the mathoms are linked with perl */
-# define PERL_UNLOCK_HOOK Perl_sv_nounlocking
-#endif
-PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
-
-PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
-
-PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
-
-PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
-
-PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
-
-/* The last unconditional member of the interpreter structure when 5.10.0 was
- released. The offset of the end of this is baked into a global variable in
- any shared perl library which will allow a sanity test in future perl
- releases. */
-#define PERL_LAST_5_10_0_INTERP_MEMBER Iisarev
-
-#ifdef PERL_IMPLICIT_CONTEXT
-PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */
-PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
-# ifdef PERL_GLOBAL_STRUCT_PRIVATE
-PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
-# endif
-#endif
-
-#ifdef PERL_TRACK_MEMPOOL
-/* For use with the memory debugging code in util.c */
-PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
-#endif
-
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-/* File descriptor to talk to the child which dumps scalars. */
-PERLVARI(Idumper_fd, int, -1)
-#endif
-
-/* Stores the PPID */
-#ifdef THREADS_HAVE_PIDS
-PERLVARI(Ippid, IV, 0)
-#endif
-
-#ifdef PERL_MAD
-PERLVARI(Imadskills, bool, FALSE) /* preserve all syntactic info */
- /* (MAD = Misc Attribute Decoration) */
-PERLVARI(Ixmlfp, PerlIO *,NULL)
-#endif
-
-#ifdef PL_OP_SLAB_ALLOC
-PERLVAR(IOpPtr,I32 **)
-PERLVARI(IOpSpace,I32,0)
-PERLVAR(IOpSlab,I32 *)
-#endif
-
-#ifdef PERL_DEBUG_READONLY_OPS
-PERLVARI(Islabs, I32**, NULL) /* Array of slabs that have been allocated */
-PERLVARI(Islab_count, U32, 0) /* Size of the array */
-#endif
-
-/* Can shared object be destroyed */
-PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
-
-/* If you are adding a U8 or U16, check to see if there are 'Space' comments
- * above on where there are gaps which currently will be structure padding. */
-
-/* Within a stable branch, new variables must be added to the very end, before
- * this comment, for binary compatibility (the offsets of the old members must
- * not change).
- * (Don't forget to add your variable also to perl_clone()!)
- * XSUB.h provides wrapper functions via perlapi.h that make this
- * irrelevant, but not all code may be expected to #include XSUB.h.
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/iperlsys.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/iperlsys.h
deleted file mode 100644
index d7b764347ff..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/iperlsys.h
+++ /dev/null
@@ -1,1420 +0,0 @@
-/*
- * iperlsys.h - Perl's interface to the system
- *
- * This file defines the system level functionality that perl needs.
- *
- * When using C, this definition is in the form of a set of macros
- * that can be #defined to the system-level function (or a wrapper
- * provided elsewhere).
- *
- * GSAR 21-JUN-98
- */
-
-#ifndef __Inc__IPerl___
-#define __Inc__IPerl___
-
-/*
- * PerlXXX_YYY explained - DickH and DougL @ ActiveState.com
- *
- * XXX := functional group
- * YYY := stdlib/OS function name
- *
- * Continuing with the theme of PerlIO, all OS functionality was
- * encapsulated into one of several interfaces.
- *
- * PerlIO - stdio
- * PerlLIO - low level I/O
- * PerlMem - malloc, realloc, free
- * PerlDir - directory related
- * PerlEnv - process environment handling
- * PerlProc - process control
- * PerlSock - socket functions
- *
- *
- * The features of this are:
- * 1. All OS dependant code is in the Perl Host and not the Perl Core.
- * (At least this is the holy grail goal of this work)
- * 2. The Perl Host (see perl.h for description) can provide a new and
- * improved interface to OS functionality if required.
- * 3. Developers can easily hook into the OS calls for instrumentation
- * or diagnostic purposes.
- *
- * What was changed to do this:
- * 1. All calls to OS functions were replaced with PerlXXX_YYY
- *
- */
-
-/*
- Interface for perl stdio functions, or whatever we are Configure-d
- to use.
-*/
-#include "perlio.h"
-
-#ifndef Sighandler_t
-# if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-typedef Signal_t (*Sighandler_t) (int, siginfo_t*, void*);
-# else
-typedef Signal_t (*Sighandler_t) (int);
-# endif
-#endif
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* IPerlStdIO */
-struct IPerlStdIO;
-struct IPerlStdIOInfo;
-typedef FILE* (*LPStdin)(struct IPerlStdIO*);
-typedef FILE* (*LPStdout)(struct IPerlStdIO*);
-typedef FILE* (*LPStderr)(struct IPerlStdIO*);
-typedef FILE* (*LPOpen)(struct IPerlStdIO*, const char*,
- const char*);
-typedef int (*LPClose)(struct IPerlStdIO*, FILE*);
-typedef int (*LPEof)(struct IPerlStdIO*, FILE*);
-typedef int (*LPError)(struct IPerlStdIO*, FILE*);
-typedef void (*LPClearerr)(struct IPerlStdIO*, FILE*);
-typedef int (*LPGetc)(struct IPerlStdIO*, FILE*);
-typedef STDCHAR* (*LPGetBase)(struct IPerlStdIO*, FILE*);
-typedef int (*LPGetBufsiz)(struct IPerlStdIO*, FILE*);
-typedef int (*LPGetCnt)(struct IPerlStdIO*, FILE*);
-typedef STDCHAR* (*LPGetPtr)(struct IPerlStdIO*, FILE*);
-typedef char* (*LPGets)(struct IPerlStdIO*, FILE*, char*, int);
-typedef int (*LPPutc)(struct IPerlStdIO*, FILE*, int);
-typedef int (*LPPuts)(struct IPerlStdIO*, FILE*, const char*);
-typedef int (*LPFlush)(struct IPerlStdIO*, FILE*);
-typedef int (*LPUngetc)(struct IPerlStdIO*, int,FILE*);
-typedef int (*LPFileno)(struct IPerlStdIO*, FILE*);
-typedef FILE* (*LPFdopen)(struct IPerlStdIO*, int, const char*);
-typedef FILE* (*LPReopen)(struct IPerlStdIO*, const char*,
- const char*, FILE*);
-typedef SSize_t (*LPRead)(struct IPerlStdIO*, void*, Size_t, Size_t, FILE *);
-typedef SSize_t (*LPWrite)(struct IPerlStdIO*, const void*, Size_t, Size_t, FILE *);
-typedef void (*LPSetBuf)(struct IPerlStdIO*, FILE*, char*);
-typedef int (*LPSetVBuf)(struct IPerlStdIO*, FILE*, char*, int,
- Size_t);
-typedef void (*LPSetCnt)(struct IPerlStdIO*, FILE*, int);
-
-#ifndef NETWARE
-typedef void (*LPSetPtr)(struct IPerlStdIO*, FILE*, STDCHAR*);
-#elif defined(NETWARE)
-typedef void (*LPSetPtr)(struct IPerlStdIO*, FILE*, STDCHAR*, int);
-#endif
-
-typedef void (*LPSetlinebuf)(struct IPerlStdIO*, FILE*);
-typedef int (*LPPrintf)(struct IPerlStdIO*, FILE*, const char*,
- ...);
-typedef int (*LPVprintf)(struct IPerlStdIO*, FILE*, const char*,
- va_list);
-typedef Off_t (*LPTell)(struct IPerlStdIO*, FILE*);
-typedef int (*LPSeek)(struct IPerlStdIO*, FILE*, Off_t, int);
-typedef void (*LPRewind)(struct IPerlStdIO*, FILE*);
-typedef FILE* (*LPTmpfile)(struct IPerlStdIO*);
-typedef int (*LPGetpos)(struct IPerlStdIO*, FILE*, Fpos_t*);
-typedef int (*LPSetpos)(struct IPerlStdIO*, FILE*,
- const Fpos_t*);
-typedef void (*LPInit)(struct IPerlStdIO*);
-typedef void (*LPInitOSExtras)(struct IPerlStdIO*);
-typedef FILE* (*LPFdupopen)(struct IPerlStdIO*, FILE*);
-
-struct IPerlStdIO
-{
- LPStdin pStdin;
- LPStdout pStdout;
- LPStderr pStderr;
- LPOpen pOpen;
- LPClose pClose;
- LPEof pEof;
- LPError pError;
- LPClearerr pClearerr;
- LPGetc pGetc;
- LPGetBase pGetBase;
- LPGetBufsiz pGetBufsiz;
- LPGetCnt pGetCnt;
- LPGetPtr pGetPtr;
- LPGets pGets;
- LPPutc pPutc;
- LPPuts pPuts;
- LPFlush pFlush;
- LPUngetc pUngetc;
- LPFileno pFileno;
- LPFdopen pFdopen;
- LPReopen pReopen;
- LPRead pRead;
- LPWrite pWrite;
- LPSetBuf pSetBuf;
- LPSetVBuf pSetVBuf;
- LPSetCnt pSetCnt;
- LPSetPtr pSetPtr;
- LPSetlinebuf pSetlinebuf;
- LPPrintf pPrintf;
- LPVprintf pVprintf;
- LPTell pTell;
- LPSeek pSeek;
- LPRewind pRewind;
- LPTmpfile pTmpfile;
- LPGetpos pGetpos;
- LPSetpos pSetpos;
- LPInit pInit;
- LPInitOSExtras pInitOSExtras;
- LPFdupopen pFdupopen;
-};
-
-struct IPerlStdIOInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlStdIO perlStdIOList;
-};
-
-/* These do not belong here ... NI-S, 14 Nov 2000 */
-
-#ifdef USE_STDIO_PTR
-# define PerlSIO_has_cntptr(f) 1
-# ifdef STDIO_PTR_LVALUE
-# ifdef STDIO_CNT_LVALUE
-# define PerlSIO_canset_cnt(f) 1
-# ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
-# define PerlSIO_fast_gets(f) 1
-# endif
-# else /* STDIO_CNT_LVALUE */
-# define PerlSIO_canset_cnt(f) 0
-# endif
-# else /* STDIO_PTR_LVALUE */
-# ifdef STDIO_PTR_LVAL_SETS_CNT
-# define PerlSIO_fast_gets(f) 1
-# endif
-# endif
-#else /* USE_STDIO_PTR */
-# define PerlSIO_has_cntptr(f) 0
-# define PerlSIO_canset_cnt(f) 0
-#endif /* USE_STDIO_PTR */
-
-#ifndef PerlSIO_fast_gets
-#define PerlSIO_fast_gets(f) 0
-#endif
-
-#ifdef FILE_base
-#define PerlSIO_has_base(f) 1
-#else
-#define PerlSIO_has_base(f) 0
-#endif
-
-/* Now take FILE * via function table */
-
-#define PerlSIO_stdin \
- (*PL_StdIO->pStdin)(PL_StdIO)
-#define PerlSIO_stdout \
- (*PL_StdIO->pStdout)(PL_StdIO)
-#define PerlSIO_stderr \
- (*PL_StdIO->pStderr)(PL_StdIO)
-#define PerlSIO_fopen(x,y) \
- (*PL_StdIO->pOpen)(PL_StdIO, (x),(y))
-#define PerlSIO_fclose(f) \
- (*PL_StdIO->pClose)(PL_StdIO, (f))
-#define PerlSIO_feof(f) \
- (*PL_StdIO->pEof)(PL_StdIO, (f))
-#define PerlSIO_ferror(f) \
- (*PL_StdIO->pError)(PL_StdIO, (f))
-#define PerlSIO_clearerr(f) \
- (*PL_StdIO->pClearerr)(PL_StdIO, (f))
-#define PerlSIO_fgetc(f) \
- (*PL_StdIO->pGetc)(PL_StdIO, (f))
-#define PerlSIO_get_base(f) \
- (*PL_StdIO->pGetBase)(PL_StdIO, (f))
-#define PerlSIO_get_bufsiz(f) \
- (*PL_StdIO->pGetBufsiz)(PL_StdIO, (f))
-#define PerlSIO_get_cnt(f) \
- (*PL_StdIO->pGetCnt)(PL_StdIO, (f))
-#define PerlSIO_get_ptr(f) \
- (*PL_StdIO->pGetPtr)(PL_StdIO, (f))
-#define PerlSIO_fputc(f,c) \
- (*PL_StdIO->pPutc)(PL_StdIO, (f),(c))
-#define PerlSIO_fputs(f,s) \
- (*PL_StdIO->pPuts)(PL_StdIO, (f),(s))
-#define PerlSIO_fflush(f) \
- (*PL_StdIO->pFlush)(PL_StdIO, (f))
-#define PerlSIO_fgets(s, n, fp) \
- (*PL_StdIO->pGets)(PL_StdIO, (fp), s, n)
-#define PerlSIO_ungetc(c,f) \
- (*PL_StdIO->pUngetc)(PL_StdIO, (c),(f))
-#define PerlSIO_fileno(f) \
- (*PL_StdIO->pFileno)(PL_StdIO, (f))
-#define PerlSIO_fdopen(f, s) \
- (*PL_StdIO->pFdopen)(PL_StdIO, (f),(s))
-#define PerlSIO_freopen(p, m, f) \
- (*PL_StdIO->pReopen)(PL_StdIO, (p), (m), (f))
-#define PerlSIO_fread(buf,sz,count,f) \
- (*PL_StdIO->pRead)(PL_StdIO, (buf), (sz), (count), (f))
-#define PerlSIO_fwrite(buf,sz,count,f) \
- (*PL_StdIO->pWrite)(PL_StdIO, (buf), (sz), (count), (f))
-#define PerlSIO_setbuf(f,b) \
- (*PL_StdIO->pSetBuf)(PL_StdIO, (f), (b))
-#define PerlSIO_setvbuf(f,b,t,s) \
- (*PL_StdIO->pSetVBuf)(PL_StdIO, (f),(b),(t),(s))
-#define PerlSIO_set_cnt(f,c) \
- (*PL_StdIO->pSetCnt)(PL_StdIO, (f), (c))
-#define PerlSIO_set_ptr(f,p) \
- (*PL_StdIO->pSetPtr)(PL_StdIO, (f), (p))
-#define PerlSIO_setlinebuf(f) \
- (*PL_StdIO->pSetlinebuf)(PL_StdIO, (f))
-#define PerlSIO_printf Perl_fprintf_nocontext
-#define PerlSIO_stdoutf Perl_printf_nocontext
-#define PerlSIO_vprintf(f,fmt,a) \
- (*PL_StdIO->pVprintf)(PL_StdIO, (f),(fmt),a)
-#define PerlSIO_ftell(f) \
- (*PL_StdIO->pTell)(PL_StdIO, (f))
-#define PerlSIO_fseek(f,o,w) \
- (*PL_StdIO->pSeek)(PL_StdIO, (f),(o),(w))
-#define PerlSIO_fgetpos(f,p) \
- (*PL_StdIO->pGetpos)(PL_StdIO, (f),(p))
-#define PerlSIO_fsetpos(f,p) \
- (*PL_StdIO->pSetpos)(PL_StdIO, (f),(p))
-#define PerlSIO_rewind(f) \
- (*PL_StdIO->pRewind)(PL_StdIO, (f))
-#define PerlSIO_tmpfile() \
- (*PL_StdIO->pTmpfile)(PL_StdIO)
-#define PerlSIO_init() \
- (*PL_StdIO->pInit)(PL_StdIO)
-#undef init_os_extras
-#define init_os_extras() \
- (*PL_StdIO->pInitOSExtras)(PL_StdIO)
-#define PerlSIO_fdupopen(f) \
- (*PL_StdIO->pFdupopen)(PL_StdIO, (f))
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlSIO_stdin stdin
-#define PerlSIO_stdout stdout
-#define PerlSIO_stderr stderr
-#define PerlSIO_fopen(x,y) fopen(x,y)
-#ifdef __VOS__
-/* Work around VOS bug posix-979, wrongly setting errno when at end of file. */
-#define PerlSIO_fclose(f) (((errno==1025)?errno=0:0),fclose(f))
-#define PerlSIO_feof(f) (((errno==1025)?errno=0:0),feof(f))
-#define PerlSIO_ferror(f) (((errno==1025)?errno=0:0),ferror(f))
-#else
-#define PerlSIO_fclose(f) fclose(f)
-#define PerlSIO_feof(f) feof(f)
-#define PerlSIO_ferror(f) ferror(f)
-#endif
-#define PerlSIO_clearerr(f) clearerr(f)
-#define PerlSIO_fgetc(f) fgetc(f)
-#ifdef FILE_base
-#define PerlSIO_get_base(f) FILE_base(f)
-#define PerlSIO_get_bufsiz(f) FILE_bufsiz(f)
-#else
-#define PerlSIO_get_base(f) NULL
-#define PerlSIO_get_bufsiz(f) 0
-#endif
-#ifdef USE_STDIO_PTR
-#define PerlSIO_get_cnt(f) FILE_cnt(f)
-#define PerlSIO_get_ptr(f) FILE_ptr(f)
-#else
-#define PerlSIO_get_cnt(f) 0
-#define PerlSIO_get_ptr(f) NULL
-#endif
-#define PerlSIO_fputc(f,c) fputc(c,f)
-#define PerlSIO_fputs(f,s) fputs(s,f)
-#define PerlSIO_fflush(f) Fflush(f)
-#define PerlSIO_fgets(s, n, fp) fgets(s,n,fp)
-#if defined(VMS) && defined(__DECC)
- /* Unusual definition of ungetc() here to accomodate fast_sv_gets()'
- * belief that it can mix getc/ungetc with reads from stdio buffer */
- int decc$ungetc(int __c, FILE *__stream);
-# define PerlSIO_ungetc(c,f) ((c) == EOF ? EOF : \
- ((*(f) && !((*(f))->_flag & _IONBF) && \
- ((*(f))->_ptr > (*(f))->_base)) ? \
- ((*(f))->_cnt++, *(--(*(f))->_ptr) = (c)) : decc$ungetc(c,f)))
-#else
-# define PerlSIO_ungetc(c,f) ungetc(c,f)
-#endif
-#define PerlSIO_fileno(f) fileno(f)
-#define PerlSIO_fdopen(f, s) fdopen(f,s)
-#define PerlSIO_freopen(p, m, f) freopen(p,m,f)
-#define PerlSIO_fread(buf,sz,count,f) fread(buf,sz,count,f)
-#define PerlSIO_fwrite(buf,sz,count,f) fwrite(buf,sz,count,f)
-#define PerlSIO_setbuf(f,b) setbuf(f,b)
-#define PerlSIO_setvbuf(f,b,t,s) setvbuf(f,b,t,s)
-#if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE)
-#define PerlSIO_set_cnt(f,c) FILE_cnt(f) = (c)
-#else
-#define PerlSIO_set_cnt(f,c) PerlIOProc_abort()
-#endif
-#if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE)
-#define PerlSIO_set_ptr(f,p) (FILE_ptr(f) = (p))
-#else
-#define PerlSIO_set_ptr(f,p) PerlIOProc_abort()
-#endif
-#define PerlSIO_setlinebuf(f) setlinebuf(f)
-#define PerlSIO_printf fprintf
-#define PerlSIO_stdoutf printf
-#define PerlSIO_vprintf(f,fmt,a) vfprintf(f,fmt,a)
-#define PerlSIO_ftell(f) ftell(f)
-#define PerlSIO_fseek(f,o,w) fseek(f,o,w)
-#define PerlSIO_fgetpos(f,p) fgetpos(f,p)
-#define PerlSIO_fsetpos(f,p) fsetpos(f,p)
-#define PerlSIO_rewind(f) rewind(f)
-#define PerlSIO_tmpfile() tmpfile()
-#define PerlSIO_fdupopen(f) (f)
-
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- * Interface for directory functions
- */
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* IPerlDir */
-struct IPerlDir;
-struct IPerlDirInfo;
-typedef int (*LPMakedir)(struct IPerlDir*, const char*, int);
-typedef int (*LPChdir)(struct IPerlDir*, const char*);
-typedef int (*LPRmdir)(struct IPerlDir*, const char*);
-typedef int (*LPDirClose)(struct IPerlDir*, DIR*);
-typedef DIR* (*LPDirOpen)(struct IPerlDir*, const char*);
-typedef struct direct* (*LPDirRead)(struct IPerlDir*, DIR*);
-typedef void (*LPDirRewind)(struct IPerlDir*, DIR*);
-typedef void (*LPDirSeek)(struct IPerlDir*, DIR*, long);
-typedef long (*LPDirTell)(struct IPerlDir*, DIR*);
-#ifdef WIN32
-typedef char* (*LPDirMapPathA)(struct IPerlDir*, const char*);
-typedef WCHAR* (*LPDirMapPathW)(struct IPerlDir*, const WCHAR*);
-#endif
-
-struct IPerlDir
-{
- LPMakedir pMakedir;
- LPChdir pChdir;
- LPRmdir pRmdir;
- LPDirClose pClose;
- LPDirOpen pOpen;
- LPDirRead pRead;
- LPDirRewind pRewind;
- LPDirSeek pSeek;
- LPDirTell pTell;
-#ifdef WIN32
- LPDirMapPathA pMapPathA;
- LPDirMapPathW pMapPathW;
-#endif
-};
-
-struct IPerlDirInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlDir perlDirList;
-};
-
-#define PerlDir_mkdir(name, mode) \
- (*PL_Dir->pMakedir)(PL_Dir, (name), (mode))
-#define PerlDir_chdir(name) \
- (*PL_Dir->pChdir)(PL_Dir, (name))
-#define PerlDir_rmdir(name) \
- (*PL_Dir->pRmdir)(PL_Dir, (name))
-#define PerlDir_close(dir) \
- (*PL_Dir->pClose)(PL_Dir, (dir))
-#define PerlDir_open(name) \
- (*PL_Dir->pOpen)(PL_Dir, (name))
-#define PerlDir_read(dir) \
- (*PL_Dir->pRead)(PL_Dir, (dir))
-#define PerlDir_rewind(dir) \
- (*PL_Dir->pRewind)(PL_Dir, (dir))
-#define PerlDir_seek(dir, loc) \
- (*PL_Dir->pSeek)(PL_Dir, (dir), (loc))
-#define PerlDir_tell(dir) \
- (*PL_Dir->pTell)(PL_Dir, (dir))
-#ifdef WIN32
-#define PerlDir_mapA(dir) \
- (*PL_Dir->pMapPathA)(PL_Dir, (dir))
-#define PerlDir_mapW(dir) \
- (*PL_Dir->pMapPathW)(PL_Dir, (dir))
-#endif
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlDir_mkdir(name, mode) Mkdir((name), (mode))
-#ifdef VMS
-# define PerlDir_chdir(n) Chdir((n))
-#else
-# define PerlDir_chdir(name) chdir((name))
-#endif
-#define PerlDir_rmdir(name) rmdir((name))
-#define PerlDir_close(dir) closedir((dir))
-#define PerlDir_open(name) opendir((name))
-#define PerlDir_read(dir) readdir((dir))
-#define PerlDir_rewind(dir) rewinddir((dir))
-#define PerlDir_seek(dir, loc) seekdir((dir), (loc))
-#define PerlDir_tell(dir) telldir((dir))
-#ifdef WIN32
-#define PerlDir_mapA(dir) dir
-#define PerlDir_mapW(dir) dir
-#endif
-
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- Interface for perl environment functions
-*/
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* IPerlEnv */
-struct IPerlEnv;
-struct IPerlEnvInfo;
-typedef char* (*LPEnvGetenv)(struct IPerlEnv*, const char*);
-typedef int (*LPEnvPutenv)(struct IPerlEnv*, const char*);
-typedef char* (*LPEnvGetenv_len)(struct IPerlEnv*,
- const char *varname, unsigned long *len);
-typedef int (*LPEnvUname)(struct IPerlEnv*, struct utsname *name);
-typedef void (*LPEnvClearenv)(struct IPerlEnv*);
-typedef void* (*LPEnvGetChildenv)(struct IPerlEnv*);
-typedef void (*LPEnvFreeChildenv)(struct IPerlEnv*, void* env);
-typedef char* (*LPEnvGetChilddir)(struct IPerlEnv*);
-typedef void (*LPEnvFreeChilddir)(struct IPerlEnv*, char* dir);
-#ifdef HAS_ENVGETENV
-typedef char* (*LPENVGetenv)(struct IPerlEnv*, const char *varname);
-typedef char* (*LPENVGetenv_len)(struct IPerlEnv*,
- const char *varname, unsigned long *len);
-#endif
-#ifdef WIN32
-typedef unsigned long (*LPEnvOsID)(struct IPerlEnv*);
-typedef char* (*LPEnvLibPath)(struct IPerlEnv*, const char*);
-typedef char* (*LPEnvSiteLibPath)(struct IPerlEnv*, const char*);
-typedef char* (*LPEnvVendorLibPath)(struct IPerlEnv*, const char*);
-typedef void (*LPEnvGetChildIO)(struct IPerlEnv*, child_IO_table*);
-#endif
-
-struct IPerlEnv
-{
- LPEnvGetenv pGetenv;
- LPEnvPutenv pPutenv;
- LPEnvGetenv_len pGetenv_len;
- LPEnvUname pEnvUname;
- LPEnvClearenv pClearenv;
- LPEnvGetChildenv pGetChildenv;
- LPEnvFreeChildenv pFreeChildenv;
- LPEnvGetChilddir pGetChilddir;
- LPEnvFreeChilddir pFreeChilddir;
-#ifdef HAS_ENVGETENV
- LPENVGetenv pENVGetenv;
- LPENVGetenv_len pENVGetenv_len;
-#endif
-#ifdef WIN32
- LPEnvOsID pEnvOsID;
- LPEnvLibPath pLibPath;
- LPEnvSiteLibPath pSiteLibPath;
- LPEnvVendorLibPath pVendorLibPath;
- LPEnvGetChildIO pGetChildIO;
-#endif
-};
-
-struct IPerlEnvInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlEnv perlEnvList;
-};
-
-#define PerlEnv_putenv(str) \
- (*PL_Env->pPutenv)(PL_Env,(str))
-#define PerlEnv_getenv(str) \
- (*PL_Env->pGetenv)(PL_Env,(str))
-#define PerlEnv_getenv_len(str,l) \
- (*PL_Env->pGetenv_len)(PL_Env,(str), (l))
-#define PerlEnv_clearenv() \
- (*PL_Env->pClearenv)(PL_Env)
-#define PerlEnv_get_childenv() \
- (*PL_Env->pGetChildenv)(PL_Env)
-#define PerlEnv_free_childenv(e) \
- (*PL_Env->pFreeChildenv)(PL_Env, (e))
-#define PerlEnv_get_childdir() \
- (*PL_Env->pGetChilddir)(PL_Env)
-#define PerlEnv_free_childdir(d) \
- (*PL_Env->pFreeChilddir)(PL_Env, (d))
-#ifdef HAS_ENVGETENV
-# define PerlEnv_ENVgetenv(str) \
- (*PL_Env->pENVGetenv)(PL_Env,(str))
-# define PerlEnv_ENVgetenv_len(str,l) \
- (*PL_Env->pENVGetenv_len)(PL_Env,(str), (l))
-#else
-# define PerlEnv_ENVgetenv(str) \
- PerlEnv_getenv((str))
-# define PerlEnv_ENVgetenv_len(str,l) \
- PerlEnv_getenv_len((str),(l))
-#endif
-#define PerlEnv_uname(name) \
- (*PL_Env->pEnvUname)(PL_Env,(name))
-#ifdef WIN32
-#define PerlEnv_os_id() \
- (*PL_Env->pEnvOsID)(PL_Env)
-#define PerlEnv_lib_path(str) \
- (*PL_Env->pLibPath)(PL_Env,(str))
-#define PerlEnv_sitelib_path(str) \
- (*PL_Env->pSiteLibPath)(PL_Env,(str))
-#define PerlEnv_vendorlib_path(str) \
- (*PL_Env->pVendorLibPath)(PL_Env,(str))
-#define PerlEnv_get_child_IO(ptr) \
- (*PL_Env->pGetChildIO)(PL_Env, ptr)
-#endif
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlEnv_putenv(str) putenv((str))
-#define PerlEnv_getenv(str) getenv((str))
-#define PerlEnv_getenv_len(str,l) getenv_len((str), (l))
-#ifdef HAS_ENVGETENV
-# define PerlEnv_ENVgetenv(str) ENVgetenv((str))
-# define PerlEnv_ENVgetenv_len(str,l) ENVgetenv_len((str), (l))
-#else
-# define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str))
-# define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str), (l))
-#endif
-#define PerlEnv_uname(name) uname((name))
-
-#ifdef WIN32
-#define PerlEnv_os_id() win32_os_id()
-#define PerlEnv_lib_path(str) win32_get_privlib(str)
-#define PerlEnv_sitelib_path(str) win32_get_sitelib(str)
-#define PerlEnv_vendorlib_path(str) win32_get_vendorlib(str)
-#define PerlEnv_get_child_IO(ptr) win32_get_child_IO(ptr)
-#define PerlEnv_clearenv() win32_clearenv()
-#define PerlEnv_get_childenv() win32_get_childenv()
-#define PerlEnv_free_childenv(e) win32_free_childenv((e))
-#define PerlEnv_get_childdir() win32_get_childdir()
-#define PerlEnv_free_childdir(d) win32_free_childdir((d))
-#else
-#define PerlEnv_clearenv() clearenv()
-#define PerlEnv_get_childenv() get_childenv()
-#define PerlEnv_free_childenv(e) free_childenv((e))
-#define PerlEnv_get_childdir() get_childdir()
-#define PerlEnv_free_childdir(d) free_childdir((d))
-#endif
-
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- Interface for perl low-level IO functions
-*/
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* IPerlLIO */
-struct IPerlLIO;
-struct IPerlLIOInfo;
-typedef int (*LPLIOAccess)(struct IPerlLIO*, const char*, int);
-typedef int (*LPLIOChmod)(struct IPerlLIO*, const char*, int);
-typedef int (*LPLIOChown)(struct IPerlLIO*, const char*, uid_t,
- gid_t);
-typedef int (*LPLIOChsize)(struct IPerlLIO*, int, Off_t);
-typedef int (*LPLIOClose)(struct IPerlLIO*, int);
-typedef int (*LPLIODup)(struct IPerlLIO*, int);
-typedef int (*LPLIODup2)(struct IPerlLIO*, int, int);
-typedef int (*LPLIOFlock)(struct IPerlLIO*, int, int);
-typedef int (*LPLIOFileStat)(struct IPerlLIO*, int, Stat_t*);
-typedef int (*LPLIOIOCtl)(struct IPerlLIO*, int, unsigned int,
- char*);
-typedef int (*LPLIOIsatty)(struct IPerlLIO*, int);
-typedef int (*LPLIOLink)(struct IPerlLIO*, const char*,
- const char *);
-typedef Off_t (*LPLIOLseek)(struct IPerlLIO*, int, Off_t, int);
-typedef int (*LPLIOLstat)(struct IPerlLIO*, const char*,
- Stat_t*);
-typedef char* (*LPLIOMktemp)(struct IPerlLIO*, char*);
-typedef int (*LPLIOOpen)(struct IPerlLIO*, const char*, int);
-typedef int (*LPLIOOpen3)(struct IPerlLIO*, const char*, int, int);
-typedef int (*LPLIORead)(struct IPerlLIO*, int, void*, unsigned int);
-typedef int (*LPLIORename)(struct IPerlLIO*, const char*,
- const char*);
-#ifdef NETWARE
-typedef int (*LPLIOSetmode)(struct IPerlLIO*, FILE*, int);
-#else
-typedef int (*LPLIOSetmode)(struct IPerlLIO*, int, int);
-#endif /* NETWARE */
-typedef int (*LPLIONameStat)(struct IPerlLIO*, const char*,
- Stat_t*);
-typedef char* (*LPLIOTmpnam)(struct IPerlLIO*, char*);
-typedef int (*LPLIOUmask)(struct IPerlLIO*, int);
-typedef int (*LPLIOUnlink)(struct IPerlLIO*, const char*);
-typedef int (*LPLIOUtime)(struct IPerlLIO*, const char*, struct utimbuf*);
-typedef int (*LPLIOWrite)(struct IPerlLIO*, int, const void*,
- unsigned int);
-
-struct IPerlLIO
-{
- LPLIOAccess pAccess;
- LPLIOChmod pChmod;
- LPLIOChown pChown;
- LPLIOChsize pChsize;
- LPLIOClose pClose;
- LPLIODup pDup;
- LPLIODup2 pDup2;
- LPLIOFlock pFlock;
- LPLIOFileStat pFileStat;
- LPLIOIOCtl pIOCtl;
- LPLIOIsatty pIsatty;
- LPLIOLink pLink;
- LPLIOLseek pLseek;
- LPLIOLstat pLstat;
- LPLIOMktemp pMktemp;
- LPLIOOpen pOpen;
- LPLIOOpen3 pOpen3;
- LPLIORead pRead;
- LPLIORename pRename;
- LPLIOSetmode pSetmode;
- LPLIONameStat pNameStat;
- LPLIOTmpnam pTmpnam;
- LPLIOUmask pUmask;
- LPLIOUnlink pUnlink;
- LPLIOUtime pUtime;
- LPLIOWrite pWrite;
-};
-
-struct IPerlLIOInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlLIO perlLIOList;
-};
-
-#define PerlLIO_access(file, mode) \
- (*PL_LIO->pAccess)(PL_LIO, (file), (mode))
-#define PerlLIO_chmod(file, mode) \
- (*PL_LIO->pChmod)(PL_LIO, (file), (mode))
-#define PerlLIO_chown(file, owner, group) \
- (*PL_LIO->pChown)(PL_LIO, (file), (owner), (group))
-#define PerlLIO_chsize(fd, size) \
- (*PL_LIO->pChsize)(PL_LIO, (fd), (size))
-#define PerlLIO_close(fd) \
- (*PL_LIO->pClose)(PL_LIO, (fd))
-#define PerlLIO_dup(fd) \
- (*PL_LIO->pDup)(PL_LIO, (fd))
-#define PerlLIO_dup2(fd1, fd2) \
- (*PL_LIO->pDup2)(PL_LIO, (fd1), (fd2))
-#define PerlLIO_flock(fd, op) \
- (*PL_LIO->pFlock)(PL_LIO, (fd), (op))
-#define PerlLIO_fstat(fd, buf) \
- (*PL_LIO->pFileStat)(PL_LIO, (fd), (buf))
-#define PerlLIO_ioctl(fd, u, buf) \
- (*PL_LIO->pIOCtl)(PL_LIO, (fd), (u), (buf))
-#define PerlLIO_isatty(fd) \
- (*PL_LIO->pIsatty)(PL_LIO, (fd))
-#define PerlLIO_link(oldname, newname) \
- (*PL_LIO->pLink)(PL_LIO, (oldname), (newname))
-#define PerlLIO_lseek(fd, offset, mode) \
- (*PL_LIO->pLseek)(PL_LIO, (fd), (offset), (mode))
-#define PerlLIO_lstat(name, buf) \
- (*PL_LIO->pLstat)(PL_LIO, (name), (buf))
-#define PerlLIO_mktemp(file) \
- (*PL_LIO->pMktemp)(PL_LIO, (file))
-#define PerlLIO_open(file, flag) \
- (*PL_LIO->pOpen)(PL_LIO, (file), (flag))
-#define PerlLIO_open3(file, flag, perm) \
- (*PL_LIO->pOpen3)(PL_LIO, (file), (flag), (perm))
-#define PerlLIO_read(fd, buf, count) \
- (*PL_LIO->pRead)(PL_LIO, (fd), (buf), (count))
-#define PerlLIO_rename(oname, newname) \
- (*PL_LIO->pRename)(PL_LIO, (oname), (newname))
-#define PerlLIO_setmode(fd, mode) \
- (*PL_LIO->pSetmode)(PL_LIO, (fd), (mode))
-#define PerlLIO_stat(name, buf) \
- (*PL_LIO->pNameStat)(PL_LIO, (name), (buf))
-#define PerlLIO_tmpnam(str) \
- (*PL_LIO->pTmpnam)(PL_LIO, (str))
-#define PerlLIO_umask(mode) \
- (*PL_LIO->pUmask)(PL_LIO, (mode))
-#define PerlLIO_unlink(file) \
- (*PL_LIO->pUnlink)(PL_LIO, (file))
-#define PerlLIO_utime(file, time) \
- (*PL_LIO->pUtime)(PL_LIO, (file), (time))
-#define PerlLIO_write(fd, buf, count) \
- (*PL_LIO->pWrite)(PL_LIO, (fd), (buf), (count))
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlLIO_access(file, mode) access((file), (mode))
-#define PerlLIO_chmod(file, mode) chmod((file), (mode))
-#define PerlLIO_chown(file, owner, grp) chown((file), (owner), (grp))
-#if defined(HAS_TRUNCATE)
-# define PerlLIO_chsize(fd, size) ftruncate((fd), (size))
-#elif defined(HAS_CHSIZE)
-# define PerlLIO_chsize(fd, size) chsize((fd), (size))
-#else
-# define PerlLIO_chsize(fd, size) my_chsize((fd), (size))
-#endif
-#define PerlLIO_close(fd) close((fd))
-#define PerlLIO_dup(fd) dup((fd))
-#define PerlLIO_dup2(fd1, fd2) dup2((fd1), (fd2))
-#define PerlLIO_flock(fd, op) FLOCK((fd), (op))
-#define PerlLIO_fstat(fd, buf) Fstat((fd), (buf))
-#define PerlLIO_ioctl(fd, u, buf) ioctl((fd), (u), (buf))
-#define PerlLIO_isatty(fd) isatty((fd))
-#define PerlLIO_link(oldname, newname) link((oldname), (newname))
-#define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode))
-#define PerlLIO_stat(name, buf) Stat((name), (buf))
-#ifdef HAS_LSTAT
-# define PerlLIO_lstat(name, buf) lstat((name), (buf))
-#else
-# define PerlLIO_lstat(name, buf) PerlLIO_stat((name), (buf))
-#endif
-#define PerlLIO_mktemp(file) mktemp((file))
-#define PerlLIO_mkstemp(file) mkstemp((file))
-#define PerlLIO_open(file, flag) open((file), (flag))
-#define PerlLIO_open3(file, flag, perm) open((file), (flag), (perm))
-#define PerlLIO_read(fd, buf, count) read((fd), (buf), (count))
-#define PerlLIO_rename(old, new) rename((old), (new))
-#define PerlLIO_setmode(fd, mode) setmode((fd), (mode))
-#define PerlLIO_tmpnam(str) tmpnam((str))
-#define PerlLIO_umask(mode) umask((mode))
-#define PerlLIO_unlink(file) unlink((file))
-#define PerlLIO_utime(file, time) utime((file), (time))
-#define PerlLIO_write(fd, buf, count) write((fd), (buf), (count))
-
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- Interface for perl memory allocation
-*/
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* IPerlMem */
-struct IPerlMem;
-struct IPerlMemInfo;
-typedef void* (*LPMemMalloc)(struct IPerlMem*, size_t);
-typedef void* (*LPMemRealloc)(struct IPerlMem*, void*, size_t);
-typedef void (*LPMemFree)(struct IPerlMem*, void*);
-typedef void* (*LPMemCalloc)(struct IPerlMem*, size_t, size_t);
-typedef void (*LPMemGetLock)(struct IPerlMem*);
-typedef void (*LPMemFreeLock)(struct IPerlMem*);
-typedef int (*LPMemIsLocked)(struct IPerlMem*);
-
-struct IPerlMem
-{
- LPMemMalloc pMalloc;
- LPMemRealloc pRealloc;
- LPMemFree pFree;
- LPMemCalloc pCalloc;
- LPMemGetLock pGetLock;
- LPMemFreeLock pFreeLock;
- LPMemIsLocked pIsLocked;
-};
-
-struct IPerlMemInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlMem perlMemList;
-};
-
-/* Interpreter specific memory macros */
-#define PerlMem_malloc(size) \
- (*PL_Mem->pMalloc)(PL_Mem, (size))
-#define PerlMem_realloc(buf, size) \
- (*PL_Mem->pRealloc)(PL_Mem, (buf), (size))
-#define PerlMem_free(buf) \
- (*PL_Mem->pFree)(PL_Mem, (buf))
-#define PerlMem_calloc(num, size) \
- (*PL_Mem->pCalloc)(PL_Mem, (num), (size))
-#define PerlMem_get_lock() \
- (*PL_Mem->pGetLock)(PL_Mem)
-#define PerlMem_free_lock() \
- (*PL_Mem->pFreeLock)(PL_Mem)
-#define PerlMem_is_locked() \
- (*PL_Mem->pIsLocked)(PL_Mem)
-
-/* Shared memory macros */
-#ifdef NETWARE
-
-#define PerlMemShared_malloc(size) \
- (*PL_Mem->pMalloc)(PL_Mem, (size))
-#define PerlMemShared_realloc(buf, size) \
- (*PL_Mem->pRealloc)(PL_Mem, (buf), (size))
-#define PerlMemShared_free(buf) \
- (*PL_Mem->pFree)(PL_Mem, (buf))
-#define PerlMemShared_calloc(num, size) \
- (*PL_Mem->pCalloc)(PL_Mem, (num), (size))
-#define PerlMemShared_get_lock() \
- (*PL_Mem->pGetLock)(PL_Mem)
-#define PerlMemShared_free_lock() \
- (*PL_Mem->pFreeLock)(PL_Mem)
-#define PerlMemShared_is_locked() \
- (*PL_Mem->pIsLocked)(PL_Mem)
-
-#else
-
-#define PerlMemShared_malloc(size) \
- (*PL_MemShared->pMalloc)(PL_MemShared, (size))
-#define PerlMemShared_realloc(buf, size) \
- (*PL_MemShared->pRealloc)(PL_MemShared, (buf), (size))
-#define PerlMemShared_free(buf) \
- (*PL_MemShared->pFree)(PL_MemShared, (buf))
-#define PerlMemShared_calloc(num, size) \
- (*PL_MemShared->pCalloc)(PL_MemShared, (num), (size))
-#define PerlMemShared_get_lock() \
- (*PL_MemShared->pGetLock)(PL_MemShared)
-#define PerlMemShared_free_lock() \
- (*PL_MemShared->pFreeLock)(PL_MemShared)
-#define PerlMemShared_is_locked() \
- (*PL_MemShared->pIsLocked)(PL_MemShared)
-
-#endif
-
-/* Parse tree memory macros */
-#define PerlMemParse_malloc(size) \
- (*PL_MemParse->pMalloc)(PL_MemParse, (size))
-#define PerlMemParse_realloc(buf, size) \
- (*PL_MemParse->pRealloc)(PL_MemParse, (buf), (size))
-#define PerlMemParse_free(buf) \
- (*PL_MemParse->pFree)(PL_MemParse, (buf))
-#define PerlMemParse_calloc(num, size) \
- (*PL_MemParse->pCalloc)(PL_MemParse, (num), (size))
-#define PerlMemParse_get_lock() \
- (*PL_MemParse->pGetLock)(PL_MemParse)
-#define PerlMemParse_free_lock() \
- (*PL_MemParse->pFreeLock)(PL_MemParse)
-#define PerlMemParse_is_locked() \
- (*PL_MemParse->pIsLocked)(PL_MemParse)
-
-
-#else /* PERL_IMPLICIT_SYS */
-
-/* Interpreter specific memory macros */
-#define PerlMem_malloc(size) malloc((size))
-#define PerlMem_realloc(buf, size) realloc((buf), (size))
-#define PerlMem_free(buf) free((buf))
-#define PerlMem_calloc(num, size) calloc((num), (size))
-#define PerlMem_get_lock()
-#define PerlMem_free_lock()
-#define PerlMem_is_locked() 0
-
-/* Shared memory macros */
-#define PerlMemShared_malloc(size) malloc((size))
-#define PerlMemShared_realloc(buf, size) realloc((buf), (size))
-#define PerlMemShared_free(buf) free((buf))
-#define PerlMemShared_calloc(num, size) calloc((num), (size))
-#define PerlMemShared_get_lock()
-#define PerlMemShared_free_lock()
-#define PerlMemShared_is_locked() 0
-
-/* Parse tree memory macros */
-#define PerlMemParse_malloc(size) malloc((size))
-#define PerlMemParse_realloc(buf, size) realloc((buf), (size))
-#define PerlMemParse_free(buf) free((buf))
-#define PerlMemParse_calloc(num, size) calloc((num), (size))
-#define PerlMemParse_get_lock()
-#define PerlMemParse_free_lock()
-#define PerlMemParse_is_locked() 0
-
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- Interface for perl process functions
-*/
-
-
-#if defined(PERL_IMPLICIT_SYS)
-
-#ifndef jmp_buf
-#include <setjmp.h>
-#endif
-
-/* IPerlProc */
-struct IPerlProc;
-struct IPerlProcInfo;
-typedef void (*LPProcAbort)(struct IPerlProc*);
-typedef char* (*LPProcCrypt)(struct IPerlProc*, const char*,
- const char*);
-typedef void (*LPProcExit)(struct IPerlProc*, int)
- __attribute__noreturn__;
-typedef void (*LPProc_Exit)(struct IPerlProc*, int)
- __attribute__noreturn__;
-typedef int (*LPProcExecl)(struct IPerlProc*, const char*,
- const char*, const char*, const char*,
- const char*);
-typedef int (*LPProcExecv)(struct IPerlProc*, const char*,
- const char*const*);
-typedef int (*LPProcExecvp)(struct IPerlProc*, const char*,
- const char*const*);
-typedef uid_t (*LPProcGetuid)(struct IPerlProc*);
-typedef uid_t (*LPProcGeteuid)(struct IPerlProc*);
-typedef gid_t (*LPProcGetgid)(struct IPerlProc*);
-typedef gid_t (*LPProcGetegid)(struct IPerlProc*);
-typedef char* (*LPProcGetlogin)(struct IPerlProc*);
-typedef int (*LPProcKill)(struct IPerlProc*, int, int);
-typedef int (*LPProcKillpg)(struct IPerlProc*, int, int);
-typedef int (*LPProcPauseProc)(struct IPerlProc*);
-typedef PerlIO* (*LPProcPopen)(struct IPerlProc*, const char*,
- const char*);
-typedef PerlIO* (*LPProcPopenList)(struct IPerlProc*, const char*,
- IV narg, SV **args);
-typedef int (*LPProcPclose)(struct IPerlProc*, PerlIO*);
-typedef int (*LPProcPipe)(struct IPerlProc*, int*);
-typedef int (*LPProcSetuid)(struct IPerlProc*, uid_t);
-typedef int (*LPProcSetgid)(struct IPerlProc*, gid_t);
-typedef int (*LPProcSleep)(struct IPerlProc*, unsigned int);
-typedef int (*LPProcTimes)(struct IPerlProc*, struct tms*);
-typedef int (*LPProcWait)(struct IPerlProc*, int*);
-typedef int (*LPProcWaitpid)(struct IPerlProc*, int, int*, int);
-typedef Sighandler_t (*LPProcSignal)(struct IPerlProc*, int, Sighandler_t);
-typedef int (*LPProcFork)(struct IPerlProc*);
-typedef int (*LPProcGetpid)(struct IPerlProc*);
-#ifdef WIN32
-typedef void* (*LPProcDynaLoader)(struct IPerlProc*, const char*);
-typedef void (*LPProcGetOSError)(struct IPerlProc*,
- SV* sv, DWORD dwErr);
-typedef int (*LPProcSpawnvp)(struct IPerlProc*, int, const char*,
- const char*const*);
-#endif
-typedef int (*LPProcLastHost)(struct IPerlProc*);
-typedef int (*LPProcGetTimeOfDay)(struct IPerlProc*,
- struct timeval*, void*);
-
-struct IPerlProc
-{
- LPProcAbort pAbort;
- LPProcCrypt pCrypt;
- LPProcExit pExit;
- LPProc_Exit p_Exit;
- LPProcExecl pExecl;
- LPProcExecv pExecv;
- LPProcExecvp pExecvp;
- LPProcGetuid pGetuid;
- LPProcGeteuid pGeteuid;
- LPProcGetgid pGetgid;
- LPProcGetegid pGetegid;
- LPProcGetlogin pGetlogin;
- LPProcKill pKill;
- LPProcKillpg pKillpg;
- LPProcPauseProc pPauseProc;
- LPProcPopen pPopen;
- LPProcPclose pPclose;
- LPProcPipe pPipe;
- LPProcSetuid pSetuid;
- LPProcSetgid pSetgid;
- LPProcSleep pSleep;
- LPProcTimes pTimes;
- LPProcWait pWait;
- LPProcWaitpid pWaitpid;
- LPProcSignal pSignal;
- LPProcFork pFork;
- LPProcGetpid pGetpid;
-#ifdef WIN32
- LPProcDynaLoader pDynaLoader;
- LPProcGetOSError pGetOSError;
- LPProcSpawnvp pSpawnvp;
-#endif
- LPProcLastHost pLastHost;
- LPProcPopenList pPopenList;
- LPProcGetTimeOfDay pGetTimeOfDay;
-};
-
-struct IPerlProcInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlProc perlProcList;
-};
-
-#define PerlProc_abort() \
- (*PL_Proc->pAbort)(PL_Proc)
-#define PerlProc_crypt(c,s) \
- (*PL_Proc->pCrypt)(PL_Proc, (c), (s))
-#define PerlProc_exit(s) \
- (*PL_Proc->pExit)(PL_Proc, (s))
-#define PerlProc__exit(s) \
- (*PL_Proc->p_Exit)(PL_Proc, (s))
-#define PerlProc_execl(c, w, x, y, z) \
- (*PL_Proc->pExecl)(PL_Proc, (c), (w), (x), (y), (z))
-#define PerlProc_execv(c, a) \
- (*PL_Proc->pExecv)(PL_Proc, (c), (a))
-#define PerlProc_execvp(c, a) \
- (*PL_Proc->pExecvp)(PL_Proc, (c), (a))
-#define PerlProc_getuid() \
- (*PL_Proc->pGetuid)(PL_Proc)
-#define PerlProc_geteuid() \
- (*PL_Proc->pGeteuid)(PL_Proc)
-#define PerlProc_getgid() \
- (*PL_Proc->pGetgid)(PL_Proc)
-#define PerlProc_getegid() \
- (*PL_Proc->pGetegid)(PL_Proc)
-#define PerlProc_getlogin() \
- (*PL_Proc->pGetlogin)(PL_Proc)
-#define PerlProc_kill(i, a) \
- (*PL_Proc->pKill)(PL_Proc, (i), (a))
-#define PerlProc_killpg(i, a) \
- (*PL_Proc->pKillpg)(PL_Proc, (i), (a))
-#define PerlProc_pause() \
- (*PL_Proc->pPauseProc)(PL_Proc)
-#define PerlProc_popen(c, m) \
- (*PL_Proc->pPopen)(PL_Proc, (c), (m))
-#define PerlProc_popen_list(m, n, a) \
- (*PL_Proc->pPopenList)(PL_Proc, (m), (n), (a))
-#define PerlProc_pclose(f) \
- (*PL_Proc->pPclose)(PL_Proc, (f))
-#define PerlProc_pipe(fd) \
- (*PL_Proc->pPipe)(PL_Proc, (fd))
-#define PerlProc_setuid(u) \
- (*PL_Proc->pSetuid)(PL_Proc, (u))
-#define PerlProc_setgid(g) \
- (*PL_Proc->pSetgid)(PL_Proc, (g))
-#define PerlProc_sleep(t) \
- (*PL_Proc->pSleep)(PL_Proc, (t))
-#define PerlProc_times(t) \
- (*PL_Proc->pTimes)(PL_Proc, (t))
-#define PerlProc_wait(t) \
- (*PL_Proc->pWait)(PL_Proc, (t))
-#define PerlProc_waitpid(p,s,f) \
- (*PL_Proc->pWaitpid)(PL_Proc, (p), (s), (f))
-#define PerlProc_signal(n, h) \
- (*PL_Proc->pSignal)(PL_Proc, (n), (h))
-#define PerlProc_fork() \
- (*PL_Proc->pFork)(PL_Proc)
-#define PerlProc_getpid() \
- (*PL_Proc->pGetpid)(PL_Proc)
-#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
-#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
-
-#ifdef WIN32
-#define PerlProc_DynaLoad(f) \
- (*PL_Proc->pDynaLoader)(PL_Proc, (f))
-#define PerlProc_GetOSError(s,e) \
- (*PL_Proc->pGetOSError)(PL_Proc, (s), (e))
-#define PerlProc_spawnvp(m, c, a) \
- (*PL_Proc->pSpawnvp)(PL_Proc, (m), (c), (a))
-#endif
-#define PerlProc_lasthost() \
- (*PL_Proc->pLastHost)(PL_Proc)
-#define PerlProc_gettimeofday(t,z) \
- (*PL_Proc->pGetTimeOfDay)(PL_Proc,(t),(z))
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlProc_abort() abort()
-#define PerlProc_crypt(c,s) crypt((c), (s))
-#define PerlProc_exit(s) exit((s))
-#define PerlProc__exit(s) _exit((s))
-#define PerlProc_execl(c,w,x,y,z) \
- execl((c), (w), (x), (y), (z))
-#define PerlProc_execv(c, a) execv((c), (a))
-#define PerlProc_execvp(c, a) execvp((c), (a))
-#define PerlProc_getuid() getuid()
-#define PerlProc_geteuid() geteuid()
-#define PerlProc_getgid() getgid()
-#define PerlProc_getegid() getegid()
-#define PerlProc_getlogin() getlogin()
-#define PerlProc_kill(i, a) kill((i), (a))
-#define PerlProc_killpg(i, a) killpg((i), (a))
-#define PerlProc_pause() Pause()
-#define PerlProc_popen(c, m) my_popen((c), (m))
-#define PerlProc_popen_list(m,n,a) my_popen_list((m),(n),(a))
-#define PerlProc_pclose(f) my_pclose((f))
-#define PerlProc_pipe(fd) pipe((fd))
-#define PerlProc_setuid(u) setuid((u))
-#define PerlProc_setgid(g) setgid((g))
-#define PerlProc_sleep(t) sleep((t))
-#define PerlProc_times(t) times((t))
-#define PerlProc_wait(t) wait((t))
-#define PerlProc_waitpid(p,s,f) waitpid((p), (s), (f))
-#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
-#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
-#define PerlProc_signal(n, h) signal((n), (h))
-#define PerlProc_fork() my_fork()
-#define PerlProc_getpid() getpid()
-#define PerlProc_gettimeofday(t,z) gettimeofday((t),(z))
-
-#ifdef WIN32
-#define PerlProc_DynaLoad(f) \
- win32_dynaload((f))
-#define PerlProc_GetOSError(s,e) \
- win32_str_os_error((s), (e))
-#define PerlProc_spawnvp(m, c, a) \
- win32_spawnvp((m), (c), (a))
-#undef PerlProc_signal
-#define PerlProc_signal(n, h) win32_signal((n), (h))
-#endif
-#endif /* PERL_IMPLICIT_SYS */
-
-/*
- Interface for perl socket functions
-*/
-
-#if defined(PERL_IMPLICIT_SYS)
-
-/* PerlSock */
-struct IPerlSock;
-struct IPerlSockInfo;
-typedef u_long (*LPHtonl)(struct IPerlSock*, u_long);
-typedef u_short (*LPHtons)(struct IPerlSock*, u_short);
-typedef u_long (*LPNtohl)(struct IPerlSock*, u_long);
-typedef u_short (*LPNtohs)(struct IPerlSock*, u_short);
-typedef SOCKET (*LPAccept)(struct IPerlSock*, SOCKET,
- struct sockaddr*, int*);
-typedef int (*LPBind)(struct IPerlSock*, SOCKET,
- const struct sockaddr*, int);
-typedef int (*LPConnect)(struct IPerlSock*, SOCKET,
- const struct sockaddr*, int);
-typedef void (*LPEndhostent)(struct IPerlSock*);
-typedef void (*LPEndnetent)(struct IPerlSock*);
-typedef void (*LPEndprotoent)(struct IPerlSock*);
-typedef void (*LPEndservent)(struct IPerlSock*);
-typedef int (*LPGethostname)(struct IPerlSock*, char*, int);
-typedef int (*LPGetpeername)(struct IPerlSock*, SOCKET,
- struct sockaddr*, int*);
-typedef struct hostent* (*LPGethostbyaddr)(struct IPerlSock*, const char*,
- int, int);
-typedef struct hostent* (*LPGethostbyname)(struct IPerlSock*, const char*);
-typedef struct hostent* (*LPGethostent)(struct IPerlSock*);
-typedef struct netent* (*LPGetnetbyaddr)(struct IPerlSock*, long, int);
-typedef struct netent* (*LPGetnetbyname)(struct IPerlSock*, const char*);
-typedef struct netent* (*LPGetnetent)(struct IPerlSock*);
-typedef struct protoent*(*LPGetprotobyname)(struct IPerlSock*, const char*);
-typedef struct protoent*(*LPGetprotobynumber)(struct IPerlSock*, int);
-typedef struct protoent*(*LPGetprotoent)(struct IPerlSock*);
-typedef struct servent* (*LPGetservbyname)(struct IPerlSock*, const char*,
- const char*);
-typedef struct servent* (*LPGetservbyport)(struct IPerlSock*, int,
- const char*);
-typedef struct servent* (*LPGetservent)(struct IPerlSock*);
-typedef int (*LPGetsockname)(struct IPerlSock*, SOCKET,
- struct sockaddr*, int*);
-typedef int (*LPGetsockopt)(struct IPerlSock*, SOCKET, int, int,
- char*, int*);
-typedef unsigned long (*LPInetAddr)(struct IPerlSock*, const char*);
-typedef char* (*LPInetNtoa)(struct IPerlSock*, struct in_addr);
-typedef int (*LPListen)(struct IPerlSock*, SOCKET, int);
-typedef int (*LPRecv)(struct IPerlSock*, SOCKET, char*, int, int);
-typedef int (*LPRecvfrom)(struct IPerlSock*, SOCKET, char*, int,
- int, struct sockaddr*, int*);
-typedef int (*LPSelect)(struct IPerlSock*, int, char*, char*,
- char*, const struct timeval*);
-typedef int (*LPSend)(struct IPerlSock*, SOCKET, const char*, int,
- int);
-typedef int (*LPSendto)(struct IPerlSock*, SOCKET, const char*,
- int, int, const struct sockaddr*, int);
-typedef void (*LPSethostent)(struct IPerlSock*, int);
-typedef void (*LPSetnetent)(struct IPerlSock*, int);
-typedef void (*LPSetprotoent)(struct IPerlSock*, int);
-typedef void (*LPSetservent)(struct IPerlSock*, int);
-typedef int (*LPSetsockopt)(struct IPerlSock*, SOCKET, int, int,
- const char*, int);
-typedef int (*LPShutdown)(struct IPerlSock*, SOCKET, int);
-typedef SOCKET (*LPSocket)(struct IPerlSock*, int, int, int);
-typedef int (*LPSocketpair)(struct IPerlSock*, int, int, int,
- int*);
-#ifdef WIN32
-typedef int (*LPClosesocket)(struct IPerlSock*, SOCKET s);
-#endif
-
-struct IPerlSock
-{
- LPHtonl pHtonl;
- LPHtons pHtons;
- LPNtohl pNtohl;
- LPNtohs pNtohs;
- LPAccept pAccept;
- LPBind pBind;
- LPConnect pConnect;
- LPEndhostent pEndhostent;
- LPEndnetent pEndnetent;
- LPEndprotoent pEndprotoent;
- LPEndservent pEndservent;
- LPGethostname pGethostname;
- LPGetpeername pGetpeername;
- LPGethostbyaddr pGethostbyaddr;
- LPGethostbyname pGethostbyname;
- LPGethostent pGethostent;
- LPGetnetbyaddr pGetnetbyaddr;
- LPGetnetbyname pGetnetbyname;
- LPGetnetent pGetnetent;
- LPGetprotobyname pGetprotobyname;
- LPGetprotobynumber pGetprotobynumber;
- LPGetprotoent pGetprotoent;
- LPGetservbyname pGetservbyname;
- LPGetservbyport pGetservbyport;
- LPGetservent pGetservent;
- LPGetsockname pGetsockname;
- LPGetsockopt pGetsockopt;
- LPInetAddr pInetAddr;
- LPInetNtoa pInetNtoa;
- LPListen pListen;
- LPRecv pRecv;
- LPRecvfrom pRecvfrom;
- LPSelect pSelect;
- LPSend pSend;
- LPSendto pSendto;
- LPSethostent pSethostent;
- LPSetnetent pSetnetent;
- LPSetprotoent pSetprotoent;
- LPSetservent pSetservent;
- LPSetsockopt pSetsockopt;
- LPShutdown pShutdown;
- LPSocket pSocket;
- LPSocketpair pSocketpair;
-#ifdef WIN32
- LPClosesocket pClosesocket;
-#endif
-};
-
-struct IPerlSockInfo
-{
- unsigned long nCount; /* number of entries expected */
- struct IPerlSock perlSockList;
-};
-
-#define PerlSock_htonl(x) \
- (*PL_Sock->pHtonl)(PL_Sock, x)
-#define PerlSock_htons(x) \
- (*PL_Sock->pHtons)(PL_Sock, x)
-#define PerlSock_ntohl(x) \
- (*PL_Sock->pNtohl)(PL_Sock, x)
-#define PerlSock_ntohs(x) \
- (*PL_Sock->pNtohs)(PL_Sock, x)
-#define PerlSock_accept(s, a, l) \
- (*PL_Sock->pAccept)(PL_Sock, s, a, l)
-#define PerlSock_bind(s, n, l) \
- (*PL_Sock->pBind)(PL_Sock, s, n, l)
-#define PerlSock_connect(s, n, l) \
- (*PL_Sock->pConnect)(PL_Sock, s, n, l)
-#define PerlSock_endhostent() \
- (*PL_Sock->pEndhostent)(PL_Sock)
-#define PerlSock_endnetent() \
- (*PL_Sock->pEndnetent)(PL_Sock)
-#define PerlSock_endprotoent() \
- (*PL_Sock->pEndprotoent)(PL_Sock)
-#define PerlSock_endservent() \
- (*PL_Sock->pEndservent)(PL_Sock)
-#define PerlSock_gethostbyaddr(a, l, t) \
- (*PL_Sock->pGethostbyaddr)(PL_Sock, a, l, t)
-#define PerlSock_gethostbyname(n) \
- (*PL_Sock->pGethostbyname)(PL_Sock, n)
-#define PerlSock_gethostent() \
- (*PL_Sock->pGethostent)(PL_Sock)
-#define PerlSock_gethostname(n, l) \
- (*PL_Sock->pGethostname)(PL_Sock, n, l)
-#define PerlSock_getnetbyaddr(n, t) \
- (*PL_Sock->pGetnetbyaddr)(PL_Sock, n, t)
-#define PerlSock_getnetbyname(c) \
- (*PL_Sock->pGetnetbyname)(PL_Sock, c)
-#define PerlSock_getnetent() \
- (*PL_Sock->pGetnetent)(PL_Sock)
-#define PerlSock_getpeername(s, n, l) \
- (*PL_Sock->pGetpeername)(PL_Sock, s, n, l)
-#define PerlSock_getprotobyname(n) \
- (*PL_Sock->pGetprotobyname)(PL_Sock, n)
-#define PerlSock_getprotobynumber(n) \
- (*PL_Sock->pGetprotobynumber)(PL_Sock, n)
-#define PerlSock_getprotoent() \
- (*PL_Sock->pGetprotoent)(PL_Sock)
-#define PerlSock_getservbyname(n, p) \
- (*PL_Sock->pGetservbyname)(PL_Sock, n, p)
-#define PerlSock_getservbyport(port, p) \
- (*PL_Sock->pGetservbyport)(PL_Sock, port, p)
-#define PerlSock_getservent() \
- (*PL_Sock->pGetservent)(PL_Sock)
-#define PerlSock_getsockname(s, n, l) \
- (*PL_Sock->pGetsockname)(PL_Sock, s, n, l)
-#define PerlSock_getsockopt(s,l,n,v,i) \
- (*PL_Sock->pGetsockopt)(PL_Sock, s, l, n, v, i)
-#define PerlSock_inet_addr(c) \
- (*PL_Sock->pInetAddr)(PL_Sock, c)
-#define PerlSock_inet_ntoa(i) \
- (*PL_Sock->pInetNtoa)(PL_Sock, i)
-#define PerlSock_listen(s, b) \
- (*PL_Sock->pListen)(PL_Sock, s, b)
-#define PerlSock_recv(s, b, l, f) \
- (*PL_Sock->pRecv)(PL_Sock, s, b, l, f)
-#define PerlSock_recvfrom(s,b,l,f,from,fromlen) \
- (*PL_Sock->pRecvfrom)(PL_Sock, s, b, l, f, from, fromlen)
-#define PerlSock_select(n, r, w, e, t) \
- (*PL_Sock->pSelect)(PL_Sock, n, (char*)r, (char*)w, (char*)e, t)
-#define PerlSock_send(s, b, l, f) \
- (*PL_Sock->pSend)(PL_Sock, s, b, l, f)
-#define PerlSock_sendto(s, b, l, f, t, tlen) \
- (*PL_Sock->pSendto)(PL_Sock, s, b, l, f, t, tlen)
-#define PerlSock_sethostent(f) \
- (*PL_Sock->pSethostent)(PL_Sock, f)
-#define PerlSock_setnetent(f) \
- (*PL_Sock->pSetnetent)(PL_Sock, f)
-#define PerlSock_setprotoent(f) \
- (*PL_Sock->pSetprotoent)(PL_Sock, f)
-#define PerlSock_setservent(f) \
- (*PL_Sock->pSetservent)(PL_Sock, f)
-#define PerlSock_setsockopt(s, l, n, v, len) \
- (*PL_Sock->pSetsockopt)(PL_Sock, s, l, n, v, len)
-#define PerlSock_shutdown(s, h) \
- (*PL_Sock->pShutdown)(PL_Sock, s, h)
-#define PerlSock_socket(a, t, p) \
- (*PL_Sock->pSocket)(PL_Sock, a, t, p)
-#define PerlSock_socketpair(a, t, p, f) \
- (*PL_Sock->pSocketpair)(PL_Sock, a, t, p, f)
-
-#ifdef WIN32
-#define PerlSock_closesocket(s) \
- (*PL_Sock->pClosesocket)(PL_Sock, s)
-#endif
-
-#else /* PERL_IMPLICIT_SYS */
-
-#define PerlSock_htonl(x) htonl(x)
-#define PerlSock_htons(x) htons(x)
-#define PerlSock_ntohl(x) ntohl(x)
-#define PerlSock_ntohs(x) ntohs(x)
-#define PerlSock_accept(s, a, l) accept(s, a, l)
-#define PerlSock_bind(s, n, l) bind(s, n, l)
-#define PerlSock_connect(s, n, l) connect(s, n, l)
-
-#define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr(a, l, t)
-#define PerlSock_gethostbyname(n) gethostbyname(n)
-#define PerlSock_gethostent gethostent
-#define PerlSock_endhostent endhostent
-#define PerlSock_gethostname(n, l) gethostname(n, l)
-
-#define PerlSock_getnetbyaddr(n, t) getnetbyaddr(n, t)
-#define PerlSock_getnetbyname(n) getnetbyname(n)
-#define PerlSock_getnetent getnetent
-#define PerlSock_endnetent endnetent
-#define PerlSock_getpeername(s, n, l) getpeername(s, n, l)
-
-#define PerlSock_getprotobyname(n) getprotobyname(n)
-#define PerlSock_getprotobynumber(n) getprotobynumber(n)
-#define PerlSock_getprotoent getprotoent
-#define PerlSock_endprotoent endprotoent
-
-#define PerlSock_getservbyname(n, p) getservbyname(n, p)
-#define PerlSock_getservbyport(port, p) getservbyport(port, p)
-#define PerlSock_getservent getservent
-#define PerlSock_endservent endservent
-
-#define PerlSock_getsockname(s, n, l) getsockname(s, n, l)
-#define PerlSock_getsockopt(s,l,n,v,i) getsockopt(s, l, n, v, i)
-#define PerlSock_inet_addr(c) inet_addr(c)
-#define PerlSock_inet_ntoa(i) inet_ntoa(i)
-#define PerlSock_listen(s, b) listen(s, b)
-#define PerlSock_recv(s, b, l, f) recv(s, b, l, f)
-#define PerlSock_recvfrom(s, b, l, f, from, fromlen) \
- recvfrom(s, b, l, f, from, fromlen)
-#define PerlSock_select(n, r, w, e, t) select(n, r, w, e, t)
-#define PerlSock_send(s, b, l, f) send(s, b, l, f)
-#define PerlSock_sendto(s, b, l, f, t, tlen) \
- sendto(s, b, l, f, t, tlen)
-#define PerlSock_sethostent(f) sethostent(f)
-#define PerlSock_setnetent(f) setnetent(f)
-#define PerlSock_setprotoent(f) setprotoent(f)
-#define PerlSock_setservent(f) setservent(f)
-#define PerlSock_setsockopt(s, l, n, v, len) \
- setsockopt(s, l, n, v, len)
-#define PerlSock_shutdown(s, h) shutdown(s, h)
-#define PerlSock_socket(a, t, p) socket(a, t, p)
-#define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f)
-
-#ifdef WIN32
-#define PerlSock_closesocket(s) closesocket(s)
-#endif
-
-#endif /* PERL_IMPLICIT_SYS */
-
-#endif /* __Inc__IPerl___ */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/keywords.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/keywords.h
deleted file mode 100644
index b2e996db886..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/keywords.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * keywords.h
- *
- * Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2005,
- * 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by keywords.pl from its data. Any changes made here
- * will be lost!
- */
-#define KEY_NULL 0
-#define KEY___FILE__ 1
-#define KEY___LINE__ 2
-#define KEY___PACKAGE__ 3
-#define KEY___DATA__ 4
-#define KEY___END__ 5
-#define KEY_AUTOLOAD 6
-#define KEY_BEGIN 7
-#define KEY_UNITCHECK 8
-#define KEY_CORE 9
-#define KEY_DESTROY 10
-#define KEY_END 11
-#define KEY_INIT 12
-#define KEY_CHECK 13
-#define KEY_abs 14
-#define KEY_accept 15
-#define KEY_alarm 16
-#define KEY_and 17
-#define KEY_atan2 18
-#define KEY_bind 19
-#define KEY_binmode 20
-#define KEY_bless 21
-#define KEY_break 22
-#define KEY_caller 23
-#define KEY_chdir 24
-#define KEY_chmod 25
-#define KEY_chomp 26
-#define KEY_chop 27
-#define KEY_chown 28
-#define KEY_chr 29
-#define KEY_chroot 30
-#define KEY_close 31
-#define KEY_closedir 32
-#define KEY_cmp 33
-#define KEY_connect 34
-#define KEY_continue 35
-#define KEY_cos 36
-#define KEY_crypt 37
-#define KEY_dbmclose 38
-#define KEY_dbmopen 39
-#define KEY_default 40
-#define KEY_defined 41
-#define KEY_delete 42
-#define KEY_die 43
-#define KEY_do 44
-#define KEY_dump 45
-#define KEY_each 46
-#define KEY_else 47
-#define KEY_elsif 48
-#define KEY_endgrent 49
-#define KEY_endhostent 50
-#define KEY_endnetent 51
-#define KEY_endprotoent 52
-#define KEY_endpwent 53
-#define KEY_endservent 54
-#define KEY_eof 55
-#define KEY_eq 56
-#define KEY_eval 57
-#define KEY_exec 58
-#define KEY_exists 59
-#define KEY_exit 60
-#define KEY_exp 61
-#define KEY_fcntl 62
-#define KEY_fileno 63
-#define KEY_flock 64
-#define KEY_for 65
-#define KEY_foreach 66
-#define KEY_fork 67
-#define KEY_format 68
-#define KEY_formline 69
-#define KEY_ge 70
-#define KEY_getc 71
-#define KEY_getgrent 72
-#define KEY_getgrgid 73
-#define KEY_getgrnam 74
-#define KEY_gethostbyaddr 75
-#define KEY_gethostbyname 76
-#define KEY_gethostent 77
-#define KEY_getlogin 78
-#define KEY_getnetbyaddr 79
-#define KEY_getnetbyname 80
-#define KEY_getnetent 81
-#define KEY_getpeername 82
-#define KEY_getpgrp 83
-#define KEY_getppid 84
-#define KEY_getpriority 85
-#define KEY_getprotobyname 86
-#define KEY_getprotobynumber 87
-#define KEY_getprotoent 88
-#define KEY_getpwent 89
-#define KEY_getpwnam 90
-#define KEY_getpwuid 91
-#define KEY_getservbyname 92
-#define KEY_getservbyport 93
-#define KEY_getservent 94
-#define KEY_getsockname 95
-#define KEY_getsockopt 96
-#define KEY_given 97
-#define KEY_glob 98
-#define KEY_gmtime 99
-#define KEY_goto 100
-#define KEY_grep 101
-#define KEY_gt 102
-#define KEY_hex 103
-#define KEY_if 104
-#define KEY_index 105
-#define KEY_int 106
-#define KEY_ioctl 107
-#define KEY_join 108
-#define KEY_keys 109
-#define KEY_kill 110
-#define KEY_last 111
-#define KEY_lc 112
-#define KEY_lcfirst 113
-#define KEY_le 114
-#define KEY_length 115
-#define KEY_link 116
-#define KEY_listen 117
-#define KEY_local 118
-#define KEY_localtime 119
-#define KEY_lock 120
-#define KEY_log 121
-#define KEY_lstat 122
-#define KEY_lt 123
-#define KEY_m 124
-#define KEY_map 125
-#define KEY_mkdir 126
-#define KEY_msgctl 127
-#define KEY_msgget 128
-#define KEY_msgrcv 129
-#define KEY_msgsnd 130
-#define KEY_my 131
-#define KEY_ne 132
-#define KEY_next 133
-#define KEY_no 134
-#define KEY_not 135
-#define KEY_oct 136
-#define KEY_open 137
-#define KEY_opendir 138
-#define KEY_or 139
-#define KEY_ord 140
-#define KEY_our 141
-#define KEY_pack 142
-#define KEY_package 143
-#define KEY_pipe 144
-#define KEY_pop 145
-#define KEY_pos 146
-#define KEY_print 147
-#define KEY_printf 148
-#define KEY_prototype 149
-#define KEY_push 150
-#define KEY_q 151
-#define KEY_qq 152
-#define KEY_qr 153
-#define KEY_quotemeta 154
-#define KEY_qw 155
-#define KEY_qx 156
-#define KEY_rand 157
-#define KEY_read 158
-#define KEY_readdir 159
-#define KEY_readline 160
-#define KEY_readlink 161
-#define KEY_readpipe 162
-#define KEY_recv 163
-#define KEY_redo 164
-#define KEY_ref 165
-#define KEY_rename 166
-#define KEY_require 167
-#define KEY_reset 168
-#define KEY_return 169
-#define KEY_reverse 170
-#define KEY_rewinddir 171
-#define KEY_rindex 172
-#define KEY_rmdir 173
-#define KEY_s 174
-#define KEY_say 175
-#define KEY_scalar 176
-#define KEY_seek 177
-#define KEY_seekdir 178
-#define KEY_select 179
-#define KEY_semctl 180
-#define KEY_semget 181
-#define KEY_semop 182
-#define KEY_send 183
-#define KEY_setgrent 184
-#define KEY_sethostent 185
-#define KEY_setnetent 186
-#define KEY_setpgrp 187
-#define KEY_setpriority 188
-#define KEY_setprotoent 189
-#define KEY_setpwent 190
-#define KEY_setservent 191
-#define KEY_setsockopt 192
-#define KEY_shift 193
-#define KEY_shmctl 194
-#define KEY_shmget 195
-#define KEY_shmread 196
-#define KEY_shmwrite 197
-#define KEY_shutdown 198
-#define KEY_sin 199
-#define KEY_sleep 200
-#define KEY_socket 201
-#define KEY_socketpair 202
-#define KEY_sort 203
-#define KEY_splice 204
-#define KEY_split 205
-#define KEY_sprintf 206
-#define KEY_sqrt 207
-#define KEY_srand 208
-#define KEY_stat 209
-#define KEY_state 210
-#define KEY_study 211
-#define KEY_sub 212
-#define KEY_substr 213
-#define KEY_symlink 214
-#define KEY_syscall 215
-#define KEY_sysopen 216
-#define KEY_sysread 217
-#define KEY_sysseek 218
-#define KEY_system 219
-#define KEY_syswrite 220
-#define KEY_tell 221
-#define KEY_telldir 222
-#define KEY_tie 223
-#define KEY_tied 224
-#define KEY_time 225
-#define KEY_times 226
-#define KEY_tr 227
-#define KEY_truncate 228
-#define KEY_uc 229
-#define KEY_ucfirst 230
-#define KEY_umask 231
-#define KEY_undef 232
-#define KEY_unless 233
-#define KEY_unlink 234
-#define KEY_unpack 235
-#define KEY_unshift 236
-#define KEY_untie 237
-#define KEY_until 238
-#define KEY_use 239
-#define KEY_utime 240
-#define KEY_values 241
-#define KEY_vec 242
-#define KEY_wait 243
-#define KEY_waitpid 244
-#define KEY_wantarray 245
-#define KEY_warn 246
-#define KEY_when 247
-#define KEY_while 248
-#define KEY_write 249
-#define KEY_x 250
-#define KEY_xor 251
-#define KEY_y 252
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.a b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.a
deleted file mode 100644
index b15d51174d5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.a
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.a b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.a
deleted file mode 100644
index b796452d463..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/libperl.dll.a
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/malloc_ctl.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/malloc_ctl.h
deleted file mode 100644
index 7a6aed0db73..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/malloc_ctl.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef MALLOC_CTL_H
-# define MALLOC_CTL_H
-
-struct perl_mstats {
- UV *nfree;
- UV *ntotal;
- IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain;
- IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains;
- IV minbucket;
- /* Level 1 info */
- UV *bucket_mem_size;
- UV *bucket_available_size;
- UV nbuckets;
-};
-typedef struct perl_mstats perl_mstats_t;
-
-START_EXTERN_C
-Malloc_t Perl_malloc (MEM_SIZE nbytes);
-Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size);
-Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes);
-/* 'mfree' rather than 'free', since there is already a 'perl_free'
- * that causes clashes with case-insensitive linkers */
-Free_t Perl_mfree (Malloc_t where);
-END_EXTERN_C
-
-#ifndef NO_MALLOC_DYNAMIC_CFG
-
-/* IV configuration data */
-enum {
- MallocCfg_FIRST_SBRK,
- MallocCfg_MIN_SBRK,
- MallocCfg_MIN_SBRK_FRAC1000,
- MallocCfg_SBRK_ALLOW_FAILURES,
- MallocCfg_SBRK_FAILURE_PRICE,
- MallocCfg_sbrk_goodness,
-
- MallocCfg_filldead,
- MallocCfg_fillalive,
- MallocCfg_fillcheck,
-
- MallocCfg_skip_cfg_env,
- MallocCfg_cfg_env_read,
-
- MallocCfg_emergency_buffer_size,
- MallocCfg_emergency_buffer_last_req,
-
- MallocCfg_emergency_buffer_prepared_size,
-
- MallocCfg_last
-};
-/* char* configuration data */
-enum {
- MallocCfgP_emergency_buffer,
- MallocCfgP_emergency_buffer_prepared,
- MallocCfgP_last
-};
-START_EXTERN_C
-extern IV *MallocCfg_ptr;
-extern char **MallocCfgP_ptr;
-END_EXTERN_C
-
-#endif
-
-#endif
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mg.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mg.h
deleted file mode 100644
index fffc2dc8992..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mg.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* mg.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
- * 2000, 2002, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifdef STRUCT_MGVTBL_DEFINITION
-STRUCT_MGVTBL_DEFINITION;
-#else
-struct mgvtbl {
- int (CPERLscope(*svt_get)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_set)) (pTHX_ SV *sv, MAGIC* mg);
- U32 (CPERLscope(*svt_len)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_clear))(pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_free)) (pTHX_ SV *sv, MAGIC* mg);
- int (CPERLscope(*svt_copy)) (pTHX_ SV *sv, MAGIC* mg,
- SV *nsv, const char *name, int namlen);
- int (CPERLscope(*svt_dup)) (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
- int (CPERLscope(*svt_local))(pTHX_ SV *nsv, MAGIC *mg);
-};
-#endif
-
-struct magic {
- MAGIC* mg_moremagic;
- MGVTBL* mg_virtual; /* pointer to magic functions */
- U16 mg_private;
- char mg_type;
- U8 mg_flags;
- I32 mg_len;
- SV* mg_obj;
- char* mg_ptr;
-};
-
-#define MGf_TAINTEDDIR 1 /* PERL_MAGIC_envelem only */
-#define MGf_MINMATCH 1 /* PERL_MAGIC_regex_global only */
-#define MGf_REFCOUNTED 2
-#define MGf_GSKIP 4
-#define MGf_COPY 8 /* has an svt_copy MGVTBL entry */
-#define MGf_DUP 0x10 /* has an svt_dup MGVTBL entry */
-#define MGf_LOCAL 0x20 /* has an svt_local MGVTBL entry */
-
-#define MgTAINTEDDIR(mg) (mg->mg_flags & MGf_TAINTEDDIR)
-#define MgTAINTEDDIR_on(mg) (mg->mg_flags |= MGf_TAINTEDDIR)
-#define MgTAINTEDDIR_off(mg) (mg->mg_flags &= ~MGf_TAINTEDDIR)
-
-#define MgPV(mg,lp) ((((int)(lp = (mg)->mg_len)) == HEf_SVKEY) ? \
- SvPV((SV*)((mg)->mg_ptr),lp) : \
- (mg)->mg_ptr)
-#define MgPV_const(mg,lp) ((((int)(lp = (mg)->mg_len)) == HEf_SVKEY) ? \
- SvPV_const((SV*)((mg)->mg_ptr),lp) : \
- (const char*)(mg)->mg_ptr)
-#define MgPV_nolen_const(mg) (((((int)(mg)->mg_len)) == HEf_SVKEY) ? \
- SvPV_nolen_const((SV*)((mg)->mg_ptr)) : \
- (const char*)(mg)->mg_ptr)
-
-#define SvTIED_mg(sv,how) (SvRMAGICAL(sv) ? mg_find((sv),(how)) : NULL)
-#define SvTIED_obj(sv,mg) \
- ((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv)))
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mydtrace.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mydtrace.h
deleted file mode 100644
index daabcfa0b9c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/mydtrace.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* mydtrace.h
- *
- * Copyright (C) 2008, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * Provides macros that wrap the various DTrace probes we use. We add
- * an extra level of wrapping to encapsulate the _ENABLED tests.
- */
-
-#if defined(USE_DTRACE) && defined(PERL_CORE)
-
-# include "perldtrace.h"
-
-# define ENTRY_PROBE(func, file, line) \
- if (PERL_SUB_ENTRY_ENABLED()) { \
- PERL_SUB_ENTRY(func, file, line); \
- }
-
-# define RETURN_PROBE(func, file, line) \
- if (PERL_SUB_RETURN_ENABLED()) { \
- PERL_SUB_RETURN(func, file, line); \
- }
-
-#else
-
-/* NOPs */
-# define ENTRY_PROBE(func, file, line)
-# define RETURN_PROBE(func, file, line)
-
-#endif
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/nostdio.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/nostdio.h
deleted file mode 100644
index f6a13b4998c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/nostdio.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* nostdio.h
- *
- * Copyright (C) 1996, 2000, 2001, 2005, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * Strong denial of stdio - make all stdio calls (we can think of) errors
- */
-/* This is a 1st attempt to stop other include files pulling
- in real <stdio.h>.
- A more ambitious set of possible symbols can be found in
- sfio.h (inside an _cplusplus gard).
- It is completely pointless as we have already included it ourselves.
-*/
-
-#if !defined(_STDIO_H) && !defined(FILE) && !defined(_STDIO_INCLUDED) && !defined(__STDIO_LOADED)
-#define _STDIO_H
-#define _STDIO_INCLUDED
-#define __STDIO_LOADED
-struct _FILE;
-#define FILE struct _FILE
-#endif
-
-#define _CANNOT "CANNOT"
-
-#undef clearerr
-#undef fclose
-#undef fdopen
-#undef feof
-#undef ferror
-#undef fflush
-#undef fgetc
-#undef fgetpos
-#undef fgets
-#undef fileno
-#undef flockfile
-#undef fopen
-#undef fprintf
-#undef fputc
-#undef fputs
-#undef fread
-#undef freopen
-#undef fscanf
-#undef fseek
-#undef fsetpos
-#undef ftell
-#undef ftrylockfile
-#undef funlockfile
-#undef fwrite
-#undef getc
-#undef getc_unlocked
-#undef getw
-#undef pclose
-#undef popen
-#undef putc
-#undef putc_unlocked
-#undef putw
-#undef rewind
-#undef setbuf
-#undef setvbuf
-#undef stderr
-#undef stdin
-#undef stdout
-#undef tmpfile
-#undef ungetc
-#undef vfprintf
-#undef printf
-
-#define fprintf _CANNOT _fprintf_
-#define printf _CANNOT _printf_
-#define stdin _CANNOT _stdin_
-#define stdout _CANNOT _stdout_
-#define stderr _CANNOT _stderr_
-#ifndef OS2
-#define tmpfile() _CANNOT _tmpfile_
-#endif
-#define fclose(f) _CANNOT _fclose_
-#define fflush(f) _CANNOT _fflush_
-#define fopen(p,m) _CANNOT _fopen_
-#define freopen(p,m,f) _CANNOT _freopen_
-#define setbuf(f,b) _CANNOT _setbuf_
-#define setvbuf(f,b,x,s) _CANNOT _setvbuf_
-#define fscanf _CANNOT _fscanf_
-#define vfprintf(f,fmt,a) _CANNOT _vfprintf_
-#define fgetc(f) _CANNOT _fgetc_
-#define fgets(s,n,f) _CANNOT _fgets_
-#define fputc(c,f) _CANNOT _fputc_
-#define fputs(s,f) _CANNOT _fputs_
-#define getc(f) _CANNOT _getc_
-#define putc(c,f) _CANNOT _putc_
-#ifndef OS2
-#define ungetc(c,f) _CANNOT _ungetc_
-#endif
-#define fread(b,s,c,f) _CANNOT _fread_
-#define fwrite(b,s,c,f) _CANNOT _fwrite_
-#define fgetpos(f,p) _CANNOT _fgetpos_
-#define fseek(f,o,w) _CANNOT _fseek_
-#define fsetpos(f,p) _CANNOT _fsetpos_
-#define ftell(f) _CANNOT _ftell_
-#define rewind(f) _CANNOT _rewind_
-#define clearerr(f) _CANNOT _clearerr_
-#define feof(f) _CANNOT _feof_
-#define ferror(f) _CANNOT _ferror_
-#define __filbuf(f) _CANNOT __filbuf_
-#define __flsbuf(c,f) _CANNOT __flsbuf_
-#define _filbuf(f) _CANNOT _filbuf_
-#define _flsbuf(c,f) _CANNOT _flsbuf_
-#define fdopen(fd,p) _CANNOT _fdopen_
-#define fileno(f) _CANNOT _fileno_
-#if defined(SFIO_VERSION) && SFIO_VERSION < 20000101L
-#define flockfile(f) _CANNOT _flockfile_
-#define ftrylockfile(f) _CANNOT _ftrylockfile_
-#define funlockfile(f) _CANNOT _funlockfile_
-#endif
-#define getc_unlocked(f) _CANNOT _getc_unlocked_
-#define putc_unlocked(c,f) _CANNOT _putc_unlocked_
-#define popen(c,m) _CANNOT _popen_
-#define getw(f) _CANNOT _getw_
-#define putw(v,f) _CANNOT _putw_
-#ifndef OS2
-#define pclose(f) _CANNOT _pclose_
-#endif
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/op.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/op.h
deleted file mode 100644
index c5481bfaf26..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/op.h
+++ /dev/null
@@ -1,749 +0,0 @@
-/* op.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * The fields of BASEOP are:
- * op_next Pointer to next ppcode to execute after this one.
- * (Top level pre-grafted op points to first op,
- * but this is replaced when op is grafted in, when
- * this op will point to the real next op, and the new
- * parent takes over role of remembering starting op.)
- * op_ppaddr Pointer to current ppcode's function.
- * op_type The type of the operation.
- * op_opt Whether or not the op has been optimised by the
- * peephole optimiser.
- *
- * See the comments in S_clear_yystack() for more
- * details on the following three flags:
- *
- * op_latefree tell op_free() to clear this op (and free any kids)
- * but not yet deallocate the struct. This means that
- * the op may be safely op_free()d multiple times
- * op_latefreed an op_latefree op has been op_free()d
- * op_attached this op (sub)tree has been attached to a CV
- *
- * op_spare three spare bits!
- * op_flags Flags common to all operations. See OPf_* below.
- * op_private Flags peculiar to a particular operation (BUT,
- * by default, set to the number of children until
- * the operation is privatized by a check routine,
- * which may or may not check number of children).
- */
-
-#define OPCODE U16
-
-#ifdef PERL_MAD
-# define MADPROP_IN_BASEOP MADPROP* op_madprop;
-#else
-# define MADPROP_IN_BASEOP
-#endif
-
-#ifdef BASEOP_DEFINITION
-#define BASEOP BASEOP_DEFINITION
-#else
-#define BASEOP \
- OP* op_next; \
- OP* op_sibling; \
- OP* (CPERLscope(*op_ppaddr))(pTHX); \
- MADPROP_IN_BASEOP \
- PADOFFSET op_targ; \
- unsigned op_type:9; \
- unsigned op_opt:1; \
- unsigned op_latefree:1; \
- unsigned op_latefreed:1; \
- unsigned op_attached:1; \
- unsigned op_spare:3; \
- U8 op_flags; \
- U8 op_private;
-#endif
-
-#define OP_GIMME(op,dfl) \
- (((op)->op_flags & OPf_WANT) == OPf_WANT_VOID ? G_VOID : \
- ((op)->op_flags & OPf_WANT) == OPf_WANT_SCALAR ? G_SCALAR : \
- ((op)->op_flags & OPf_WANT) == OPf_WANT_LIST ? G_ARRAY : \
- dfl)
-
-#define OP_GIMME_REVERSE(flags) \
- ((flags & G_VOID) ? OPf_WANT_VOID : \
- (flags & G_ARRAY) ? OPf_WANT_LIST : \
- OPf_WANT_SCALAR)
-
-/*
-=head1 "Gimme" Values
-
-=for apidoc Amn|U32|GIMME_V
-The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>,
-C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context,
-respectively.
-
-=for apidoc Amn|U32|GIMME
-A backward-compatible version of C<GIMME_V> which can only return
-C<G_SCALAR> or C<G_ARRAY>; in a void context, it returns C<G_SCALAR>.
-Deprecated. Use C<GIMME_V> instead.
-
-=cut
-*/
-
-#define GIMME_V OP_GIMME(PL_op, block_gimme())
-
-/* Public flags */
-
-#define OPf_WANT 3 /* Mask for "want" bits: */
-#define OPf_WANT_VOID 1 /* Want nothing */
-#define OPf_WANT_SCALAR 2 /* Want single value */
-#define OPf_WANT_LIST 3 /* Want list of any length */
-#define OPf_KIDS 4 /* There is a firstborn child. */
-#define OPf_PARENS 8 /* This operator was parenthesized. */
- /* (Or block needs explicit scope entry.) */
-#define OPf_REF 16 /* Certified reference. */
- /* (Return container, not containee). */
-#define OPf_MOD 32 /* Will modify (lvalue). */
-#define OPf_STACKED 64 /* Some arg is arriving on the stack. */
-#define OPf_SPECIAL 128 /* Do something weird for this op: */
- /* On local LVAL, don't init local value. */
- /* On OP_CONST, value is the hints hash for
- eval, so return a copy from pp_const() */
- /* On OP_SORT, subroutine is inlined. */
- /* On OP_NOT, inversion was implicit. */
- /* On OP_LEAVE, don't restore curpm. */
- /* On truncate, we truncate filehandle */
- /* On control verbs, we saw no label */
- /* On flipflop, we saw ... instead of .. */
- /* On UNOPs, saw bare parens, e.g. eof(). */
- /* On OP_ENTERSUB || OP_NULL, saw a "do". */
- /* On OP_EXISTS, treat av as av, not avhv. */
- /* On OP_(ENTER|LEAVE)EVAL, don't clear $@ */
- /* On OP_ENTERITER, loop var is per-thread */
- /* On pushre, rx is used as part of split, e.g. split " " */
- /* On regcomp, "use re 'eval'" was in scope */
- /* On OP_READLINE, was <$filehandle> */
- /* On RV2[ACGHS]V, don't create GV--in
- defined()*/
- /* On OP_DBSTATE, indicates breakpoint
- * (runtime property) */
- /* On OP_AELEMFAST, indiciates pad var */
- /* On OP_REQUIRE, was seen as CORE::require */
- /* On OP_ENTERWHEN, there's no condition */
- /* On OP_BREAK, an implicit break */
- /* On OP_SMARTMATCH, an implicit smartmatch */
- /* On OP_ANONHASH and OP_ANONLIST, create a
- reference to the new anon hash or array */
-
-/* old names; don't use in new code, but don't break them, either */
-#define OPf_LIST OPf_WANT_LIST
-#define OPf_KNOW OPf_WANT
-
-#define GIMME \
- (PL_op->op_flags & OPf_WANT \
- ? ((PL_op->op_flags & OPf_WANT) == OPf_WANT_LIST \
- ? G_ARRAY \
- : G_SCALAR) \
- : dowantarray())
-
-/* NOTE: OP_NEXTSTATE, OP_DBSTATE, and OP_SETSTATE (i.e. COPs) carry lower
- * bits of PL_hints in op_private */
-
-/* Private for lvalues */
-#define OPpLVAL_INTRO 128 /* Lvalue must be localized or lvalue sub */
-
-/* Private for OP_LEAVE, OP_LEAVESUB, OP_LEAVESUBLV and OP_LEAVEWRITE */
-#define OPpREFCOUNTED 64 /* op_targ carries a refcount */
-
-/* Private for OP_AASSIGN */
-#define OPpASSIGN_COMMON 64 /* Left & right have syms in common. */
-
-/* Private for OP_SASSIGN */
-#define OPpASSIGN_BACKWARDS 64 /* Left & right switched. */
-#define OPpASSIGN_CV_TO_GV 128 /* Possible optimisation for constants. */
-
-/* Private for OP_MATCH and OP_SUBST{,CONST} */
-#define OPpRUNTIME 64 /* Pattern coming in on the stack */
-
-/* Private for OP_TRANS */
-#define OPpTRANS_FROM_UTF 1
-#define OPpTRANS_TO_UTF 2
-#define OPpTRANS_IDENTICAL 4 /* right side is same as left */
-#define OPpTRANS_SQUASH 8
- /* 16 is used for OPpTARGET_MY */
-#define OPpTRANS_COMPLEMENT 32
-#define OPpTRANS_GROWS 64
-#define OPpTRANS_DELETE 128
-#define OPpTRANS_ALL (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE)
-
-/* Private for OP_REPEAT */
-#define OPpREPEAT_DOLIST 64 /* List replication. */
-
-/* Private for OP_RV2GV, OP_RV2SV, OP_AELEM, OP_HELEM, OP_PADSV */
-#define OPpDEREF (32|64) /* autovivify: Want ref to something: */
-#define OPpDEREF_AV 32 /* Want ref to AV. */
-#define OPpDEREF_HV 64 /* Want ref to HV. */
-#define OPpDEREF_SV (32|64) /* Want ref to SV. */
- /* OP_ENTERSUB only */
-#define OPpENTERSUB_DB 16 /* Debug subroutine. */
-#define OPpENTERSUB_HASTARG 32 /* Called from OP tree. */
-#define OPpENTERSUB_NOMOD 64 /* Immune to mod() for :attrlist. */
- /* OP_ENTERSUB and OP_RV2CV only */
-#define OPpENTERSUB_AMPER 8 /* Used & form to call. */
-#define OPpENTERSUB_NOPAREN 128 /* bare sub call (without parens) */
-#define OPpENTERSUB_INARGS 4 /* Lval used as arg to a sub. */
- /* OP_GV only */
-#define OPpEARLY_CV 32 /* foo() called before sub foo was parsed */
- /* OP_?ELEM only */
-#define OPpLVAL_DEFER 16 /* Defer creation of array/hash elem */
- /* OP_RV2?V, OP_GVSV, OP_ENTERITER only */
-#define OPpOUR_INTRO 16 /* Variable was in an our() */
- /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM */
-#define OPpMAYBE_LVSUB 8 /* We might be an lvalue to return */
- /* OP_PADSV only */
-#define OPpPAD_STATE 16 /* is a "state" pad */
- /* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */
-
- /* OP_RV2GV only */
-#define OPpDONT_INIT_GV 4 /* Call gv_fetchpv with GV_NOINIT */
-/* (Therefore will return whatever is currently in the symbol table, not
- guaranteed to be a PVGV) */
-
- /* OP_RV2CV only */
-#define OPpMAY_RETURN_CONSTANT 1 /* If a constant sub, return the constant */
-
-/* Private for OPs with TARGLEX */
- /* (lower bits may carry MAXARG) */
-#define OPpTARGET_MY 16 /* Target is PADMY. */
-
-/* Private for OP_ENTERITER and OP_ITER */
-#define OPpITER_REVERSED 4 /* for (reverse ...) */
-#define OPpITER_DEF 8 /* for $_ or for my $_ */
-
-/* Private for OP_CONST */
-#define OPpCONST_NOVER 2 /* no 6; */
-#define OPpCONST_SHORTCIRCUIT 4 /* eg the constant 5 in (5 || foo) */
-#define OPpCONST_STRICT 8 /* bearword subject to strict 'subs' */
-#define OPpCONST_ENTERED 16 /* Has been entered as symbol. */
-#define OPpCONST_ARYBASE 32 /* Was a $[ translated to constant. */
-#define OPpCONST_BARE 64 /* Was a bare word (filehandle?). */
-#define OPpCONST_WARNING 128 /* Was a $^W translated to constant. */
-
-/* Private for OP_FLIP/FLOP */
-#define OPpFLIP_LINENUM 64 /* Range arg potentially a line num. */
-
-/* Private for OP_LIST */
-#define OPpLIST_GUESSED 64 /* Guessed that pushmark was needed. */
-
-/* Private for OP_DELETE */
-#define OPpSLICE 64 /* Operating on a list of keys */
-
-/* Private for OP_EXISTS */
-#define OPpEXISTS_SUB 64 /* Checking for &sub, not {} or []. */
-
-/* Private for OP_SORT */
-#define OPpSORT_NUMERIC 1 /* Optimized away { $a <=> $b } */
-#define OPpSORT_INTEGER 2 /* Ditto while under "use integer" */
-#define OPpSORT_REVERSE 4 /* Reversed sort */
-#define OPpSORT_INPLACE 8 /* sort in-place; eg @a = sort @a */
-#define OPpSORT_DESCEND 16 /* Descending sort */
-#define OPpSORT_QSORT 32 /* Use quicksort (not mergesort) */
-#define OPpSORT_STABLE 64 /* Use a stable algorithm */
-
-/* Private for OP_OPEN and OP_BACKTICK */
-#define OPpOPEN_IN_RAW 16 /* binmode(F,":raw") on input fh */
-#define OPpOPEN_IN_CRLF 32 /* binmode(F,":crlf") on input fh */
-#define OPpOPEN_OUT_RAW 64 /* binmode(F,":raw") on output fh */
-#define OPpOPEN_OUT_CRLF 128 /* binmode(F,":crlf") on output fh */
-
-/* Private for OP_EXIT, HUSH also for OP_DIE */
-#define OPpHUSH_VMSISH 64 /* hush DCL exit msg vmsish mode*/
-#define OPpEXIT_VMSISH 128 /* exit(0) vs. exit(1) vmsish mode*/
-
-/* Private for OP_FTXXX */
-#define OPpFT_ACCESS 2 /* use filetest 'access' */
-#define OPpFT_STACKED 4 /* stacked filetest, as in "-f -x $f" */
-#define OP_IS_FILETEST_ACCESS(op) \
- (((op)->op_type) == OP_FTRREAD || \
- ((op)->op_type) == OP_FTRWRITE || \
- ((op)->op_type) == OP_FTREXEC || \
- ((op)->op_type) == OP_FTEREAD || \
- ((op)->op_type) == OP_FTEWRITE || \
- ((op)->op_type) == OP_FTEEXEC)
-
-/* Private for OP_(MAP|GREP)(WHILE|START) */
-#define OPpGREP_LEX 2 /* iterate over lexical $_ */
-
-/* Private for OP_ENTEREVAL */
-#define OPpEVAL_HAS_HH 2 /* Does it have a copy of %^H */
-
-struct op {
- BASEOP
-};
-
-struct unop {
- BASEOP
- OP * op_first;
-};
-
-struct binop {
- BASEOP
- OP * op_first;
- OP * op_last;
-};
-
-struct logop {
- BASEOP
- OP * op_first;
- OP * op_other;
-};
-
-struct listop {
- BASEOP
- OP * op_first;
- OP * op_last;
-};
-
-struct pmop {
- BASEOP
- OP * op_first;
- OP * op_last;
-#ifdef USE_ITHREADS
- IV op_pmoffset;
-#else
- REGEXP * op_pmregexp; /* compiled expression */
-#endif
- U32 op_pmflags;
- union {
- OP * op_pmreplroot; /* For OP_SUBST */
-#ifdef USE_ITHREADS
- PADOFFSET op_pmtargetoff; /* For OP_PUSHRE */
-#else
- GV * op_pmtargetgv;
-#endif
- } op_pmreplrootu;
- union {
- OP * op_pmreplstart; /* Only used in OP_SUBST */
-#ifdef USE_ITHREADS
- char * op_pmstashpv; /* Only used in OP_MATCH, with PMf_ONCE set */
-#else
- HV * op_pmstash;
-#endif
- } op_pmstashstartu;
-};
-
-#ifdef USE_ITHREADS
-#define PM_GETRE(o) (INT2PTR(REGEXP*,SvIVX(PL_regex_pad[(o)->op_pmoffset])))
-/* The assignment is just to enforce type safety (or at least get a warning).
- */
-#define PM_SETRE(o,r) STMT_START { \
- const REGEXP *const slosh = (r); \
- PM_SETRE_OFFSET((o), PTR2IV(slosh)); \
- } STMT_END
-/* Actually you can assign any IV, not just an offset. And really should it be
- UV? */
-#define PM_SETRE_OFFSET(o,iv) \
- STMT_START { \
- SV* const sv = PL_regex_pad[(o)->op_pmoffset]; \
- sv_setiv(sv, (iv)); \
- } STMT_END
-
-# ifndef PERL_CORE
-/* No longer used anywhere in the core. Migrate to Devel::PPPort? */
-#define PM_GETRE_SAFE(o) (PL_regex_pad ? PM_GETRE(o) : (REGEXP*)0)
-#define PM_SETRE_SAFE(o,r) if (PL_regex_pad) PM_SETRE(o,r)
-# endif
-#else
-#define PM_GETRE(o) ((o)->op_pmregexp)
-#define PM_SETRE(o,r) ((o)->op_pmregexp = (r))
-# ifndef PERL_CORE
-#define PM_GETRE_SAFE PM_GETRE
-#define PM_SETRE_SAFE PM_SETRE
-# endif
-#endif
-
-
-#define PMf_RETAINT 0x0001 /* taint $1 etc. if target tainted */
-#define PMf_ONCE 0x0002 /* match successfully only once per
- reset, with related flag RXf_USED
- in re->extflags holding state.
- This is used only for ?? matches,
- and only on OP_MATCH and OP_QR */
-
-#define PMf_UNUSED 0x0004 /* free for use */
-#define PMf_MAYBE_CONST 0x0008 /* replacement contains variables */
-
-#define PMf_USED 0x0010 /* PMf_ONCE has matched successfully.
- Not used under threading. */
-
-#define PMf_CONST 0x0040 /* subst replacement is constant */
-#define PMf_KEEP 0x0080 /* keep 1st runtime pattern forever */
-#define PMf_GLOBAL 0x0100 /* pattern had a g modifier */
-#define PMf_CONTINUE 0x0200 /* don't reset pos() if //g fails */
-#define PMf_EVAL 0x0400 /* evaluating replacement as expr */
-
-/* The following flags have exact equivalents in regcomp.h with the prefix RXf_
- * which are stored in the regexp->extflags member. If you change them here,
- * you have to change them there, and vice versa.
- */
-#define PMf_LOCALE 0x00800 /* use locale for character types */
-#define PMf_MULTILINE 0x01000 /* assume multiple lines */
-#define PMf_SINGLELINE 0x02000 /* assume single line */
-#define PMf_FOLD 0x04000 /* case insensitivity */
-#define PMf_EXTENDED 0x08000 /* chuck embedded whitespace */
-#define PMf_KEEPCOPY 0x10000 /* copy the string when matching */
-
-/* mask of bits that need to be transfered to re->extflags */
-#define PMf_COMPILETIME (PMf_MULTILINE|PMf_SINGLELINE|PMf_LOCALE|PMf_FOLD|PMf_EXTENDED|PMf_KEEPCOPY)
-
-#ifdef USE_ITHREADS
-
-# define PmopSTASHPV(o) \
- (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstashpv : NULL)
-# if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define PmopSTASHPV_set(o,pv) ({ \
- assert((o)->op_pmflags & PMf_ONCE); \
- ((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv)); \
- })
-# else
-# define PmopSTASHPV_set(o,pv) \
- ((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv))
-# endif
-# define PmopSTASH(o) (PmopSTASHPV(o) \
- ? gv_stashpv((o)->op_pmstashstartu.op_pmstashpv,GV_ADD) : NULL)
-# define PmopSTASH_set(o,hv) PmopSTASHPV_set(o, ((hv) ? HvNAME_get(hv) : NULL))
-# define PmopSTASH_free(o) PerlMemShared_free(PmopSTASHPV(o))
-
-#else
-# define PmopSTASH(o) \
- (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstash : NULL)
-# if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define PmopSTASH_set(o,hv) ({ \
- assert((o)->op_pmflags & PMf_ONCE); \
- ((o)->op_pmstashstartu.op_pmstash = (hv)); \
- })
-# else
-# define PmopSTASH_set(o,hv) ((o)->op_pmstashstartu.op_pmstash = (hv))
-# endif
-# define PmopSTASHPV(o) (PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : NULL)
- /* op_pmstashstartu.op_pmstash is not refcounted */
-# define PmopSTASHPV_set(o,pv) PmopSTASH_set((o), gv_stashpv(pv,GV_ADD))
-/* Note that if this becomes non-empty, then S_forget_pmop in op.c will need
- changing */
-# define PmopSTASH_free(o)
-#endif
-
-struct svop {
- BASEOP
- SV * op_sv;
-};
-
-struct padop {
- BASEOP
- PADOFFSET op_padix;
-};
-
-struct pvop {
- BASEOP
- char * op_pv;
-};
-
-struct loop {
- BASEOP
- OP * op_first;
- OP * op_last;
- OP * op_redoop;
- OP * op_nextop;
- OP * op_lastop;
-};
-
-#define cUNOPx(o) ((UNOP*)o)
-#define cBINOPx(o) ((BINOP*)o)
-#define cLISTOPx(o) ((LISTOP*)o)
-#define cLOGOPx(o) ((LOGOP*)o)
-#define cPMOPx(o) ((PMOP*)o)
-#define cSVOPx(o) ((SVOP*)o)
-#define cPADOPx(o) ((PADOP*)o)
-#define cPVOPx(o) ((PVOP*)o)
-#define cCOPx(o) ((COP*)o)
-#define cLOOPx(o) ((LOOP*)o)
-
-#define cUNOP cUNOPx(PL_op)
-#define cBINOP cBINOPx(PL_op)
-#define cLISTOP cLISTOPx(PL_op)
-#define cLOGOP cLOGOPx(PL_op)
-#define cPMOP cPMOPx(PL_op)
-#define cSVOP cSVOPx(PL_op)
-#define cPADOP cPADOPx(PL_op)
-#define cPVOP cPVOPx(PL_op)
-#define cCOP cCOPx(PL_op)
-#define cLOOP cLOOPx(PL_op)
-
-#define cUNOPo cUNOPx(o)
-#define cBINOPo cBINOPx(o)
-#define cLISTOPo cLISTOPx(o)
-#define cLOGOPo cLOGOPx(o)
-#define cPMOPo cPMOPx(o)
-#define cSVOPo cSVOPx(o)
-#define cPADOPo cPADOPx(o)
-#define cPVOPo cPVOPx(o)
-#define cCOPo cCOPx(o)
-#define cLOOPo cLOOPx(o)
-
-#define kUNOP cUNOPx(kid)
-#define kBINOP cBINOPx(kid)
-#define kLISTOP cLISTOPx(kid)
-#define kLOGOP cLOGOPx(kid)
-#define kPMOP cPMOPx(kid)
-#define kSVOP cSVOPx(kid)
-#define kPADOP cPADOPx(kid)
-#define kPVOP cPVOPx(kid)
-#define kCOP cCOPx(kid)
-#define kLOOP cLOOPx(kid)
-
-
-#ifdef USE_ITHREADS
-# define cGVOPx_gv(o) ((GV*)PAD_SVl(cPADOPx(o)->op_padix))
-# define IS_PADGV(v) (v && SvTYPE(v) == SVt_PVGV && isGV_with_GP(v) \
- && GvIN_PAD(v))
-# define IS_PADCONST(v) (v && SvREADONLY(v))
-# define cSVOPx_sv(v) (cSVOPx(v)->op_sv \
- ? cSVOPx(v)->op_sv : PAD_SVl((v)->op_targ))
-# define cSVOPx_svp(v) (cSVOPx(v)->op_sv \
- ? &cSVOPx(v)->op_sv : &PAD_SVl((v)->op_targ))
-#else
-# define cGVOPx_gv(o) ((GV*)cSVOPx(o)->op_sv)
-# define IS_PADGV(v) FALSE
-# define IS_PADCONST(v) FALSE
-# define cSVOPx_sv(v) (cSVOPx(v)->op_sv)
-# define cSVOPx_svp(v) (&cSVOPx(v)->op_sv)
-#endif
-
-#define cGVOP_gv cGVOPx_gv(PL_op)
-#define cGVOPo_gv cGVOPx_gv(o)
-#define kGVOP_gv cGVOPx_gv(kid)
-#define cSVOP_sv cSVOPx_sv(PL_op)
-#define cSVOPo_sv cSVOPx_sv(o)
-#define kSVOP_sv cSVOPx_sv(kid)
-
-#define Nullop Null(OP*)
-
-/* Lowest byte-and-a-bit of PL_opargs */
-#define OA_MARK 1
-#define OA_FOLDCONST 2
-#define OA_RETSCALAR 4
-#define OA_TARGET 8
-#define OA_RETINTEGER 16
-#define OA_OTHERINT 32
-#define OA_DANGEROUS 64
-#define OA_DEFGV 128
-#define OA_TARGLEX 256
-
-/* The next 4 bits encode op class information */
-#define OCSHIFT 9
-
-#define OA_CLASS_MASK (15 << OCSHIFT)
-
-#define OA_BASEOP (0 << OCSHIFT)
-#define OA_UNOP (1 << OCSHIFT)
-#define OA_BINOP (2 << OCSHIFT)
-#define OA_LOGOP (3 << OCSHIFT)
-#define OA_LISTOP (4 << OCSHIFT)
-#define OA_PMOP (5 << OCSHIFT)
-#define OA_SVOP (6 << OCSHIFT)
-#define OA_PADOP (7 << OCSHIFT)
-#define OA_PVOP_OR_SVOP (8 << OCSHIFT)
-#define OA_LOOP (9 << OCSHIFT)
-#define OA_COP (10 << OCSHIFT)
-#define OA_BASEOP_OR_UNOP (11 << OCSHIFT)
-#define OA_FILESTATOP (12 << OCSHIFT)
-#define OA_LOOPEXOP (13 << OCSHIFT)
-
-#define OASHIFT 13
-
-/* Remaining nybbles of PL_opargs */
-#define OA_SCALAR 1
-#define OA_LIST 2
-#define OA_AVREF 3
-#define OA_HVREF 4
-#define OA_CVREF 5
-#define OA_FILEREF 6
-#define OA_SCALARREF 7
-#define OA_OPTIONAL 8
-
-/* Op_REFCNT is a reference count at the head of each op tree: needed
- * since the tree is shared between threads, and between cloned closure
- * copies in the same thread. OP_REFCNT_LOCK/UNLOCK is used when modifying
- * this count.
- * The same mutex is used to protect the refcounts of the reg_trie_data
- * and reg_ac_data structures, which are shared between duplicated
- * regexes.
- */
-
-#ifdef USE_ITHREADS
-# define OP_REFCNT_INIT MUTEX_INIT(&PL_op_mutex)
-# ifdef PERL_CORE
-# define OP_REFCNT_LOCK MUTEX_LOCK(&PL_op_mutex)
-# define OP_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_op_mutex)
-# else
-# define OP_REFCNT_LOCK op_refcnt_lock()
-# define OP_REFCNT_UNLOCK op_refcnt_unlock()
-# endif
-# define OP_REFCNT_TERM MUTEX_DESTROY(&PL_op_mutex)
-#else
-# define OP_REFCNT_INIT NOOP
-# define OP_REFCNT_LOCK NOOP
-# define OP_REFCNT_UNLOCK NOOP
-# define OP_REFCNT_TERM NOOP
-#endif
-
-#define OpREFCNT_set(o,n) ((o)->op_targ = (n))
-#ifdef PERL_DEBUG_READONLY_OPS
-# define OpREFCNT_inc(o) Perl_op_refcnt_inc(aTHX_ o)
-# define OpREFCNT_dec(o) Perl_op_refcnt_dec(aTHX_ o)
-#else
-# define OpREFCNT_inc(o) ((o) ? (++(o)->op_targ, (o)) : NULL)
-# define OpREFCNT_dec(o) (--(o)->op_targ)
-#endif
-
-/* flags used by Perl_load_module() */
-#define PERL_LOADMOD_DENY 0x1
-#define PERL_LOADMOD_NOIMPORT 0x2
-#define PERL_LOADMOD_IMPORT_OPS 0x4
-
-#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C)
-#define ref(o, type) doref(o, type, TRUE)
-#endif
-
-/* no longer used anywhere in core */
-#ifndef PERL_CORE
-#define cv_ckproto(cv, gv, p) \
- cv_ckproto_len((cv), (gv), (p), (p) ? strlen(p) : 0)
-#endif
-
-#ifdef USE_REENTRANT_API
-#include "reentr.h"
-#endif
-
-#if defined(PL_OP_SLAB_ALLOC)
-#define NewOp(m,var,c,type) \
- (var = (type *) Perl_Slab_Alloc(aTHX_ c*sizeof(type)))
-#define NewOpSz(m,var,size) \
- (var = (OP *) Perl_Slab_Alloc(aTHX_ size))
-#define FreeOp(p) Perl_Slab_Free(aTHX_ p)
-#else
-#define NewOp(m, var, c, type) \
- (var = (MEM_WRAP_CHECK_(c,type) \
- (type*)PerlMemShared_calloc(c, sizeof(type))))
-#define NewOpSz(m, var, size) \
- (var = (OP*)PerlMemShared_calloc(1, size))
-#define FreeOp(p) PerlMemShared_free(p)
-#endif
-
-#ifdef PERL_MAD
-# define MAD_NULL 1
-# define MAD_PV 2
-# define MAD_OP 3
-# define MAD_SV 4
-
-struct madprop {
- MADPROP* mad_next;
- const void *mad_val;
- U32 mad_vlen;
-/* short mad_count; */
- char mad_key;
- char mad_type;
-};
-
-struct token {
- I32 tk_type;
- YYSTYPE tk_lval;
- MADPROP* tk_mad;
-};
-#endif
-
-/*
- * Values that can be held by mad_key :
- * ^ unfilled head spot
- * , literal ,
- * ; literal ; (blank if implicit ; at end of block)
- * : literal : from ?: or attr list
- * + unary +
- * ? literal ? from ?:
- * ( literal (
- * ) literal )
- * [ literal [
- * ] literal ]
- * { literal {
- * } literal }
- * @ literal @ sigil
- * $ literal $ sigil
- * * literal * sigil
- * ! use is source filtered
- * & & or sub
- * # whitespace/comment following ; or }
- * # $# sigil
- * 1 1st ; from for(;;)
- * 1 retired protasis
- * 2 2nd ; from for(;;)
- * 2 retired apodosis
- * 3 C-style for list
- * a sub or var attributes
- * a non-method arrow operator
- * A method arrow operator
- * A use import args
- * b format block
- * B retired stub block
- * C constant conditional op
- * d declarator
- * D do block
- * e unreached "else" (see C)
- * e expression producing E
- * E tr/E/R/, /E/
- * f folded constant op
- * F peg op for format
- * g op was forced to be a word
- * i if/unless modifier
- * I if/elsif/unless statement
- * k local declarator
- * K retired kid op
- * l last index of array ($#foo)
- * L label
- * m modifier on regex
- * n sub or format name
- * o current operator/declarator name
- * o else/continue
- * O generic optimized op
- * p peg to hold extra whitespace at statement level
- * P peg op for package declaration
- * q opening quote
- * = quoted material
- * Q closing quote
- * Q optimized qw//
- * r expression producing R
- * R tr/E/R/ s/E/R/
- * s sub signature
- * S use import stub (no import)
- * S retired sort block
- * t unreached "then" (see C)
- * U use import op
- * v private sv of for loop
- * V use version
- * w while/until modifier
- * W while/for statement
- * x optimized qw
- * X random thing
- * _ whitespace/comments preceding anything else
- * ~ =~ operator
- */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opcode.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opcode.h
deleted file mode 100644
index 5c71a5e2c3e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opcode.h
+++ /dev/null
@@ -1,1911 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * opcode.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- * 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by opcode.pl from its data. Any changes made here
- * will be lost!
- */
-
-#ifndef PERL_GLOBAL_STRUCT_INIT
-
-#define Perl_pp_i_preinc Perl_pp_preinc
-#define Perl_pp_i_predec Perl_pp_predec
-#define Perl_pp_i_postinc Perl_pp_postinc
-#define Perl_pp_i_postdec Perl_pp_postdec
-
-PERL_PPDEF(Perl_unimplemented_op)
-
-START_EXTERN_C
-
-#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
- PL_op_name[(o)->op_type])
-#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
- PL_op_desc[(o)->op_type])
-
-#ifndef DOINIT
-EXTCONST char* const PL_op_name[];
-#else
-EXTCONST char* const PL_op_name[] = {
- "null",
- "stub",
- "scalar",
- "pushmark",
- "wantarray",
- "const",
- "gvsv",
- "gv",
- "gelem",
- "padsv",
- "padav",
- "padhv",
- "padany",
- "pushre",
- "rv2gv",
- "rv2sv",
- "av2arylen",
- "rv2cv",
- "anoncode",
- "prototype",
- "refgen",
- "srefgen",
- "ref",
- "bless",
- "backtick",
- "glob",
- "readline",
- "rcatline",
- "regcmaybe",
- "regcreset",
- "regcomp",
- "match",
- "qr",
- "subst",
- "substcont",
- "trans",
- "sassign",
- "aassign",
- "chop",
- "schop",
- "chomp",
- "schomp",
- "defined",
- "undef",
- "study",
- "pos",
- "preinc",
- "i_preinc",
- "predec",
- "i_predec",
- "postinc",
- "i_postinc",
- "postdec",
- "i_postdec",
- "pow",
- "multiply",
- "i_multiply",
- "divide",
- "i_divide",
- "modulo",
- "i_modulo",
- "repeat",
- "add",
- "i_add",
- "subtract",
- "i_subtract",
- "concat",
- "stringify",
- "left_shift",
- "right_shift",
- "lt",
- "i_lt",
- "gt",
- "i_gt",
- "le",
- "i_le",
- "ge",
- "i_ge",
- "eq",
- "i_eq",
- "ne",
- "i_ne",
- "ncmp",
- "i_ncmp",
- "slt",
- "sgt",
- "sle",
- "sge",
- "seq",
- "sne",
- "scmp",
- "bit_and",
- "bit_xor",
- "bit_or",
- "negate",
- "i_negate",
- "not",
- "complement",
- "smartmatch",
- "atan2",
- "sin",
- "cos",
- "rand",
- "srand",
- "exp",
- "log",
- "sqrt",
- "int",
- "hex",
- "oct",
- "abs",
- "length",
- "substr",
- "vec",
- "index",
- "rindex",
- "sprintf",
- "formline",
- "ord",
- "chr",
- "crypt",
- "ucfirst",
- "lcfirst",
- "uc",
- "lc",
- "quotemeta",
- "rv2av",
- "aelemfast",
- "aelem",
- "aslice",
- "each",
- "values",
- "keys",
- "delete",
- "exists",
- "rv2hv",
- "helem",
- "hslice",
- "unpack",
- "pack",
- "split",
- "join",
- "list",
- "lslice",
- "anonlist",
- "anonhash",
- "splice",
- "push",
- "pop",
- "shift",
- "unshift",
- "sort",
- "reverse",
- "grepstart",
- "grepwhile",
- "mapstart",
- "mapwhile",
- "range",
- "flip",
- "flop",
- "and",
- "or",
- "xor",
- "dor",
- "cond_expr",
- "andassign",
- "orassign",
- "dorassign",
- "method",
- "entersub",
- "leavesub",
- "leavesublv",
- "caller",
- "warn",
- "die",
- "reset",
- "lineseq",
- "nextstate",
- "dbstate",
- "unstack",
- "enter",
- "leave",
- "scope",
- "enteriter",
- "iter",
- "enterloop",
- "leaveloop",
- "return",
- "last",
- "next",
- "redo",
- "dump",
- "goto",
- "exit",
- "setstate",
- "method_named",
- "entergiven",
- "leavegiven",
- "enterwhen",
- "leavewhen",
- "break",
- "continue",
- "open",
- "close",
- "pipe_op",
- "fileno",
- "umask",
- "binmode",
- "tie",
- "untie",
- "tied",
- "dbmopen",
- "dbmclose",
- "sselect",
- "select",
- "getc",
- "read",
- "enterwrite",
- "leavewrite",
- "prtf",
- "print",
- "say",
- "sysopen",
- "sysseek",
- "sysread",
- "syswrite",
- "send",
- "recv",
- "eof",
- "tell",
- "seek",
- "truncate",
- "fcntl",
- "ioctl",
- "flock",
- "socket",
- "sockpair",
- "bind",
- "connect",
- "listen",
- "accept",
- "shutdown",
- "gsockopt",
- "ssockopt",
- "getsockname",
- "getpeername",
- "lstat",
- "stat",
- "ftrread",
- "ftrwrite",
- "ftrexec",
- "fteread",
- "ftewrite",
- "fteexec",
- "ftis",
- "ftsize",
- "ftmtime",
- "ftatime",
- "ftctime",
- "ftrowned",
- "fteowned",
- "ftzero",
- "ftsock",
- "ftchr",
- "ftblk",
- "ftfile",
- "ftdir",
- "ftpipe",
- "ftsuid",
- "ftsgid",
- "ftsvtx",
- "ftlink",
- "fttty",
- "fttext",
- "ftbinary",
- "chdir",
- "chown",
- "chroot",
- "unlink",
- "chmod",
- "utime",
- "rename",
- "link",
- "symlink",
- "readlink",
- "mkdir",
- "rmdir",
- "open_dir",
- "readdir",
- "telldir",
- "seekdir",
- "rewinddir",
- "closedir",
- "fork",
- "wait",
- "waitpid",
- "system",
- "exec",
- "kill",
- "getppid",
- "getpgrp",
- "setpgrp",
- "getpriority",
- "setpriority",
- "time",
- "tms",
- "localtime",
- "gmtime",
- "alarm",
- "sleep",
- "shmget",
- "shmctl",
- "shmread",
- "shmwrite",
- "msgget",
- "msgctl",
- "msgsnd",
- "msgrcv",
- "semop",
- "semget",
- "semctl",
- "require",
- "dofile",
- "entereval",
- "leaveeval",
- "entertry",
- "leavetry",
- "ghbyname",
- "ghbyaddr",
- "ghostent",
- "gnbyname",
- "gnbyaddr",
- "gnetent",
- "gpbyname",
- "gpbynumber",
- "gprotoent",
- "gsbyname",
- "gsbyport",
- "gservent",
- "shostent",
- "snetent",
- "sprotoent",
- "sservent",
- "ehostent",
- "enetent",
- "eprotoent",
- "eservent",
- "gpwnam",
- "gpwuid",
- "gpwent",
- "spwent",
- "epwent",
- "ggrnam",
- "ggrgid",
- "ggrent",
- "sgrent",
- "egrent",
- "getlogin",
- "syscall",
- "lock",
- "once",
- "custom",
-};
-#endif
-
-#ifndef DOINIT
-EXTCONST char* const PL_op_desc[];
-#else
-EXTCONST char* const PL_op_desc[] = {
- "null operation",
- "stub",
- "scalar",
- "pushmark",
- "wantarray",
- "constant item",
- "scalar variable",
- "glob value",
- "glob elem",
- "private variable",
- "private array",
- "private hash",
- "private value",
- "push regexp",
- "ref-to-glob cast",
- "scalar dereference",
- "array length",
- "subroutine dereference",
- "anonymous subroutine",
- "subroutine prototype",
- "reference constructor",
- "single ref constructor",
- "reference-type operator",
- "bless",
- "quoted execution (``, qx)",
- "glob",
- "<HANDLE>",
- "append I/O operator",
- "regexp internal guard",
- "regexp internal reset",
- "regexp compilation",
- "pattern match (m//)",
- "pattern quote (qr//)",
- "substitution (s///)",
- "substitution iterator",
- "transliteration (tr///)",
- "scalar assignment",
- "list assignment",
- "chop",
- "scalar chop",
- "chomp",
- "scalar chomp",
- "defined operator",
- "undef operator",
- "study",
- "match position",
- "preincrement (++)",
- "integer preincrement (++)",
- "predecrement (--)",
- "integer predecrement (--)",
- "postincrement (++)",
- "integer postincrement (++)",
- "postdecrement (--)",
- "integer postdecrement (--)",
- "exponentiation (**)",
- "multiplication (*)",
- "integer multiplication (*)",
- "division (/)",
- "integer division (/)",
- "modulus (%)",
- "integer modulus (%)",
- "repeat (x)",
- "addition (+)",
- "integer addition (+)",
- "subtraction (-)",
- "integer subtraction (-)",
- "concatenation (.) or string",
- "string",
- "left bitshift (<<)",
- "right bitshift (>>)",
- "numeric lt (<)",
- "integer lt (<)",
- "numeric gt (>)",
- "integer gt (>)",
- "numeric le (<=)",
- "integer le (<=)",
- "numeric ge (>=)",
- "integer ge (>=)",
- "numeric eq (==)",
- "integer eq (==)",
- "numeric ne (!=)",
- "integer ne (!=)",
- "numeric comparison (<=>)",
- "integer comparison (<=>)",
- "string lt",
- "string gt",
- "string le",
- "string ge",
- "string eq",
- "string ne",
- "string comparison (cmp)",
- "bitwise and (&)",
- "bitwise xor (^)",
- "bitwise or (|)",
- "negation (-)",
- "integer negation (-)",
- "not",
- "1's complement (~)",
- "smart match",
- "atan2",
- "sin",
- "cos",
- "rand",
- "srand",
- "exp",
- "log",
- "sqrt",
- "int",
- "hex",
- "oct",
- "abs",
- "length",
- "substr",
- "vec",
- "index",
- "rindex",
- "sprintf",
- "formline",
- "ord",
- "chr",
- "crypt",
- "ucfirst",
- "lcfirst",
- "uc",
- "lc",
- "quotemeta",
- "array dereference",
- "constant array element",
- "array element",
- "array slice",
- "each",
- "values",
- "keys",
- "delete",
- "exists",
- "hash dereference",
- "hash element",
- "hash slice",
- "unpack",
- "pack",
- "split",
- "join or string",
- "list",
- "list slice",
- "anonymous list ([])",
- "anonymous hash ({})",
- "splice",
- "push",
- "pop",
- "shift",
- "unshift",
- "sort",
- "reverse",
- "grep",
- "grep iterator",
- "map",
- "map iterator",
- "flipflop",
- "range (or flip)",
- "range (or flop)",
- "logical and (&&)",
- "logical or (||)",
- "logical xor",
- "defined or (//)",
- "conditional expression",
- "logical and assignment (&&=)",
- "logical or assignment (||=)",
- "defined or assignment (//=)",
- "method lookup",
- "subroutine entry",
- "subroutine exit",
- "lvalue subroutine return",
- "caller",
- "warn",
- "die",
- "symbol reset",
- "line sequence",
- "next statement",
- "debug next statement",
- "iteration finalizer",
- "block entry",
- "block exit",
- "block",
- "foreach loop entry",
- "foreach loop iterator",
- "loop entry",
- "loop exit",
- "return",
- "last",
- "next",
- "redo",
- "dump",
- "goto",
- "exit",
- "set statement info",
- "method with known name",
- "given()",
- "leave given block",
- "when()",
- "leave when block",
- "break",
- "continue",
- "open",
- "close",
- "pipe",
- "fileno",
- "umask",
- "binmode",
- "tie",
- "untie",
- "tied",
- "dbmopen",
- "dbmclose",
- "select system call",
- "select",
- "getc",
- "read",
- "write",
- "write exit",
- "printf",
- "print",
- "say",
- "sysopen",
- "sysseek",
- "sysread",
- "syswrite",
- "send",
- "recv",
- "eof",
- "tell",
- "seek",
- "truncate",
- "fcntl",
- "ioctl",
- "flock",
- "socket",
- "socketpair",
- "bind",
- "connect",
- "listen",
- "accept",
- "shutdown",
- "getsockopt",
- "setsockopt",
- "getsockname",
- "getpeername",
- "lstat",
- "stat",
- "-R",
- "-W",
- "-X",
- "-r",
- "-w",
- "-x",
- "-e",
- "-s",
- "-M",
- "-A",
- "-C",
- "-O",
- "-o",
- "-z",
- "-S",
- "-c",
- "-b",
- "-f",
- "-d",
- "-p",
- "-u",
- "-g",
- "-k",
- "-l",
- "-t",
- "-T",
- "-B",
- "chdir",
- "chown",
- "chroot",
- "unlink",
- "chmod",
- "utime",
- "rename",
- "link",
- "symlink",
- "readlink",
- "mkdir",
- "rmdir",
- "opendir",
- "readdir",
- "telldir",
- "seekdir",
- "rewinddir",
- "closedir",
- "fork",
- "wait",
- "waitpid",
- "system",
- "exec",
- "kill",
- "getppid",
- "getpgrp",
- "setpgrp",
- "getpriority",
- "setpriority",
- "time",
- "times",
- "localtime",
- "gmtime",
- "alarm",
- "sleep",
- "shmget",
- "shmctl",
- "shmread",
- "shmwrite",
- "msgget",
- "msgctl",
- "msgsnd",
- "msgrcv",
- "semop",
- "semget",
- "semctl",
- "require",
- "do \"file\"",
- "eval \"string\"",
- "eval \"string\" exit",
- "eval {block}",
- "eval {block} exit",
- "gethostbyname",
- "gethostbyaddr",
- "gethostent",
- "getnetbyname",
- "getnetbyaddr",
- "getnetent",
- "getprotobyname",
- "getprotobynumber",
- "getprotoent",
- "getservbyname",
- "getservbyport",
- "getservent",
- "sethostent",
- "setnetent",
- "setprotoent",
- "setservent",
- "endhostent",
- "endnetent",
- "endprotoent",
- "endservent",
- "getpwnam",
- "getpwuid",
- "getpwent",
- "setpwent",
- "endpwent",
- "getgrnam",
- "getgrgid",
- "getgrent",
- "setgrent",
- "endgrent",
- "getlogin",
- "syscall",
- "lock",
- "once",
- "unknown custom operator",
-};
-#endif
-
-END_EXTERN_C
-
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-
-START_EXTERN_C
-
-#ifdef PERL_GLOBAL_STRUCT_INIT
-# define PERL_PPADDR_INITED
-static const Perl_ppaddr_t Gppaddr[]
-#else
-# ifndef PERL_GLOBAL_STRUCT
-# define PERL_PPADDR_INITED
-EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
-# endif
-#endif /* PERL_GLOBAL_STRUCT */
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-# define PERL_PPADDR_INITED
-= {
- MEMBER_TO_FPTR(Perl_pp_null),
- MEMBER_TO_FPTR(Perl_pp_stub),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scalar */
- MEMBER_TO_FPTR(Perl_pp_pushmark),
- MEMBER_TO_FPTR(Perl_pp_wantarray),
- MEMBER_TO_FPTR(Perl_pp_const),
- MEMBER_TO_FPTR(Perl_pp_gvsv),
- MEMBER_TO_FPTR(Perl_pp_gv),
- MEMBER_TO_FPTR(Perl_pp_gelem),
- MEMBER_TO_FPTR(Perl_pp_padsv),
- MEMBER_TO_FPTR(Perl_pp_padav),
- MEMBER_TO_FPTR(Perl_pp_padhv),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_padany */
- MEMBER_TO_FPTR(Perl_pp_pushre),
- MEMBER_TO_FPTR(Perl_pp_rv2gv),
- MEMBER_TO_FPTR(Perl_pp_rv2sv),
- MEMBER_TO_FPTR(Perl_pp_av2arylen),
- MEMBER_TO_FPTR(Perl_pp_rv2cv),
- MEMBER_TO_FPTR(Perl_pp_anoncode),
- MEMBER_TO_FPTR(Perl_pp_prototype),
- MEMBER_TO_FPTR(Perl_pp_refgen),
- MEMBER_TO_FPTR(Perl_pp_srefgen),
- MEMBER_TO_FPTR(Perl_pp_ref),
- MEMBER_TO_FPTR(Perl_pp_bless),
- MEMBER_TO_FPTR(Perl_pp_backtick),
- MEMBER_TO_FPTR(Perl_pp_glob),
- MEMBER_TO_FPTR(Perl_pp_readline),
- MEMBER_TO_FPTR(Perl_pp_rcatline),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_regcmaybe */
- MEMBER_TO_FPTR(Perl_pp_regcreset),
- MEMBER_TO_FPTR(Perl_pp_regcomp),
- MEMBER_TO_FPTR(Perl_pp_match),
- MEMBER_TO_FPTR(Perl_pp_qr),
- MEMBER_TO_FPTR(Perl_pp_subst),
- MEMBER_TO_FPTR(Perl_pp_substcont),
- MEMBER_TO_FPTR(Perl_pp_trans),
- MEMBER_TO_FPTR(Perl_pp_sassign),
- MEMBER_TO_FPTR(Perl_pp_aassign),
- MEMBER_TO_FPTR(Perl_pp_chop),
- MEMBER_TO_FPTR(Perl_pp_schop),
- MEMBER_TO_FPTR(Perl_pp_chomp),
- MEMBER_TO_FPTR(Perl_pp_schomp),
- MEMBER_TO_FPTR(Perl_pp_defined),
- MEMBER_TO_FPTR(Perl_pp_undef),
- MEMBER_TO_FPTR(Perl_pp_study),
- MEMBER_TO_FPTR(Perl_pp_pos),
- MEMBER_TO_FPTR(Perl_pp_preinc),
- MEMBER_TO_FPTR(Perl_pp_i_preinc),
- MEMBER_TO_FPTR(Perl_pp_predec),
- MEMBER_TO_FPTR(Perl_pp_i_predec),
- MEMBER_TO_FPTR(Perl_pp_postinc),
- MEMBER_TO_FPTR(Perl_pp_i_postinc),
- MEMBER_TO_FPTR(Perl_pp_postdec),
- MEMBER_TO_FPTR(Perl_pp_i_postdec),
- MEMBER_TO_FPTR(Perl_pp_pow),
- MEMBER_TO_FPTR(Perl_pp_multiply),
- MEMBER_TO_FPTR(Perl_pp_i_multiply),
- MEMBER_TO_FPTR(Perl_pp_divide),
- MEMBER_TO_FPTR(Perl_pp_i_divide),
- MEMBER_TO_FPTR(Perl_pp_modulo),
- MEMBER_TO_FPTR(Perl_pp_i_modulo),
- MEMBER_TO_FPTR(Perl_pp_repeat),
- MEMBER_TO_FPTR(Perl_pp_add),
- MEMBER_TO_FPTR(Perl_pp_i_add),
- MEMBER_TO_FPTR(Perl_pp_subtract),
- MEMBER_TO_FPTR(Perl_pp_i_subtract),
- MEMBER_TO_FPTR(Perl_pp_concat),
- MEMBER_TO_FPTR(Perl_pp_stringify),
- MEMBER_TO_FPTR(Perl_pp_left_shift),
- MEMBER_TO_FPTR(Perl_pp_right_shift),
- MEMBER_TO_FPTR(Perl_pp_lt),
- MEMBER_TO_FPTR(Perl_pp_i_lt),
- MEMBER_TO_FPTR(Perl_pp_gt),
- MEMBER_TO_FPTR(Perl_pp_i_gt),
- MEMBER_TO_FPTR(Perl_pp_le),
- MEMBER_TO_FPTR(Perl_pp_i_le),
- MEMBER_TO_FPTR(Perl_pp_ge),
- MEMBER_TO_FPTR(Perl_pp_i_ge),
- MEMBER_TO_FPTR(Perl_pp_eq),
- MEMBER_TO_FPTR(Perl_pp_i_eq),
- MEMBER_TO_FPTR(Perl_pp_ne),
- MEMBER_TO_FPTR(Perl_pp_i_ne),
- MEMBER_TO_FPTR(Perl_pp_ncmp),
- MEMBER_TO_FPTR(Perl_pp_i_ncmp),
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_slt */
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sgt */
- MEMBER_TO_FPTR(Perl_pp_sle),
- MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sge */
- MEMBER_TO_FPTR(Perl_pp_seq),
- MEMBER_TO_FPTR(Perl_pp_sne),
- MEMBER_TO_FPTR(Perl_pp_scmp),
- MEMBER_TO_FPTR(Perl_pp_bit_and),
- MEMBER_TO_FPTR(Perl_pp_bit_or), /* Perl_pp_bit_xor */
- MEMBER_TO_FPTR(Perl_pp_bit_or),
- MEMBER_TO_FPTR(Perl_pp_negate),
- MEMBER_TO_FPTR(Perl_pp_i_negate),
- MEMBER_TO_FPTR(Perl_pp_not),
- MEMBER_TO_FPTR(Perl_pp_complement),
- MEMBER_TO_FPTR(Perl_pp_smartmatch),
- MEMBER_TO_FPTR(Perl_pp_atan2),
- MEMBER_TO_FPTR(Perl_pp_sin),
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_cos */
- MEMBER_TO_FPTR(Perl_pp_rand),
- MEMBER_TO_FPTR(Perl_pp_srand),
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_exp */
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_log */
- MEMBER_TO_FPTR(Perl_pp_sin), /* Perl_pp_sqrt */
- MEMBER_TO_FPTR(Perl_pp_int),
- MEMBER_TO_FPTR(Perl_pp_oct), /* Perl_pp_hex */
- MEMBER_TO_FPTR(Perl_pp_oct),
- MEMBER_TO_FPTR(Perl_pp_abs),
- MEMBER_TO_FPTR(Perl_pp_length),
- MEMBER_TO_FPTR(Perl_pp_substr),
- MEMBER_TO_FPTR(Perl_pp_vec),
- MEMBER_TO_FPTR(Perl_pp_index),
- MEMBER_TO_FPTR(Perl_pp_index), /* Perl_pp_rindex */
- MEMBER_TO_FPTR(Perl_pp_sprintf),
- MEMBER_TO_FPTR(Perl_pp_formline),
- MEMBER_TO_FPTR(Perl_pp_ord),
- MEMBER_TO_FPTR(Perl_pp_chr),
- MEMBER_TO_FPTR(Perl_pp_crypt),
- MEMBER_TO_FPTR(Perl_pp_ucfirst),
- MEMBER_TO_FPTR(Perl_pp_ucfirst), /* Perl_pp_lcfirst */
- MEMBER_TO_FPTR(Perl_pp_uc),
- MEMBER_TO_FPTR(Perl_pp_lc),
- MEMBER_TO_FPTR(Perl_pp_quotemeta),
- MEMBER_TO_FPTR(Perl_pp_rv2av),
- MEMBER_TO_FPTR(Perl_pp_aelemfast),
- MEMBER_TO_FPTR(Perl_pp_aelem),
- MEMBER_TO_FPTR(Perl_pp_aslice),
- MEMBER_TO_FPTR(Perl_pp_each),
- MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_values */
- MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_keys */
- MEMBER_TO_FPTR(Perl_pp_delete),
- MEMBER_TO_FPTR(Perl_pp_exists),
- MEMBER_TO_FPTR(Perl_pp_rv2av), /* Perl_pp_rv2hv */
- MEMBER_TO_FPTR(Perl_pp_helem),
- MEMBER_TO_FPTR(Perl_pp_hslice),
- MEMBER_TO_FPTR(Perl_pp_unpack),
- MEMBER_TO_FPTR(Perl_pp_pack),
- MEMBER_TO_FPTR(Perl_pp_split),
- MEMBER_TO_FPTR(Perl_pp_join),
- MEMBER_TO_FPTR(Perl_pp_list),
- MEMBER_TO_FPTR(Perl_pp_lslice),
- MEMBER_TO_FPTR(Perl_pp_anonlist),
- MEMBER_TO_FPTR(Perl_pp_anonhash),
- MEMBER_TO_FPTR(Perl_pp_splice),
- MEMBER_TO_FPTR(Perl_pp_push),
- MEMBER_TO_FPTR(Perl_pp_shift), /* Perl_pp_pop */
- MEMBER_TO_FPTR(Perl_pp_shift),
- MEMBER_TO_FPTR(Perl_pp_unshift),
- MEMBER_TO_FPTR(Perl_pp_sort),
- MEMBER_TO_FPTR(Perl_pp_reverse),
- MEMBER_TO_FPTR(Perl_pp_grepstart),
- MEMBER_TO_FPTR(Perl_pp_grepwhile),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_mapstart */
- MEMBER_TO_FPTR(Perl_pp_mapwhile),
- MEMBER_TO_FPTR(Perl_pp_range),
- MEMBER_TO_FPTR(Perl_pp_flip),
- MEMBER_TO_FPTR(Perl_pp_flop),
- MEMBER_TO_FPTR(Perl_pp_and),
- MEMBER_TO_FPTR(Perl_pp_or),
- MEMBER_TO_FPTR(Perl_pp_xor),
- MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */
- MEMBER_TO_FPTR(Perl_pp_cond_expr),
- MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_andassign */
- MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_orassign */
- MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dorassign */
- MEMBER_TO_FPTR(Perl_pp_method),
- MEMBER_TO_FPTR(Perl_pp_entersub),
- MEMBER_TO_FPTR(Perl_pp_leavesub),
- MEMBER_TO_FPTR(Perl_pp_leavesublv),
- MEMBER_TO_FPTR(Perl_pp_caller),
- MEMBER_TO_FPTR(Perl_pp_warn),
- MEMBER_TO_FPTR(Perl_pp_die),
- MEMBER_TO_FPTR(Perl_pp_reset),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_lineseq */
- MEMBER_TO_FPTR(Perl_pp_nextstate),
- MEMBER_TO_FPTR(Perl_pp_dbstate),
- MEMBER_TO_FPTR(Perl_pp_unstack),
- MEMBER_TO_FPTR(Perl_pp_enter),
- MEMBER_TO_FPTR(Perl_pp_leave),
- MEMBER_TO_FPTR(Perl_pp_null), /* Perl_pp_scope */
- MEMBER_TO_FPTR(Perl_pp_enteriter),
- MEMBER_TO_FPTR(Perl_pp_iter),
- MEMBER_TO_FPTR(Perl_pp_enterloop),
- MEMBER_TO_FPTR(Perl_pp_leaveloop),
- MEMBER_TO_FPTR(Perl_pp_return),
- MEMBER_TO_FPTR(Perl_pp_last),
- MEMBER_TO_FPTR(Perl_pp_next),
- MEMBER_TO_FPTR(Perl_pp_redo),
- MEMBER_TO_FPTR(Perl_pp_goto), /* Perl_pp_dump */
- MEMBER_TO_FPTR(Perl_pp_goto),
- MEMBER_TO_FPTR(Perl_pp_exit),
- MEMBER_TO_FPTR(Perl_pp_setstate),
- MEMBER_TO_FPTR(Perl_pp_method_named),
- MEMBER_TO_FPTR(Perl_pp_entergiven),
- MEMBER_TO_FPTR(Perl_pp_leavegiven),
- MEMBER_TO_FPTR(Perl_pp_enterwhen),
- MEMBER_TO_FPTR(Perl_pp_leavewhen),
- MEMBER_TO_FPTR(Perl_pp_break),
- MEMBER_TO_FPTR(Perl_pp_continue),
- MEMBER_TO_FPTR(Perl_pp_open),
- MEMBER_TO_FPTR(Perl_pp_close),
- MEMBER_TO_FPTR(Perl_pp_pipe_op),
- MEMBER_TO_FPTR(Perl_pp_fileno),
- MEMBER_TO_FPTR(Perl_pp_umask),
- MEMBER_TO_FPTR(Perl_pp_binmode),
- MEMBER_TO_FPTR(Perl_pp_tie),
- MEMBER_TO_FPTR(Perl_pp_untie),
- MEMBER_TO_FPTR(Perl_pp_tied),
- MEMBER_TO_FPTR(Perl_pp_dbmopen),
- MEMBER_TO_FPTR(Perl_pp_untie), /* Perl_pp_dbmclose */
- MEMBER_TO_FPTR(Perl_pp_sselect),
- MEMBER_TO_FPTR(Perl_pp_select),
- MEMBER_TO_FPTR(Perl_pp_getc),
- MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_read */
- MEMBER_TO_FPTR(Perl_pp_enterwrite),
- MEMBER_TO_FPTR(Perl_pp_leavewrite),
- MEMBER_TO_FPTR(Perl_pp_prtf),
- MEMBER_TO_FPTR(Perl_pp_print),
- MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */
- MEMBER_TO_FPTR(Perl_pp_sysopen),
- MEMBER_TO_FPTR(Perl_pp_sysseek),
- MEMBER_TO_FPTR(Perl_pp_sysread),
- MEMBER_TO_FPTR(Perl_pp_send), /* Perl_pp_syswrite */
- MEMBER_TO_FPTR(Perl_pp_send),
- MEMBER_TO_FPTR(Perl_pp_sysread), /* Perl_pp_recv */
- MEMBER_TO_FPTR(Perl_pp_eof),
- MEMBER_TO_FPTR(Perl_pp_tell),
- MEMBER_TO_FPTR(Perl_pp_sysseek), /* Perl_pp_seek */
- MEMBER_TO_FPTR(Perl_pp_truncate),
- MEMBER_TO_FPTR(Perl_pp_ioctl), /* Perl_pp_fcntl */
- MEMBER_TO_FPTR(Perl_pp_ioctl),
- MEMBER_TO_FPTR(Perl_pp_flock),
- MEMBER_TO_FPTR(Perl_pp_socket),
- MEMBER_TO_FPTR(Perl_pp_sockpair),
- MEMBER_TO_FPTR(Perl_pp_bind),
- MEMBER_TO_FPTR(Perl_pp_connect),
- MEMBER_TO_FPTR(Perl_pp_listen),
- MEMBER_TO_FPTR(Perl_pp_accept),
- MEMBER_TO_FPTR(Perl_pp_shutdown),
- MEMBER_TO_FPTR(Perl_pp_ssockopt), /* Perl_pp_gsockopt */
- MEMBER_TO_FPTR(Perl_pp_ssockopt),
- MEMBER_TO_FPTR(Perl_pp_getpeername), /* Perl_pp_getsockname */
- MEMBER_TO_FPTR(Perl_pp_getpeername),
- MEMBER_TO_FPTR(Perl_pp_stat), /* Perl_pp_lstat */
- MEMBER_TO_FPTR(Perl_pp_stat),
- MEMBER_TO_FPTR(Perl_pp_ftrread),
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrwrite */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftrexec */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteread */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_ftewrite */
- MEMBER_TO_FPTR(Perl_pp_ftrread), /* Perl_pp_fteexec */
- MEMBER_TO_FPTR(Perl_pp_ftis),
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftsize */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftmtime */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftatime */
- MEMBER_TO_FPTR(Perl_pp_ftis), /* Perl_pp_ftctime */
- MEMBER_TO_FPTR(Perl_pp_ftrowned),
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_fteowned */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftzero */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsock */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftchr */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftblk */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftfile */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftdir */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftpipe */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsuid */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsgid */
- MEMBER_TO_FPTR(Perl_pp_ftrowned), /* Perl_pp_ftsvtx */
- MEMBER_TO_FPTR(Perl_pp_ftlink),
- MEMBER_TO_FPTR(Perl_pp_fttty),
- MEMBER_TO_FPTR(Perl_pp_fttext),
- MEMBER_TO_FPTR(Perl_pp_fttext), /* Perl_pp_ftbinary */
- MEMBER_TO_FPTR(Perl_pp_chdir),
- MEMBER_TO_FPTR(Perl_pp_chown),
- MEMBER_TO_FPTR(Perl_pp_chroot),
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_unlink */
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_chmod */
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_utime */
- MEMBER_TO_FPTR(Perl_pp_rename),
- MEMBER_TO_FPTR(Perl_pp_link),
- MEMBER_TO_FPTR(Perl_pp_link), /* Perl_pp_symlink */
- MEMBER_TO_FPTR(Perl_pp_readlink),
- MEMBER_TO_FPTR(Perl_pp_mkdir),
- MEMBER_TO_FPTR(Perl_pp_rmdir),
- MEMBER_TO_FPTR(Perl_pp_open_dir),
- MEMBER_TO_FPTR(Perl_pp_readdir),
- MEMBER_TO_FPTR(Perl_pp_telldir),
- MEMBER_TO_FPTR(Perl_pp_seekdir),
- MEMBER_TO_FPTR(Perl_pp_rewinddir),
- MEMBER_TO_FPTR(Perl_pp_closedir),
- MEMBER_TO_FPTR(Perl_pp_fork),
- MEMBER_TO_FPTR(Perl_pp_wait),
- MEMBER_TO_FPTR(Perl_pp_waitpid),
- MEMBER_TO_FPTR(Perl_pp_system),
- MEMBER_TO_FPTR(Perl_pp_exec),
- MEMBER_TO_FPTR(Perl_pp_chown), /* Perl_pp_kill */
- MEMBER_TO_FPTR(Perl_pp_getppid),
- MEMBER_TO_FPTR(Perl_pp_getpgrp),
- MEMBER_TO_FPTR(Perl_pp_setpgrp),
- MEMBER_TO_FPTR(Perl_pp_getpriority),
- MEMBER_TO_FPTR(Perl_pp_setpriority),
- MEMBER_TO_FPTR(Perl_pp_time),
- MEMBER_TO_FPTR(Perl_pp_tms),
- MEMBER_TO_FPTR(Perl_pp_gmtime), /* Perl_pp_localtime */
- MEMBER_TO_FPTR(Perl_pp_gmtime),
- MEMBER_TO_FPTR(Perl_pp_alarm),
- MEMBER_TO_FPTR(Perl_pp_sleep),
- MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_shmget */
- MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_shmctl */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_shmread */
- MEMBER_TO_FPTR(Perl_pp_shmwrite),
- MEMBER_TO_FPTR(Perl_pp_semget), /* Perl_pp_msgget */
- MEMBER_TO_FPTR(Perl_pp_semctl), /* Perl_pp_msgctl */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgsnd */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_msgrcv */
- MEMBER_TO_FPTR(Perl_pp_shmwrite), /* Perl_pp_semop */
- MEMBER_TO_FPTR(Perl_pp_semget),
- MEMBER_TO_FPTR(Perl_pp_semctl),
- MEMBER_TO_FPTR(Perl_pp_require),
- MEMBER_TO_FPTR(Perl_pp_require), /* Perl_pp_dofile */
- MEMBER_TO_FPTR(Perl_pp_entereval),
- MEMBER_TO_FPTR(Perl_pp_leaveeval),
- MEMBER_TO_FPTR(Perl_pp_entertry),
- MEMBER_TO_FPTR(Perl_pp_leavetry),
- MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyname */
- MEMBER_TO_FPTR(Perl_pp_ghostent), /* Perl_pp_ghbyaddr */
- MEMBER_TO_FPTR(Perl_pp_ghostent),
- MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyname */
- MEMBER_TO_FPTR(Perl_pp_gnetent), /* Perl_pp_gnbyaddr */
- MEMBER_TO_FPTR(Perl_pp_gnetent),
- MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbyname */
- MEMBER_TO_FPTR(Perl_pp_gprotoent), /* Perl_pp_gpbynumber */
- MEMBER_TO_FPTR(Perl_pp_gprotoent),
- MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyname */
- MEMBER_TO_FPTR(Perl_pp_gservent), /* Perl_pp_gsbyport */
- MEMBER_TO_FPTR(Perl_pp_gservent),
- MEMBER_TO_FPTR(Perl_pp_shostent),
- MEMBER_TO_FPTR(Perl_pp_snetent),
- MEMBER_TO_FPTR(Perl_pp_sprotoent),
- MEMBER_TO_FPTR(Perl_pp_sservent),
- MEMBER_TO_FPTR(Perl_pp_ehostent),
- MEMBER_TO_FPTR(Perl_pp_enetent),
- MEMBER_TO_FPTR(Perl_pp_eprotoent),
- MEMBER_TO_FPTR(Perl_pp_eservent),
- MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwnam */
- MEMBER_TO_FPTR(Perl_pp_gpwent), /* Perl_pp_gpwuid */
- MEMBER_TO_FPTR(Perl_pp_gpwent),
- MEMBER_TO_FPTR(Perl_pp_spwent),
- MEMBER_TO_FPTR(Perl_pp_epwent),
- MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrnam */
- MEMBER_TO_FPTR(Perl_pp_ggrent), /* Perl_pp_ggrgid */
- MEMBER_TO_FPTR(Perl_pp_ggrent),
- MEMBER_TO_FPTR(Perl_pp_sgrent),
- MEMBER_TO_FPTR(Perl_pp_egrent),
- MEMBER_TO_FPTR(Perl_pp_getlogin),
- MEMBER_TO_FPTR(Perl_pp_syscall),
- MEMBER_TO_FPTR(Perl_pp_lock),
- MEMBER_TO_FPTR(Perl_pp_once),
- MEMBER_TO_FPTR(Perl_unimplemented_op), /* Perl_pp_custom */
-}
-#endif
-#ifdef PERL_PPADDR_INITED
-;
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT_INIT
-# define PERL_CHECK_INITED
-static const Perl_check_t Gcheck[]
-#else
-# ifndef PERL_GLOBAL_STRUCT
-# define PERL_CHECK_INITED
-EXT Perl_check_t PL_check[] /* or perlvars.h */
-# endif
-#endif
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-# define PERL_CHECK_INITED
-= {
- MEMBER_TO_FPTR(Perl_ck_null), /* null */
- MEMBER_TO_FPTR(Perl_ck_null), /* stub */
- MEMBER_TO_FPTR(Perl_ck_fun), /* scalar */
- MEMBER_TO_FPTR(Perl_ck_null), /* pushmark */
- MEMBER_TO_FPTR(Perl_ck_null), /* wantarray */
- MEMBER_TO_FPTR(Perl_ck_svconst), /* const */
- MEMBER_TO_FPTR(Perl_ck_null), /* gvsv */
- MEMBER_TO_FPTR(Perl_ck_null), /* gv */
- MEMBER_TO_FPTR(Perl_ck_null), /* gelem */
- MEMBER_TO_FPTR(Perl_ck_null), /* padsv */
- MEMBER_TO_FPTR(Perl_ck_null), /* padav */
- MEMBER_TO_FPTR(Perl_ck_null), /* padhv */
- MEMBER_TO_FPTR(Perl_ck_null), /* padany */
- MEMBER_TO_FPTR(Perl_ck_null), /* pushre */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2gv */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2sv */
- MEMBER_TO_FPTR(Perl_ck_null), /* av2arylen */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2cv */
- MEMBER_TO_FPTR(Perl_ck_anoncode), /* anoncode */
- MEMBER_TO_FPTR(Perl_ck_null), /* prototype */
- MEMBER_TO_FPTR(Perl_ck_spair), /* refgen */
- MEMBER_TO_FPTR(Perl_ck_null), /* srefgen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ref */
- MEMBER_TO_FPTR(Perl_ck_fun), /* bless */
- MEMBER_TO_FPTR(Perl_ck_open), /* backtick */
- MEMBER_TO_FPTR(Perl_ck_glob), /* glob */
- MEMBER_TO_FPTR(Perl_ck_readline), /* readline */
- MEMBER_TO_FPTR(Perl_ck_null), /* rcatline */
- MEMBER_TO_FPTR(Perl_ck_fun), /* regcmaybe */
- MEMBER_TO_FPTR(Perl_ck_fun), /* regcreset */
- MEMBER_TO_FPTR(Perl_ck_null), /* regcomp */
- MEMBER_TO_FPTR(Perl_ck_match), /* match */
- MEMBER_TO_FPTR(Perl_ck_match), /* qr */
- MEMBER_TO_FPTR(Perl_ck_match), /* subst */
- MEMBER_TO_FPTR(Perl_ck_null), /* substcont */
- MEMBER_TO_FPTR(Perl_ck_match), /* trans */
- MEMBER_TO_FPTR(Perl_ck_sassign), /* sassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* aassign */
- MEMBER_TO_FPTR(Perl_ck_spair), /* chop */
- MEMBER_TO_FPTR(Perl_ck_null), /* schop */
- MEMBER_TO_FPTR(Perl_ck_spair), /* chomp */
- MEMBER_TO_FPTR(Perl_ck_null), /* schomp */
- MEMBER_TO_FPTR(Perl_ck_defined), /* defined */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* undef */
- MEMBER_TO_FPTR(Perl_ck_fun), /* study */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* pos */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* preinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_preinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* predec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_predec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* postinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_postinc */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* postdec */
- MEMBER_TO_FPTR(Perl_ck_lfun), /* i_postdec */
- MEMBER_TO_FPTR(Perl_ck_null), /* pow */
- MEMBER_TO_FPTR(Perl_ck_null), /* multiply */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_multiply */
- MEMBER_TO_FPTR(Perl_ck_null), /* divide */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_divide */
- MEMBER_TO_FPTR(Perl_ck_null), /* modulo */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_modulo */
- MEMBER_TO_FPTR(Perl_ck_repeat), /* repeat */
- MEMBER_TO_FPTR(Perl_ck_null), /* add */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_add */
- MEMBER_TO_FPTR(Perl_ck_null), /* subtract */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_subtract */
- MEMBER_TO_FPTR(Perl_ck_concat), /* concat */
- MEMBER_TO_FPTR(Perl_ck_fun), /* stringify */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* left_shift */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* right_shift */
- MEMBER_TO_FPTR(Perl_ck_null), /* lt */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_lt */
- MEMBER_TO_FPTR(Perl_ck_null), /* gt */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_gt */
- MEMBER_TO_FPTR(Perl_ck_null), /* le */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_le */
- MEMBER_TO_FPTR(Perl_ck_null), /* ge */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ge */
- MEMBER_TO_FPTR(Perl_ck_null), /* eq */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_eq */
- MEMBER_TO_FPTR(Perl_ck_null), /* ne */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ne */
- MEMBER_TO_FPTR(Perl_ck_null), /* ncmp */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_ncmp */
- MEMBER_TO_FPTR(Perl_ck_null), /* slt */
- MEMBER_TO_FPTR(Perl_ck_null), /* sgt */
- MEMBER_TO_FPTR(Perl_ck_null), /* sle */
- MEMBER_TO_FPTR(Perl_ck_null), /* sge */
- MEMBER_TO_FPTR(Perl_ck_null), /* seq */
- MEMBER_TO_FPTR(Perl_ck_null), /* sne */
- MEMBER_TO_FPTR(Perl_ck_null), /* scmp */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_and */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_xor */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* bit_or */
- MEMBER_TO_FPTR(Perl_ck_null), /* negate */
- MEMBER_TO_FPTR(Perl_ck_null), /* i_negate */
- MEMBER_TO_FPTR(Perl_ck_null), /* not */
- MEMBER_TO_FPTR(Perl_ck_bitop), /* complement */
- MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */
- MEMBER_TO_FPTR(Perl_ck_fun), /* atan2 */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sin */
- MEMBER_TO_FPTR(Perl_ck_fun), /* cos */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rand */
- MEMBER_TO_FPTR(Perl_ck_fun), /* srand */
- MEMBER_TO_FPTR(Perl_ck_fun), /* exp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* log */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sqrt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* int */
- MEMBER_TO_FPTR(Perl_ck_fun), /* hex */
- MEMBER_TO_FPTR(Perl_ck_fun), /* oct */
- MEMBER_TO_FPTR(Perl_ck_fun), /* abs */
- MEMBER_TO_FPTR(Perl_ck_lengthconst), /* length */
- MEMBER_TO_FPTR(Perl_ck_substr), /* substr */
- MEMBER_TO_FPTR(Perl_ck_fun), /* vec */
- MEMBER_TO_FPTR(Perl_ck_index), /* index */
- MEMBER_TO_FPTR(Perl_ck_index), /* rindex */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sprintf */
- MEMBER_TO_FPTR(Perl_ck_fun), /* formline */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ord */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chr */
- MEMBER_TO_FPTR(Perl_ck_fun), /* crypt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ucfirst */
- MEMBER_TO_FPTR(Perl_ck_fun), /* lcfirst */
- MEMBER_TO_FPTR(Perl_ck_fun), /* uc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* lc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* quotemeta */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2av */
- MEMBER_TO_FPTR(Perl_ck_null), /* aelemfast */
- MEMBER_TO_FPTR(Perl_ck_null), /* aelem */
- MEMBER_TO_FPTR(Perl_ck_null), /* aslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* each */
- MEMBER_TO_FPTR(Perl_ck_fun), /* values */
- MEMBER_TO_FPTR(Perl_ck_fun), /* keys */
- MEMBER_TO_FPTR(Perl_ck_delete), /* delete */
- MEMBER_TO_FPTR(Perl_ck_exists), /* exists */
- MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */
- MEMBER_TO_FPTR(Perl_ck_null), /* helem */
- MEMBER_TO_FPTR(Perl_ck_null), /* hslice */
- MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
- MEMBER_TO_FPTR(Perl_ck_fun), /* pack */
- MEMBER_TO_FPTR(Perl_ck_split), /* split */
- MEMBER_TO_FPTR(Perl_ck_join), /* join */
- MEMBER_TO_FPTR(Perl_ck_null), /* list */
- MEMBER_TO_FPTR(Perl_ck_null), /* lslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* anonlist */
- MEMBER_TO_FPTR(Perl_ck_fun), /* anonhash */
- MEMBER_TO_FPTR(Perl_ck_fun), /* splice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* push */
- MEMBER_TO_FPTR(Perl_ck_shift), /* pop */
- MEMBER_TO_FPTR(Perl_ck_shift), /* shift */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unshift */
- MEMBER_TO_FPTR(Perl_ck_sort), /* sort */
- MEMBER_TO_FPTR(Perl_ck_fun), /* reverse */
- MEMBER_TO_FPTR(Perl_ck_grep), /* grepstart */
- MEMBER_TO_FPTR(Perl_ck_null), /* grepwhile */
- MEMBER_TO_FPTR(Perl_ck_grep), /* mapstart */
- MEMBER_TO_FPTR(Perl_ck_null), /* mapwhile */
- MEMBER_TO_FPTR(Perl_ck_null), /* range */
- MEMBER_TO_FPTR(Perl_ck_null), /* flip */
- MEMBER_TO_FPTR(Perl_ck_null), /* flop */
- MEMBER_TO_FPTR(Perl_ck_null), /* and */
- MEMBER_TO_FPTR(Perl_ck_null), /* or */
- MEMBER_TO_FPTR(Perl_ck_null), /* xor */
- MEMBER_TO_FPTR(Perl_ck_null), /* dor */
- MEMBER_TO_FPTR(Perl_ck_null), /* cond_expr */
- MEMBER_TO_FPTR(Perl_ck_null), /* andassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* orassign */
- MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */
- MEMBER_TO_FPTR(Perl_ck_method), /* method */
- MEMBER_TO_FPTR(Perl_ck_subr), /* entersub */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavesub */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavesublv */
- MEMBER_TO_FPTR(Perl_ck_fun), /* caller */
- MEMBER_TO_FPTR(Perl_ck_fun), /* warn */
- MEMBER_TO_FPTR(Perl_ck_die), /* die */
- MEMBER_TO_FPTR(Perl_ck_fun), /* reset */
- MEMBER_TO_FPTR(Perl_ck_null), /* lineseq */
- MEMBER_TO_FPTR(Perl_ck_null), /* nextstate */
- MEMBER_TO_FPTR(Perl_ck_null), /* dbstate */
- MEMBER_TO_FPTR(Perl_ck_null), /* unstack */
- MEMBER_TO_FPTR(Perl_ck_null), /* enter */
- MEMBER_TO_FPTR(Perl_ck_null), /* leave */
- MEMBER_TO_FPTR(Perl_ck_null), /* scope */
- MEMBER_TO_FPTR(Perl_ck_null), /* enteriter */
- MEMBER_TO_FPTR(Perl_ck_null), /* iter */
- MEMBER_TO_FPTR(Perl_ck_null), /* enterloop */
- MEMBER_TO_FPTR(Perl_ck_null), /* leaveloop */
- MEMBER_TO_FPTR(Perl_ck_return), /* return */
- MEMBER_TO_FPTR(Perl_ck_null), /* last */
- MEMBER_TO_FPTR(Perl_ck_null), /* next */
- MEMBER_TO_FPTR(Perl_ck_null), /* redo */
- MEMBER_TO_FPTR(Perl_ck_null), /* dump */
- MEMBER_TO_FPTR(Perl_ck_null), /* goto */
- MEMBER_TO_FPTR(Perl_ck_exit), /* exit */
- MEMBER_TO_FPTR(Perl_ck_null), /* setstate */
- MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
- MEMBER_TO_FPTR(Perl_ck_null), /* entergiven */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavegiven */
- MEMBER_TO_FPTR(Perl_ck_null), /* enterwhen */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavewhen */
- MEMBER_TO_FPTR(Perl_ck_null), /* break */
- MEMBER_TO_FPTR(Perl_ck_null), /* continue */
- MEMBER_TO_FPTR(Perl_ck_open), /* open */
- MEMBER_TO_FPTR(Perl_ck_fun), /* close */
- MEMBER_TO_FPTR(Perl_ck_fun), /* pipe_op */
- MEMBER_TO_FPTR(Perl_ck_fun), /* fileno */
- MEMBER_TO_FPTR(Perl_ck_fun), /* umask */
- MEMBER_TO_FPTR(Perl_ck_fun), /* binmode */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tie */
- MEMBER_TO_FPTR(Perl_ck_fun), /* untie */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tied */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dbmopen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dbmclose */
- MEMBER_TO_FPTR(Perl_ck_select), /* sselect */
- MEMBER_TO_FPTR(Perl_ck_select), /* select */
- MEMBER_TO_FPTR(Perl_ck_eof), /* getc */
- MEMBER_TO_FPTR(Perl_ck_fun), /* read */
- MEMBER_TO_FPTR(Perl_ck_fun), /* enterwrite */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavewrite */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* prtf */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* print */
- MEMBER_TO_FPTR(Perl_ck_listiob), /* say */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysopen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysseek */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sysread */
- MEMBER_TO_FPTR(Perl_ck_fun), /* syswrite */
- MEMBER_TO_FPTR(Perl_ck_fun), /* send */
- MEMBER_TO_FPTR(Perl_ck_fun), /* recv */
- MEMBER_TO_FPTR(Perl_ck_eof), /* eof */
- MEMBER_TO_FPTR(Perl_ck_fun), /* tell */
- MEMBER_TO_FPTR(Perl_ck_fun), /* seek */
- MEMBER_TO_FPTR(Perl_ck_trunc), /* truncate */
- MEMBER_TO_FPTR(Perl_ck_fun), /* fcntl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ioctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* flock */
- MEMBER_TO_FPTR(Perl_ck_fun), /* socket */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sockpair */
- MEMBER_TO_FPTR(Perl_ck_fun), /* bind */
- MEMBER_TO_FPTR(Perl_ck_fun), /* connect */
- MEMBER_TO_FPTR(Perl_ck_fun), /* listen */
- MEMBER_TO_FPTR(Perl_ck_fun), /* accept */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shutdown */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsockopt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ssockopt */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getsockname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpeername */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* lstat */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* stat */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrread */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrwrite */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrexec */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteread */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftewrite */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteexec */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftis */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsize */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftmtime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftatime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftctime */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftrowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fteowned */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftzero */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsock */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftchr */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftblk */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftfile */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftdir */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftpipe */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsuid */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsgid */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftsvtx */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftlink */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fttty */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* fttext */
- MEMBER_TO_FPTR(Perl_ck_ftst), /* ftbinary */
- MEMBER_TO_FPTR(Perl_ck_chdir), /* chdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chown */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chroot */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* chmod */
- MEMBER_TO_FPTR(Perl_ck_fun), /* utime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rename */
- MEMBER_TO_FPTR(Perl_ck_fun), /* link */
- MEMBER_TO_FPTR(Perl_ck_fun), /* symlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* readlink */
- MEMBER_TO_FPTR(Perl_ck_fun), /* mkdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rmdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* open_dir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* readdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* telldir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* seekdir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* rewinddir */
- MEMBER_TO_FPTR(Perl_ck_fun), /* closedir */
- MEMBER_TO_FPTR(Perl_ck_null), /* fork */
- MEMBER_TO_FPTR(Perl_ck_null), /* wait */
- MEMBER_TO_FPTR(Perl_ck_fun), /* waitpid */
- MEMBER_TO_FPTR(Perl_ck_exec), /* system */
- MEMBER_TO_FPTR(Perl_ck_exec), /* exec */
- MEMBER_TO_FPTR(Perl_ck_fun), /* kill */
- MEMBER_TO_FPTR(Perl_ck_null), /* getppid */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpgrp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* setpgrp */
- MEMBER_TO_FPTR(Perl_ck_fun), /* getpriority */
- MEMBER_TO_FPTR(Perl_ck_fun), /* setpriority */
- MEMBER_TO_FPTR(Perl_ck_null), /* time */
- MEMBER_TO_FPTR(Perl_ck_null), /* tms */
- MEMBER_TO_FPTR(Perl_ck_fun), /* localtime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gmtime */
- MEMBER_TO_FPTR(Perl_ck_fun), /* alarm */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sleep */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmread */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shmwrite */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgctl */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgsnd */
- MEMBER_TO_FPTR(Perl_ck_fun), /* msgrcv */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semop */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semget */
- MEMBER_TO_FPTR(Perl_ck_fun), /* semctl */
- MEMBER_TO_FPTR(Perl_ck_require), /* require */
- MEMBER_TO_FPTR(Perl_ck_fun), /* dofile */
- MEMBER_TO_FPTR(Perl_ck_eval), /* entereval */
- MEMBER_TO_FPTR(Perl_ck_null), /* leaveeval */
- MEMBER_TO_FPTR(Perl_ck_null), /* entertry */
- MEMBER_TO_FPTR(Perl_ck_null), /* leavetry */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ghbyaddr */
- MEMBER_TO_FPTR(Perl_ck_null), /* ghostent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gnbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gnbyaddr */
- MEMBER_TO_FPTR(Perl_ck_null), /* gnetent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpbynumber */
- MEMBER_TO_FPTR(Perl_ck_null), /* gprotoent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsbyname */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gsbyport */
- MEMBER_TO_FPTR(Perl_ck_null), /* gservent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* shostent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* snetent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sprotoent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* sservent */
- MEMBER_TO_FPTR(Perl_ck_null), /* ehostent */
- MEMBER_TO_FPTR(Perl_ck_null), /* enetent */
- MEMBER_TO_FPTR(Perl_ck_null), /* eprotoent */
- MEMBER_TO_FPTR(Perl_ck_null), /* eservent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpwnam */
- MEMBER_TO_FPTR(Perl_ck_fun), /* gpwuid */
- MEMBER_TO_FPTR(Perl_ck_null), /* gpwent */
- MEMBER_TO_FPTR(Perl_ck_null), /* spwent */
- MEMBER_TO_FPTR(Perl_ck_null), /* epwent */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ggrnam */
- MEMBER_TO_FPTR(Perl_ck_fun), /* ggrgid */
- MEMBER_TO_FPTR(Perl_ck_null), /* ggrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* sgrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* egrent */
- MEMBER_TO_FPTR(Perl_ck_null), /* getlogin */
- MEMBER_TO_FPTR(Perl_ck_fun), /* syscall */
- MEMBER_TO_FPTR(Perl_ck_rfun), /* lock */
- MEMBER_TO_FPTR(Perl_ck_null), /* once */
- MEMBER_TO_FPTR(Perl_ck_null), /* custom */
-}
-#endif
-#ifdef PERL_CHECK_INITED
-;
-#endif /* #ifdef PERL_CHECK_INITED */
-
-#ifndef PERL_GLOBAL_STRUCT_INIT
-
-#ifndef DOINIT
-EXTCONST U32 PL_opargs[];
-#else
-EXTCONST U32 PL_opargs[] = {
- 0x00000000, /* null */
- 0x00000000, /* stub */
- 0x00003604, /* scalar */
- 0x00000004, /* pushmark */
- 0x00000014, /* wantarray */
- 0x00000c04, /* const */
- 0x00000c44, /* gvsv */
- 0x00000c44, /* gv */
- 0x00022440, /* gelem */
- 0x00000044, /* padsv */
- 0x00000040, /* padav */
- 0x00000040, /* padhv */
- 0x00000040, /* padany */
- 0x00000a40, /* pushre */
- 0x00000244, /* rv2gv */
- 0x00000244, /* rv2sv */
- 0x00000214, /* av2arylen */
- 0x00000240, /* rv2cv */
- 0x00000c00, /* anoncode */
- 0x00003604, /* prototype */
- 0x00004201, /* refgen */
- 0x00002206, /* srefgen */
- 0x0001368c, /* ref */
- 0x00122804, /* bless */
- 0x00013688, /* backtick */
- 0x00012808, /* glob */
- 0x0001d608, /* readline */
- 0x00000c08, /* rcatline */
- 0x00002204, /* regcmaybe */
- 0x00002204, /* regcreset */
- 0x00002604, /* regcomp */
- 0x00000a40, /* match */
- 0x00000a04, /* qr */
- 0x00002a54, /* subst */
- 0x00000654, /* substcont */
- 0x00003014, /* trans */
- 0x00000004, /* sassign */
- 0x00044408, /* aassign */
- 0x0000560d, /* chop */
- 0x0001368c, /* schop */
- 0x0000570d, /* chomp */
- 0x0001378c, /* schomp */
- 0x00013694, /* defined */
- 0x00013604, /* undef */
- 0x00013684, /* study */
- 0x0001368c, /* pos */
- 0x00002264, /* preinc */
- 0x00002254, /* i_preinc */
- 0x00002264, /* predec */
- 0x00002254, /* i_predec */
- 0x0000226c, /* postinc */
- 0x0000235c, /* i_postinc */
- 0x0000226c, /* postdec */
- 0x0000235c, /* i_postdec */
- 0x0002250e, /* pow */
- 0x0002252e, /* multiply */
- 0x0002251e, /* i_multiply */
- 0x0002252e, /* divide */
- 0x0002251e, /* i_divide */
- 0x0002253e, /* modulo */
- 0x0002251e, /* i_modulo */
- 0x00024409, /* repeat */
- 0x0002252e, /* add */
- 0x0002251e, /* i_add */
- 0x0002252e, /* subtract */
- 0x0002251e, /* i_subtract */
- 0x0002250e, /* concat */
- 0x0000290e, /* stringify */
- 0x0002250e, /* left_shift */
- 0x0002250e, /* right_shift */
- 0x00022436, /* lt */
- 0x00022416, /* i_lt */
- 0x00022436, /* gt */
- 0x00022416, /* i_gt */
- 0x00022436, /* le */
- 0x00022416, /* i_le */
- 0x00022436, /* ge */
- 0x00022416, /* i_ge */
- 0x00022436, /* eq */
- 0x00022416, /* i_eq */
- 0x00022436, /* ne */
- 0x00022416, /* i_ne */
- 0x0002243e, /* ncmp */
- 0x0002241e, /* i_ncmp */
- 0x00022416, /* slt */
- 0x00022416, /* sgt */
- 0x00022416, /* sle */
- 0x00022416, /* sge */
- 0x00022416, /* seq */
- 0x00022416, /* sne */
- 0x0002241e, /* scmp */
- 0x0002240e, /* bit_and */
- 0x0002240e, /* bit_xor */
- 0x0002240e, /* bit_or */
- 0x0000222e, /* negate */
- 0x0000231e, /* i_negate */
- 0x00002216, /* not */
- 0x0000220e, /* complement */
- 0x00000404, /* smartmatch */
- 0x0002290e, /* atan2 */
- 0x0001378e, /* sin */
- 0x0001378e, /* cos */
- 0x0001370c, /* rand */
- 0x00013604, /* srand */
- 0x0001378e, /* exp */
- 0x0001378e, /* log */
- 0x0001378e, /* sqrt */
- 0x0001378e, /* int */
- 0x0001378e, /* hex */
- 0x0001378e, /* oct */
- 0x0001378e, /* abs */
- 0x0001379e, /* length */
- 0x1322280c, /* substr */
- 0x0022281c, /* vec */
- 0x0122291c, /* index */
- 0x0122291c, /* rindex */
- 0x0004280f, /* sprintf */
- 0x00042805, /* formline */
- 0x0001379e, /* ord */
- 0x0001378e, /* chr */
- 0x0002290e, /* crypt */
- 0x0001368e, /* ucfirst */
- 0x0001368e, /* lcfirst */
- 0x0001368e, /* uc */
- 0x0001368e, /* lc */
- 0x0001368e, /* quotemeta */
- 0x00000248, /* rv2av */
- 0x00026c04, /* aelemfast */
- 0x00026404, /* aelem */
- 0x00046801, /* aslice */
- 0x00009600, /* each */
- 0x00009608, /* values */
- 0x00009608, /* keys */
- 0x00003600, /* delete */
- 0x00003614, /* exists */
- 0x00000248, /* rv2hv */
- 0x00028404, /* helem */
- 0x00048801, /* hslice */
- 0x00122800, /* unpack */
- 0x0004280d, /* pack */
- 0x00222808, /* split */
- 0x0004280d, /* join */
- 0x00004801, /* list */
- 0x00448400, /* lslice */
- 0x00004805, /* anonlist */
- 0x00004805, /* anonhash */
- 0x05326801, /* splice */
- 0x0004691d, /* push */
- 0x00017604, /* pop */
- 0x00017604, /* shift */
- 0x0004691d, /* unshift */
- 0x0005a841, /* sort */
- 0x00004809, /* reverse */
- 0x0004a841, /* grepstart */
- 0x00000648, /* grepwhile */
- 0x0004a841, /* mapstart */
- 0x00000648, /* mapwhile */
- 0x00022600, /* range */
- 0x00022200, /* flip */
- 0x00000200, /* flop */
- 0x00000600, /* and */
- 0x00000600, /* or */
- 0x00022406, /* xor */
- 0x00000600, /* dor */
- 0x00000640, /* cond_expr */
- 0x00000604, /* andassign */
- 0x00000604, /* orassign */
- 0x00000604, /* dorassign */
- 0x00000240, /* method */
- 0x00004249, /* entersub */
- 0x00000200, /* leavesub */
- 0x00000200, /* leavesublv */
- 0x00013608, /* caller */
- 0x0000481d, /* warn */
- 0x0000485d, /* die */
- 0x00013614, /* reset */
- 0x00000800, /* lineseq */
- 0x00001404, /* nextstate */
- 0x00001404, /* dbstate */
- 0x00000004, /* unstack */
- 0x00000000, /* enter */
- 0x00000800, /* leave */
- 0x00000800, /* scope */
- 0x00001240, /* enteriter */
- 0x00000000, /* iter */
- 0x00001240, /* enterloop */
- 0x00000400, /* leaveloop */
- 0x00004841, /* return */
- 0x00001a44, /* last */
- 0x00001a44, /* next */
- 0x00001a44, /* redo */
- 0x00001a44, /* dump */
- 0x00001a44, /* goto */
- 0x00013644, /* exit */
- 0x00001404, /* setstate */
- 0x00000c40, /* method_named */
- 0x00000640, /* entergiven */
- 0x00000200, /* leavegiven */
- 0x00000640, /* enterwhen */
- 0x00000200, /* leavewhen */
- 0x00000000, /* break */
- 0x00000000, /* continue */
- 0x0052c81d, /* open */
- 0x0001d614, /* close */
- 0x000cc814, /* pipe_op */
- 0x0000d61c, /* fileno */
- 0x0001361c, /* umask */
- 0x0012c804, /* binmode */
- 0x0042e855, /* tie */
- 0x0000f614, /* untie */
- 0x0000f604, /* tied */
- 0x00228814, /* dbmopen */
- 0x00009614, /* dbmclose */
- 0x02222808, /* sselect */
- 0x0001c80c, /* select */
- 0x0001d60c, /* getc */
- 0x122ec81d, /* read */
- 0x0001d654, /* enterwrite */
- 0x00000200, /* leavewrite */
- 0x0005c815, /* prtf */
- 0x0005c815, /* print */
- 0x0005c815, /* say */
- 0x1222c804, /* sysopen */
- 0x0022c804, /* sysseek */
- 0x122ec81d, /* sysread */
- 0x1322c81d, /* syswrite */
- 0x1222c81d, /* send */
- 0x022ec81d, /* recv */
- 0x0001d614, /* eof */
- 0x0001d60c, /* tell */
- 0x0022c804, /* seek */
- 0x00022814, /* truncate */
- 0x0022c80c, /* fcntl */
- 0x0022c80c, /* ioctl */
- 0x0002c91c, /* flock */
- 0x0222c814, /* socket */
- 0x222cc814, /* sockpair */
- 0x0002c814, /* bind */
- 0x0002c814, /* connect */
- 0x0002c814, /* listen */
- 0x000cc81c, /* accept */
- 0x0002c81c, /* shutdown */
- 0x0022c814, /* gsockopt */
- 0x0222c814, /* ssockopt */
- 0x0000d614, /* getsockname */
- 0x0000d614, /* getpeername */
- 0x0000d880, /* lstat */
- 0x0000d880, /* stat */
- 0x0000d894, /* ftrread */
- 0x0000d894, /* ftrwrite */
- 0x0000d894, /* ftrexec */
- 0x0000d894, /* fteread */
- 0x0000d894, /* ftewrite */
- 0x0000d894, /* fteexec */
- 0x0000d894, /* ftis */
- 0x0000d89c, /* ftsize */
- 0x0000d88c, /* ftmtime */
- 0x0000d88c, /* ftatime */
- 0x0000d88c, /* ftctime */
- 0x0000d894, /* ftrowned */
- 0x0000d894, /* fteowned */
- 0x0000d894, /* ftzero */
- 0x0000d894, /* ftsock */
- 0x0000d894, /* ftchr */
- 0x0000d894, /* ftblk */
- 0x0000d894, /* ftfile */
- 0x0000d894, /* ftdir */
- 0x0000d894, /* ftpipe */
- 0x0000d894, /* ftsuid */
- 0x0000d894, /* ftsgid */
- 0x0000d894, /* ftsvtx */
- 0x0000d894, /* ftlink */
- 0x0000d814, /* fttty */
- 0x0000d894, /* fttext */
- 0x0000d894, /* ftbinary */
- 0x0001371c, /* chdir */
- 0x0000491d, /* chown */
- 0x0001379c, /* chroot */
- 0x0000499d, /* unlink */
- 0x0000491d, /* chmod */
- 0x0000491d, /* utime */
- 0x0002291c, /* rename */
- 0x0002291c, /* link */
- 0x0002291c, /* symlink */
- 0x0001368c, /* readlink */
- 0x0013299c, /* mkdir */
- 0x0001379c, /* rmdir */
- 0x0002c814, /* open_dir */
- 0x0000d600, /* readdir */
- 0x0000d60c, /* telldir */
- 0x0002c804, /* seekdir */
- 0x0000d604, /* rewinddir */
- 0x0000d614, /* closedir */
- 0x0000001c, /* fork */
- 0x0000011c, /* wait */
- 0x0002291c, /* waitpid */
- 0x0005291d, /* system */
- 0x0005295d, /* exec */
- 0x0000495d, /* kill */
- 0x0000011c, /* getppid */
- 0x0001371c, /* getpgrp */
- 0x0013291c, /* setpgrp */
- 0x0002291c, /* getpriority */
- 0x0022291c, /* setpriority */
- 0x0000011c, /* time */
- 0x00000000, /* tms */
- 0x00013608, /* localtime */
- 0x00013608, /* gmtime */
- 0x0001369c, /* alarm */
- 0x0001371c, /* sleep */
- 0x0022281d, /* shmget */
- 0x0022281d, /* shmctl */
- 0x0222281d, /* shmread */
- 0x0222281d, /* shmwrite */
- 0x0002281d, /* msgget */
- 0x0022281d, /* msgctl */
- 0x0022281d, /* msgsnd */
- 0x2222281d, /* msgrcv */
- 0x0002281d, /* semop */
- 0x0022281d, /* semget */
- 0x0222281d, /* semctl */
- 0x000136c0, /* require */
- 0x00002240, /* dofile */
- 0x00003640, /* entereval */
- 0x00002200, /* leaveeval */
- 0x00000600, /* entertry */
- 0x00000800, /* leavetry */
- 0x00003600, /* ghbyname */
- 0x00022800, /* ghbyaddr */
- 0x00000000, /* ghostent */
- 0x00003600, /* gnbyname */
- 0x00022800, /* gnbyaddr */
- 0x00000000, /* gnetent */
- 0x00003600, /* gpbyname */
- 0x00002800, /* gpbynumber */
- 0x00000000, /* gprotoent */
- 0x00022800, /* gsbyname */
- 0x00022800, /* gsbyport */
- 0x00000000, /* gservent */
- 0x00003614, /* shostent */
- 0x00003614, /* snetent */
- 0x00003614, /* sprotoent */
- 0x00003614, /* sservent */
- 0x00000014, /* ehostent */
- 0x00000014, /* enetent */
- 0x00000014, /* eprotoent */
- 0x00000014, /* eservent */
- 0x00003600, /* gpwnam */
- 0x00003600, /* gpwuid */
- 0x00000000, /* gpwent */
- 0x00000014, /* spwent */
- 0x00000014, /* epwent */
- 0x00003600, /* ggrnam */
- 0x00003600, /* ggrgid */
- 0x00000000, /* ggrent */
- 0x00000014, /* sgrent */
- 0x00000014, /* egrent */
- 0x0000000c, /* getlogin */
- 0x0004281d, /* syscall */
- 0x0000f604, /* lock */
- 0x00000600, /* once */
- 0x00000000, /* custom */
-};
-#endif
-
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-
-END_EXTERN_C
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opnames.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opnames.h
deleted file mode 100644
index d2633e6bc54..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/opnames.h
+++ /dev/null
@@ -1,433 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * opnames.h
- *
- * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- * 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by opcode.pl from its data. Any changes made here
- * will be lost!
- */
-
-typedef enum opcode {
- OP_NULL, /* 0 */
- OP_STUB, /* 1 */
- OP_SCALAR, /* 2 */
- OP_PUSHMARK, /* 3 */
- OP_WANTARRAY, /* 4 */
- OP_CONST, /* 5 */
- OP_GVSV, /* 6 */
- OP_GV, /* 7 */
- OP_GELEM, /* 8 */
- OP_PADSV, /* 9 */
- OP_PADAV, /* 10 */
- OP_PADHV, /* 11 */
- OP_PADANY, /* 12 */
- OP_PUSHRE, /* 13 */
- OP_RV2GV, /* 14 */
- OP_RV2SV, /* 15 */
- OP_AV2ARYLEN, /* 16 */
- OP_RV2CV, /* 17 */
- OP_ANONCODE, /* 18 */
- OP_PROTOTYPE, /* 19 */
- OP_REFGEN, /* 20 */
- OP_SREFGEN, /* 21 */
- OP_REF, /* 22 */
- OP_BLESS, /* 23 */
- OP_BACKTICK, /* 24 */
- OP_GLOB, /* 25 */
- OP_READLINE, /* 26 */
- OP_RCATLINE, /* 27 */
- OP_REGCMAYBE, /* 28 */
- OP_REGCRESET, /* 29 */
- OP_REGCOMP, /* 30 */
- OP_MATCH, /* 31 */
- OP_QR, /* 32 */
- OP_SUBST, /* 33 */
- OP_SUBSTCONT, /* 34 */
- OP_TRANS, /* 35 */
- OP_SASSIGN, /* 36 */
- OP_AASSIGN, /* 37 */
- OP_CHOP, /* 38 */
- OP_SCHOP, /* 39 */
- OP_CHOMP, /* 40 */
- OP_SCHOMP, /* 41 */
- OP_DEFINED, /* 42 */
- OP_UNDEF, /* 43 */
- OP_STUDY, /* 44 */
- OP_POS, /* 45 */
- OP_PREINC, /* 46 */
- OP_I_PREINC, /* 47 */
- OP_PREDEC, /* 48 */
- OP_I_PREDEC, /* 49 */
- OP_POSTINC, /* 50 */
- OP_I_POSTINC, /* 51 */
- OP_POSTDEC, /* 52 */
- OP_I_POSTDEC, /* 53 */
- OP_POW, /* 54 */
- OP_MULTIPLY, /* 55 */
- OP_I_MULTIPLY, /* 56 */
- OP_DIVIDE, /* 57 */
- OP_I_DIVIDE, /* 58 */
- OP_MODULO, /* 59 */
- OP_I_MODULO, /* 60 */
- OP_REPEAT, /* 61 */
- OP_ADD, /* 62 */
- OP_I_ADD, /* 63 */
- OP_SUBTRACT, /* 64 */
- OP_I_SUBTRACT, /* 65 */
- OP_CONCAT, /* 66 */
- OP_STRINGIFY, /* 67 */
- OP_LEFT_SHIFT, /* 68 */
- OP_RIGHT_SHIFT, /* 69 */
- OP_LT, /* 70 */
- OP_I_LT, /* 71 */
- OP_GT, /* 72 */
- OP_I_GT, /* 73 */
- OP_LE, /* 74 */
- OP_I_LE, /* 75 */
- OP_GE, /* 76 */
- OP_I_GE, /* 77 */
- OP_EQ, /* 78 */
- OP_I_EQ, /* 79 */
- OP_NE, /* 80 */
- OP_I_NE, /* 81 */
- OP_NCMP, /* 82 */
- OP_I_NCMP, /* 83 */
- OP_SLT, /* 84 */
- OP_SGT, /* 85 */
- OP_SLE, /* 86 */
- OP_SGE, /* 87 */
- OP_SEQ, /* 88 */
- OP_SNE, /* 89 */
- OP_SCMP, /* 90 */
- OP_BIT_AND, /* 91 */
- OP_BIT_XOR, /* 92 */
- OP_BIT_OR, /* 93 */
- OP_NEGATE, /* 94 */
- OP_I_NEGATE, /* 95 */
- OP_NOT, /* 96 */
- OP_COMPLEMENT, /* 97 */
- OP_SMARTMATCH, /* 98 */
- OP_ATAN2, /* 99 */
- OP_SIN, /* 100 */
- OP_COS, /* 101 */
- OP_RAND, /* 102 */
- OP_SRAND, /* 103 */
- OP_EXP, /* 104 */
- OP_LOG, /* 105 */
- OP_SQRT, /* 106 */
- OP_INT, /* 107 */
- OP_HEX, /* 108 */
- OP_OCT, /* 109 */
- OP_ABS, /* 110 */
- OP_LENGTH, /* 111 */
- OP_SUBSTR, /* 112 */
- OP_VEC, /* 113 */
- OP_INDEX, /* 114 */
- OP_RINDEX, /* 115 */
- OP_SPRINTF, /* 116 */
- OP_FORMLINE, /* 117 */
- OP_ORD, /* 118 */
- OP_CHR, /* 119 */
- OP_CRYPT, /* 120 */
- OP_UCFIRST, /* 121 */
- OP_LCFIRST, /* 122 */
- OP_UC, /* 123 */
- OP_LC, /* 124 */
- OP_QUOTEMETA, /* 125 */
- OP_RV2AV, /* 126 */
- OP_AELEMFAST, /* 127 */
- OP_AELEM, /* 128 */
- OP_ASLICE, /* 129 */
- OP_EACH, /* 130 */
- OP_VALUES, /* 131 */
- OP_KEYS, /* 132 */
- OP_DELETE, /* 133 */
- OP_EXISTS, /* 134 */
- OP_RV2HV, /* 135 */
- OP_HELEM, /* 136 */
- OP_HSLICE, /* 137 */
- OP_UNPACK, /* 138 */
- OP_PACK, /* 139 */
- OP_SPLIT, /* 140 */
- OP_JOIN, /* 141 */
- OP_LIST, /* 142 */
- OP_LSLICE, /* 143 */
- OP_ANONLIST, /* 144 */
- OP_ANONHASH, /* 145 */
- OP_SPLICE, /* 146 */
- OP_PUSH, /* 147 */
- OP_POP, /* 148 */
- OP_SHIFT, /* 149 */
- OP_UNSHIFT, /* 150 */
- OP_SORT, /* 151 */
- OP_REVERSE, /* 152 */
- OP_GREPSTART, /* 153 */
- OP_GREPWHILE, /* 154 */
- OP_MAPSTART, /* 155 */
- OP_MAPWHILE, /* 156 */
- OP_RANGE, /* 157 */
- OP_FLIP, /* 158 */
- OP_FLOP, /* 159 */
- OP_AND, /* 160 */
- OP_OR, /* 161 */
- OP_XOR, /* 162 */
- OP_DOR, /* 163 */
- OP_COND_EXPR, /* 164 */
- OP_ANDASSIGN, /* 165 */
- OP_ORASSIGN, /* 166 */
- OP_DORASSIGN, /* 167 */
- OP_METHOD, /* 168 */
- OP_ENTERSUB, /* 169 */
- OP_LEAVESUB, /* 170 */
- OP_LEAVESUBLV, /* 171 */
- OP_CALLER, /* 172 */
- OP_WARN, /* 173 */
- OP_DIE, /* 174 */
- OP_RESET, /* 175 */
- OP_LINESEQ, /* 176 */
- OP_NEXTSTATE, /* 177 */
- OP_DBSTATE, /* 178 */
- OP_UNSTACK, /* 179 */
- OP_ENTER, /* 180 */
- OP_LEAVE, /* 181 */
- OP_SCOPE, /* 182 */
- OP_ENTERITER, /* 183 */
- OP_ITER, /* 184 */
- OP_ENTERLOOP, /* 185 */
- OP_LEAVELOOP, /* 186 */
- OP_RETURN, /* 187 */
- OP_LAST, /* 188 */
- OP_NEXT, /* 189 */
- OP_REDO, /* 190 */
- OP_DUMP, /* 191 */
- OP_GOTO, /* 192 */
- OP_EXIT, /* 193 */
- OP_SETSTATE, /* 194 */
- OP_METHOD_NAMED,/* 195 */
- OP_ENTERGIVEN, /* 196 */
- OP_LEAVEGIVEN, /* 197 */
- OP_ENTERWHEN, /* 198 */
- OP_LEAVEWHEN, /* 199 */
- OP_BREAK, /* 200 */
- OP_CONTINUE, /* 201 */
- OP_OPEN, /* 202 */
- OP_CLOSE, /* 203 */
- OP_PIPE_OP, /* 204 */
- OP_FILENO, /* 205 */
- OP_UMASK, /* 206 */
- OP_BINMODE, /* 207 */
- OP_TIE, /* 208 */
- OP_UNTIE, /* 209 */
- OP_TIED, /* 210 */
- OP_DBMOPEN, /* 211 */
- OP_DBMCLOSE, /* 212 */
- OP_SSELECT, /* 213 */
- OP_SELECT, /* 214 */
- OP_GETC, /* 215 */
- OP_READ, /* 216 */
- OP_ENTERWRITE, /* 217 */
- OP_LEAVEWRITE, /* 218 */
- OP_PRTF, /* 219 */
- OP_PRINT, /* 220 */
- OP_SAY, /* 221 */
- OP_SYSOPEN, /* 222 */
- OP_SYSSEEK, /* 223 */
- OP_SYSREAD, /* 224 */
- OP_SYSWRITE, /* 225 */
- OP_SEND, /* 226 */
- OP_RECV, /* 227 */
- OP_EOF, /* 228 */
- OP_TELL, /* 229 */
- OP_SEEK, /* 230 */
- OP_TRUNCATE, /* 231 */
- OP_FCNTL, /* 232 */
- OP_IOCTL, /* 233 */
- OP_FLOCK, /* 234 */
- OP_SOCKET, /* 235 */
- OP_SOCKPAIR, /* 236 */
- OP_BIND, /* 237 */
- OP_CONNECT, /* 238 */
- OP_LISTEN, /* 239 */
- OP_ACCEPT, /* 240 */
- OP_SHUTDOWN, /* 241 */
- OP_GSOCKOPT, /* 242 */
- OP_SSOCKOPT, /* 243 */
- OP_GETSOCKNAME, /* 244 */
- OP_GETPEERNAME, /* 245 */
- OP_LSTAT, /* 246 */
- OP_STAT, /* 247 */
- OP_FTRREAD, /* 248 */
- OP_FTRWRITE, /* 249 */
- OP_FTREXEC, /* 250 */
- OP_FTEREAD, /* 251 */
- OP_FTEWRITE, /* 252 */
- OP_FTEEXEC, /* 253 */
- OP_FTIS, /* 254 */
- OP_FTSIZE, /* 255 */
- OP_FTMTIME, /* 256 */
- OP_FTATIME, /* 257 */
- OP_FTCTIME, /* 258 */
- OP_FTROWNED, /* 259 */
- OP_FTEOWNED, /* 260 */
- OP_FTZERO, /* 261 */
- OP_FTSOCK, /* 262 */
- OP_FTCHR, /* 263 */
- OP_FTBLK, /* 264 */
- OP_FTFILE, /* 265 */
- OP_FTDIR, /* 266 */
- OP_FTPIPE, /* 267 */
- OP_FTSUID, /* 268 */
- OP_FTSGID, /* 269 */
- OP_FTSVTX, /* 270 */
- OP_FTLINK, /* 271 */
- OP_FTTTY, /* 272 */
- OP_FTTEXT, /* 273 */
- OP_FTBINARY, /* 274 */
- OP_CHDIR, /* 275 */
- OP_CHOWN, /* 276 */
- OP_CHROOT, /* 277 */
- OP_UNLINK, /* 278 */
- OP_CHMOD, /* 279 */
- OP_UTIME, /* 280 */
- OP_RENAME, /* 281 */
- OP_LINK, /* 282 */
- OP_SYMLINK, /* 283 */
- OP_READLINK, /* 284 */
- OP_MKDIR, /* 285 */
- OP_RMDIR, /* 286 */
- OP_OPEN_DIR, /* 287 */
- OP_READDIR, /* 288 */
- OP_TELLDIR, /* 289 */
- OP_SEEKDIR, /* 290 */
- OP_REWINDDIR, /* 291 */
- OP_CLOSEDIR, /* 292 */
- OP_FORK, /* 293 */
- OP_WAIT, /* 294 */
- OP_WAITPID, /* 295 */
- OP_SYSTEM, /* 296 */
- OP_EXEC, /* 297 */
- OP_KILL, /* 298 */
- OP_GETPPID, /* 299 */
- OP_GETPGRP, /* 300 */
- OP_SETPGRP, /* 301 */
- OP_GETPRIORITY, /* 302 */
- OP_SETPRIORITY, /* 303 */
- OP_TIME, /* 304 */
- OP_TMS, /* 305 */
- OP_LOCALTIME, /* 306 */
- OP_GMTIME, /* 307 */
- OP_ALARM, /* 308 */
- OP_SLEEP, /* 309 */
- OP_SHMGET, /* 310 */
- OP_SHMCTL, /* 311 */
- OP_SHMREAD, /* 312 */
- OP_SHMWRITE, /* 313 */
- OP_MSGGET, /* 314 */
- OP_MSGCTL, /* 315 */
- OP_MSGSND, /* 316 */
- OP_MSGRCV, /* 317 */
- OP_SEMOP, /* 318 */
- OP_SEMGET, /* 319 */
- OP_SEMCTL, /* 320 */
- OP_REQUIRE, /* 321 */
- OP_DOFILE, /* 322 */
- OP_ENTEREVAL, /* 323 */
- OP_LEAVEEVAL, /* 324 */
- OP_ENTERTRY, /* 325 */
- OP_LEAVETRY, /* 326 */
- OP_GHBYNAME, /* 327 */
- OP_GHBYADDR, /* 328 */
- OP_GHOSTENT, /* 329 */
- OP_GNBYNAME, /* 330 */
- OP_GNBYADDR, /* 331 */
- OP_GNETENT, /* 332 */
- OP_GPBYNAME, /* 333 */
- OP_GPBYNUMBER, /* 334 */
- OP_GPROTOENT, /* 335 */
- OP_GSBYNAME, /* 336 */
- OP_GSBYPORT, /* 337 */
- OP_GSERVENT, /* 338 */
- OP_SHOSTENT, /* 339 */
- OP_SNETENT, /* 340 */
- OP_SPROTOENT, /* 341 */
- OP_SSERVENT, /* 342 */
- OP_EHOSTENT, /* 343 */
- OP_ENETENT, /* 344 */
- OP_EPROTOENT, /* 345 */
- OP_ESERVENT, /* 346 */
- OP_GPWNAM, /* 347 */
- OP_GPWUID, /* 348 */
- OP_GPWENT, /* 349 */
- OP_SPWENT, /* 350 */
- OP_EPWENT, /* 351 */
- OP_GGRNAM, /* 352 */
- OP_GGRGID, /* 353 */
- OP_GGRENT, /* 354 */
- OP_SGRENT, /* 355 */
- OP_EGRENT, /* 356 */
- OP_GETLOGIN, /* 357 */
- OP_SYSCALL, /* 358 */
- OP_LOCK, /* 359 */
- OP_ONCE, /* 360 */
- OP_CUSTOM, /* 361 */
- OP_max
-} opcode;
-
-#define MAXO 362
-#define OP_phoney_INPUT_ONLY -1
-#define OP_phoney_OUTPUT_ONLY -2
-
-
-#define OP_IS_SOCKET(op) \
- ((op) == OP_ACCEPT || \
- (op) == OP_BIND || \
- (op) == OP_CONNECT || \
- (op) == OP_GETPEERNAME || \
- (op) == OP_GETSOCKNAME || \
- (op) == OP_GSOCKOPT || \
- (op) == OP_LISTEN || \
- (op) == OP_RECV || \
- (op) == OP_SEND || \
- (op) == OP_SHUTDOWN || \
- (op) == OP_SOCKET || \
- (op) == OP_SOCKPAIR || \
- (op) == OP_SSOCKOPT)
-
-
-#define OP_IS_FILETEST(op) \
- ((op) == OP_FTATIME || \
- (op) == OP_FTBINARY || \
- (op) == OP_FTBLK || \
- (op) == OP_FTCHR || \
- (op) == OP_FTCTIME || \
- (op) == OP_FTDIR || \
- (op) == OP_FTEEXEC || \
- (op) == OP_FTEOWNED || \
- (op) == OP_FTEREAD || \
- (op) == OP_FTEWRITE || \
- (op) == OP_FTFILE || \
- (op) == OP_FTIS || \
- (op) == OP_FTLINK || \
- (op) == OP_FTMTIME || \
- (op) == OP_FTPIPE || \
- (op) == OP_FTREXEC || \
- (op) == OP_FTROWNED || \
- (op) == OP_FTRREAD || \
- (op) == OP_FTRWRITE || \
- (op) == OP_FTSGID || \
- (op) == OP_FTSIZE || \
- (op) == OP_FTSOCK || \
- (op) == OP_FTSUID || \
- (op) == OP_FTSVTX || \
- (op) == OP_FTTEXT || \
- (op) == OP_FTTTY || \
- (op) == OP_FTZERO)
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/overload.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/overload.h
deleted file mode 100644
index 17505851226..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/overload.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * overload.h
- *
- * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007 by Larry Wall
- * and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by overload.pl
- */
-
-enum {
- fallback_amg,
- to_sv_amg,
- to_av_amg,
- to_hv_amg,
- to_gv_amg,
- to_cv_amg,
- inc_amg,
- dec_amg,
- bool__amg,
- numer_amg,
- string_amg,
- not_amg,
- copy_amg,
- abs_amg,
- neg_amg,
- iter_amg,
- int_amg,
- lt_amg,
- le_amg,
- gt_amg,
- ge_amg,
- eq_amg,
- ne_amg,
- slt_amg,
- sle_amg,
- sgt_amg,
- sge_amg,
- seq_amg,
- sne_amg,
- nomethod_amg,
- add_amg,
- add_ass_amg,
- subtr_amg,
- subtr_ass_amg,
- mult_amg,
- mult_ass_amg,
- div_amg,
- div_ass_amg,
- modulo_amg,
- modulo_ass_amg,
- pow_amg,
- pow_ass_amg,
- lshift_amg,
- lshift_ass_amg,
- rshift_amg,
- rshift_ass_amg,
- band_amg,
- band_ass_amg,
- bor_amg,
- bor_ass_amg,
- bxor_amg,
- bxor_ass_amg,
- ncmp_amg,
- scmp_amg,
- compl_amg,
- atan2_amg,
- cos_amg,
- sin_amg,
- exp_amg,
- log_amg,
- sqrt_amg,
- repeat_amg,
- repeat_ass_amg,
- concat_amg,
- concat_ass_amg,
- smart_amg,
- DESTROY_amg,
- max_amg_code
- /* Do not leave a trailing comma here. C9X allows it, C89 doesn't. */
-};
-
-#define NofAMmeth max_amg_code
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pad.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pad.h
deleted file mode 100644
index 33717d32d79..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pad.h
+++ /dev/null
@@ -1,356 +0,0 @@
-/* pad.h
- *
- * Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * This file defines the types and macros associated with the API for
- * manipulating scratchpads, which are used by perl to store lexical
- * variables, op targets and constants.
- */
-
-
-
-
-/* a padlist is currently just an AV; but that might change,
- * so hide the type. Ditto a pad. */
-
-typedef AV PADLIST;
-typedef AV PAD;
-
-
-/* offsets within a pad */
-
-#if PTRSIZE == 4
-typedef U32TYPE PADOFFSET;
-#else
-# if PTRSIZE == 8
-typedef U64TYPE PADOFFSET;
-# endif
-#endif
-#define NOT_IN_PAD ((PADOFFSET) -1)
-
-/* B.xs needs these for the benefit of B::Deparse */
-/* Low range end is exclusive (valid from the cop seq after this one) */
-/* High range end is inclusive (valid up to this cop seq) */
-
-#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define COP_SEQ_RANGE_LOW(sv) \
- (({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_NV || SvTYPE(_svi) >= SVt_PVNV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- ((XPVNV*) SvANY(_svi))->xnv_u.xpad_cop_seq.xlow; \
- }))
-# define COP_SEQ_RANGE_HIGH(sv) \
- (({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_NV || SvTYPE(_svi) >= SVt_PVNV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- ((XPVNV*) SvANY(_svi))->xnv_u.xpad_cop_seq.xhigh; \
- }))
-# define PARENT_PAD_INDEX(sv) \
- (({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_NV || SvTYPE(_svi) >= SVt_PVNV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- ((XPVNV*) SvANY(_svi))->xnv_u.xpad_cop_seq.xlow; \
- }))
-# define PARENT_FAKELEX_FLAGS(sv) \
- (({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_NV || SvTYPE(_svi) >= SVt_PVNV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- ((XPVNV*) SvANY(_svi))->xnv_u.xpad_cop_seq.xhigh; \
- }))
-#else
-# define COP_SEQ_RANGE_LOW(sv) \
- (0 + (((XPVNV*) SvANY(sv))->xnv_u.xpad_cop_seq.xlow))
-# define COP_SEQ_RANGE_HIGH(sv) \
- (0 + (((XPVNV*) SvANY(sv))->xnv_u.xpad_cop_seq.xhigh))
-
-
-# define PARENT_PAD_INDEX(sv) \
- (0 + (((XPVNV*) SvANY(sv))->xnv_u.xpad_cop_seq.xlow))
-# define PARENT_FAKELEX_FLAGS(sv) \
- (0 + (((XPVNV*) SvANY(sv))->xnv_u.xpad_cop_seq.xhigh))
-#endif
-
-/* Flags set in the SvIVX field of FAKE namesvs */
-
-#define PAD_FAKELEX_ANON 1 /* the lex is declared in an ANON, or ... */
-#define PAD_FAKELEX_MULTI 2 /* the lex can be instantiated multiple times */
-
-/* flags for the pad_new() function */
-
-#define padnew_CLONE 1 /* this pad is for a cloned CV */
-#define padnew_SAVE 2 /* save old globals */
-#define padnew_SAVESUB 4 /* also save extra stuff for start of sub */
-
-/* values for the pad_tidy() function */
-
-typedef enum {
- padtidy_SUB, /* tidy up a pad for a sub, */
- padtidy_SUBCLONE, /* a cloned sub, */
- padtidy_FORMAT /* or a format */
-} padtidy_type;
-
-/* ASSERT_CURPAD_LEGAL and ASSERT_CURPAD_ACTIVE respectively determine
- * whether PL_comppad and PL_curpad are consistent and whether they have
- * active values */
-
-#ifndef PERL_MAD
-# define pad_peg(label)
-#endif
-
-#ifdef DEBUGGING
-# define ASSERT_CURPAD_LEGAL(label) \
- pad_peg(label); \
- if (PL_comppad ? (AvARRAY(PL_comppad) != PL_curpad) : (PL_curpad != 0)) \
- Perl_croak(aTHX_ "panic: illegal pad in %s: 0x%"UVxf"[0x%"UVxf"]",\
- label, PTR2UV(PL_comppad), PTR2UV(PL_curpad));
-
-
-# define ASSERT_CURPAD_ACTIVE(label) \
- pad_peg(label); \
- if (!PL_comppad || (AvARRAY(PL_comppad) != PL_curpad)) \
- Perl_croak(aTHX_ "panic: invalid pad in %s: 0x%"UVxf"[0x%"UVxf"]",\
- label, PTR2UV(PL_comppad), PTR2UV(PL_curpad));
-#else
-# define ASSERT_CURPAD_LEGAL(label)
-# define ASSERT_CURPAD_ACTIVE(label)
-#endif
-
-
-
-/* Note: the following three macros are actually defined in scope.h, but
- * they are documented here for completeness, since they directly or
- * indirectly affect pads.
-
-=for apidoc m|void|SAVEPADSV |PADOFFSET po
-Save a pad slot (used to restore after an iteration)
-
-XXX DAPM it would make more sense to make the arg a PADOFFSET
-=for apidoc m|void|SAVECLEARSV |SV **svp
-Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my')
-
-=for apidoc m|void|SAVECOMPPAD
-save PL_comppad and PL_curpad
-
-
-
-
-
-=for apidoc m|SV *|PAD_SETSV |PADOFFSET po|SV* sv
-Set the slot at offset C<po> in the current pad to C<sv>
-
-=for apidoc m|void|PAD_SV |PADOFFSET po
-Get the value at offset C<po> in the current pad
-
-=for apidoc m|SV *|PAD_SVl |PADOFFSET po
-Lightweight and lvalue version of C<PAD_SV>.
-Get or set the value at offset C<po> in the current pad.
-Unlike C<PAD_SV>, does not print diagnostics with -DX.
-For internal use only.
-
-=for apidoc m|SV *|PAD_BASE_SV |PADLIST padlist|PADOFFSET po
-Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist
-
-=for apidoc m|void|PAD_SET_CUR |PADLIST padlist|I32 n
-Set the current pad to be pad C<n> in the padlist, saving
-the previous current pad. NB currently this macro expands to a string too
-long for some compilers, so it's best to replace it with
-
- SAVECOMPPAD();
- PAD_SET_CUR_NOSAVE(padlist,n);
-
-
-=for apidoc m|void|PAD_SET_CUR_NOSAVE |PADLIST padlist|I32 n
-like PAD_SET_CUR, but without the save
-
-=for apidoc m|void|PAD_SAVE_SETNULLPAD
-Save the current pad then set it to null.
-
-=for apidoc m|void|PAD_SAVE_LOCAL|PAD *opad|PAD *npad
-Save the current pad to the local variable opad, then make the
-current pad equal to npad
-
-=for apidoc m|void|PAD_RESTORE_LOCAL|PAD *opad
-Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
-
-=cut
-*/
-
-#ifdef DEBUGGING
-# define PAD_SV(po) pad_sv(po)
-# define PAD_SETSV(po,sv) pad_setsv(po,sv)
-#else
-# define PAD_SV(po) (PL_curpad[po])
-# define PAD_SETSV(po,sv) PL_curpad[po] = (sv)
-#endif
-
-#define PAD_SVl(po) (PL_curpad[po])
-
-#define PAD_BASE_SV(padlist, po) \
- (AvARRAY(padlist)[1]) \
- ? AvARRAY((AV*)(AvARRAY(padlist)[1]))[po] : NULL;
-
-
-#define PAD_SET_CUR_NOSAVE(padlist,nth) \
- PL_comppad = (PAD*) (AvARRAY(padlist)[nth]); \
- PL_curpad = AvARRAY(PL_comppad); \
- DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] set_cur depth=%d\n", \
- PTR2UV(PL_comppad), PTR2UV(PL_curpad), (int)(nth)));
-
-
-#define PAD_SET_CUR(padlist,nth) \
- SAVECOMPPAD(); \
- PAD_SET_CUR_NOSAVE(padlist,nth);
-
-
-#define PAD_SAVE_SETNULLPAD() SAVECOMPPAD(); \
- PL_comppad = NULL; PL_curpad = NULL; \
- DEBUG_Xv(PerlIO_printf(Perl_debug_log, "Pad set_null\n"));
-
-#define PAD_SAVE_LOCAL(opad,npad) \
- opad = PL_comppad; \
- PL_comppad = (npad); \
- PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
- DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] save_local\n", \
- PTR2UV(PL_comppad), PTR2UV(PL_curpad)));
-
-#define PAD_RESTORE_LOCAL(opad) \
- PL_comppad = opad; \
- PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
- DEBUG_Xv(PerlIO_printf(Perl_debug_log, \
- "Pad 0x%"UVxf"[0x%"UVxf"] restore_local\n", \
- PTR2UV(PL_comppad), PTR2UV(PL_curpad)));
-
-
-/*
-=for apidoc m|void|CX_CURPAD_SAVE|struct context
-Save the current pad in the given context block structure.
-
-=for apidoc m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
-Access the SV at offset po in the saved current pad in the given
-context block structure (can be used as an lvalue).
-
-=cut
-*/
-
-#define CX_CURPAD_SAVE(block) (block).oldcomppad = PL_comppad
-#define CX_CURPAD_SV(block,po) (AvARRAY((AV*)((block).oldcomppad))[po])
-
-
-/*
-=for apidoc m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po
-Return the flags for the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
-
-=for apidoc m|char *|PAD_COMPNAME_PV|PADOFFSET po
-Return the name of the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
-
-=for apidoc m|HV *|PAD_COMPNAME_TYPE|PADOFFSET po
-Return the type (stash) of the current compiling pad name at offset
-C<po>. Must be a valid name. Returns null if not typed.
-
-=for apidoc m|HV *|PAD_COMPNAME_OURSTASH|PADOFFSET po
-Return the stash associated with an C<our> variable.
-Assumes the slot entry is a valid C<our> lexical.
-
-=for apidoc m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po
-The generation number of the name at offset C<po> in the current
-compiling pad (lvalue). Note that C<SvUVX> is hijacked for this purpose.
-
-=for apidoc m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen
-Sets the generation number of the name at offset C<po> in the current
-ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose.
-
-=cut
-
-*/
-
-#define PAD_COMPNAME_SV(po) (*av_fetch(PL_comppad_name, (po), FALSE))
-#define PAD_COMPNAME_FLAGS(po) SvFLAGS(PAD_COMPNAME_SV(po))
-#define PAD_COMPNAME_FLAGS_isOUR(po) \
- ((PAD_COMPNAME_FLAGS(po) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR))
-#define PAD_COMPNAME_PV(po) SvPV_nolen(PAD_COMPNAME_SV(po))
-
-#define PAD_COMPNAME_TYPE(po) pad_compname_type(po)
-
-#define PAD_COMPNAME_OURSTASH(po) \
- (SvOURSTASH(PAD_COMPNAME_SV(po)))
-
-#define PAD_COMPNAME_GEN(po) ((STRLEN)SvUVX(AvARRAY(PL_comppad_name)[po]))
-
-#define PAD_COMPNAME_GEN_set(po, gen) SvUV_set(AvARRAY(PL_comppad_name)[po], (UV)(gen))
-
-
-/*
-=for apidoc m|void|PAD_DUP|PADLIST dstpad|PADLIST srcpad|CLONE_PARAMS* param
-Clone a padlist.
-
-=for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS* param
-Clone the state variables associated with running and compiling pads.
-
-=cut
-*/
-
-
-#define PAD_DUP(dstpad, srcpad, param) \
- if ((srcpad) && !AvREAL(srcpad)) { \
- /* XXX padlists are real, but pretend to be not */ \
- AvREAL_on(srcpad); \
- (dstpad) = av_dup_inc((srcpad), param); \
- AvREAL_off(srcpad); \
- AvREAL_off(dstpad); \
- } \
- else \
- (dstpad) = av_dup_inc((srcpad), param);
-
-/* NB - we set PL_comppad to null unless it points at a value that
- * has already been dup'ed, ie it points to part of an active padlist.
- * Otherwise PL_comppad ends up being a leaked scalar in code like
- * the following:
- * threads->create(sub { threads->create(sub {...} ) } );
- * where the second thread dups the outer sub's comppad but not the
- * sub's CV or padlist. */
-
-#define PAD_CLONE_VARS(proto_perl, param) \
- PL_comppad = (AV *) ptr_table_fetch(PL_ptr_table, proto_perl->Icomppad); \
- PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
- PL_comppad_name = av_dup(proto_perl->Icomppad_name, param); \
- PL_comppad_name_fill = proto_perl->Icomppad_name_fill; \
- PL_comppad_name_floor = proto_perl->Icomppad_name_floor; \
- PL_min_intro_pending = proto_perl->Imin_intro_pending; \
- PL_max_intro_pending = proto_perl->Imax_intro_pending; \
- PL_padix = proto_perl->Ipadix; \
- PL_padix_floor = proto_perl->Ipadix_floor; \
- PL_pad_reset_pending = proto_perl->Ipad_reset_pending; \
- PL_cop_seqmax = proto_perl->Icop_seqmax;
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/parser.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/parser.h
deleted file mode 100644
index 74d8ef2197b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/parser.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* parser.h
- *
- * Copyright (c) 2006, 2007, Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * This file defines the layout of the parser object used by the parser
- * and lexer (perly.c, toke,c).
- */
-
-#define YYEMPTY (-2)
-
-typedef struct {
- YYSTYPE val; /* semantic value */
- short state;
- I32 savestack_ix; /* size of savestack at this state */
- AV *comppad; /* value of PL_comppad when this value was created */
-#ifdef DEBUGGING
- const char *name; /* token/rule name for -Dpv */
-#endif
-} yy_stack_frame;
-
-typedef struct yy_parser {
-
- /* parser state */
-
- struct yy_parser *old_parser; /* previous value of PL_parser */
- YYSTYPE yylval; /* value of lookahead symbol, set by yylex() */
- int yychar; /* The lookahead symbol. */
-
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- int stack_size;
- int yylen; /* length of active reduction */
- yy_stack_frame *stack; /* base of stack */
- yy_stack_frame *ps; /* current stack frame */
-
- /* lexer state */
-
- I32 lex_brackets; /* bracket count */
- I32 lex_casemods; /* casemod count */
- char *lex_brackstack;/* what kind of brackets to pop */
- char *lex_casestack; /* what kind of case mods in effect */
- U8 lex_defer; /* state after determined token */
- bool lex_dojoin; /* doing an array interpolation */
- U8 lex_expect; /* expect after determined token */
- U8 expect; /* how to interpret ambiguous tokens */
- I32 lex_formbrack; /* bracket count at outer format level */
- OP *lex_inpat; /* in pattern $) and $| are special */
- OP *lex_op; /* extra info to pass back on op */
- SV *lex_repl; /* runtime replacement from s/// */
- U16 lex_inwhat; /* what kind of quoting are we in */
- OPCODE last_lop_op; /* last list operator */
- I32 lex_starts; /* how many interps done on level */
- SV *lex_stuff; /* runtime pattern from m// or s/// */
- I32 multi_start; /* 1st line of multi-line string */
- I32 multi_end; /* last line of multi-line string */
- char multi_open; /* delimiter of said string */
- char multi_close; /* delimiter of said string */
- char pending_ident; /* pending identifier lookup */
- bool preambled;
- /* XXX I32 space */
- SUBLEXINFO sublex_info;
- SV *linestr; /* current chunk of src text */
- char *bufptr;
- char *oldbufptr;
- char *oldoldbufptr;
- char *bufend;
- char *linestart; /* beginning of most recently read line */
- char *last_uni; /* position of last named-unary op */
- char *last_lop; /* position of last list operator */
- line_t copline; /* current line number */
- U16 in_my; /* we're compiling a "my"/"our" declaration */
- U8 lex_state; /* next token is determined */
- U8 error_count; /* how many compile errors so far, max 10 */
- HV *in_my_stash; /* declared class of this "my" declaration */
- PerlIO *rsfp; /* current source file pointer */
- AV *rsfp_filters; /* holds chain of active source filters */
-
-#ifdef PERL_MAD
- SV *endwhite;
- I32 faketokens;
- I32 lasttoke;
- SV *nextwhite;
- I32 realtokenstart;
- SV *skipwhite;
- SV *thisclose;
- MADPROP * thismad;
- SV *thisopen;
- SV *thisstuff;
- SV *thistoken;
- SV *thiswhite;
-
-/* What we know when we're in LEX_KNOWNEXT state. */
- NEXTTOKE nexttoke[5]; /* value of next token, if any */
- I32 curforce;
-#else
- YYSTYPE nextval[5]; /* value of next token, if any */
- I32 nexttype[5]; /* type of next token */
- I32 nexttoke;
-#endif
-
- COP *saved_curcop; /* the previous PL_curcop */
- char tokenbuf[256];
-
-} yy_parser;
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/patchlevel.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/patchlevel.h
deleted file mode 100644
index c3dba782fab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/patchlevel.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* patchlevel.h
- *
- * Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- * 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifndef __PATCHLEVEL_H_INCLUDED__
-
-/* do not adjust the whitespace! Configure expects the numbers to be
- * exactly on the third column */
-
-#define PERL_REVISION 5 /* age */
-#define PERL_VERSION 10 /* epoch */
-#define PERL_SUBVERSION 0 /* generation */
-
-/* The following numbers describe the earliest compatible version of
- Perl ("compatibility" here being defined as sufficient binary/API
- compatibility to run XS code built with the older version).
- Normally this should not change across maintenance releases.
-
- Note that this only refers to an out-of-the-box build. Many non-default
- options such as usemultiplicity tend to break binary compatibility
- more often.
-
- This is used by Configure et al to figure out
- PERL_INC_VERSION_LIST, which lists version libraries
- to include in @INC. See INSTALL for how this works.
-*/
-#define PERL_API_REVISION 5 /* Adjust manually as needed. */
-#define PERL_API_VERSION 10 /* Adjust manually as needed. */
-#define PERL_API_SUBVERSION 0 /* Adjust manually as needed. */
-/*
- XXX Note: The selection of non-default Configure options, such
- as -Duselonglong may invalidate these settings. Currently, Configure
- does not adequately test for this. A.D. Jan 13, 2000
-*/
-
-#define __PATCHLEVEL_H_INCLUDED__
-#endif
-
-/*
- local_patches -- list of locally applied less-than-subversion patches.
- If you're distributing such a patch, please give it a name and a
- one-line description, placed just before the last NULL in the array
- below. If your patch fixes a bug in the perlbug database, please
- mention the bugid. If your patch *IS* dependent on a prior patch,
- please place your applied patch line after its dependencies. This
- will help tracking of patch dependencies.
-
- Please either use 'diff --unified=0' if your diff supports
- that or edit the hunk of the diff output which adds your patch
- to this list, to remove context lines which would give patch
- problems. For instance, if the original context diff is
-
- *** patchlevel.h.orig <date here>
- --- patchlevel.h <date here>
- *** 38,43 ***
- --- 38,44 ---
- ,"FOO1235 - some patch"
- ,"BAR3141 - another patch"
- ,"BAZ2718 - and another patch"
- + ,"MINE001 - my new patch"
- ,NULL
- };
-
- please change it to
- *** patchlevel.h.orig <date here>
- --- patchlevel.h <date here>
- *** 41,43 ***
- --- 41,44 ---
- + ,"MINE001 - my new patch"
- ,NULL
- };
-
- (Note changes to line numbers as well as removal of context lines.)
- This will prevent patch from choking if someone has previously
- applied different patches than you.
-
- History has shown that nobody distributes patches that also
- modify patchlevel.h. Do it yourself. The following perl
- program can be used to add a comment to patchlevel.h:
-
-#!perl
-die "Usage: perl -x patchlevel.h comment ..." unless @ARGV;
-open PLIN, "patchlevel.h" or die "Couldn't open patchlevel.h : $!";
-open PLOUT, ">patchlevel.new" or die "Couldn't write on patchlevel.new : $!";
-my $seen=0;
-while (<PLIN>) {
- if (/\t,NULL/ and $seen) {
- while (my $c = shift @ARGV){
- print PLOUT qq{\t,"$c"\n};
- }
- }
- $seen++ if /local_patches\[\]/;
- print PLOUT;
-}
-close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!";
-close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!";
-close DATA; # needed to allow unlink to work win32.
-unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!"
- if -e "patchlevel.bak";
-rename "patchlevel.h", "patchlevel.bak" or
- die "Couldn't rename patchlevel.h to patchlevel.bak : $!";
-rename "patchlevel.new", "patchlevel.h" or
- die "Couldn't rename patchlevel.new to patchlevel.h : $!";
-__END__
-
-Please keep empty lines below so that context diffs of this file do
-not ever collect the lines belonging to local_patches() into the same
-hunk.
-
- */
-
-#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
-static const char * const local_patches[] = {
- NULL
- ,"MAINT34065"
- ,"CYG11 no-bs"
- ,"CYG12 no archlib in otherlibdirs"
- ,"CYG14 Dynaloader"
- ,"CYG15 static-Win32CORE"
- ,"Bug#55162 File::Spec::case_tolerant performance"
- ,NULL
-};
-
-
-
-/* Initial space prevents this variable from being inserted in config.sh */
-# define LOCAL_PATCH_COUNT \
- ((int)(sizeof(local_patches)/sizeof(local_patches[0])-2))
-
-/* the old terms of reference, add them only when explicitly included */
-#define PATCHLEVEL PERL_VERSION
-#undef SUBVERSION /* OS/390 has a SUBVERSION in a system header */
-#define SUBVERSION PERL_SUBVERSION
-#endif
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perl.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perl.h
deleted file mode 100644
index 03272b2c12f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perl.h
+++ /dev/null
@@ -1,5996 +0,0 @@
-/* perl.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifndef H_PERL
-#define H_PERL 1
-
-#ifdef PERL_FOR_X2P
-/*
- * This file is being used for x2p stuff.
- * Above symbol is defined via -D in 'x2p/Makefile.SH'
- * Decouple x2p stuff from some of perls more extreme eccentricities.
- */
-#undef MULTIPLICITY
-#undef USE_STDIO
-#define USE_STDIO
-#endif /* PERL_FOR_X2P */
-
-#if defined(DGUX)
-#include <sys/fcntl.h>
-#endif
-
-#ifdef VOIDUSED
-# undef VOIDUSED
-#endif
-#define VOIDUSED 1
-
-#ifdef PERL_MICRO
-# include "uconfig.h"
-#else
-# ifndef USE_CROSS_COMPILE
-# include "config.h"
-# else
-# include "xconfig.h"
-# endif
-#endif
-
-/* This logic needs to come after reading config.h, but before including
- proto.h */
-#ifdef IAMSUID
-# ifndef DOSUID
-# define DOSUID
-# endif
-#endif
-
-#ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
-# ifdef DOSUID
-# undef DOSUID
-# endif
-# ifdef IAMSUID
-# undef IAMSUID
-# define SETUID_SCRIPTS_ARE_SECURE_NOW_AND_IAMSUID
-# endif
-#endif
-
-/* See L<perlguts/"The Perl API"> for detailed notes on
- * PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */
-
-/* Note that from here --> to <-- the same logic is
- * repeated in makedef.pl, so be certain to update
- * both places when editing. */
-
-#ifdef PERL_IMPLICIT_SYS
-/* PERL_IMPLICIT_SYS implies PerlMemShared != PerlMem
- so use slab allocator to avoid lots of MUTEX overhead
- */
-# ifndef PL_OP_SLAB_ALLOC
-# define PL_OP_SLAB_ALLOC
-# endif
-#endif
-
-#ifdef USE_ITHREADS
-# if !defined(MULTIPLICITY)
-# define MULTIPLICITY
-# endif
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-# ifndef PERL_GLOBAL_STRUCT
-# define PERL_GLOBAL_STRUCT
-# endif
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT
-# ifndef MULTIPLICITY
-# define MULTIPLICITY
-# endif
-#endif
-
-#ifdef MULTIPLICITY
-# ifndef PERL_IMPLICIT_CONTEXT
-# define PERL_IMPLICIT_CONTEXT
-# endif
-#endif
-
-/* undef WIN32 when building on Cygwin (for libwin32) - gph */
-#ifdef __CYGWIN__
-# undef WIN32
-# undef _WIN32
-#endif
-
-#if defined(__SYMBIAN32__) || (defined(__VC32__) && defined(WINS))
-# ifndef SYMBIAN
-# define SYMBIAN
-# endif
-#endif
-
-#ifdef __SYMBIAN32__
-# include "symbian/symbian_proto.h"
-#endif
-
-/* Any stack-challenged places. The limit varies (and often
- * is configurable), but using more than a kilobyte of stack
- * is usually dubious in these systems. */
-#if defined(EPOC) || defined(__SYMBIAN32__)
-/* EPOC/Symbian: need to work around the SDK features. *
- * On WINS: MS VC5 generates calls to _chkstk, *
- * if a "large" stack frame is allocated. *
- * gcc on MARM does not generate calls like these. */
-# define USE_HEAP_INSTEAD_OF_STACK
-#endif
-
-#/* Use the reentrant APIs like localtime_r and getpwent_r */
-/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
-#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) && !defined(PERL_DARWIN)
-# define USE_REENTRANT_API
-#endif
-
-/* <--- here ends the logic shared by perl.h and makedef.pl */
-
-/*
- * PERL_DARWIN for MacOSX (__APPLE__ exists but is not officially sanctioned)
- * (The -DPERL_DARWIN comes from the hints/darwin.sh.)
- * __bsdi__ for BSD/OS
- */
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(PERL_DARWIN) || defined(__bsdi__) || defined(BSD41) || defined(BSD42) || defined(BSD43) || defined(BSD44)
-# ifndef BSDish
-# define BSDish
-# endif
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT
-# ifndef PERL_GET_VARS
-# ifdef PERL_GLOBAL_STRUCT_PRIVATE
- extern struct perl_vars* Perl_GetVarsPrivate();
-# define PERL_GET_VARS() Perl_GetVarsPrivate() /* see miniperlmain.c */
-# ifndef PERLIO_FUNCS_CONST
-# define PERLIO_FUNCS_CONST /* Can't have these lying around. */
-# endif
-# else
-# define PERL_GET_VARS() PL_VarsPtr
-# endif
-# endif
-#endif
-
-#define pVAR register struct perl_vars* my_vars PERL_UNUSED_DECL
-
-#ifdef PERL_GLOBAL_STRUCT
-# define dVAR pVAR = (struct perl_vars*)PERL_GET_VARS()
-#else
-# define dVAR dNOOP
-#endif
-
-#ifdef PERL_IMPLICIT_CONTEXT
-# ifndef MULTIPLICITY
-# define MULTIPLICITY
-# endif
-# define tTHX PerlInterpreter*
-# define pTHX register tTHX my_perl PERL_UNUSED_DECL
-# define aTHX my_perl
-# ifdef PERL_GLOBAL_STRUCT
-# define dTHXa(a) dVAR; pTHX = (tTHX)a
-# else
-# define dTHXa(a) pTHX = (tTHX)a
-# endif
-# ifdef PERL_GLOBAL_STRUCT
-# define dTHX dVAR; pTHX = PERL_GET_THX
-# else
-# define dTHX pTHX = PERL_GET_THX
-# endif
-# define pTHX_ pTHX,
-# define aTHX_ aTHX,
-# define pTHX_1 2
-# define pTHX_2 3
-# define pTHX_3 4
-# define pTHX_4 5
-# define pTHX_5 6
-# define pTHX_6 7
-# define pTHX_7 8
-# define pTHX_8 9
-# define pTHX_9 10
-# if defined(DEBUGGING) && !defined(PERL_TRACK_MEMPOOL)
-# define PERL_TRACK_MEMPOOL
-# endif
-#else
-# undef PERL_TRACK_MEMPOOL
-#endif
-
-#define STATIC static
-#define CPERLscope(x) x
-#define CPERLarg void
-#define CPERLarg_
-#define _CPERLarg
-#define PERL_OBJECT_THIS
-#define _PERL_OBJECT_THIS
-#define PERL_OBJECT_THIS_
-#define CALL_FPTR(fptr) (*fptr)
-
-#define CALLRUNOPS CALL_FPTR(PL_runops)
-
-#define CALLREGCOMP(sv, flags) Perl_pregcomp(aTHX_ (sv),(flags))
-
-#define CALLREGCOMP_ENG(prog, sv, flags) \
- CALL_FPTR(((prog)->comp))(aTHX_ sv, flags)
-#define CALLREGEXEC(prog,stringarg,strend,strbeg,minend,screamer,data,flags) \
- CALL_FPTR(RX_ENGINE(prog)->exec)(aTHX_ (prog),(stringarg),(strend), \
- (strbeg),(minend),(screamer),(data),(flags))
-#define CALLREG_INTUIT_START(prog,sv,strpos,strend,flags,data) \
- CALL_FPTR(RX_ENGINE(prog)->intuit)(aTHX_ (prog), (sv), (strpos), \
- (strend),(flags),(data))
-#define CALLREG_INTUIT_STRING(prog) \
- CALL_FPTR(RX_ENGINE(prog)->checkstr)(aTHX_ (prog))
-
-#define CALLREG_AS_STR(mg,lp,flags,haseval) \
- Perl_reg_stringify(aTHX_ (mg), (lp), (flags), (haseval))
-#define CALLREG_STRINGIFY(mg,lp,flags) CALLREG_AS_STR(mg,lp,flags,0)
-
-#define CALLREGFREE(prog) \
- Perl_pregfree(aTHX_ (prog))
-
-#define CALLREGFREE_PVT(prog) \
- if(prog) CALL_FPTR(RX_ENGINE(prog)->free)(aTHX_ (prog))
-
-#define CALLREG_NUMBUF_FETCH(rx,paren,usesv) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_FETCH)(aTHX_ (rx),(paren),(usesv))
-
-#define CALLREG_NUMBUF_STORE(rx,paren,value) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_STORE)(aTHX_ (rx),(paren),(value))
-
-#define CALLREG_NUMBUF_LENGTH(rx,sv,paren) \
- CALL_FPTR(RX_ENGINE(rx)->numbered_buff_LENGTH)(aTHX_ (rx),(sv),(paren))
-
-#define CALLREG_NAMED_BUFF_FETCH(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), NULL, ((flags) | RXapif_FETCH))
-
-#define CALLREG_NAMED_BUFF_STORE(rx, key, value, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), (value), ((flags) | RXapif_STORE))
-
-#define CALLREG_NAMED_BUFF_DELETE(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx),(key), NULL, ((flags) | RXapif_DELETE))
-
-#define CALLREG_NAMED_BUFF_CLEAR(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_CLEAR))
-
-#define CALLREG_NAMED_BUFF_EXISTS(rx, key, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), (key), NULL, ((flags) | RXapif_EXISTS))
-
-#define CALLREG_NAMED_BUFF_FIRSTKEY(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff_iter)(aTHX_ (rx), NULL, ((flags) | RXapif_FIRSTKEY))
-
-#define CALLREG_NAMED_BUFF_NEXTKEY(rx, lastkey, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff_iter)(aTHX_ (rx), (lastkey), ((flags) | RXapif_NEXTKEY))
-
-#define CALLREG_NAMED_BUFF_SCALAR(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_SCALAR))
-
-#define CALLREG_NAMED_BUFF_COUNT(rx) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, RXapif_REGNAMES_COUNT)
-
-#define CALLREG_NAMED_BUFF_ALL(rx, flags) \
- CALL_FPTR(RX_ENGINE(rx)->named_buff)(aTHX_ (rx), NULL, NULL, flags)
-
-#define CALLREG_PACKAGE(rx) \
- CALL_FPTR(RX_ENGINE(rx)->qr_package)(aTHX_ (rx))
-
-#if defined(USE_ITHREADS)
-#define CALLREGDUPE(prog,param) \
- Perl_re_dup(aTHX_ (prog),(param))
-
-#define CALLREGDUPE_PVT(prog,param) \
- (prog ? CALL_FPTR(RX_ENGINE(prog)->dupe)(aTHX_ (prog),(param)) \
- : (REGEXP *)NULL)
-#endif
-
-
-
-
-
-/*
- * Because of backward compatibility reasons the PERL_UNUSED_DECL
- * cannot be changed from postfix to PERL_UNUSED_DECL(x). Sigh.
- *
- * Note that there are C compilers such as MetroWerks CodeWarrior
- * which do not have an "inlined" way (like the gcc __attribute__) of
- * marking unused variables (they need e.g. a #pragma) and therefore
- * cpp macros like PERL_UNUSED_DECL cannot work for this purpose, even
- * if it were PERL_UNUSED_DECL(x), which it cannot be (see above).
- *
- */
-
-#if defined(__SYMBIAN32__) && defined(__GNUC__)
-# ifdef __cplusplus
-# define PERL_UNUSED_DECL
-# else
-# define PERL_UNUSED_DECL __attribute__((unused))
-# endif
-#endif
-
-#ifndef PERL_UNUSED_DECL
-# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-# define PERL_UNUSED_DECL __attribute__unused__
-# else
-# define PERL_UNUSED_DECL
-# endif
-#endif
-
-/* gcc -Wall:
- * for silencing unused variables that are actually used most of the time,
- * but we cannot quite get rid of, such as "ax" in PPCODE+noargs xsubs
- */
-#ifndef PERL_UNUSED_ARG
-# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# include <note.h>
-# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
-# else
-# define PERL_UNUSED_ARG(x) ((void)x)
-# endif
-#endif
-#ifndef PERL_UNUSED_VAR
-# define PERL_UNUSED_VAR(x) ((void)x)
-#endif
-
-#ifdef USE_ITHREADS
-# define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
-#else
-# define PERL_UNUSED_CONTEXT
-#endif
-
-#define NOOP /*EMPTY*/(void)0
-#if !defined(HASATTRIBUTE_UNUSED) && defined(__cplusplus)
-#define dNOOP /*EMPTY*/(void)0 /* Older g++ has no __attribute((unused))__ */
-#else
-#define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
-#endif
-
-#ifndef pTHX
-/* Don't bother defining tTHX and sTHX; using them outside
- * code guarded by PERL_IMPLICIT_CONTEXT is an error.
- */
-# define pTHX void
-# define pTHX_
-# define aTHX
-# define aTHX_
-# define dTHXa(a) dNOOP
-# define dTHX dNOOP
-# define pTHX_1 1
-# define pTHX_2 2
-# define pTHX_3 3
-# define pTHX_4 4
-# define pTHX_5 5
-# define pTHX_6 6
-# define pTHX_7 7
-# define pTHX_8 8
-# define pTHX_9 9
-#endif
-
-#ifndef dVAR
-# define dVAR dNOOP
-#endif
-
-/* these are only defined for compatibility; should not be used internally */
-#if !defined(pTHXo) && !defined(PERL_CORE)
-# define pTHXo pTHX
-# define pTHXo_ pTHX_
-# define aTHXo aTHX
-# define aTHXo_ aTHX_
-# define dTHXo dTHX
-# define dTHXoa(x) dTHXa(x)
-#endif
-
-#ifndef pTHXx
-# define pTHXx register PerlInterpreter *my_perl
-# define pTHXx_ pTHXx,
-# define aTHXx my_perl
-# define aTHXx_ aTHXx,
-# define dTHXx dTHX
-#endif
-
-/* Under PERL_IMPLICIT_SYS (used in Windows for fork emulation)
- * PerlIO_foo() expands to PL_StdIO->pFOO(PL_StdIO, ...).
- * dTHXs is therefore needed for all functions using PerlIO_foo(). */
-#ifdef PERL_IMPLICIT_SYS
-# ifdef PERL_GLOBAL_STRUCT_PRIVATE
-# define dTHXs dVAR; dTHX
-# else
-# define dTHXs dTHX
-# endif
-#else
-# ifdef PERL_GLOBAL_STRUCT_PRIVATE
-# define dTHXs dVAR
-# else
-# define dTHXs dNOOP
-# endif
-#endif
-
-#undef START_EXTERN_C
-#undef END_EXTERN_C
-#undef EXTERN_C
-#ifdef __cplusplus
-# define START_EXTERN_C extern "C" {
-# define END_EXTERN_C }
-# define EXTERN_C extern "C"
-#else
-# define START_EXTERN_C
-# define END_EXTERN_C
-# define EXTERN_C extern
-#endif
-
-/* Some platforms require marking function declarations
- * for them to be exportable. Used in perlio.h, proto.h
- * is handled either by the makedef.pl or by defining the
- * PERL_CALLCONV to be something special. See also the
- * definition of XS() in XSUB.h. */
-#ifndef PERL_EXPORT_C
-# ifdef __cplusplus
-# define PERL_EXPORT_C extern "C"
-# else
-# define PERL_EXPORT_C extern
-# endif
-#endif
-#ifndef PERL_XS_EXPORT_C
-# ifdef __cplusplus
-# define PERL_XS_EXPORT_C extern "C"
-# else
-# define PERL_XS_EXPORT_C
-# endif
-#endif
-
-#ifdef OP_IN_REGISTER
-# ifdef __GNUC__
-# define stringify_immed(s) #s
-# define stringify(s) stringify_immed(s)
-register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
-# endif
-#endif
-
-/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
- * g++ allows them but seems to have problems with them
- * (insane errors ensue).
- * g++ does not give insane errors now (RMB 2008-01-30, gcc 4.2.2).
- */
-#if defined(PERL_GCC_PEDANTIC) || \
- (defined(__GNUC__) && defined(__cplusplus) && \
- ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2))))
-# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# endif
-#endif
-
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
-# ifndef PERL_USE_GCC_BRACE_GROUPS
-# define PERL_USE_GCC_BRACE_GROUPS
-# endif
-#endif
-
-/*
- * STMT_START { statements; } STMT_END;
- * can be used as a single statement, as in
- * if (x) STMT_START { ... } STMT_END; else ...
- *
- * Trying to select a version that gives no warnings...
- */
-#if !(defined(STMT_START) && defined(STMT_END))
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */
-# define STMT_END )
-# else
- /* Now which other defined()s do we need here ??? */
-# if (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
-# define STMT_START if (1)
-# define STMT_END else (void)0
-# else
-# define STMT_START do
-# define STMT_END while (0)
-# endif
-# endif
-#endif
-
-#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END
-#define WITH_THR(s) WITH_THX(s)
-
-#ifndef BYTEORDER /* Should never happen -- byteorder is in config.h */
-# define BYTEORDER 0x1234
-#endif
-
-/* Overall memory policy? */
-#ifndef CONSERVATIVE
-# define LIBERAL 1
-#endif
-
-#if 'A' == 65 && 'I' == 73 && 'J' == 74 && 'Z' == 90
-#define ASCIIish
-#else
-#undef ASCIIish
-#endif
-
-/*
- * The following contortions are brought to you on behalf of all the
- * standards, semi-standards, de facto standards, not-so-de-facto standards
- * of the world, as well as all the other botches anyone ever thought of.
- * The basic theory is that if we work hard enough here, the rest of the
- * code can be a lot prettier. Well, so much for theory. Sorry, Henry...
- */
-
-/* define this once if either system, instead of cluttering up the src */
-#if defined(MSDOS) || defined(atarist) || defined(WIN32) || defined(NETWARE)
-#define DOSISH 1
-#endif
-
-#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus) || defined(EPOC) || defined(NETWARE) || defined(__SYMBIAN32__)
-# define STANDARD_C 1
-#endif
-
-#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__DGUX) || defined(EPOC) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
-# define DONT_DECLARE_STD 1
-#endif
-
-#if defined(HASVOLATILE) || defined(STANDARD_C)
-# define VOL volatile
-#else
-# define VOL
-#endif
-
-#define TAINT (PL_tainted = TRUE)
-#define TAINT_NOT (PL_tainted = FALSE)
-#define TAINT_IF(c) if (c) { PL_tainted = TRUE; }
-#define TAINT_ENV() if (PL_tainting) { taint_env(); }
-#define TAINT_PROPER(s) if (PL_tainting) { taint_proper(NULL, s); }
-
-/* XXX All process group stuff is handled in pp_sys.c. Should these
- defines move there? If so, I could simplify this a lot. --AD 9/96.
-*/
-/* Process group stuff changed from traditional BSD to POSIX.
- perlfunc.pod documents the traditional BSD-style syntax, so we'll
- try to preserve that, if possible.
-*/
-#ifdef HAS_SETPGID
-# define BSD_SETPGRP(pid, pgrp) setpgid((pid), (pgrp))
-#else
-# if defined(HAS_SETPGRP) && defined(USE_BSD_SETPGRP)
-# define BSD_SETPGRP(pid, pgrp) setpgrp((pid), (pgrp))
-# else
-# ifdef HAS_SETPGRP2 /* DG/UX */
-# define BSD_SETPGRP(pid, pgrp) setpgrp2((pid), (pgrp))
-# endif
-# endif
-#endif
-#if defined(BSD_SETPGRP) && !defined(HAS_SETPGRP)
-# define HAS_SETPGRP /* Well, effectively it does . . . */
-#endif
-
-/* getpgid isn't POSIX, but at least Solaris and Linux have it, and it makes
- our life easier :-) so we'll try it.
-*/
-#ifdef HAS_GETPGID
-# define BSD_GETPGRP(pid) getpgid((pid))
-#else
-# if defined(HAS_GETPGRP) && defined(USE_BSD_GETPGRP)
-# define BSD_GETPGRP(pid) getpgrp((pid))
-# else
-# ifdef HAS_GETPGRP2 /* DG/UX */
-# define BSD_GETPGRP(pid) getpgrp2((pid))
-# endif
-# endif
-#endif
-#if defined(BSD_GETPGRP) && !defined(HAS_GETPGRP)
-# define HAS_GETPGRP /* Well, effectively it does . . . */
-#endif
-
-/* These are not exact synonyms, since setpgrp() and getpgrp() may
- have different behaviors, but perl.h used to define USE_BSDPGRP
- (prior to 5.003_05) so some extension might depend on it.
-*/
-#if defined(USE_BSD_SETPGRP) || defined(USE_BSD_GETPGRP)
-# ifndef USE_BSDPGRP
-# define USE_BSDPGRP
-# endif
-#endif
-
-/* HP-UX 10.X CMA (Common Multithreaded Architecure) insists that
- pthread.h must be included before all other header files.
-*/
-#if defined(USE_ITHREADS) && defined(PTHREAD_H_FIRST) && defined(I_PTHREAD)
-# include <pthread.h>
-#endif
-
-#ifndef _TYPES_ /* If types.h defines this it's easy. */
-# ifndef major /* Does everyone's types.h define this? */
-# include <sys/types.h>
-# endif
-#endif
-
-#ifdef __cplusplus
-# ifndef I_STDARG
-# define I_STDARG 1
-# endif
-#endif
-
-#ifdef I_STDARG
-# include <stdarg.h>
-#else
-# ifdef I_VARARGS
-# include <varargs.h>
-# endif
-#endif
-
-#ifdef USE_NEXT_CTYPE
-
-#if NX_CURRENT_COMPILER_RELEASE >= 500
-# include <bsd/ctypes.h>
-#else
-# if NX_CURRENT_COMPILER_RELEASE >= 400
-# include <objc/NXCType.h>
-# else /* NX_CURRENT_COMPILER_RELEASE < 400 */
-# include <appkit/NXCType.h>
-# endif /* NX_CURRENT_COMPILER_RELEASE >= 400 */
-#endif /* NX_CURRENT_COMPILER_RELEASE >= 500 */
-
-#else /* !USE_NEXT_CTYPE */
-#include <ctype.h>
-#endif /* USE_NEXT_CTYPE */
-
-#ifdef METHOD /* Defined by OSF/1 v3.0 by ctype.h */
-#undef METHOD
-#endif
-
-#ifdef PERL_MICRO
-# define NO_LOCALE
-#endif
-
-#ifdef I_LOCALE
-# include <locale.h>
-#endif
-
-#if !defined(NO_LOCALE) && defined(HAS_SETLOCALE)
-# define USE_LOCALE
-# if !defined(NO_LOCALE_COLLATE) && defined(LC_COLLATE) \
- && defined(HAS_STRXFRM)
-# define USE_LOCALE_COLLATE
-# endif
-# if !defined(NO_LOCALE_CTYPE) && defined(LC_CTYPE)
-# define USE_LOCALE_CTYPE
-# endif
-# if !defined(NO_LOCALE_NUMERIC) && defined(LC_NUMERIC)
-# define USE_LOCALE_NUMERIC
-# endif
-#endif /* !NO_LOCALE && HAS_SETLOCALE */
-
-#include <setjmp.h>
-
-#ifdef I_SYS_PARAM
-# ifdef PARAM_NEEDS_TYPES
-# include <sys/types.h>
-# endif
-# include <sys/param.h>
-#endif
-
-/* Use all the "standard" definitions? */
-#if defined(STANDARD_C) && defined(I_STDLIB)
-# include <stdlib.h>
-#endif
-
-/* If this causes problems, set i_unistd=undef in the hint file. */
-#ifdef I_UNISTD
-# include <unistd.h>
-#endif
-
-#ifdef __SYMBIAN32__
-# undef _SC_ARG_MAX /* Symbian has _SC_ARG_MAX but no sysconf() */
-#endif
-
-#if defined(HAS_SYSCALL) && !defined(HAS_SYSCALL_PROTO) && !defined(PERL_MICRO)
-EXTERN_C int syscall(int, ...);
-#endif
-
-#if defined(HAS_USLEEP) && !defined(HAS_USLEEP_PROTO) && !defined(PERL_MICRO)
-EXTERN_C int usleep(unsigned int);
-#endif
-
-/* Funky places that do not have socket stuff. */
-#if defined(__LIBCATAMOUNT__)
-# define MYSWAP
-#endif
-
-#ifdef PERL_MICRO /* Last chance to export Perl_my_swap */
-# define MYSWAP
-#endif
-
-#ifdef PERL_CORE
-
-/* macros for correct constant construction */
-# if INTSIZE >= 2
-# define U16_CONST(x) ((U16)x##U)
-# else
-# define U16_CONST(x) ((U16)x##UL)
-# endif
-
-# if INTSIZE >= 4
-# define U32_CONST(x) ((U32)x##U)
-# else
-# define U32_CONST(x) ((U32)x##UL)
-# endif
-
-# ifdef HAS_QUAD
-# if INTSIZE >= 8
-# define U64_CONST(x) ((U64)x##U)
-# elif LONGSIZE >= 8
-# define U64_CONST(x) ((U64)x##UL)
-# elif QUADKIND == QUAD_IS_LONG_LONG
-# define U64_CONST(x) ((U64)x##ULL)
-# else /* best guess we can make */
-# define U64_CONST(x) ((U64)x##UL)
-# endif
-# endif
-
-/* byte-swapping functions for big-/little-endian conversion */
-# define _swab_16_(x) ((U16)( \
- (((U16)(x) & U16_CONST(0x00ff)) << 8) | \
- (((U16)(x) & U16_CONST(0xff00)) >> 8) ))
-
-# define _swab_32_(x) ((U32)( \
- (((U32)(x) & U32_CONST(0x000000ff)) << 24) | \
- (((U32)(x) & U32_CONST(0x0000ff00)) << 8) | \
- (((U32)(x) & U32_CONST(0x00ff0000)) >> 8) | \
- (((U32)(x) & U32_CONST(0xff000000)) >> 24) ))
-
-# ifdef HAS_QUAD
-# define _swab_64_(x) ((U64)( \
- (((U64)(x) & U64_CONST(0x00000000000000ff)) << 56) | \
- (((U64)(x) & U64_CONST(0x000000000000ff00)) << 40) | \
- (((U64)(x) & U64_CONST(0x0000000000ff0000)) << 24) | \
- (((U64)(x) & U64_CONST(0x00000000ff000000)) << 8) | \
- (((U64)(x) & U64_CONST(0x000000ff00000000)) >> 8) | \
- (((U64)(x) & U64_CONST(0x0000ff0000000000)) >> 24) | \
- (((U64)(x) & U64_CONST(0x00ff000000000000)) >> 40) | \
- (((U64)(x) & U64_CONST(0xff00000000000000)) >> 56) ))
-# endif
-
-/*----------------------------------------------------------------------------*/
-# if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* little-endian */
-/*----------------------------------------------------------------------------*/
-# define my_htole16(x) (x)
-# define my_letoh16(x) (x)
-# define my_htole32(x) (x)
-# define my_letoh32(x) (x)
-# define my_htobe16(x) _swab_16_(x)
-# define my_betoh16(x) _swab_16_(x)
-# define my_htobe32(x) _swab_32_(x)
-# define my_betoh32(x) _swab_32_(x)
-# ifdef HAS_QUAD
-# define my_htole64(x) (x)
-# define my_letoh64(x) (x)
-# define my_htobe64(x) _swab_64_(x)
-# define my_betoh64(x) _swab_64_(x)
-# endif
-# define my_htoles(x) (x)
-# define my_letohs(x) (x)
-# define my_htolei(x) (x)
-# define my_letohi(x) (x)
-# define my_htolel(x) (x)
-# define my_letohl(x) (x)
-# if SHORTSIZE == 1
-# define my_htobes(x) (x)
-# define my_betohs(x) (x)
-# elif SHORTSIZE == 2
-# define my_htobes(x) _swab_16_(x)
-# define my_betohs(x) _swab_16_(x)
-# elif SHORTSIZE == 4
-# define my_htobes(x) _swab_32_(x)
-# define my_betohs(x) _swab_32_(x)
-# elif SHORTSIZE == 8
-# define my_htobes(x) _swab_64_(x)
-# define my_betohs(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBES
-# define PERL_NEED_MY_BETOHS
-# endif
-# if INTSIZE == 1
-# define my_htobei(x) (x)
-# define my_betohi(x) (x)
-# elif INTSIZE == 2
-# define my_htobei(x) _swab_16_(x)
-# define my_betohi(x) _swab_16_(x)
-# elif INTSIZE == 4
-# define my_htobei(x) _swab_32_(x)
-# define my_betohi(x) _swab_32_(x)
-# elif INTSIZE == 8
-# define my_htobei(x) _swab_64_(x)
-# define my_betohi(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBEI
-# define PERL_NEED_MY_BETOHI
-# endif
-# if LONGSIZE == 1
-# define my_htobel(x) (x)
-# define my_betohl(x) (x)
-# elif LONGSIZE == 2
-# define my_htobel(x) _swab_16_(x)
-# define my_betohl(x) _swab_16_(x)
-# elif LONGSIZE == 4
-# define my_htobel(x) _swab_32_(x)
-# define my_betohl(x) _swab_32_(x)
-# elif LONGSIZE == 8
-# define my_htobel(x) _swab_64_(x)
-# define my_betohl(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOBEL
-# define PERL_NEED_MY_BETOHL
-# endif
-# define my_htolen(p,n) NOOP
-# define my_letohn(p,n) NOOP
-# define my_htoben(p,n) my_swabn(p,n)
-# define my_betohn(p,n) my_swabn(p,n)
-/*----------------------------------------------------------------------------*/
-# elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 /* big-endian */
-/*----------------------------------------------------------------------------*/
-# define my_htobe16(x) (x)
-# define my_betoh16(x) (x)
-# define my_htobe32(x) (x)
-# define my_betoh32(x) (x)
-# define my_htole16(x) _swab_16_(x)
-# define my_letoh16(x) _swab_16_(x)
-# define my_htole32(x) _swab_32_(x)
-# define my_letoh32(x) _swab_32_(x)
-# ifdef HAS_QUAD
-# define my_htobe64(x) (x)
-# define my_betoh64(x) (x)
-# define my_htole64(x) _swab_64_(x)
-# define my_letoh64(x) _swab_64_(x)
-# endif
-# define my_htobes(x) (x)
-# define my_betohs(x) (x)
-# define my_htobei(x) (x)
-# define my_betohi(x) (x)
-# define my_htobel(x) (x)
-# define my_betohl(x) (x)
-# if SHORTSIZE == 1
-# define my_htoles(x) (x)
-# define my_letohs(x) (x)
-# elif SHORTSIZE == 2
-# define my_htoles(x) _swab_16_(x)
-# define my_letohs(x) _swab_16_(x)
-# elif SHORTSIZE == 4
-# define my_htoles(x) _swab_32_(x)
-# define my_letohs(x) _swab_32_(x)
-# elif SHORTSIZE == 8
-# define my_htoles(x) _swab_64_(x)
-# define my_letohs(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLES
-# define PERL_NEED_MY_LETOHS
-# endif
-# if INTSIZE == 1
-# define my_htolei(x) (x)
-# define my_letohi(x) (x)
-# elif INTSIZE == 2
-# define my_htolei(x) _swab_16_(x)
-# define my_letohi(x) _swab_16_(x)
-# elif INTSIZE == 4
-# define my_htolei(x) _swab_32_(x)
-# define my_letohi(x) _swab_32_(x)
-# elif INTSIZE == 8
-# define my_htolei(x) _swab_64_(x)
-# define my_letohi(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLEI
-# define PERL_NEED_MY_LETOHI
-# endif
-# if LONGSIZE == 1
-# define my_htolel(x) (x)
-# define my_letohl(x) (x)
-# elif LONGSIZE == 2
-# define my_htolel(x) _swab_16_(x)
-# define my_letohl(x) _swab_16_(x)
-# elif LONGSIZE == 4
-# define my_htolel(x) _swab_32_(x)
-# define my_letohl(x) _swab_32_(x)
-# elif LONGSIZE == 8
-# define my_htolel(x) _swab_64_(x)
-# define my_letohl(x) _swab_64_(x)
-# else
-# define PERL_NEED_MY_HTOLEL
-# define PERL_NEED_MY_LETOHL
-# endif
-# define my_htolen(p,n) my_swabn(p,n)
-# define my_letohn(p,n) my_swabn(p,n)
-# define my_htoben(p,n) NOOP
-# define my_betohn(p,n) NOOP
-/*----------------------------------------------------------------------------*/
-# else /* all other byte-orders */
-/*----------------------------------------------------------------------------*/
-# define PERL_NEED_MY_HTOLE16
-# define PERL_NEED_MY_LETOH16
-# define PERL_NEED_MY_HTOBE16
-# define PERL_NEED_MY_BETOH16
-# define PERL_NEED_MY_HTOLE32
-# define PERL_NEED_MY_LETOH32
-# define PERL_NEED_MY_HTOBE32
-# define PERL_NEED_MY_BETOH32
-# ifdef HAS_QUAD
-# define PERL_NEED_MY_HTOLE64
-# define PERL_NEED_MY_LETOH64
-# define PERL_NEED_MY_HTOBE64
-# define PERL_NEED_MY_BETOH64
-# endif
-# define PERL_NEED_MY_HTOLES
-# define PERL_NEED_MY_LETOHS
-# define PERL_NEED_MY_HTOBES
-# define PERL_NEED_MY_BETOHS
-# define PERL_NEED_MY_HTOLEI
-# define PERL_NEED_MY_LETOHI
-# define PERL_NEED_MY_HTOBEI
-# define PERL_NEED_MY_BETOHI
-# define PERL_NEED_MY_HTOLEL
-# define PERL_NEED_MY_LETOHL
-# define PERL_NEED_MY_HTOBEL
-# define PERL_NEED_MY_BETOHL
-/*----------------------------------------------------------------------------*/
-# endif /* end of byte-order macros */
-/*----------------------------------------------------------------------------*/
-
-/* The old value was hard coded at 1008. (4096-16) seems to be a bit faster,
- at least on FreeBSD. YMMV, so experiment. */
-#ifndef PERL_ARENA_SIZE
-#define PERL_ARENA_SIZE 4080
-#endif
-
-/* Maximum level of recursion */
-#ifndef PERL_SUB_DEPTH_WARN
-#define PERL_SUB_DEPTH_WARN 100
-#endif
-
-#endif /* PERL_CORE */
-
-/* We no longer default to creating a new SV for GvSV.
- Do this before embed. */
-#ifndef PERL_CREATE_GVSV
-# ifndef PERL_DONT_CREATE_GVSV
-# define PERL_DONT_CREATE_GVSV
-# endif
-#endif
-
-#if !defined(HAS_WAITPID) && !defined(HAS_WAIT4) || defined(HAS_WAITPID_RUNTIME)
-#define PERL_USES_PL_PIDSTATUS
-#endif
-
-#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(EPOC) && !defined(__SYMBIAN32__) && !defined(MACOS_TRADITIONAL)
-#define PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-#endif
-
-/* Cannot include embed.h here on Win32 as win32.h has not
- yet been included and defines some config variables e.g. HAVE_INTERP_INTERN
- */
-#if !defined(PERL_FOR_X2P) && !(defined(WIN32)||defined(VMS))
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
-#endif
-
-#define MEM_SIZE Size_t
-
-/* Round all values passed to malloc up, by default to a multiple of
- sizeof(size_t)
-*/
-#ifndef PERL_STRLEN_ROUNDUP_QUANTUM
-#define PERL_STRLEN_ROUNDUP_QUANTUM Size_t_size
-#endif
-
-#if defined(STANDARD_C) && defined(I_STDDEF)
-# include <stddef.h>
-# define STRUCT_OFFSET(s,m) offsetof(s,m)
-#else
-# define STRUCT_OFFSET(s,m) (Size_t)(&(((s *)0)->m))
-#endif
-
-#ifndef __SYMBIAN32__
-# if defined(I_STRING) || defined(__cplusplus)
-# include <string.h>
-# else
-# include <strings.h>
-# endif
-#endif
-
-/* This comes after <stdlib.h> so we don't try to change the standard
- * library prototypes; we'll use our own in proto.h instead. */
-
-#ifdef MYMALLOC
-# ifdef PERL_POLLUTE_MALLOC
-# ifndef PERL_EXTMALLOC_DEF
-# define Perl_malloc malloc
-# define Perl_calloc calloc
-# define Perl_realloc realloc
-# define Perl_mfree free
-# endif
-# else
-# define EMBEDMYMALLOC /* for compatibility */
-# endif
-
-# define safemalloc Perl_malloc
-# define safecalloc Perl_calloc
-# define saferealloc Perl_realloc
-# define safefree Perl_mfree
-# define CHECK_MALLOC_TOO_LATE_FOR_(code) STMT_START { \
- if (!PL_tainting && MallocCfg_ptr[MallocCfg_cfg_env_read]) \
- code; \
- } STMT_END
-# define CHECK_MALLOC_TOO_LATE_FOR(ch) \
- CHECK_MALLOC_TOO_LATE_FOR_(MALLOC_TOO_LATE_FOR(ch))
-# define panic_write2(s) write(2, s, strlen(s))
-# define CHECK_MALLOC_TAINT(newval) \
- CHECK_MALLOC_TOO_LATE_FOR_( \
- if (newval) { \
- panic_write2("panic: tainting with $ENV{PERL_MALLOC_OPT}\n");\
- exit(1); })
-# define MALLOC_CHECK_TAINT(argc,argv,env) STMT_START { \
- if (doing_taint(argc,argv,env)) { \
- MallocCfg_ptr[MallocCfg_skip_cfg_env] = 1; \
- }} STMT_END;
-#else /* MYMALLOC */
-# define safemalloc safesysmalloc
-# define safecalloc safesyscalloc
-# define saferealloc safesysrealloc
-# define safefree safesysfree
-# define CHECK_MALLOC_TOO_LATE_FOR(ch) ((void)0)
-# define CHECK_MALLOC_TAINT(newval) ((void)0)
-# define MALLOC_CHECK_TAINT(argc,argv,env)
-#endif /* MYMALLOC */
-
-#define TOO_LATE_FOR_(ch,what) Perl_croak(aTHX_ "\"-%c\" is on the #! line, it must also be used on the command line%s", (char)(ch), what)
-#define TOO_LATE_FOR(ch) TOO_LATE_FOR_(ch, "")
-#define MALLOC_TOO_LATE_FOR(ch) TOO_LATE_FOR_(ch, " with $ENV{PERL_MALLOC_OPT}")
-#define MALLOC_CHECK_TAINT2(argc,argv) MALLOC_CHECK_TAINT(argc,argv,NULL)
-
-#if !defined(HAS_STRCHR) && defined(HAS_INDEX) && !defined(strchr)
-#define strchr index
-#define strrchr rindex
-#endif
-
-#ifdef I_MEMORY
-# include <memory.h>
-#endif
-
-#ifdef HAS_MEMCPY
-# if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-# ifndef memcpy
- extern char * memcpy (char*, char*, int);
-# endif
-# endif
-#else
-# ifndef memcpy
-# ifdef HAS_BCOPY
-# define memcpy(d,s,l) bcopy(s,d,l)
-# else
-# define memcpy(d,s,l) my_bcopy(s,d,l)
-# endif
-# endif
-#endif /* HAS_MEMCPY */
-
-#ifdef HAS_MEMSET
-# if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-# ifndef memset
- extern char *memset (char*, int, int);
-# endif
-# endif
-#else
-# undef memset
-# define memset(d,c,l) my_memset(d,c,l)
-#endif /* HAS_MEMSET */
-
-#if !defined(HAS_MEMMOVE) && !defined(memmove)
-# if defined(HAS_BCOPY) && defined(HAS_SAFE_BCOPY)
-# define memmove(d,s,l) bcopy(s,d,l)
-# else
-# if defined(HAS_MEMCPY) && defined(HAS_SAFE_MEMCPY)
-# define memmove(d,s,l) memcpy(d,s,l)
-# else
-# define memmove(d,s,l) my_bcopy(s,d,l)
-# endif
-# endif
-#endif
-
-#if defined(mips) && defined(ultrix) && !defined(__STDC__)
-# undef HAS_MEMCMP
-#endif
-
-#if defined(HAS_MEMCMP) && defined(HAS_SANE_MEMCMP)
-# if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-# ifndef memcmp
- extern int memcmp (char*, char*, int);
-# endif
-# endif
-# ifdef BUGGY_MSC
-# pragma function(memcmp)
-# endif
-#else
-# ifndef memcmp
-# define memcmp my_memcmp
-# endif
-#endif /* HAS_MEMCMP && HAS_SANE_MEMCMP */
-
-#ifndef memzero
-# ifdef HAS_MEMSET
-# define memzero(d,l) memset(d,0,l)
-# else
-# ifdef HAS_BZERO
-# define memzero(d,l) bzero(d,l)
-# else
-# define memzero(d,l) my_bzero(d,l)
-# endif
-# endif
-#endif
-
-#ifndef PERL_MICRO
-#ifndef memchr
-# ifndef HAS_MEMCHR
-# define memchr(s,c,n) ninstr((char*)(s), ((char*)(s)) + n, &(c), &(c) + 1)
-# endif
-#endif
-#endif
-
-#ifndef HAS_BCMP
-# ifndef bcmp
-# define bcmp(s1,s2,l) memcmp(s1,s2,l)
-# endif
-#endif /* !HAS_BCMP */
-
-#ifdef I_NETINET_IN
-# include <netinet/in.h>
-#endif
-
-#ifdef I_ARPA_INET
-# include <arpa/inet.h>
-#endif
-
-#if defined(SF_APPEND) && defined(USE_SFIO) && defined(I_SFIO)
-/* <sfio.h> defines SF_APPEND and <sys/stat.h> might define SF_APPEND
- * (the neo-BSD seem to do this). */
-# undef SF_APPEND
-#endif
-
-#ifdef I_SYS_STAT
-# include <sys/stat.h>
-#endif
-
-/* The stat macros for Amdahl UTS, Unisoft System V/88 (and derivatives
- like UTekV) are broken, sometimes giving false positives. Undefine
- them here and let the code below set them to proper values.
-
- The ghs macro stands for GreenHills Software C-1.8.5 which
- is the C compiler for sysV88 and the various derivatives.
- This header file bug is corrected in gcc-2.5.8 and later versions.
- --Kaveh Ghazi (ghazi@noc.rutgers.edu) 10/3/94. */
-
-#if defined(uts) || (defined(m88k) && defined(ghs))
-# undef S_ISDIR
-# undef S_ISCHR
-# undef S_ISBLK
-# undef S_ISREG
-# undef S_ISFIFO
-# undef S_ISLNK
-#endif
-
-#ifdef I_TIME
-# include <time.h>
-#endif
-
-#ifdef I_SYS_TIME
-# ifdef I_SYS_TIME_KERNEL
-# define KERNEL
-# endif
-# include <sys/time.h>
-# ifdef I_SYS_TIME_KERNEL
-# undef KERNEL
-# endif
-#endif
-
-#if defined(HAS_TIMES) && defined(I_SYS_TIMES)
-# include <sys/times.h>
-#endif
-
-#if defined(HAS_STRERROR) && (!defined(HAS_MKDIR) || !defined(HAS_RMDIR))
-# undef HAS_STRERROR
-#endif
-
-#include <errno.h>
-
-#if defined(WIN32) && defined(PERL_IMPLICIT_SYS)
-# define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */
-#endif
-
-/* In Tru64 use the 4.4BSD struct msghdr, not the 4.3 one.
- * This is important for using IPv6.
- * For OSF/1 3.2, however, defining _SOCKADDR_LEN would be
- * a bad idea since it breaks send() and recv(). */
-#if defined(__osf__) && defined(__alpha) && !defined(_SOCKADDR_LEN) && !defined(DEC_OSF1_3_X)
-# define _SOCKADDR_LEN
-#endif
-
-#if defined(HAS_SOCKET) && !defined(VMS) && !defined(WIN32) /* VMS/WIN32 handle sockets via vmsish.h/win32.h */
-# include <sys/socket.h>
-# if defined(USE_SOCKS) && defined(I_SOCKS)
-# if !defined(INCLUDE_PROTOTYPES)
-# define INCLUDE_PROTOTYPES /* for <socks.h> */
-# define PERL_SOCKS_NEED_PROTOTYPES
-# endif
-# include <socks.h>
-# ifdef PERL_SOCKS_NEED_PROTOTYPES /* keep cpp space clean */
-# undef INCLUDE_PROTOTYPES
-# undef PERL_SOCKS_NEED_PROTOTYPES
-# endif
-# endif
-# ifdef I_NETDB
-# ifdef NETWARE
-# include<stdio.h>
-# endif
-# include <netdb.h>
-# endif
-# ifndef ENOTSOCK
-# ifdef I_NET_ERRNO
-# include <net/errno.h>
-# endif
-# endif
-#endif
-
-/* sockatmark() is so new (2001) that many places might have it hidden
- * behind some -D_BLAH_BLAH_SOURCE guard. The __THROW magic is required
- * e.g. in Gentoo, see http://bugs.gentoo.org/show_bug.cgi?id=12605 */
-#if defined(HAS_SOCKATMARK) && !defined(HAS_SOCKATMARK_PROTO)
-# if defined(__THROW) && defined(__GLIBC__)
-int sockatmark(int) __THROW;
-# else
-int sockatmark(int);
-# endif
-#endif
-
-#if defined(__osf__) && defined(__cplusplus) && !defined(_XOPEN_SOURCE_EXTENDED) /* Tru64 "cxx" (C++), see hints/dec_osf.sh for why the _XOPEN_SOURCE_EXTENDED cannot be defined. */
-EXTERN_C int fchdir(int);
-EXTERN_C int flock(int, int);
-EXTERN_C int fseeko(FILE *, off_t, int);
-EXTERN_C off_t ftello(FILE *);
-#endif
-
-#if defined(__SUNPRO_CC) /* SUNWspro CC (C++) */
-EXTERN_C char *crypt(const char *, const char *);
-EXTERN_C char **environ;
-#endif
-
-#if defined(__cplusplus)
-# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
-EXTERN_C char **environ;
-# elif defined(__CYGWIN__)
-EXTERN_C char *crypt(const char *, const char *);
-#endif
-#endif
-
-#ifdef SETERRNO
-# undef SETERRNO /* SOCKS might have defined this */
-#endif
-
-#ifdef VMS
-# define SETERRNO(errcode,vmserrcode) \
- STMT_START { \
- set_errno(errcode); \
- set_vaxc_errno(vmserrcode); \
- } STMT_END
-# define LIB_INVARG LIB$_INVARG
-# define RMS_DIR RMS$_DIR
-# define RMS_FAC RMS$_FAC
-# define RMS_FEX RMS$_FEX
-# define RMS_FNF RMS$_FNF
-# define RMS_IFI RMS$_IFI
-# define RMS_ISI RMS$_ISI
-# define RMS_PRV RMS$_PRV
-# define SS_ACCVIO SS$_ACCVIO
-# define SS_DEVOFFLINE SS$_DEVOFFLINE
-# define SS_IVCHAN SS$_IVCHAN
-# define SS_NORMAL SS$_NORMAL
-#else
-# define SETERRNO(errcode,vmserrcode) (errno = (errcode))
-# define LIB_INVARG 0
-# define RMS_DIR 0
-# define RMS_FAC 0
-# define RMS_FEX 0
-# define RMS_FNF 0
-# define RMS_IFI 0
-# define RMS_ISI 0
-# define RMS_PRV 0
-# define SS_ACCVIO 0
-# define SS_DEVOFFLINE 0
-# define SS_IVCHAN 0
-# define SS_NORMAL 0
-#endif
-
-#define ERRSV GvSV(PL_errgv)
-/* FIXME? Change the assignments to PL_defgv to instantiate GvSV? */
-#define DEFSV GvSVn(PL_defgv)
-#define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
-
-#define ERRHV GvHV(PL_errgv) /* XXX unused, here for compatibility */
-
-#ifndef errno
- extern int errno; /* ANSI allows errno to be an lvalue expr.
- * For example in multithreaded environments
- * something like this might happen:
- * extern int *_errno(void);
- * #define errno (*_errno()) */
-#endif
-
-#ifdef HAS_STRERROR
-# ifdef VMS
- char *strerror (int,...);
-# else
-#ifndef DONT_DECLARE_STD
- char *strerror (int);
-#endif
-# endif
-# ifndef Strerror
-# define Strerror strerror
-# endif
-#else
-# ifdef HAS_SYS_ERRLIST
- extern int sys_nerr;
- extern char *sys_errlist[];
-# ifndef Strerror
-# define Strerror(e) \
- ((e) < 0 || (e) >= sys_nerr ? "(unknown)" : sys_errlist[e])
-# endif
-# endif
-#endif
-
-#ifdef I_SYS_IOCTL
-# ifndef _IOCTL_
-# include <sys/ioctl.h>
-# endif
-#endif
-
-#if defined(mc300) || defined(mc500) || defined(mc700) || defined(mc6000)
-# ifdef HAS_SOCKETPAIR
-# undef HAS_SOCKETPAIR
-# endif
-# ifdef I_NDBM
-# undef I_NDBM
-# endif
-#endif
-
-#ifndef HAS_SOCKETPAIR
-# ifdef HAS_SOCKET
-# define socketpair Perl_my_socketpair
-# endif
-#endif
-
-#if INTSIZE == 2
-# define htoni htons
-# define ntohi ntohs
-#else
-# define htoni htonl
-# define ntohi ntohl
-#endif
-
-/* Configure already sets Direntry_t */
-#if defined(I_DIRENT)
-# include <dirent.h>
- /* NeXT needs dirent + sys/dir.h */
-# if defined(I_SYS_DIR) && (defined(NeXT) || defined(__NeXT__))
-# include <sys/dir.h>
-# endif
-#else
-# ifdef I_SYS_NDIR
-# include <sys/ndir.h>
-# else
-# ifdef I_SYS_DIR
-# ifdef hp9000s500
-# include <ndir.h> /* may be wrong in the future */
-# else
-# include <sys/dir.h>
-# endif
-# endif
-# endif
-#endif
-
-#ifdef PERL_MICRO
-# ifndef DIR
-# define DIR void
-# endif
-#endif
-
-#ifdef FPUTS_BOTCH
-/* work around botch in SunOS 4.0.1 and 4.0.2 */
-# ifndef fputs
-# define fputs(sv,fp) fprintf(fp,"%s",sv)
-# endif
-#endif
-
-/*
- * The following gobbledygook brought to you on behalf of __STDC__.
- * (I could just use #ifndef __STDC__, but this is more bulletproof
- * in the face of half-implementations.)
- */
-
-#if defined(I_SYSMODE) && !defined(PERL_MICRO)
-#include <sys/mode.h>
-#endif
-
-#ifndef S_IFMT
-# ifdef _S_IFMT
-# define S_IFMT _S_IFMT
-# else
-# define S_IFMT 0170000
-# endif
-#endif
-
-#ifndef S_ISDIR
-# define S_ISDIR(m) ((m & S_IFMT) == S_IFDIR)
-#endif
-
-#ifndef S_ISCHR
-# define S_ISCHR(m) ((m & S_IFMT) == S_IFCHR)
-#endif
-
-#ifndef S_ISBLK
-# ifdef S_IFBLK
-# define S_ISBLK(m) ((m & S_IFMT) == S_IFBLK)
-# else
-# define S_ISBLK(m) (0)
-# endif
-#endif
-
-#ifndef S_ISREG
-# define S_ISREG(m) ((m & S_IFMT) == S_IFREG)
-#endif
-
-#ifndef S_ISFIFO
-# ifdef S_IFIFO
-# define S_ISFIFO(m) ((m & S_IFMT) == S_IFIFO)
-# else
-# define S_ISFIFO(m) (0)
-# endif
-#endif
-
-#ifndef S_ISLNK
-# ifdef _S_ISLNK
-# define S_ISLNK(m) _S_ISLNK(m)
-# else
-# ifdef _S_IFLNK
-# define S_ISLNK(m) ((m & S_IFMT) == _S_IFLNK)
-# else
-# ifdef S_IFLNK
-# define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK)
-# else
-# define S_ISLNK(m) (0)
-# endif
-# endif
-# endif
-#endif
-
-#ifndef S_ISSOCK
-# ifdef _S_ISSOCK
-# define S_ISSOCK(m) _S_ISSOCK(m)
-# else
-# ifdef _S_IFSOCK
-# define S_ISSOCK(m) ((m & S_IFMT) == _S_IFSOCK)
-# else
-# ifdef S_IFSOCK
-# define S_ISSOCK(m) ((m & S_IFMT) == S_IFSOCK)
-# else
-# define S_ISSOCK(m) (0)
-# endif
-# endif
-# endif
-#endif
-
-#ifndef S_IRUSR
-# ifdef S_IREAD
-# define S_IRUSR S_IREAD
-# define S_IWUSR S_IWRITE
-# define S_IXUSR S_IEXEC
-# else
-# define S_IRUSR 0400
-# define S_IWUSR 0200
-# define S_IXUSR 0100
-# endif
-#endif
-
-#ifndef S_IRGRP
-# ifdef S_IRUSR
-# define S_IRGRP (S_IRUSR>>3)
-# define S_IWGRP (S_IWUSR>>3)
-# define S_IXGRP (S_IXUSR>>3)
-# else
-# define S_IRGRP 0040
-# define S_IWGRP 0020
-# define S_IXGRP 0010
-# endif
-#endif
-
-#ifndef S_IROTH
-# ifdef S_IRUSR
-# define S_IROTH (S_IRUSR>>6)
-# define S_IWOTH (S_IWUSR>>6)
-# define S_IXOTH (S_IXUSR>>6)
-# else
-# define S_IROTH 0040
-# define S_IWOTH 0020
-# define S_IXOTH 0010
-# endif
-#endif
-
-#ifndef S_ISUID
-# define S_ISUID 04000
-#endif
-
-#ifndef S_ISGID
-# define S_ISGID 02000
-#endif
-
-#ifndef S_IRWXU
-# define S_IRWXU (S_IRUSR|S_IWUSR|S_IXUSR)
-#endif
-
-#ifndef S_IRWXG
-# define S_IRWXG (S_IRGRP|S_IWGRP|S_IXGRP)
-#endif
-
-#ifndef S_IRWXO
-# define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH)
-#endif
-
-/* BeOS 5.0 seems to define S_IREAD and S_IWRITE in <posix/fcntl.h>
- * which would get included through <sys/file.h >, but that is 3000
- * lines in the future. --jhi */
-
-#if !defined(S_IREAD) && !defined(__BEOS__)
-# define S_IREAD S_IRUSR
-#endif
-
-#if !defined(S_IWRITE) && !defined(__BEOS__)
-# define S_IWRITE S_IWUSR
-#endif
-
-#ifndef S_IEXEC
-# define S_IEXEC S_IXUSR
-#endif
-
-#ifdef ff_next
-# undef ff_next
-#endif
-
-#if defined(cray) || defined(gould) || defined(i860) || defined(pyr)
-# define SLOPPYDIVIDE
-#endif
-
-#ifdef UV
-#undef UV
-#endif
-
-#ifdef SPRINTF_E_BUG
-# define sprintf UTS_sprintf_wrap
-#endif
-
-/* For the times when you want the return value of sprintf, and you want it
- to be the length. Can't have a thread variable passed in, because C89 has
- no varargs macros.
-*/
-#ifdef SPRINTF_RETURNS_STRLEN
-# define my_sprintf sprintf
-#else
-# define my_sprintf Perl_my_sprintf
-#endif
-
-/*
- * If we have v?snprintf() and the C99 variadic macros, we can just
- * use just the v?snprintf(). It is nice to try to trap the buffer
- * overflow, however, so if we are DEBUGGING, and we cannot use the
- * gcc statement expressions, then use the function wrappers which try
- * to trap the overflow. If we can use the gcc statement expressions,
- * we can try that even with the version that uses the C99 variadic
- * macros.
- */
-
-/* Note that we do not check against snprintf()/vsnprintf() returning
- * negative values because that is non-standard behaviour and we use
- * snprintf/vsnprintf only iff HAS_VSNPRINTF has been defined, and
- * that should be true only if the snprintf()/vsnprintf() are true
- * to the standard. */
-
-#if defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC)
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define my_snprintf(buffer, len, ...) ({ int __len__ = snprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (len)) Perl_croak_nocontext("panic: snprintf buffer overflow"); __len__; })
-# define PERL_MY_SNPRINTF_GUARDED
-# else
-# define my_snprintf(buffer, len, ...) snprintf(buffer, len, __VA_ARGS__)
-# endif
-#else
-# define my_snprintf Perl_my_snprintf
-# define PERL_MY_SNPRINTF_GUARDED
-#endif
-
-#if defined(HAS_VSNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC)
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define my_vsnprintf(buffer, len, ...) ({ int __len__ = vsnprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (len)) Perl_croak_nocontext("panic: vsnprintf buffer overflow"); __len__; })
-# define PERL_MY_VSNPRINTF_GUARDED
-# else
-# define my_vsnprintf(buffer, len, ...) vsnprintf(buffer, len, __VA_ARGS__)
-# endif
-#else
-# define my_vsnprintf Perl_my_vsnprintf
-# define PERL_MY_VSNPRINTF_GUARDED
-#endif
-
-#ifdef HAS_STRLCAT
-# define my_strlcat strlcat
-#else
-# define my_strlcat Perl_my_strlcat
-#endif
-
-#ifdef HAS_STRLCPY
-# define my_strlcpy strlcpy
-#else
-# define my_strlcpy Perl_my_strlcpy
-#endif
-
-/* Configure gets this right but the UTS compiler gets it wrong.
- -- Hal Morris <hom00@utsglobal.com> */
-#ifdef UTS
-# undef UVTYPE
-# define UVTYPE unsigned
-#endif
-
-/*
- The IV type is supposed to be long enough to hold any integral
- value or a pointer.
- --Andy Dougherty August 1996
-*/
-
-typedef IVTYPE IV;
-typedef UVTYPE UV;
-
-#if defined(USE_64_BIT_INT) && defined(HAS_QUAD)
-# if QUADKIND == QUAD_IS_INT64_T && defined(INT64_MAX)
-# define IV_MAX INT64_MAX
-# define IV_MIN INT64_MIN
-# define UV_MAX UINT64_MAX
-# ifndef UINT64_MIN
-# define UINT64_MIN 0
-# endif
-# define UV_MIN UINT64_MIN
-# else
-# define IV_MAX PERL_QUAD_MAX
-# define IV_MIN PERL_QUAD_MIN
-# define UV_MAX PERL_UQUAD_MAX
-# define UV_MIN PERL_UQUAD_MIN
-# endif
-# define IV_IS_QUAD
-# define UV_IS_QUAD
-#else
-# if defined(INT32_MAX) && IVSIZE == 4
-# define IV_MAX INT32_MAX
-# define IV_MIN INT32_MIN
-# ifndef UINT32_MAX_BROKEN /* e.g. HP-UX with gcc messes this up */
-# define UV_MAX UINT32_MAX
-# else
-# define UV_MAX 4294967295U
-# endif
-# ifndef UINT32_MIN
-# define UINT32_MIN 0
-# endif
-# define UV_MIN UINT32_MIN
-# else
-# define IV_MAX PERL_LONG_MAX
-# define IV_MIN PERL_LONG_MIN
-# define UV_MAX PERL_ULONG_MAX
-# define UV_MIN PERL_ULONG_MIN
-# endif
-# if IVSIZE == 8
-# define IV_IS_QUAD
-# define UV_IS_QUAD
-# ifndef HAS_QUAD
-# define HAS_QUAD
-# endif
-# else
-# undef IV_IS_QUAD
-# undef UV_IS_QUAD
-# undef HAS_QUAD
-# endif
-#endif
-
-#ifndef HAS_QUAD
-# undef PERL_NEED_MY_HTOLE64
-# undef PERL_NEED_MY_LETOH64
-# undef PERL_NEED_MY_HTOBE64
-# undef PERL_NEED_MY_BETOH64
-#endif
-
-#if defined(uts) || defined(UTS)
-# undef UV_MAX
-# define UV_MAX (4294967295u)
-#endif
-
-#define IV_DIG (BIT_DIGITS(IVSIZE * 8))
-#define UV_DIG (BIT_DIGITS(UVSIZE * 8))
-
-#ifndef NO_PERL_PRESERVE_IVUV
-#define PERL_PRESERVE_IVUV /* We like our integers to stay integers. */
-#endif
-
-/*
- * The macros INT2PTR and NUM2PTR are (despite their names)
- * bi-directional: they will convert int/float to or from pointers.
- * However the conversion to int/float are named explicitly:
- * PTR2IV, PTR2UV, PTR2NV.
- *
- * For int conversions we do not need two casts if pointers are
- * the same size as IV and UV. Otherwise we need an explicit
- * cast (PTRV) to avoid compiler warnings.
- */
-#if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
-# define PTRV UV
-# define INT2PTR(any,d) (any)(d)
-#else
-# if PTRSIZE == LONGSIZE
-# define PTRV unsigned long
-# define PTR2ul(p) (unsigned long)(p)
-# else
-# define PTRV unsigned
-# endif
-#endif
-
-#ifndef INT2PTR
-# define INT2PTR(any,d) (any)(PTRV)(d)
-#endif
-
-#ifndef PTR2ul
-# define PTR2ul(p) INT2PTR(unsigned long,p)
-#endif
-
-#define NUM2PTR(any,d) (any)(PTRV)(d)
-#define PTR2IV(p) INT2PTR(IV,p)
-#define PTR2UV(p) INT2PTR(UV,p)
-#define PTR2NV(p) NUM2PTR(NV,p)
-#define PTR2nat(p) (PTRV)(p) /* pointer to integer of PTRSIZE */
-
-/* According to strict ANSI C89 one cannot freely cast between
- * data pointers and function (code) pointers. There are at least
- * two ways around this. One (used below) is to do two casts,
- * first the other pointer to an (unsigned) integer, and then
- * the integer to the other pointer. The other way would be
- * to use unions to "overlay" the pointers. For an example of
- * the latter technique, see union dirpu in struct xpvio in sv.h.
- * The only feasible use is probably temporarily storing
- * function pointers in a data pointer (such as a void pointer). */
-
-#define DPTR2FPTR(t,p) ((t)PTR2nat(p)) /* data pointer to function pointer */
-#define FPTR2DPTR(t,p) ((t)PTR2nat(p)) /* function pointer to data pointer */
-
-#ifdef USE_LONG_DOUBLE
-# if defined(HAS_LONG_DOUBLE) && LONG_DOUBLESIZE == DOUBLESIZE
-# define LONG_DOUBLE_EQUALS_DOUBLE
-# endif
-# if !(defined(HAS_LONG_DOUBLE) && (LONG_DOUBLESIZE > DOUBLESIZE))
-# undef USE_LONG_DOUBLE /* Ouch! */
-# endif
-#endif
-
-#ifdef OVR_DBL_DIG
-/* Use an overridden DBL_DIG */
-# ifdef DBL_DIG
-# undef DBL_DIG
-# endif
-# define DBL_DIG OVR_DBL_DIG
-#else
-/* The following is all to get DBL_DIG, in order to pick a nice
- default value for printing floating point numbers in Gconvert
- (see config.h). (It also has other uses, such as figuring out if
- a given precision of printing can be done with a double instead of
- a long double - Allen).
-*/
-#ifdef I_LIMITS
-#include <limits.h>
-#endif
-#ifdef I_FLOAT
-#include <float.h>
-#endif
-#ifndef HAS_DBL_DIG
-#define DBL_DIG 15 /* A guess that works lots of places */
-#endif
-#endif
-
-#ifdef OVR_LDBL_DIG
-/* Use an overridden LDBL_DIG */
-# ifdef LDBL_DIG
-# undef LDBL_DIG
-# endif
-# define LDBL_DIG OVR_LDBL_DIG
-#else
-/* The following is all to get LDBL_DIG, in order to pick a nice
- default value for printing floating point numbers in Gconvert.
- (see config.h)
-*/
-# ifdef I_LIMITS
-# include <limits.h>
-# endif
-# ifdef I_FLOAT
-# include <float.h>
-# endif
-# ifndef HAS_LDBL_DIG
-# if LONG_DOUBLESIZE == 10
-# define LDBL_DIG 18 /* assume IEEE */
-# else
-# if LONG_DOUBLESIZE == 12
-# define LDBL_DIG 18 /* gcc? */
-# else
-# if LONG_DOUBLESIZE == 16
-# define LDBL_DIG 33 /* assume IEEE */
-# else
-# if LONG_DOUBLESIZE == DOUBLESIZE
-# define LDBL_DIG DBL_DIG /* bummer */
-# endif
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/*
- * This is for making sure we have a good DBL_MAX value, if possible,
- * either for usage as NV_MAX or for usage in figuring out if we can
- * fit a given long double into a double, if bug-fixing makes it
- * necessary to do so. - Allen <allens@cpan.org>
- */
-
-#ifdef I_LIMITS
-# include <limits.h>
-#endif
-
-#ifdef I_VALUES
-# if !(defined(DBL_MIN) && defined(DBL_MAX) && defined(I_LIMITS))
-# include <values.h>
-# if defined(MAXDOUBLE) && !defined(DBL_MAX)
-# define DBL_MAX MAXDOUBLE
-# endif
-# if defined(MINDOUBLE) && !defined(DBL_MIN)
-# define DBL_MIN MINDOUBLE
-# endif
-# endif
-#endif /* defined(I_VALUES) */
-
-typedef NVTYPE NV;
-
-#ifdef I_IEEEFP
-# include <ieeefp.h>
-#endif
-
-#ifdef USE_LONG_DOUBLE
-# ifdef I_SUNMATH
-# include <sunmath.h>
-# endif
-# define NV_DIG LDBL_DIG
-# ifdef LDBL_MANT_DIG
-# define NV_MANT_DIG LDBL_MANT_DIG
-# endif
-# ifdef LDBL_MIN
-# define NV_MIN LDBL_MIN
-# endif
-# ifdef LDBL_MAX
-# define NV_MAX LDBL_MAX
-# endif
-# ifdef LDBL_MIN_10_EXP
-# define NV_MIN_10_EXP LDBL_MIN_10_EXP
-# endif
-# ifdef LDBL_MAX_10_EXP
-# define NV_MAX_10_EXP LDBL_MAX_10_EXP
-# endif
-# ifdef LDBL_EPSILON
-# define NV_EPSILON LDBL_EPSILON
-# endif
-# ifdef LDBL_MAX
-# define NV_MAX LDBL_MAX
-/* Having LDBL_MAX doesn't necessarily mean that we have LDBL_MIN... -Allen */
-# else
-# ifdef HUGE_VALL
-# define NV_MAX HUGE_VALL
-# else
-# ifdef HUGE_VAL
-# define NV_MAX ((NV)HUGE_VAL)
-# endif
-# endif
-# endif
-# ifdef HAS_SQRTL
-# define Perl_cos cosl
-# define Perl_sin sinl
-# define Perl_sqrt sqrtl
-# define Perl_exp expl
-# define Perl_log logl
-# define Perl_atan2 atan2l
-# define Perl_pow powl
-# define Perl_floor floorl
-# define Perl_ceil ceill
-# define Perl_fmod fmodl
-# endif
-/* e.g. libsunmath doesn't have modfl and frexpl as of mid-March 2000 */
-# ifdef HAS_MODFL
-# define Perl_modf(x,y) modfl(x,y)
-/* eg glibc 2.2 series seems to provide modfl on ppc and arm, but has no
- prototype in <math.h> */
-# ifndef HAS_MODFL_PROTO
-EXTERN_C long double modfl(long double, long double *);
-# endif
-# else
-# if defined(HAS_AINTL) && defined(HAS_COPYSIGNL)
- extern long double Perl_my_modfl(long double x, long double *ip);
-# define Perl_modf(x,y) Perl_my_modfl(x,y)
-# endif
-# endif
-# ifdef HAS_FREXPL
-# define Perl_frexp(x,y) frexpl(x,y)
-# else
-# if defined(HAS_ILOGBL) && defined(HAS_SCALBNL)
- extern long double Perl_my_frexpl(long double x, int *e);
-# define Perl_frexp(x,y) Perl_my_frexpl(x,y)
-# endif
-# endif
-# ifndef Perl_isnan
-# ifdef HAS_ISNANL
-# define Perl_isnan(x) isnanl(x)
-# endif
-# endif
-# ifndef Perl_isinf
-# ifdef HAS_FINITEL
-# define Perl_isinf(x) !(finitel(x)||Perl_isnan(x))
-# endif
-# endif
-#else
-# define NV_DIG DBL_DIG
-# ifdef DBL_MANT_DIG
-# define NV_MANT_DIG DBL_MANT_DIG
-# endif
-# ifdef DBL_MIN
-# define NV_MIN DBL_MIN
-# endif
-# ifdef DBL_MAX
-# define NV_MAX DBL_MAX
-# endif
-# ifdef DBL_MIN_10_EXP
-# define NV_MIN_10_EXP DBL_MIN_10_EXP
-# endif
-# ifdef DBL_MAX_10_EXP
-# define NV_MAX_10_EXP DBL_MAX_10_EXP
-# endif
-# ifdef DBL_EPSILON
-# define NV_EPSILON DBL_EPSILON
-# endif
-# ifdef DBL_MAX /* XXX Does DBL_MAX imply having DBL_MIN? */
-# define NV_MAX DBL_MAX
-# define NV_MIN DBL_MIN
-# else
-# ifdef HUGE_VAL
-# define NV_MAX HUGE_VAL
-# endif
-# endif
-# define Perl_cos cos
-# define Perl_sin sin
-# define Perl_sqrt sqrt
-# define Perl_exp exp
-# define Perl_log log
-# define Perl_atan2 atan2
-# define Perl_pow pow
-# define Perl_floor floor
-# define Perl_ceil ceil
-# define Perl_fmod fmod
-# define Perl_modf(x,y) modf(x,y)
-# define Perl_frexp(x,y) frexp(x,y)
-#endif
-
-/* rumor has it that Win32 has _fpclass() */
-
-/* SGI has fpclassl... but not with the same result values,
- * and it's via a typedef (not via #define), so will need to redo Configure
- * to use. Not worth the trouble, IMO, at least until the below is used
- * more places. Also has fp_class_l, BTW, via fp_class.h. Feel free to check
- * with me for the SGI manpages, SGI testing, etcetera, if you want to
- * try getting this to work with IRIX. - Allen <allens@cpan.org> */
-
-#if !defined(Perl_fp_class) && (defined(HAS_FPCLASS)||defined(HAS_FPCLASSL))
-# ifdef I_IEEFP
-# include <ieeefp.h>
-# endif
-# ifdef I_FP
-# include <fp.h>
-# endif
-# if defined(USE_LONG_DOUBLE) && defined(HAS_FPCLASSL)
-# define Perl_fp_class() fpclassl(x)
-# else
-# define Perl_fp_class() fpclass(x)
-# endif
-# define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_CLASS_SNAN)
-# define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_CLASS_QNAN)
-# define Perl_fp_class_nan(x) (Perl_fp_class(x)==FP_CLASS_SNAN||Perl_fp_class(x)==FP_CLASS_QNAN)
-# define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_CLASS_NINF)
-# define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_CLASS_PINF)
-# define Perl_fp_class_inf(x) (Perl_fp_class(x)==FP_CLASS_NINF||Perl_fp_class(x)==FP_CLASS_PINF)
-# define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_CLASS_NNORM)
-# define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_CLASS_PNORM)
-# define Perl_fp_class_norm(x) (Perl_fp_class(x)==FP_CLASS_NNORM||Perl_fp_class(x)==FP_CLASS_PNORM)
-# define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_CLASS_NDENORM)
-# define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_CLASS_PDENORM)
-# define Perl_fp_class_denorm(x) (Perl_fp_class(x)==FP_CLASS_NDENORM||Perl_fp_class(x)==FP_CLASS_PDENORM)
-# define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_CLASS_NZERO)
-# define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_CLASS_PZERO)
-# define Perl_fp_class_zero(x) (Perl_fp_class(x)==FP_CLASS_NZERO||Perl_fp_class(x)==FP_CLASS_PZERO)
-#endif
-
-#if !defined(Perl_fp_class) && defined(HAS_FP_CLASS) && !defined(PERL_MICRO)
-# include <math.h>
-# if !defined(FP_SNAN) && defined(I_FP_CLASS)
-# include <fp_class.h>
-# endif
-# define Perl_fp_class(x) fp_class(x)
-# define Perl_fp_class_snan(x) (fp_class(x)==FP_SNAN)
-# define Perl_fp_class_qnan(x) (fp_class(x)==FP_QNAN)
-# define Perl_fp_class_nan(x) (fp_class(x)==FP_SNAN||fp_class(x)==FP_QNAN)
-# define Perl_fp_class_ninf(x) (fp_class(x)==FP_NEG_INF)
-# define Perl_fp_class_pinf(x) (fp_class(x)==FP_POS_INF)
-# define Perl_fp_class_inf(x) (fp_class(x)==FP_NEG_INF||fp_class(x)==FP_POS_INF)
-# define Perl_fp_class_nnorm(x) (fp_class(x)==FP_NEG_NORM)
-# define Perl_fp_class_pnorm(x) (fp_class(x)==FP_POS_NORM)
-# define Perl_fp_class_norm(x) (fp_class(x)==FP_NEG_NORM||fp_class(x)==FP_POS_NORM)
-# define Perl_fp_class_ndenorm(x) (fp_class(x)==FP_NEG_DENORM)
-# define Perl_fp_class_pdenorm(x) (fp_class(x)==FP_POS_DENORM)
-# define Perl_fp_class_denorm(x) (fp_class(x)==FP_NEG_DENORM||fp_class(x)==FP_POS_DENORM)
-# define Perl_fp_class_nzero(x) (fp_class(x)==FP_NEG_ZERO)
-# define Perl_fp_class_pzero(x) (fp_class(x)==FP_POS_ZERO)
-# define Perl_fp_class_zero(x) (fp_class(x)==FP_NEG_ZERO||fp_class(x)==FP_POS_ZERO)
-#endif
-
-#if !defined(Perl_fp_class) && defined(HAS_FPCLASSIFY)
-# include <math.h>
-# define Perl_fp_class(x) fpclassify(x)
-# define Perl_fp_class_nan(x) (fp_classify(x)==FP_SNAN||fp_classify(x)==FP_QNAN)
-# define Perl_fp_class_inf(x) (fp_classify(x)==FP_INFINITE)
-# define Perl_fp_class_norm(x) (fp_classify(x)==FP_NORMAL)
-# define Perl_fp_class_denorm(x) (fp_classify(x)==FP_SUBNORMAL)
-# define Perl_fp_class_zero(x) (fp_classify(x)==FP_ZERO)
-#endif
-
-#if !defined(Perl_fp_class) && defined(HAS_CLASS)
-# include <math.h>
-# ifndef _cplusplus
-# define Perl_fp_class(x) class(x)
-# else
-# define Perl_fp_class(x) _class(x)
-# endif
-# define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_NANS)
-# define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_NANQ)
-# define Perl_fp_class_nan(x) (Perl_fp_class(x)==FP_SNAN||Perl_fp_class(x)==FP_QNAN)
-# define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_MINUS_INF)
-# define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_PLUS_INF)
-# define Perl_fp_class_inf(x) (Perl_fp_class(x)==FP_MINUS_INF||Perl_fp_class(x)==FP_PLUS_INF)
-# define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_MINUS_NORM)
-# define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_PLUS_NORM)
-# define Perl_fp_class_norm(x) (Perl_fp_class(x)==FP_MINUS_NORM||Perl_fp_class(x)==FP_PLUS_NORM)
-# define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_MINUS_DENORM)
-# define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_PLUS_DENORM)
-# define Perl_fp_class_denorm(x) (Perl_fp_class(x)==FP_MINUS_DENORM||Perl_fp_class(x)==FP_PLUS_DENORM)
-# define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_MINUS_ZERO)
-# define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_PLUS_ZERO)
-# define Perl_fp_class_zero(x) (Perl_fp_class(x)==FP_MINUS_ZERO||Perl_fp_class(x)==FP_PLUS_ZERO)
-#endif
-
-/* rumor has it that Win32 has _isnan() */
-
-#ifndef Perl_isnan
-# ifdef HAS_ISNAN
-# define Perl_isnan(x) isnan((NV)x)
-# else
-# ifdef Perl_fp_class_nan
-# define Perl_isnan(x) Perl_fp_class_nan(x)
-# else
-# ifdef HAS_UNORDERED
-# define Perl_isnan(x) unordered((x), 0.0)
-# else
-# define Perl_isnan(x) ((x)!=(x))
-# endif
-# endif
-# endif
-#endif
-
-#ifdef UNDER_CE
-int isnan(double d);
-#endif
-
-#ifndef Perl_isinf
-# ifdef HAS_ISINF
-# define Perl_isinf(x) isinf((NV)x)
-# else
-# ifdef Perl_fp_class_inf
-# define Perl_isinf(x) Perl_fp_class_inf(x)
-# else
-# define Perl_isinf(x) ((x)==NV_INF)
-# endif
-# endif
-#endif
-
-#ifndef Perl_isfinite
-# ifdef HAS_FINITE
-# define Perl_isfinite(x) finite((NV)x)
-# else
-# ifdef HAS_ISFINITE
-# define Perl_isfinite(x) isfinite(x)
-# else
-# ifdef Perl_fp_class_finite
-# define Perl_isfinite(x) Perl_fp_class_finite(x)
-# else
-# define Perl_isfinite(x) !(Perl_is_inf(x)||Perl_is_nan(x))
-# endif
-# endif
-# endif
-#endif
-
-/* The default is to use Perl's own atof() implementation (in numeric.c).
- * Usually that is the one to use but for some platforms (e.g. UNICOS)
- * it is however best to use the native implementation of atof.
- * You can experiment with using your native one by -DUSE_PERL_ATOF=0.
- * Some good tests to try out with either setting are t/base/num.t,
- * t/op/numconvert.t, and t/op/pack.t. Note that if using long doubles
- * you may need to be using a different function than atof! */
-
-#ifndef USE_PERL_ATOF
-# ifndef _UNICOS
-# define USE_PERL_ATOF
-# endif
-#else
-# if USE_PERL_ATOF == 0
-# undef USE_PERL_ATOF
-# endif
-#endif
-
-#ifdef USE_PERL_ATOF
-# define Perl_atof(s) Perl_my_atof(s)
-# define Perl_atof2(s, n) Perl_my_atof2(aTHX_ (s), &(n))
-#else
-# define Perl_atof(s) (NV)atof(s)
-# define Perl_atof2(s, n) ((n) = atof(s))
-#endif
-
-/* Previously these definitions used hardcoded figures.
- * It is hoped these formula are more portable, although
- * no data one way or another is presently known to me.
- * The "PERL_" names are used because these calculated constants
- * do not meet the ANSI requirements for LONG_MAX, etc., which
- * need to be constants acceptable to #if - kja
- * define PERL_LONG_MAX 2147483647L
- * define PERL_LONG_MIN (-LONG_MAX - 1)
- * define PERL ULONG_MAX 4294967295L
- */
-
-#ifdef I_LIMITS /* Needed for cast_xxx() functions below. */
-# include <limits.h>
-#endif
-/* Included values.h above if necessary; still including limits.h down here,
- * despite doing above, because math.h might have overriden... XXX - Allen */
-
-/*
- * Try to figure out max and min values for the integral types. THE CORRECT
- * SOLUTION TO THIS MESS: ADAPT enquire.c FROM GCC INTO CONFIGURE. The
- * following hacks are used if neither limits.h or values.h provide them:
- * U<TYPE>_MAX: for types >= int: ~(unsigned TYPE)0
- * for types < int: (unsigned TYPE)~(unsigned)0
- * The argument to ~ must be unsigned so that later signed->unsigned
- * conversion can't modify the value's bit pattern (e.g. -0 -> +0),
- * and it must not be smaller than int because ~ does integral promotion.
- * <type>_MAX: (<type>) (U<type>_MAX >> 1)
- * <type>_MIN: -<type>_MAX - <is_twos_complement_architecture: (3 & -1) == 3>.
- * The latter is a hack which happens to work on some machines but
- * does *not* catch any random system, or things like integer types
- * with NaN if that is possible.
- *
- * All of the types are explicitly cast to prevent accidental loss of
- * numeric range, and in the hope that they will be less likely to confuse
- * over-eager optimizers.
- *
- */
-
-#define PERL_UCHAR_MIN ((unsigned char)0)
-
-#ifdef UCHAR_MAX
-# define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
-#else
-# ifdef MAXUCHAR
-# define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
-# else
-# define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0)
-# endif
-#endif
-
-/*
- * CHAR_MIN and CHAR_MAX are not included here, as the (char) type may be
- * ambiguous. It may be equivalent to (signed char) or (unsigned char)
- * depending on local options. Until Configure detects this (or at least
- * detects whether the "signed" keyword is available) the CHAR ranges
- * will not be included. UCHAR functions normally.
- * - kja
- */
-
-#define PERL_USHORT_MIN ((unsigned short)0)
-
-#ifdef USHORT_MAX
-# define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
-#else
-# ifdef MAXUSHORT
-# define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
-# else
-# ifdef USHRT_MAX
-# define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
-# else
-# define PERL_USHORT_MAX ((unsigned short)~(unsigned)0)
-# endif
-# endif
-#endif
-
-#ifdef SHORT_MAX
-# define PERL_SHORT_MAX ((short)SHORT_MAX)
-#else
-# ifdef MAXSHORT /* Often used in <values.h> */
-# define PERL_SHORT_MAX ((short)MAXSHORT)
-# else
-# ifdef SHRT_MAX
-# define PERL_SHORT_MAX ((short)SHRT_MAX)
-# else
-# define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX >> 1))
-# endif
-# endif
-#endif
-
-#ifdef SHORT_MIN
-# define PERL_SHORT_MIN ((short)SHORT_MIN)
-#else
-# ifdef MINSHORT
-# define PERL_SHORT_MIN ((short)MINSHORT)
-# else
-# ifdef SHRT_MIN
-# define PERL_SHORT_MIN ((short)SHRT_MIN)
-# else
-# define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 & -1) == 3))
-# endif
-# endif
-#endif
-
-#ifdef UINT_MAX
-# define PERL_UINT_MAX ((unsigned int)UINT_MAX)
-#else
-# ifdef MAXUINT
-# define PERL_UINT_MAX ((unsigned int)MAXUINT)
-# else
-# define PERL_UINT_MAX (~(unsigned int)0)
-# endif
-#endif
-
-#define PERL_UINT_MIN ((unsigned int)0)
-
-#ifdef INT_MAX
-# define PERL_INT_MAX ((int)INT_MAX)
-#else
-# ifdef MAXINT /* Often used in <values.h> */
-# define PERL_INT_MAX ((int)MAXINT)
-# else
-# define PERL_INT_MAX ((int)(PERL_UINT_MAX >> 1))
-# endif
-#endif
-
-#ifdef INT_MIN
-# define PERL_INT_MIN ((int)INT_MIN)
-#else
-# ifdef MININT
-# define PERL_INT_MIN ((int)MININT)
-# else
-# define PERL_INT_MIN (-PERL_INT_MAX - ((3 & -1) == 3))
-# endif
-#endif
-
-#ifdef ULONG_MAX
-# define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
-#else
-# ifdef MAXULONG
-# define PERL_ULONG_MAX ((unsigned long)MAXULONG)
-# else
-# define PERL_ULONG_MAX (~(unsigned long)0)
-# endif
-#endif
-
-#define PERL_ULONG_MIN ((unsigned long)0L)
-
-#ifdef LONG_MAX
-# define PERL_LONG_MAX ((long)LONG_MAX)
-#else
-# ifdef MAXLONG /* Often used in <values.h> */
-# define PERL_LONG_MAX ((long)MAXLONG)
-# else
-# define PERL_LONG_MAX ((long) (PERL_ULONG_MAX >> 1))
-# endif
-#endif
-
-#ifdef LONG_MIN
-# define PERL_LONG_MIN ((long)LONG_MIN)
-#else
-# ifdef MINLONG
-# define PERL_LONG_MIN ((long)MINLONG)
-# else
-# define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 & -1) == 3))
-# endif
-#endif
-
-#ifdef UV_IS_QUAD
-
-# define PERL_UQUAD_MAX (~(UV)0)
-# define PERL_UQUAD_MIN ((UV)0)
-# define PERL_QUAD_MAX ((IV) (PERL_UQUAD_MAX >> 1))
-# define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3))
-
-#endif
-
-#ifdef MYMALLOC
-# include "malloc_ctl.h"
-#endif
-
-struct RExC_state_t;
-struct _reg_trie_data;
-
-typedef MEM_SIZE STRLEN;
-
-#ifdef PERL_MAD
-typedef struct token TOKEN;
-typedef struct madprop MADPROP;
-typedef struct nexttoken NEXTTOKE;
-#endif
-typedef struct op OP;
-typedef struct cop COP;
-typedef struct unop UNOP;
-typedef struct binop BINOP;
-typedef struct listop LISTOP;
-typedef struct logop LOGOP;
-typedef struct pmop PMOP;
-typedef struct svop SVOP;
-typedef struct padop PADOP;
-typedef struct pvop PVOP;
-typedef struct loop LOOP;
-
-typedef struct interpreter PerlInterpreter;
-
-/* Amdahl's <ksync.h> has struct sv */
-/* SGI's <sys/sema.h> has struct sv */
-#if defined(UTS) || defined(__sgi)
-# define STRUCT_SV perl_sv
-#else
-# define STRUCT_SV sv
-#endif
-typedef struct STRUCT_SV SV;
-typedef struct av AV;
-typedef struct hv HV;
-typedef struct cv CV;
-typedef struct regexp REGEXP;
-typedef struct gp GP;
-typedef struct gv GV;
-typedef struct io IO;
-typedef struct context PERL_CONTEXT;
-typedef struct block BLOCK;
-
-typedef struct magic MAGIC;
-typedef struct xpv XPV;
-typedef struct xpviv XPVIV;
-typedef struct xpvuv XPVUV;
-typedef struct xpvnv XPVNV;
-typedef struct xpvmg XPVMG;
-typedef struct xpvlv XPVLV;
-typedef struct xpvav XPVAV;
-typedef struct xpvhv XPVHV;
-typedef struct xpvgv XPVGV;
-typedef struct xpvcv XPVCV;
-typedef struct xpvbm XPVBM;
-typedef struct xpvfm XPVFM;
-typedef struct xpvio XPVIO;
-typedef struct mgvtbl MGVTBL;
-typedef union any ANY;
-typedef struct ptr_tbl_ent PTR_TBL_ENT_t;
-typedef struct ptr_tbl PTR_TBL_t;
-typedef struct clone_params CLONE_PARAMS;
-
-#include "handy.h"
-
-#if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_RAWIO)
-# if LSEEKSIZE == 8 && !defined(USE_64_BIT_RAWIO)
-# define USE_64_BIT_RAWIO /* implicit */
-# endif
-#endif
-
-/* Notice the use of HAS_FSEEKO: now we are obligated to always use
- * fseeko/ftello if possible. Don't go #defining ftell to ftello yourself,
- * however, because operating systems like to do that themself. */
-#ifndef FSEEKSIZE
-# ifdef HAS_FSEEKO
-# define FSEEKSIZE LSEEKSIZE
-# else
-# define FSEEKSIZE LONGSIZE
-# endif
-#endif
-
-#if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_STDIO)
-# if FSEEKSIZE == 8 && !defined(USE_64_BIT_STDIO)
-# define USE_64_BIT_STDIO /* implicit */
-# endif
-#endif
-
-#ifdef USE_64_BIT_RAWIO
-# ifdef HAS_OFF64_T
-# undef Off_t
-# define Off_t off64_t
-# undef LSEEKSIZE
-# define LSEEKSIZE 8
-# endif
-/* Most 64-bit environments have defines like _LARGEFILE_SOURCE that
- * will trigger defines like the ones below. Some 64-bit environments,
- * however, do not. Therefore we have to explicitly mix and match. */
-# if defined(USE_OPEN64)
-# define open open64
-# endif
-# if defined(USE_LSEEK64)
-# define lseek lseek64
-# else
-# if defined(USE_LLSEEK)
-# define lseek llseek
-# endif
-# endif
-# if defined(USE_STAT64)
-# define stat stat64
-# endif
-# if defined(USE_FSTAT64)
-# define fstat fstat64
-# endif
-# if defined(USE_LSTAT64)
-# define lstat lstat64
-# endif
-# if defined(USE_FLOCK64)
-# define flock flock64
-# endif
-# if defined(USE_LOCKF64)
-# define lockf lockf64
-# endif
-# if defined(USE_FCNTL64)
-# define fcntl fcntl64
-# endif
-# if defined(USE_TRUNCATE64)
-# define truncate truncate64
-# endif
-# if defined(USE_FTRUNCATE64)
-# define ftruncate ftruncate64
-# endif
-#endif
-
-#ifdef USE_64_BIT_STDIO
-# ifdef HAS_FPOS64_T
-# undef Fpos_t
-# define Fpos_t fpos64_t
-# endif
-/* Most 64-bit environments have defines like _LARGEFILE_SOURCE that
- * will trigger defines like the ones below. Some 64-bit environments,
- * however, do not. */
-# if defined(USE_FOPEN64)
-# define fopen fopen64
-# endif
-# if defined(USE_FSEEK64)
-# define fseek fseek64 /* don't do fseeko here, see perlio.c */
-# endif
-# if defined(USE_FTELL64)
-# define ftell ftell64 /* don't do ftello here, see perlio.c */
-# endif
-# if defined(USE_FSETPOS64)
-# define fsetpos fsetpos64
-# endif
-# if defined(USE_FGETPOS64)
-# define fgetpos fgetpos64
-# endif
-# if defined(USE_TMPFILE64)
-# define tmpfile tmpfile64
-# endif
-# if defined(USE_FREOPEN64)
-# define freopen freopen64
-# endif
-#endif
-
-#if defined(OS2) || defined(MACOS_TRADITIONAL)
-# include "iperlsys.h"
-#endif
-
-#if defined(__OPEN_VM)
-# include "vmesa/vmesaish.h"
-# define ISHISH "vmesa"
-#endif
-
-#ifdef DOSISH
-# if defined(OS2)
-# include "os2ish.h"
-# else
-# include "dosish.h"
-# endif
-# define ISHISH "dos"
-#endif
-
-#if defined(VMS)
-# include "vmsish.h"
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
-# define ISHISH "vms"
-#endif
-
-#if defined(PLAN9)
-# include "./plan9/plan9ish.h"
-# define ISHISH "plan9"
-#endif
-
-#if defined(MPE)
-# include "mpeix/mpeixish.h"
-# define ISHISH "mpeix"
-#endif
-
-#if defined(__VOS__)
-# ifdef __GNUC__
-# include "./vos/vosish.h"
-# else
-# include "vos/vosish.h"
-# endif
-# define ISHISH "vos"
-#endif
-
-#if defined(EPOC)
-# include "epocish.h"
-# define ISHISH "epoc"
-#endif
-
-#ifdef __SYMBIAN32__
-# include "symbian/symbianish.h"
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
-# define ISHISH "symbian"
-#endif
-
-#if defined(MACOS_TRADITIONAL)
-# include "macos/macish.h"
-# ifndef NO_ENVIRON_ARRAY
-# define NO_ENVIRON_ARRAY
-# endif
-# define ISHISH "macos classic"
-#endif
-
-#if defined(__BEOS__)
-# include "beos/beosish.h"
-# define ISHISH "beos"
-#endif
-
-#ifndef ISHISH
-# include "unixish.h"
-# define ISHISH "unix"
-#endif
-
-/* NSIG logic from Configure --> */
-/* Strange style to avoid deeply-nested #if/#else/#endif */
-#ifndef NSIG
-# ifdef _NSIG
-# define NSIG (_NSIG)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef SIGMAX
-# define NSIG (SIGMAX+1)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef SIG_MAX
-# define NSIG (SIG_MAX+1)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef _SIG_MAX
-# define NSIG (_SIG_MAX+1)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef MAXSIG
-# define NSIG (MAXSIG+1)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef MAX_SIG
-# define NSIG (MAX_SIG+1)
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef SIGARRAYSIZE
-# define NSIG SIGARRAYSIZE /* Assume ary[SIGARRAYSIZE] */
-# endif
-#endif
-
-#ifndef NSIG
-# ifdef _sys_nsig
-# define NSIG (_sys_nsig) /* Solaris 2.5 */
-# endif
-#endif
-
-/* Default to some arbitrary number that's big enough to get most
- of the common signals.
-*/
-#ifndef NSIG
-# define NSIG 50
-#endif
-/* <-- NSIG logic from Configure */
-
-#ifndef NO_ENVIRON_ARRAY
-# define USE_ENVIRON_ARRAY
-#endif
-
-/*
- * initialise to avoid floating-point exceptions from overflow, etc
- */
-#ifndef PERL_FPU_INIT
-# ifdef HAS_FPSETMASK
-# if HAS_FLOATINGPOINT_H
-# include <floatingpoint.h>
-# endif
-/* Some operating systems have this as a macro, which in turn expands to a comma
- expression, and the last sub-expression is something that gets calculated,
- and then they have the gall to warn that a value computed is not used. Hence
- cast to void. */
-# define PERL_FPU_INIT (void)fpsetmask(0)
-# else
-# if defined(SIGFPE) && defined(SIG_IGN) && !defined(PERL_MICRO)
-# define PERL_FPU_INIT PL_sigfpe_saved = (Sighandler_t) signal(SIGFPE, SIG_IGN)
-# define PERL_FPU_PRE_EXEC { Sigsave_t xfpe; rsignal_save(SIGFPE, PL_sigfpe_saved, &xfpe);
-# define PERL_FPU_POST_EXEC rsignal_restore(SIGFPE, &xfpe); }
-# else
-# define PERL_FPU_INIT
-
-# endif
-# endif
-#endif
-#ifndef PERL_FPU_PRE_EXEC
-# define PERL_FPU_PRE_EXEC {
-# define PERL_FPU_POST_EXEC }
-#endif
-
-#ifndef PERL_SYS_INIT3_BODY
-# define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
-#endif
-
-#define PERL_SYS_INIT(argc, argv) Perl_sys_init(argc, argv)
-#define PERL_SYS_INIT3(argc, argv, env) Perl_sys_init3(argc, argv, env)
-#define PERL_SYS_TERM() Perl_sys_term()
-
-#ifndef PERL_WRITE_MSG_TO_CONSOLE
-# define PERL_WRITE_MSG_TO_CONSOLE(io, msg, len) PerlIO_write(io, msg, len)
-#endif
-
-#ifndef MAXPATHLEN
-# ifdef PATH_MAX
-# ifdef _POSIX_PATH_MAX
-# if PATH_MAX > _POSIX_PATH_MAX
-/* POSIX 1990 (and pre) was ambiguous about whether PATH_MAX
- * included the null byte or not. Later amendments of POSIX,
- * XPG4, the Austin Group, and the Single UNIX Specification
- * all explicitly include the null byte in the PATH_MAX.
- * Ditto for _POSIX_PATH_MAX. */
-# define MAXPATHLEN PATH_MAX
-# else
-# define MAXPATHLEN _POSIX_PATH_MAX
-# endif
-# else
-# define MAXPATHLEN (PATH_MAX+1)
-# endif
-# else
-# ifdef _POSIX_PATH_MAX
-# define MAXPATHLEN _POSIX_PATH_MAX
-# else
-# define MAXPATHLEN 1024 /* Err on the large side. */
-# endif
-# endif
-#endif
-
-/* In case Configure was not used (we are using a "canned config"
- * such as Win32, or a cross-compilation setup, for example) try going
- * by the gcc major and minor versions. One useful URL is
- * http://www.ohse.de/uwe/articles/gcc-attributes.html,
- * but contrary to this information warn_unused_result seems
- * not to be in gcc 3.3.5, at least. --jhi
- * Also, when building extensions with an installed perl, this allows
- * the user to upgrade gcc and get the right attributes, rather than
- * relying on the list generated at Configure time. --AD
- * Set these up now otherwise we get confused when some of the <*thread.h>
- * includes below indirectly pull in <perlio.h> (which needs to know if we
- * have HASATTRIBUTE_FORMAT).
- */
-
-#ifndef PERL_MICRO
-#if defined __GNUC__ && !defined(__INTEL_COMPILER)
-# if __GNUC__ >= 3 /* 3.0 -> */ /* XXX Verify this version */
-# define HASATTRIBUTE_FORMAT
-# if defined __MINGW32__
-# define PRINTF_FORMAT_NULL_OK
-# endif
-# endif
-# if __GNUC__ >= 3 /* 3.0 -> */
-# define HASATTRIBUTE_MALLOC
-# endif
-# if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 /* 3.3 -> */
-# define HASATTRIBUTE_NONNULL
-# endif
-# if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 || __GNUC__ > 2 /* 2.5 -> */
-# define HASATTRIBUTE_NORETURN
-# endif
-# if __GNUC__ >= 3 /* gcc 3.0 -> */
-# define HASATTRIBUTE_PURE
-# endif
-# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */
-# define HASATTRIBUTE_UNUSED
-# endif
-# if __GNUC__ == 3 && __GNUC_MINOR__ == 3 && !defined(__cplusplus)
-# define HASATTRIBUTE_UNUSED /* gcc-3.3, but not g++-3.3. */
-# endif
-# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */
-# define HASATTRIBUTE_WARN_UNUSED_RESULT
-# endif
-#endif
-#endif /* #ifndef PERL_MICRO */
-
-/* USE_5005THREADS needs to be after unixish.h as <pthread.h> includes
- * <sys/signal.h> which defines NSIG - which will stop inclusion of <signal.h>
- * this results in many functions being undeclared which bothers C++
- * May make sense to have threads after "*ish.h" anyway
- */
-
-#if defined(USE_ITHREADS)
-# ifdef NETWARE
-# include <nw5thread.h>
-# else
-# ifdef FAKE_THREADS
-# include "fakethr.h"
-# else
-# ifdef WIN32
-# include <win32thread.h>
-# else
-# ifdef OS2
-# include "os2thread.h"
-# else
-# ifdef I_MACH_CTHREADS
-# include <mach/cthreads.h>
-# if (defined(NeXT) || defined(__NeXT__)) && defined(PERL_POLLUTE_MALLOC)
-# define MUTEX_INIT_CALLS_MALLOC
-# endif
-typedef cthread_t perl_os_thread;
-typedef mutex_t perl_mutex;
-typedef condition_t perl_cond;
-typedef void * perl_key;
-# else /* Posix threads */
-# ifdef I_PTHREAD
-# include <pthread.h>
-# endif
-typedef pthread_t perl_os_thread;
-typedef pthread_mutex_t perl_mutex;
-typedef pthread_cond_t perl_cond;
-typedef pthread_key_t perl_key;
-# endif /* I_MACH_CTHREADS */
-# endif /* OS2 */
-# endif /* WIN32 */
-# endif /* FAKE_THREADS */
-#endif /* NETWARE */
-#endif /* USE_ITHREADS */
-
-#if defined(WIN32)
-# include "win32.h"
-#endif
-
-#ifdef NETWARE
-# include "netware.h"
-#endif
-
-#define STATUS_UNIX PL_statusvalue
-#ifdef VMS
-# define STATUS_NATIVE PL_statusvalue_vms
-/*
- * vaxc$errno is only guaranteed to be valid if errno == EVMSERR, otherwise
- * its contents can not be trusted. Unfortunately, Perl seems to check
- * it on exit, so it when PL_statusvalue_vms is updated, vaxc$errno should
- * be updated also.
- */
-# include <stsdef.h>
-# include <ssdef.h>
-/* Presume this because if VMS changes it, it will require a new
- * set of APIs for waiting on children for binary compatibility.
- */
-# define child_offset_bits (8)
-# ifndef C_FAC_POSIX
-# define C_FAC_POSIX 0x35A000
-# endif
-
-/* STATUS_EXIT - validates and returns a NATIVE exit status code for the
- * platform from the existing UNIX or Native status values.
- */
-
-# define STATUS_EXIT \
- (((I32)PL_statusvalue_vms == -1 ? SS$_ABORT : PL_statusvalue_vms) | \
- (VMSISH_HUSHED ? STS$M_INHIB_MSG : 0))
-
-
-/* STATUS_NATIVE_CHILD_SET - Calculate UNIX status that matches the child
- * exit code and shifts the UNIX value over the correct number of bits to
- * be a child status. Usually the number of bits is 8, but that could be
- * platform dependent. The NATIVE status code is presumed to have either
- * from a child process.
- */
-
-/* This is complicated. The child processes return a true native VMS
- status which must be saved. But there is an assumption in Perl that
- the UNIX child status has some relationship to errno values, so
- Perl tries to translate it to text in some of the tests.
- In order to get the string translation correct, for the error, errno
- must be EVMSERR, but that generates a different text message
- than what the test programs are expecting. So an errno value must
- be derived from the native status value when an error occurs.
- That will hide the true native status message. With this version of
- perl, the true native child status can always be retrieved so that
- is not a problem. But in this case, Pl_statusvalue and errno may
- have different values in them.
- */
-
-# define STATUS_NATIVE_CHILD_SET(n) \
- STMT_START { \
- I32 evalue = (I32)n; \
- if (evalue == EVMSERR) { \
- PL_statusvalue_vms = vaxc$errno; \
- PL_statusvalue = evalue; \
- } else { \
- PL_statusvalue_vms = evalue; \
- if (evalue == -1) { \
- PL_statusvalue = -1; \
- PL_statusvalue_vms = SS$_ABORT; /* Should not happen */ \
- } else \
- PL_statusvalue = Perl_vms_status_to_unix(evalue, 1); \
- set_vaxc_errno(evalue); \
- if ((PL_statusvalue_vms & C_FAC_POSIX) == C_FAC_POSIX) \
- set_errno(EVMSERR); \
- else set_errno(Perl_vms_status_to_unix(evalue, 0)); \
- PL_statusvalue = PL_statusvalue << child_offset_bits; \
- } \
- } STMT_END
-
-# ifdef VMSISH_STATUS
-# define STATUS_CURRENT (VMSISH_STATUS ? STATUS_NATIVE : STATUS_UNIX)
-# else
-# define STATUS_CURRENT STATUS_UNIX
-# endif
-
- /* STATUS_UNIX_SET - takes a UNIX/POSIX errno value and attempts to update
- * the NATIVE status to an equivalent value. Can not be used to translate
- * exit code values as exit code values are not guaranteed to have any
- * relationship at all to errno values.
- * This is used when Perl is forcing errno to have a specific value.
- */
-# define STATUS_UNIX_SET(n) \
- STMT_START { \
- I32 evalue = (I32)n; \
- PL_statusvalue = evalue; \
- if (PL_statusvalue != -1) { \
- if (PL_statusvalue != EVMSERR) { \
- PL_statusvalue &= 0xFFFF; \
- if (MY_POSIX_EXIT) \
- PL_statusvalue_vms=PL_statusvalue ? SS$_ABORT : SS$_NORMAL;\
- else PL_statusvalue_vms = Perl_unix_status_to_vms(evalue); \
- } \
- else { \
- PL_statusvalue_vms = vaxc$errno; \
- } \
- } \
- else PL_statusvalue_vms = SS$_ABORT; \
- set_vaxc_errno(PL_statusvalue_vms); \
- } STMT_END
-
- /* STATUS_UNIX_EXIT_SET - Takes a UNIX/POSIX exit code and sets
- * the NATIVE error status based on it. It does not assume that
- * the UNIX/POSIX exit codes have any relationship to errno, except
- * that 0 indicates a success. When in the default mode to comply
- * with the Perl VMS documentation, any other code sets the NATIVE
- * status to a failure code of SS$_ABORT.
- *
- * In the new POSIX EXIT mode, native status will be set so that the
- * actual exit code will can be retrieved by the calling program or
- * shell.
- *
- * If the exit code is not clearly a UNIX parent or child exit status,
- * it will be passed through as a VMS status.
- */
-
-# define STATUS_UNIX_EXIT_SET(n) \
- STMT_START { \
- I32 evalue = (I32)n; \
- PL_statusvalue = evalue; \
- if (evalue != -1) { \
- if (evalue <= 0xFF00) { \
- if (evalue > 0xFF) \
- evalue = (evalue >> child_offset_bits) & 0xFF; \
- if (evalue == 0) \
- PL_statusvalue_vms == SS$_NORMAL; \
- else \
- if (MY_POSIX_EXIT) \
- PL_statusvalue_vms = \
- (C_FAC_POSIX | (evalue << 3 ) | (evalue == 1)? \
- (STS$K_ERROR | STS$M_INHIB_MSG) : 1); \
- else \
- PL_statusvalue_vms = SS$_ABORT; \
- } else { /* forgive them Perl, for they have sinned */ \
- if (evalue != EVMSERR) PL_statusvalue_vms = evalue; \
- else PL_statusvalue_vms = vaxc$errno; \
- /* And obviously used a VMS status value instead of UNIX */ \
- PL_statusvalue = EVMSERR; \
- } \
- } \
- else PL_statusvalue_vms = SS$_ABORT; \
- set_vaxc_errno(PL_statusvalue_vms); \
- } STMT_END
-
- /* STATUS_EXIT_SET - Takes a NATIVE/UNIX/POSIX exit code
- * and sets the NATIVE error status based on it. This special case
- * is needed to maintain compatibility with past VMS behavior.
- *
- * In the default mode on VMS, this number is passed through as
- * both the NATIVE and UNIX status. Which makes it different
- * that the STATUS_UNIX_EXIT_SET.
- *
- * In the new POSIX EXIT mode, native status will be set so that the
- * actual exit code will can be retrieved by the calling program or
- * shell.
- *
- */
-
-# define STATUS_EXIT_SET(n) \
- STMT_START { \
- I32 evalue = (I32)n; \
- PL_statusvalue = evalue; \
- if (MY_POSIX_EXIT) \
- PL_statusvalue_vms = \
- (C_FAC_POSIX | (evalue << 3 ) | (evalue == 1)? \
- (STS$K_ERROR | STS$M_INHIB_MSG) : 1); \
- else \
- PL_statusvalue_vms = evalue ? evalue : SS$_NORMAL; \
- set_vaxc_errno(PL_statusvalue_vms); \
- } STMT_END
-
-
- /* This macro forces a success status */
-# define STATUS_ALL_SUCCESS \
- (PL_statusvalue = 0, PL_statusvalue_vms = SS$_NORMAL)
-
- /* This macro forces a failure status */
-# define STATUS_ALL_FAILURE (PL_statusvalue = 1, \
- vaxc$errno = PL_statusvalue_vms = MY_POSIX_EXIT ? \
- (C_FAC_POSIX | (1 << 3) | STS$K_ERROR | STS$M_INHIB_MSG) : SS$_ABORT)
-
-#else
-# define STATUS_NATIVE PL_statusvalue_posix
-# if defined(WCOREDUMP)
-# define STATUS_NATIVE_CHILD_SET(n) \
- STMT_START { \
- PL_statusvalue_posix = (n); \
- if (PL_statusvalue_posix == -1) \
- PL_statusvalue = -1; \
- else { \
- PL_statusvalue = \
- (WIFEXITED(PL_statusvalue_posix) ? (WEXITSTATUS(PL_statusvalue_posix) << 8) : 0) | \
- (WIFSIGNALED(PL_statusvalue_posix) ? (WTERMSIG(PL_statusvalue_posix) & 0x7F) : 0) | \
- (WIFSIGNALED(PL_statusvalue_posix) && WCOREDUMP(PL_statusvalue_posix) ? 0x80 : 0); \
- } \
- } STMT_END
-# elif defined(WIFEXITED)
-# define STATUS_NATIVE_CHILD_SET(n) \
- STMT_START { \
- PL_statusvalue_posix = (n); \
- if (PL_statusvalue_posix == -1) \
- PL_statusvalue = -1; \
- else { \
- PL_statusvalue = \
- (WIFEXITED(PL_statusvalue_posix) ? (WEXITSTATUS(PL_statusvalue_posix) << 8) : 0) | \
- (WIFSIGNALED(PL_statusvalue_posix) ? (WTERMSIG(PL_statusvalue_posix) & 0x7F) : 0); \
- } \
- } STMT_END
-# else
-# define STATUS_NATIVE_CHILD_SET(n) \
- STMT_START { \
- PL_statusvalue_posix = (n); \
- if (PL_statusvalue_posix == -1) \
- PL_statusvalue = -1; \
- else { \
- PL_statusvalue = \
- PL_statusvalue_posix & 0xFFFF; \
- } \
- } STMT_END
-# endif
-# define STATUS_UNIX_SET(n) \
- STMT_START { \
- PL_statusvalue = (n); \
- if (PL_statusvalue != -1) \
- PL_statusvalue &= 0xFFFF; \
- } STMT_END
-# define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
-# define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
-# define STATUS_CURRENT STATUS_UNIX
-# define STATUS_EXIT STATUS_UNIX
-# define STATUS_ALL_SUCCESS (PL_statusvalue = 0, PL_statusvalue_posix = 0)
-# define STATUS_ALL_FAILURE (PL_statusvalue = 1, PL_statusvalue_posix = 1)
-#endif
-
-/* flags in PL_exit_flags for nature of exit() */
-#define PERL_EXIT_EXPECTED 0x01
-#define PERL_EXIT_DESTRUCT_END 0x02 /* Run END in perl_destruct */
-
-#ifndef MEMBER_TO_FPTR
-# define MEMBER_TO_FPTR(name) name
-#endif
-
-/* format to use for version numbers in file/directory names */
-/* XXX move to Configure? */
-#ifndef PERL_FS_VER_FMT
-# define PERL_FS_VER_FMT "%d.%d.%d"
-#endif
-
-/* This defines a way to flush all output buffers. This may be a
- * performance issue, so we allow people to disable it. Also, if
- * we are using stdio, there are broken implementations of fflush(NULL)
- * out there, Solaris being the most prominent.
- */
-#ifndef PERL_FLUSHALL_FOR_CHILD
-# if defined(USE_PERLIO) || defined(FFLUSH_NULL) || defined(USE_SFIO)
-# define PERL_FLUSHALL_FOR_CHILD PerlIO_flush((PerlIO*)NULL)
-# else
-# ifdef FFLUSH_ALL
-# define PERL_FLUSHALL_FOR_CHILD my_fflush_all()
-# else
-# define PERL_FLUSHALL_FOR_CHILD NOOP
-# endif
-# endif
-#endif
-
-#ifndef PERL_WAIT_FOR_CHILDREN
-# define PERL_WAIT_FOR_CHILDREN NOOP
-#endif
-
-/* the traditional thread-unsafe notion of "current interpreter". */
-#ifndef PERL_SET_INTERP
-# define PERL_SET_INTERP(i) (PL_curinterp = (PerlInterpreter*)(i))
-#endif
-
-#ifndef PERL_GET_INTERP
-# define PERL_GET_INTERP (PL_curinterp)
-#endif
-
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_GET_THX)
-# ifdef MULTIPLICITY
-# define PERL_GET_THX ((PerlInterpreter *)PERL_GET_CONTEXT)
-# endif
-# define PERL_SET_THX(t) PERL_SET_CONTEXT(t)
-#endif
-
-/*
- This replaces the previous %_ "hack" by the "%p" hacks.
- All that is required is that the perl source does not
- use "%-p" or "%-<number>p" or "%<number>p" formats.
- These formats will still work in perl code.
- See comments in sv.c for futher details.
-
- Robin Barker 2005-07-14
-
- No longer use %1p for VDf = %vd. RMB 2007-10-19
-*/
-
-#ifndef SVf_
-# define SVf_(n) "-" STRINGIFY(n) "p"
-#endif
-
-#ifndef SVf
-# define SVf "-p"
-#endif
-
-#ifndef SVf32
-# define SVf32 SVf_(32)
-#endif
-
-#ifndef SVf256
-# define SVf256 SVf_(256)
-#endif
-
-#define SVfARG(p) ((void*)(p))
-
-#ifdef PERL_CORE
-/* not used; but needed for backward compatibilty with XS code? - RMB */
-# undef VDf
-#else
-# ifndef VDf
-# define VDf "vd"
-# endif
-#endif
-
-#ifdef PERL_CORE
-/* not used; but needed for backward compatibilty with XS code? - RMB */
-# undef UVf
-#else
-# ifndef UVf
-# define UVf UVuf
-# endif
-#endif
-
-#ifdef HASATTRIBUTE_FORMAT
-# define __attribute__format__(x,y,z) __attribute__((format(x,y,z)))
-#endif
-#ifdef HASATTRIBUTE_MALLOC
-# define __attribute__malloc__ __attribute__((__malloc__))
-#endif
-#ifdef HASATTRIBUTE_NONNULL
-# define __attribute__nonnull__(a) __attribute__((nonnull(a)))
-#endif
-#ifdef HASATTRIBUTE_NORETURN
-# define __attribute__noreturn__ __attribute__((noreturn))
-#endif
-#ifdef HASATTRIBUTE_PURE
-# define __attribute__pure__ __attribute__((pure))
-#endif
-#ifdef HASATTRIBUTE_UNUSED
-# define __attribute__unused__ __attribute__((unused))
-#endif
-#ifdef HASATTRIBUTE_WARN_UNUSED_RESULT
-# define __attribute__warn_unused_result__ __attribute__((warn_unused_result))
-#endif
-
-/* If we haven't defined the attributes yet, define them to blank. */
-#ifndef __attribute__format__
-# define __attribute__format__(x,y,z)
-#endif
-#ifndef __attribute__malloc__
-# define __attribute__malloc__
-#endif
-#ifndef __attribute__nonnull__
-# define __attribute__nonnull__(a)
-#endif
-#ifndef __attribute__noreturn__
-# define __attribute__noreturn__
-#endif
-#ifndef __attribute__pure__
-# define __attribute__pure__
-#endif
-#ifndef __attribute__unused__
-# define __attribute__unused__
-#endif
-#ifndef __attribute__warn_unused_result__
-# define __attribute__warn_unused_result__
-#endif
-
-/* For functions that are marked as __attribute__noreturn__, it's not
- appropriate to call return. In either case, include the lint directive.
- */
-#ifdef HASATTRIBUTE_NORETURN
-# define NORETURN_FUNCTION_END /* NOTREACHED */
-#else
-# define NORETURN_FUNCTION_END /* NOTREACHED */ return 0
-#endif
-
-/* Some OS warn on NULL format to printf */
-#ifdef PRINTF_FORMAT_NULL_OK
-# define __attribute__format__null_ok__(x,y,z) __attribute__format__(x,y,z)
-#else
-# define __attribute__format__null_ok__(x,y,z)
-#endif
-
-#ifdef HAS_BUILTIN_EXPECT
-# define EXPECT(expr,val) __builtin_expect(expr,val)
-#else
-# define EXPECT(expr,val) (expr)
-#endif
-#define LIKELY(cond) EXPECT(cond,1)
-#define UNLIKELY(cond) EXPECT(cond,0)
-#ifdef HAS_BUILTIN_CHOOSE_EXPR
-/* placeholder */
-#endif
-
-/* Some unistd.h's give a prototype for pause() even though
- HAS_PAUSE ends up undefined. This causes the #define
- below to be rejected by the compiler. Sigh.
-*/
-#ifdef HAS_PAUSE
-#define Pause pause
-#else
-#define Pause() sleep((32767<<16)+32767)
-#endif
-
-#ifndef IOCPARM_LEN
-# ifdef IOCPARM_MASK
- /* on BSDish systems we're safe */
-# define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
-# else
-# if defined(_IOC_SIZE) && defined(__GLIBC__)
- /* on Linux systems we're safe; except when we're not [perl #38223] */
-# define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x))
-# else
- /* otherwise guess at what's safe */
-# define IOCPARM_LEN(x) 256
-# endif
-# endif
-#endif
-
-#if defined(__CYGWIN__)
-/* USEMYBINMODE
- * This symbol, if defined, indicates that the program should
- * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure
- * that a file is in "binary" mode -- that is, that no translation
- * of bytes occurs on read or write operations.
- */
-# define USEMYBINMODE /**/
-# include <io.h> /* for setmode() prototype */
-# define my_binmode(fp, iotype, mode) \
- (PerlLIO_setmode(fileno(fp), mode) != -1 ? TRUE : FALSE)
-#endif
-
-#ifdef __CYGWIN__
-void init_os_extras(void);
-#endif
-
-#ifdef UNION_ANY_DEFINITION
-UNION_ANY_DEFINITION;
-#else
-union any {
- void* any_ptr;
- I32 any_i32;
- IV any_iv;
- long any_long;
- bool any_bool;
- void (*any_dptr) (void*);
- void (*any_dxptr) (pTHX_ void*);
-};
-#endif
-
-typedef I32 (*filter_t) (pTHX_ int, SV *, int);
-
-#define FILTER_READ(idx, sv, len) filter_read(idx, sv, len)
-#define FILTER_DATA(idx) \
- (PL_parser ? AvARRAY(PL_parser->rsfp_filters)[idx] : NULL)
-#define FILTER_ISREADER(idx) \
- (PL_parser && PL_parser->rsfp_filters \
- && idx >= AvFILLp(PL_parser->rsfp_filters))
-#define PERL_FILTER_EXISTS(i) \
- (PL_parser && PL_parser->rsfp_filters \
- && (i) <= av_len(PL_parser->rsfp_filters))
-
-#if defined(_AIX) && !defined(_AIX43)
-#if defined(USE_REENTRANT) || defined(_REENTRANT) || defined(_THREAD_SAFE)
-/* We cannot include <crypt.h> to get the struct crypt_data
- * because of setkey prototype problems when threading */
-typedef struct crypt_data { /* straight from /usr/include/crypt.h */
- /* From OSF, Not needed in AIX
- char C[28], D[28];
- */
- char E[48];
- char KS[16][48];
- char block[66];
- char iobuf[16];
-} CRYPTD;
-#endif /* threading */
-#endif /* AIX */
-
-#if !defined(OS2) && !defined(MACOS_TRADITIONAL)
-# include "iperlsys.h"
-#endif
-
-#ifdef __LIBCATAMOUNT__
-#undef HAS_PASSWD /* unixish.h but not unixish enough. */
-#undef HAS_GROUP
-#define FAKE_BIT_BUCKET
-#endif
-
-/* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0.
- * Note that the USE_HASH_SEED and USE_HASH_SEED_EXPLICIT are *NOT*
- * defined by Configure, despite their names being similar to the
- * other defines like USE_ITHREADS. Configure in fact knows nothing
- * about the randomised hashes. Therefore to enable/disable the hash
- * randomisation defines use the Configure -Accflags=... instead. */
-#if !defined(NO_HASH_SEED) && !defined(USE_HASH_SEED) && !defined(USE_HASH_SEED_EXPLICIT)
-# define USE_HASH_SEED
-#endif
-
-/* Win32 defines a type 'WORD' in windef.h. This conflicts with the enumerator
- * 'WORD' defined in perly.h. The yytokentype enum is only a debugging aid, so
- * it's not really needed.
- */
-#if defined(WIN32)
-# define YYTOKENTYPE
-#endif
-#include "perly.h"
-
-#ifdef PERL_MAD
-struct nexttoken {
- YYSTYPE next_val; /* value of next token, if any */
- I32 next_type; /* type of next token */
- MADPROP *next_mad; /* everything else about that token */
-};
-#endif
-
-#include "regexp.h"
-#include "sv.h"
-#include "util.h"
-#include "form.h"
-#include "gv.h"
-#include "pad.h"
-#include "cv.h"
-#include "opnames.h"
-#include "op.h"
-#include "hv.h"
-#include "cop.h"
-#include "av.h"
-#include "mg.h"
-#include "scope.h"
-#include "warnings.h"
-#include "utf8.h"
-
-
-typedef struct _sublex_info SUBLEXINFO;
-struct _sublex_info {
- U8 super_state; /* lexer state to save */
- U16 sub_inwhat; /* "lex_inwhat" to use */
- OP *sub_op; /* "lex_op" to use */
- char *super_bufptr; /* PL_parser->bufptr that was */
- char *super_bufend; /* PL_parser->bufend that was */
-};
-
-#include "parser.h"
-
-typedef struct magic_state MGS; /* struct magic_state defined in mg.c */
-
-struct scan_data_t; /* Used in S_* functions in regcomp.c */
-struct regnode_charclass_class; /* Used in S_* functions in regcomp.c */
-
-/* Keep next first in this structure, because sv_free_arenas take
- advantage of this to share code between the pte arenas and the SV
- body arenas */
-struct ptr_tbl_ent {
- struct ptr_tbl_ent* next;
- const void* oldval;
- void* newval;
-};
-
-struct ptr_tbl {
- struct ptr_tbl_ent** tbl_ary;
- UV tbl_max;
- UV tbl_items;
-};
-
-#if defined(iAPX286) || defined(M_I286) || defined(I80286)
-# define I286
-#endif
-
-#if defined(htonl) && !defined(HAS_HTONL)
-#define HAS_HTONL
-#endif
-#if defined(htons) && !defined(HAS_HTONS)
-#define HAS_HTONS
-#endif
-#if defined(ntohl) && !defined(HAS_NTOHL)
-#define HAS_NTOHL
-#endif
-#if defined(ntohs) && !defined(HAS_NTOHS)
-#define HAS_NTOHS
-#endif
-#ifndef HAS_HTONL
-#if (BYTEORDER & 0xffff) != 0x4321
-#define HAS_HTONS
-#define HAS_HTONL
-#define HAS_NTOHS
-#define HAS_NTOHL
-#define MYSWAP
-#define htons my_swap
-#define htonl my_htonl
-#define ntohs my_swap
-#define ntohl my_ntohl
-#endif
-#else
-#if (BYTEORDER & 0xffff) == 0x4321
-#undef HAS_HTONS
-#undef HAS_HTONL
-#undef HAS_NTOHS
-#undef HAS_NTOHL
-#endif
-#endif
-
-/*
- * Little-endian byte order functions - 'v' for 'VAX', or 'reVerse'.
- * -DWS
- */
-#if BYTEORDER != 0x1234
-# define HAS_VTOHL
-# define HAS_VTOHS
-# define HAS_HTOVL
-# define HAS_HTOVS
-# if BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
-# define vtohl(x) ((((x)&0xFF)<<24) \
- +(((x)>>24)&0xFF) \
- +(((x)&0x0000FF00)<<8) \
- +(((x)&0x00FF0000)>>8) )
-# define vtohs(x) ((((x)&0xFF)<<8) + (((x)>>8)&0xFF))
-# define htovl(x) vtohl(x)
-# define htovs(x) vtohs(x)
-# endif
- /* otherwise default to functions in util.c */
-#ifndef htovs
-short htovs(short n);
-short vtohs(short n);
-long htovl(long n);
-long vtohl(long n);
-#endif
-#endif
-
-/* *MAX Plus 1. A floating point value.
- Hopefully expressed in a way that dodgy floating point can't mess up.
- >> 2 rather than 1, so that value is safely less than I32_MAX after 1
- is added to it
- May find that some broken compiler will want the value cast to I32.
- [after the shift, as signed >> may not be as secure as unsigned >>]
-*/
-#define I32_MAX_P1 (2.0 * (1 + (((U32)I32_MAX) >> 1)))
-#define U32_MAX_P1 (4.0 * (1 + ((U32_MAX) >> 2)))
-/* For compilers that can't correctly cast NVs over 0x7FFFFFFF (or
- 0x7FFFFFFFFFFFFFFF) to an unsigned integer. In the future, sizeof(UV)
- may be greater than sizeof(IV), so don't assume that half max UV is max IV.
-*/
-#define U32_MAX_P1_HALF (2.0 * (1 + ((U32_MAX) >> 2)))
-
-#define UV_MAX_P1 (4.0 * (1 + ((UV_MAX) >> 2)))
-#define IV_MAX_P1 (2.0 * (1 + (((UV)IV_MAX) >> 1)))
-#define UV_MAX_P1_HALF (2.0 * (1 + ((UV_MAX) >> 2)))
-
-/* This may look like unnecessary jumping through hoops, but converting
- out of range floating point values to integers *is* undefined behaviour,
- and it is starting to bite.
-*/
-#ifndef CAST_INLINE
-#define I_32(what) (cast_i32((NV)(what)))
-#define U_32(what) (cast_ulong((NV)(what)))
-#define I_V(what) (cast_iv((NV)(what)))
-#define U_V(what) (cast_uv((NV)(what)))
-#else
-#define I_32(n) ((n) < I32_MAX_P1 ? ((n) < I32_MIN ? I32_MIN : (I32) (n)) \
- : ((n) < U32_MAX_P1 ? (I32)(U32) (n) \
- : ((n) > 0 ? (I32) U32_MAX : 0 /* NaN */)))
-#define U_32(n) ((n) < 0.0 ? ((n) < I32_MIN ? (UV) I32_MIN : (U32)(I32) (n)) \
- : ((n) < U32_MAX_P1 ? (U32) (n) \
- : ((n) > 0 ? U32_MAX : 0 /* NaN */)))
-#define I_V(n) ((n) < IV_MAX_P1 ? ((n) < IV_MIN ? IV_MIN : (IV) (n)) \
- : ((n) < UV_MAX_P1 ? (IV)(UV) (n) \
- : ((n) > 0 ? (IV)UV_MAX : 0 /* NaN */)))
-#define U_V(n) ((n) < 0.0 ? ((n) < IV_MIN ? (UV) IV_MIN : (UV)(IV) (n)) \
- : ((n) < UV_MAX_P1 ? (UV) (n) \
- : ((n) > 0 ? UV_MAX : 0 /* NaN */)))
-#endif
-
-#define U_S(what) ((U16)U_32(what))
-#define U_I(what) ((unsigned int)U_32(what))
-#define U_L(what) U_32(what)
-
-#ifdef HAS_SIGNBIT
-# define Perl_signbit signbit
-#endif
-
-/* These do not care about the fractional part, only about the range. */
-#define NV_WITHIN_IV(nv) (I_V(nv) >= IV_MIN && I_V(nv) <= IV_MAX)
-#define NV_WITHIN_UV(nv) ((nv)>=0.0 && U_V(nv) >= UV_MIN && U_V(nv) <= UV_MAX)
-
-/* Used with UV/IV arguments: */
- /* XXXX: need to speed it up */
-#define CLUMP_2UV(iv) ((iv) < 0 ? 0 : (UV)(iv))
-#define CLUMP_2IV(uv) ((uv) > (UV)IV_MAX ? IV_MAX : (IV)(uv))
-
-#ifndef MAXSYSFD
-# define MAXSYSFD 2
-#endif
-
-#ifndef __cplusplus
-#if !(defined(UNDER_CE) || defined(SYMBIAN))
-Uid_t getuid (void);
-Uid_t geteuid (void);
-Gid_t getgid (void);
-Gid_t getegid (void);
-#endif
-#endif
-
-#ifndef Perl_debug_log
-# define Perl_debug_log PerlIO_stderr()
-#endif
-
-#ifndef Perl_error_log
-# define Perl_error_log (PL_stderrgv \
- && isGV(PL_stderrgv) \
- && GvIOp(PL_stderrgv) \
- && IoOFP(GvIOp(PL_stderrgv)) \
- ? IoOFP(GvIOp(PL_stderrgv)) \
- : PerlIO_stderr())
-#endif
-
-
-#define DEBUG_p_FLAG 0x00000001 /* 1 */
-#define DEBUG_s_FLAG 0x00000002 /* 2 */
-#define DEBUG_l_FLAG 0x00000004 /* 4 */
-#define DEBUG_t_FLAG 0x00000008 /* 8 */
-#define DEBUG_o_FLAG 0x00000010 /* 16 */
-#define DEBUG_c_FLAG 0x00000020 /* 32 */
-#define DEBUG_P_FLAG 0x00000040 /* 64 */
-#define DEBUG_m_FLAG 0x00000080 /* 128 */
-#define DEBUG_f_FLAG 0x00000100 /* 256 */
-#define DEBUG_r_FLAG 0x00000200 /* 512 */
-#define DEBUG_x_FLAG 0x00000400 /* 1024 */
-#define DEBUG_u_FLAG 0x00000800 /* 2048 */
-/* U is reserved for Unofficial, exploratory hacking */
-#define DEBUG_U_FLAG 0x00001000 /* 4096 */
-#define DEBUG_H_FLAG 0x00002000 /* 8192 */
-#define DEBUG_X_FLAG 0x00004000 /* 16384 */
-#define DEBUG_D_FLAG 0x00008000 /* 32768 */
-#define DEBUG_S_FLAG 0x00010000 /* 65536 */
-#define DEBUG_T_FLAG 0x00020000 /* 131072 */
-#define DEBUG_R_FLAG 0x00040000 /* 262144 */
-#define DEBUG_J_FLAG 0x00080000 /* 524288 */
-#define DEBUG_v_FLAG 0x00100000 /*1048576 */
-#define DEBUG_C_FLAG 0x00200000 /*2097152 */
-#define DEBUG_A_FLAG 0x00400000 /*4194304 */
-#define DEBUG_q_FLAG 0x00800000 /*8388608 */
-#define DEBUG_MASK 0x00FFEFFF /* mask of all the standard flags */
-
-#define DEBUG_DB_RECURSE_FLAG 0x40000000
-#define DEBUG_TOP_FLAG 0x80000000 /* XXX what's this for ??? Signal
- that something was done? */
-
-# define DEBUG_p_TEST_ (PL_debug & DEBUG_p_FLAG)
-# define DEBUG_s_TEST_ (PL_debug & DEBUG_s_FLAG)
-# define DEBUG_l_TEST_ (PL_debug & DEBUG_l_FLAG)
-# define DEBUG_t_TEST_ (PL_debug & DEBUG_t_FLAG)
-# define DEBUG_o_TEST_ (PL_debug & DEBUG_o_FLAG)
-# define DEBUG_c_TEST_ (PL_debug & DEBUG_c_FLAG)
-# define DEBUG_P_TEST_ (PL_debug & DEBUG_P_FLAG)
-# define DEBUG_m_TEST_ (PL_debug & DEBUG_m_FLAG)
-# define DEBUG_f_TEST_ (PL_debug & DEBUG_f_FLAG)
-# define DEBUG_r_TEST_ (PL_debug & DEBUG_r_FLAG)
-# define DEBUG_x_TEST_ (PL_debug & DEBUG_x_FLAG)
-# define DEBUG_u_TEST_ (PL_debug & DEBUG_u_FLAG)
-# define DEBUG_U_TEST_ (PL_debug & DEBUG_U_FLAG)
-# define DEBUG_H_TEST_ (PL_debug & DEBUG_H_FLAG)
-# define DEBUG_X_TEST_ (PL_debug & DEBUG_X_FLAG)
-# define DEBUG_D_TEST_ (PL_debug & DEBUG_D_FLAG)
-# define DEBUG_S_TEST_ (PL_debug & DEBUG_S_FLAG)
-# define DEBUG_T_TEST_ (PL_debug & DEBUG_T_FLAG)
-# define DEBUG_R_TEST_ (PL_debug & DEBUG_R_FLAG)
-# define DEBUG_J_TEST_ (PL_debug & DEBUG_J_FLAG)
-# define DEBUG_v_TEST_ (PL_debug & DEBUG_v_FLAG)
-# define DEBUG_C_TEST_ (PL_debug & DEBUG_C_FLAG)
-# define DEBUG_A_TEST_ (PL_debug & DEBUG_A_FLAG)
-# define DEBUG_q_TEST_ (PL_debug & DEBUG_q_FLAG)
-# define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_)
-# define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_)
-
-#ifdef DEBUGGING
-
-# define DEBUG_p_TEST DEBUG_p_TEST_
-# define DEBUG_s_TEST DEBUG_s_TEST_
-# define DEBUG_l_TEST DEBUG_l_TEST_
-# define DEBUG_t_TEST DEBUG_t_TEST_
-# define DEBUG_o_TEST DEBUG_o_TEST_
-# define DEBUG_c_TEST DEBUG_c_TEST_
-# define DEBUG_P_TEST DEBUG_P_TEST_
-# define DEBUG_m_TEST DEBUG_m_TEST_
-# define DEBUG_f_TEST DEBUG_f_TEST_
-# define DEBUG_r_TEST DEBUG_r_TEST_
-# define DEBUG_x_TEST DEBUG_x_TEST_
-# define DEBUG_u_TEST DEBUG_u_TEST_
-# define DEBUG_U_TEST DEBUG_U_TEST_
-# define DEBUG_H_TEST DEBUG_H_TEST_
-# define DEBUG_X_TEST DEBUG_X_TEST_
-# define DEBUG_D_TEST DEBUG_D_TEST_
-# define DEBUG_S_TEST DEBUG_S_TEST_
-# define DEBUG_T_TEST DEBUG_T_TEST_
-# define DEBUG_R_TEST DEBUG_R_TEST_
-# define DEBUG_J_TEST DEBUG_J_TEST_
-# define DEBUG_v_TEST DEBUG_v_TEST_
-# define DEBUG_C_TEST DEBUG_C_TEST_
-# define DEBUG_A_TEST DEBUG_A_TEST_
-# define DEBUG_q_TEST DEBUG_q_TEST_
-# define DEBUG_Xv_TEST DEBUG_Xv_TEST_
-# define DEBUG_Uv_TEST DEBUG_Uv_TEST_
-
-# define PERL_DEB(a) a
-# define PERL_DEBUG(a) if (PL_debug) a
-# define DEBUG_p(a) if (DEBUG_p_TEST) a
-# define DEBUG_s(a) if (DEBUG_s_TEST) a
-# define DEBUG_l(a) if (DEBUG_l_TEST) a
-# define DEBUG_t(a) if (DEBUG_t_TEST) a
-# define DEBUG_o(a) if (DEBUG_o_TEST) a
-# define DEBUG_c(a) if (DEBUG_c_TEST) a
-# define DEBUG_P(a) if (DEBUG_P_TEST) a
-
- /* Temporarily turn off memory debugging in case the a
- * does memory allocation, either directly or indirectly. */
-# define DEBUG_m(a) \
- STMT_START { \
- if (PERL_GET_INTERP) { dTHX; if (DEBUG_m_TEST) {PL_debug&=~DEBUG_m_FLAG; a; PL_debug|=DEBUG_m_FLAG;} } \
- } STMT_END
-
-# define DEBUG__(t, a) \
- STMT_START { \
- if (t) STMT_START {a;} STMT_END; \
- } STMT_END
-
-# define DEBUG_f(a) DEBUG__(DEBUG_f_TEST, a)
-#ifndef PERL_EXT_RE_BUILD
-# define DEBUG_r(a) DEBUG__(DEBUG_r_TEST, a)
-#else
-# define DEBUG_r(a) STMT_START {a;} STMT_END
-#endif /* PERL_EXT_RE_BUILD */
-# define DEBUG_x(a) DEBUG__(DEBUG_x_TEST, a)
-# define DEBUG_u(a) DEBUG__(DEBUG_u_TEST, a)
-# define DEBUG_U(a) DEBUG__(DEBUG_U_TEST, a)
-# define DEBUG_H(a) DEBUG__(DEBUG_H_TEST, a)
-# define DEBUG_X(a) DEBUG__(DEBUG_X_TEST, a)
-# define DEBUG_D(a) DEBUG__(DEBUG_D_TEST, a)
-# define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a)
-# define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a)
-
-# define DEBUG_S(a)
-
-# define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a)
-# define DEBUG_R(a) DEBUG__(DEBUG_R_TEST, a)
-# define DEBUG_v(a) DEBUG__(DEBUG_v_TEST, a)
-# define DEBUG_C(a) DEBUG__(DEBUG_C_TEST, a)
-# define DEBUG_A(a) DEBUG__(DEBUG_A_TEST, a)
-# define DEBUG_q(a) DEBUG__(DEBUG_q_TEST, a)
-
-#else /* DEBUGGING */
-
-# define DEBUG_p_TEST (0)
-# define DEBUG_s_TEST (0)
-# define DEBUG_l_TEST (0)
-# define DEBUG_t_TEST (0)
-# define DEBUG_o_TEST (0)
-# define DEBUG_c_TEST (0)
-# define DEBUG_P_TEST (0)
-# define DEBUG_m_TEST (0)
-# define DEBUG_f_TEST (0)
-# define DEBUG_r_TEST (0)
-# define DEBUG_x_TEST (0)
-# define DEBUG_u_TEST (0)
-# define DEBUG_U_TEST (0)
-# define DEBUG_H_TEST (0)
-# define DEBUG_X_TEST (0)
-# define DEBUG_D_TEST (0)
-# define DEBUG_S_TEST (0)
-# define DEBUG_T_TEST (0)
-# define DEBUG_R_TEST (0)
-# define DEBUG_J_TEST (0)
-# define DEBUG_v_TEST (0)
-# define DEBUG_C_TEST (0)
-# define DEBUG_A_TEST (0)
-# define DEBUG_q_TEST (0)
-# define DEBUG_Xv_TEST (0)
-# define DEBUG_Uv_TEST (0)
-
-# define PERL_DEB(a)
-# define PERL_DEBUG(a)
-# define DEBUG_p(a)
-# define DEBUG_s(a)
-# define DEBUG_l(a)
-# define DEBUG_t(a)
-# define DEBUG_o(a)
-# define DEBUG_c(a)
-# define DEBUG_P(a)
-# define DEBUG_m(a)
-# define DEBUG_f(a)
-# define DEBUG_r(a)
-# define DEBUG_x(a)
-# define DEBUG_u(a)
-# define DEBUG_U(a)
-# define DEBUG_H(a)
-# define DEBUG_X(a)
-# define DEBUG_D(a)
-# define DEBUG_S(a)
-# define DEBUG_T(a)
-# define DEBUG_R(a)
-# define DEBUG_v(a)
-# define DEBUG_C(a)
-# define DEBUG_A(a)
-# define DEBUG_q(a)
-# define DEBUG_Xv(a)
-# define DEBUG_Uv(a)
-#endif /* DEBUGGING */
-
-
-#define DEBUG_SCOPE(where) \
- DEBUG_l(WITH_THR(Perl_deb(aTHX_ "%s scope %ld at %s:%d\n", \
- where, (long)PL_scopestack_ix, __FILE__, __LINE__)));
-
-
-
-
-/* These constants should be used in preference to raw characters
- * when using magic. Note that some perl guts still assume
- * certain character properties of these constants, namely that
- * isUPPER() and toLOWER() may do useful mappings.
- *
- * Update the magic_names table in dump.c when adding/amending these
- */
-
-#define PERL_MAGIC_sv '\0' /* Special scalar variable */
-#define PERL_MAGIC_overload 'A' /* %OVERLOAD hash */
-#define PERL_MAGIC_overload_elem 'a' /* %OVERLOAD hash element */
-#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */
-#define PERL_MAGIC_bm 'B' /* Boyer-Moore (fast string search) */
-#define PERL_MAGIC_regdata 'D' /* Regex match position data
- (@+ and @- vars) */
-#define PERL_MAGIC_regdatum 'd' /* Regex match position data element */
-#define PERL_MAGIC_env 'E' /* %ENV hash */
-#define PERL_MAGIC_envelem 'e' /* %ENV hash element */
-#define PERL_MAGIC_fm 'f' /* Formline ('compiled' format) */
-#define PERL_MAGIC_regex_global 'g' /* m//g target / study()ed string */
-#define PERL_MAGIC_hints 'H' /* %^H hash */
-#define PERL_MAGIC_hintselem 'h' /* %^H hash element */
-#define PERL_MAGIC_isa 'I' /* @ISA array */
-#define PERL_MAGIC_isaelem 'i' /* @ISA array element */
-#define PERL_MAGIC_nkeys 'k' /* scalar(keys()) lvalue */
-#define PERL_MAGIC_dbfile 'L' /* Debugger %_<filename */
-#define PERL_MAGIC_dbline 'l' /* Debugger %_<filename element */
-#define PERL_MAGIC_shared 'N' /* Shared between threads */
-#define PERL_MAGIC_shared_scalar 'n' /* Shared between threads */
-#define PERL_MAGIC_collxfrm 'o' /* Locale transformation */
-#define PERL_MAGIC_tied 'P' /* Tied array or hash */
-#define PERL_MAGIC_tiedelem 'p' /* Tied array or hash element */
-#define PERL_MAGIC_tiedscalar 'q' /* Tied scalar or handle */
-#define PERL_MAGIC_qr 'r' /* precompiled qr// regex */
-#define PERL_MAGIC_sig 'S' /* %SIG hash */
-#define PERL_MAGIC_sigelem 's' /* %SIG hash element */
-#define PERL_MAGIC_taint 't' /* Taintedness */
-#define PERL_MAGIC_uvar 'U' /* Available for use by extensions */
-#define PERL_MAGIC_uvar_elem 'u' /* Reserved for use by extensions */
-#define PERL_MAGIC_vec 'v' /* vec() lvalue */
-#define PERL_MAGIC_vstring 'V' /* SV was vstring literal */
-#define PERL_MAGIC_utf8 'w' /* Cached UTF-8 information */
-#define PERL_MAGIC_substr 'x' /* substr() lvalue */
-#define PERL_MAGIC_defelem 'y' /* Shadow "foreach" iterator variable /
- smart parameter vivification */
-#define PERL_MAGIC_arylen '#' /* Array length ($#ary) */
-#define PERL_MAGIC_pos '.' /* pos() lvalue */
-#define PERL_MAGIC_backref '<' /* for weak ref data */
-#define PERL_MAGIC_symtab ':' /* extra data for symbol tables */
-#define PERL_MAGIC_rhash '%' /* extra data for restricted hashes */
-#define PERL_MAGIC_arylen_p '@' /* to move arylen out of XPVAV */
-#define PERL_MAGIC_ext '~' /* Available for use by extensions */
-
-
-#ifndef assert /* <assert.h> might have been included somehow */
-#define assert(what) PERL_DEB( \
- ((what) ? ((void) 0) : \
- (Perl_croak_nocontext("Assertion %s failed: file \"" __FILE__ \
- "\", line %d", STRINGIFY(what), __LINE__), \
- (void) 0)))
-#endif
-
-struct ufuncs {
- I32 (*uf_val)(pTHX_ IV, SV*);
- I32 (*uf_set)(pTHX_ IV, SV*);
- IV uf_index;
-};
-
-/* In pre-5.7-Perls the PERL_MAGIC_uvar magic didn't get the thread context.
- * XS code wanting to be backward compatible can do something
- * like the following:
-
-#ifndef PERL_MG_UFUNC
-#define PERL_MG_UFUNC(name,ix,sv) I32 name(IV ix, SV *sv)
-#endif
-
-static PERL_MG_UFUNC(foo_get, index, val)
-{
- sv_setsv(val, ...);
- return TRUE;
-}
-
--- Doug MacEachern
-
-*/
-
-#ifndef PERL_MG_UFUNC
-#define PERL_MG_UFUNC(name,ix,sv) I32 name(pTHX_ IV ix, SV *sv)
-#endif
-
-/* Fix these up for __STDC__ */
-#ifndef DONT_DECLARE_STD
-char *mktemp (char*);
-#ifndef atof
-double atof (const char*);
-#endif
-#endif
-
-#ifndef STANDARD_C
-/* All of these are in stdlib.h or time.h for ANSI C */
-Time_t time();
-struct tm *gmtime(), *localtime();
-#if defined(OEMVS) || defined(__OPEN_VM)
-char *(strchr)(), *(strrchr)();
-char *(strcpy)(), *(strcat)();
-#else
-char *strchr(), *strrchr();
-char *strcpy(), *strcat();
-#endif
-#endif /* ! STANDARD_C */
-
-
-#ifdef I_MATH
-# include <math.h>
-#else
-START_EXTERN_C
- double exp (double);
- double log (double);
- double log10 (double);
- double sqrt (double);
- double frexp (double,int*);
- double ldexp (double,int);
- double modf (double,double*);
- double sin (double);
- double cos (double);
- double atan2 (double,double);
- double pow (double,double);
-END_EXTERN_C
-#endif
-
-#if !defined(NV_INF) && defined(USE_LONG_DOUBLE) && defined(LDBL_INFINITY)
-# define NV_INF LDBL_INFINITY
-#endif
-#if !defined(NV_INF) && defined(DBL_INFINITY)
-# define NV_INF (NV)DBL_INFINITY
-#endif
-#if !defined(NV_INF) && defined(INFINITY)
-# define NV_INF (NV)INFINITY
-#endif
-#if !defined(NV_INF) && defined(INF)
-# define NV_INF (NV)INF
-#endif
-#if !defined(NV_INF) && defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)
-# define NV_INF (NV)HUGE_VALL
-#endif
-#if !defined(NV_INF) && defined(HUGE_VAL)
-# define NV_INF (NV)HUGE_VAL
-#endif
-
-#if !defined(NV_NAN) && defined(USE_LONG_DOUBLE)
-# if !defined(NV_NAN) && defined(LDBL_NAN)
-# define NV_NAN LDBL_NAN
-# endif
-# if !defined(NV_NAN) && defined(LDBL_QNAN)
-# define NV_NAN LDBL_QNAN
-# endif
-# if !defined(NV_NAN) && defined(LDBL_SNAN)
-# define NV_NAN LDBL_SNAN
-# endif
-#endif
-#if !defined(NV_NAN) && defined(DBL_NAN)
-# define NV_NAN (NV)DBL_NAN
-#endif
-#if !defined(NV_NAN) && defined(DBL_QNAN)
-# define NV_NAN (NV)DBL_QNAN
-#endif
-#if !defined(NV_NAN) && defined(DBL_SNAN)
-# define NV_NAN (NV)DBL_SNAN
-#endif
-#if !defined(NV_NAN) && defined(QNAN)
-# define NV_NAN (NV)QNAN
-#endif
-#if !defined(NV_NAN) && defined(SNAN)
-# define NV_NAN (NV)SNAN
-#endif
-#if !defined(NV_NAN) && defined(NAN)
-# define NV_NAN (NV)NAN
-#endif
-
-#ifndef __cplusplus
-# if defined(NeXT) || defined(__NeXT__) /* or whatever catches all NeXTs */
-char *crypt (); /* Maybe more hosts will need the unprototyped version */
-# else
-# if !defined(WIN32) && !defined(VMS)
-#ifndef crypt
-char *crypt (const char*, const char*);
-#endif
-# endif /* !WIN32 */
-# endif /* !NeXT && !__NeXT__ */
-# ifndef DONT_DECLARE_STD
-# ifndef getenv
-char *getenv (const char*);
-# endif /* !getenv */
-# if !defined(HAS_LSEEK_PROTO) && !defined(EPOC) && !defined(__hpux)
-# ifdef _FILE_OFFSET_BITS
-# if _FILE_OFFSET_BITS == 64
-Off_t lseek (int,Off_t,int);
-# endif
-# endif
-# endif
-# endif /* !DONT_DECLARE_STD */
-#ifndef getlogin
-char *getlogin (void);
-#endif
-#endif /* !__cplusplus */
-
-/* Fixme on VMS. This needs to be a run-time, not build time options */
-/* Also rename() is affected by this */
-#ifdef UNLINK_ALL_VERSIONS /* Currently only makes sense for VMS */
-#define UNLINK unlnk
-I32 unlnk (pTHX_ const char*);
-#else
-#define UNLINK PerlLIO_unlink
-#endif
-
-/* some versions of glibc are missing the setresuid() proto */
-#if defined(HAS_SETRESUID) && !defined(HAS_SETRESUID_PROTO)
-int setresuid(uid_t ruid, uid_t euid, uid_t suid);
-#endif
-/* some versions of glibc are missing the setresgid() proto */
-#if defined(HAS_SETRESGID) && !defined(HAS_SETRESGID_PROTO)
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
-#endif
-
-#ifndef HAS_SETREUID
-# ifdef HAS_SETRESUID
-# define setreuid(r,e) setresuid(r,e,(Uid_t)-1)
-# define HAS_SETREUID
-# endif
-#endif
-#ifndef HAS_SETREGID
-# ifdef HAS_SETRESGID
-# define setregid(r,e) setresgid(r,e,(Gid_t)-1)
-# define HAS_SETREGID
-# endif
-#endif
-
-/* Sighandler_t defined in iperlsys.h */
-
-#ifdef HAS_SIGACTION
-typedef struct sigaction Sigsave_t;
-#else
-typedef Sighandler_t Sigsave_t;
-#endif
-
-#define SCAN_DEF 0
-#define SCAN_TR 1
-#define SCAN_REPL 2
-
-#ifdef DEBUGGING
-# ifndef register
-# define register
-# endif
-# define RUNOPS_DEFAULT Perl_runops_debug
-#else
-# define RUNOPS_DEFAULT Perl_runops_standard
-#endif
-
-#ifdef USE_PERLIO
-EXTERN_C void PerlIO_teardown(void);
-# ifdef USE_ITHREADS
-# define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
-# define PERLIO_TERM \
- STMT_START { \
- PerlIO_teardown(); \
- MUTEX_DESTROY(&PL_perlio_mutex);\
- } STMT_END
-# else
-# define PERLIO_INIT
-# define PERLIO_TERM PerlIO_teardown()
-# endif
-#else
-# define PERLIO_INIT
-# define PERLIO_TERM
-#endif
-
-#ifdef MYMALLOC
-# ifdef MUTEX_INIT_CALLS_MALLOC
-# define MALLOC_INIT \
- STMT_START { \
- PL_malloc_mutex = NULL; \
- MUTEX_INIT(&PL_malloc_mutex); \
- } STMT_END
-# define MALLOC_TERM \
- STMT_START { \
- perl_mutex tmp = PL_malloc_mutex; \
- PL_malloc_mutex = NULL; \
- MUTEX_DESTROY(&tmp); \
- } STMT_END
-# else
-# define MALLOC_INIT MUTEX_INIT(&PL_malloc_mutex)
-# define MALLOC_TERM MUTEX_DESTROY(&PL_malloc_mutex)
-# endif
-#else
-# define MALLOC_INIT
-# define MALLOC_TERM
-#endif
-
-#if defined(PERL_IMPLICIT_CONTEXT)
-
-struct perl_memory_debug_header;
-struct perl_memory_debug_header {
- tTHX interpreter;
-# ifdef PERL_POISON
- MEM_SIZE size;
-# endif
- struct perl_memory_debug_header *prev;
- struct perl_memory_debug_header *next;
-};
-
-# define sTHX (sizeof(struct perl_memory_debug_header) + \
- (MEM_ALIGNBYTES - sizeof(struct perl_memory_debug_header) \
- %MEM_ALIGNBYTES) % MEM_ALIGNBYTES)
-
-#else
-# define sTHX 0
-#endif
-
-#ifdef PERL_TRACK_MEMPOOL
-# define INIT_TRACK_MEMPOOL(header, interp) \
- STMT_START { \
- (header).interpreter = (interp); \
- (header).prev = (header).next = &(header); \
- } STMT_END
-# else
-# define INIT_TRACK_MEMPOOL(header, interp)
-#endif
-
-#ifdef I_MALLOCMALLOC
-/* Needed for malloc_size(), malloc_good_size() on some systems */
-# include <malloc/malloc.h>
-#endif
-
-#ifdef MYMALLOC
-# define Perl_safesysmalloc_size(where) Perl_malloced_size(where)
-#else
-# ifdef HAS_MALLOC_SIZE
-# ifdef PERL_TRACK_MEMPOOL
-# define Perl_safesysmalloc_size(where) \
- (malloc_size(((char *)(where)) - sTHX) - sTHX)
-# else
-# define Perl_safesysmalloc_size(where) malloc_size(where)
-# endif
-# endif
-# ifdef HAS_MALLOC_GOOD_SIZE
-# ifdef PERL_TRACK_MEMPOOL
-# define Perl_malloc_good_size(how_much) \
- (malloc_good_size((how_much) + sTHX) - sTHX)
-# else
-# define Perl_malloc_good_size(how_much) malloc_good_size(how_much)
-# endif
-# else
-/* Having this as the identity operation makes some code simpler. */
-# define Perl_malloc_good_size(how_much) (how_much)
-# endif
-#endif
-
-typedef int (CPERLscope(*runops_proc_t)) (pTHX);
-typedef void (CPERLscope(*share_proc_t)) (pTHX_ SV *sv);
-typedef int (CPERLscope(*thrhook_proc_t)) (pTHX);
-typedef OP* (CPERLscope(*PPADDR_t)[]) (pTHX);
-typedef bool (CPERLscope(*destroyable_proc_t)) (pTHX_ SV *sv);
-
-/* _ (for $_) must be first in the following list (DEFSV requires it) */
-#define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
-
-/* NeXT has problems with crt0.o globals */
-#if defined(__DYNAMIC__) && \
- (defined(NeXT) || defined(__NeXT__) || defined(PERL_DARWIN))
-# if defined(NeXT) || defined(__NeXT)
-# include <mach-o/dyld.h>
-# define environ (*environ_pointer)
-EXT char *** environ_pointer;
-# else
-# if defined(PERL_DARWIN) && defined(PERL_CORE)
-# include <crt_externs.h> /* for the env array */
-# define environ (*_NSGetEnviron())
-# endif
-# endif
-#else
- /* VMS and some other platforms don't use the environ array */
-# ifdef USE_ENVIRON_ARRAY
-# if !defined(DONT_DECLARE_STD) || \
- (defined(__svr4__) && defined(__GNUC__) && defined(sun)) || \
- defined(__sgi) || \
- defined(__DGUX)
-extern char ** environ; /* environment variables supplied via exec */
-# endif
-# endif
-#endif
-
-START_EXTERN_C
-
-/* handy constants */
-EXTCONST char PL_warn_uninit[]
- INIT("Use of uninitialized value%s%s%s");
-EXTCONST char PL_warn_nosemi[]
- INIT("Semicolon seems to be missing");
-EXTCONST char PL_warn_reserved[]
- INIT("Unquoted string \"%s\" may clash with future reserved word");
-EXTCONST char PL_warn_nl[]
- INIT("Unsuccessful %s on filename containing newline");
-EXTCONST char PL_no_wrongref[]
- INIT("Can't use %s ref as %s ref");
-EXTCONST char PL_no_symref[]
- INIT("Can't use string (\"%.32s\") as %s ref while \"strict refs\" in use");
-EXTCONST char PL_no_symref_sv[]
- INIT("Can't use string (\"%" SVf32 "\") as %s ref while \"strict refs\" in use");
-EXTCONST char PL_no_usym[]
- INIT("Can't use an undefined value as %s reference");
-EXTCONST char PL_no_aelem[]
- INIT("Modification of non-creatable array value attempted, subscript %d");
-EXTCONST char PL_no_helem_sv[]
- INIT("Modification of non-creatable hash value attempted, subscript \"%"SVf"\"");
-EXTCONST char PL_no_modify[]
- INIT("Modification of a read-only value attempted");
-EXTCONST char PL_no_mem[]
- INIT("Out of memory!\n");
-EXTCONST char PL_no_security[]
- INIT("Insecure dependency in %s%s");
-EXTCONST char PL_no_sock_func[]
- INIT("Unsupported socket function \"%s\" called");
-EXTCONST char PL_no_dir_func[]
- INIT("Unsupported directory function \"%s\" called");
-EXTCONST char PL_no_func[]
- INIT("The %s function is unimplemented");
-EXTCONST char PL_no_myglob[]
- INIT("\"%s\" variable %s can't be in a package");
-EXTCONST char PL_no_localize_ref[]
- INIT("Can't localize through a reference");
-EXTCONST char PL_memory_wrap[]
- INIT("panic: memory wrap");
-
-#ifdef CSH
-EXTCONST char PL_cshname[]
- INIT(CSH);
-# define PL_cshlen (sizeof(CSH "") - 1)
-#endif
-
-EXTCONST char PL_uuemap[65]
- INIT("`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
-
-#ifdef DOINIT
-EXTCONST char PL_uudmap[256] =
-#include "uudmap.h"
-;
-EXTCONST char* const PL_sig_name[] = { SIG_NAME };
-EXTCONST int PL_sig_num[] = { SIG_NUM };
-#else
-EXTCONST char PL_uudmap[256];
-EXTCONST char* const PL_sig_name[];
-EXTCONST int PL_sig_num[];
-#endif
-
-/* fast conversion and case folding tables */
-
-#ifdef DOINIT
-#ifdef EBCDIC
-EXTCONST unsigned char PL_fold[] = { /* fast EBCDIC case folding table */
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
- 'H', 'I', 138, 139, 140, 141, 142, 143,
- 144, 'J', 'K', 'L', 'M', 'N', 'O', 'P',
- 'Q', 'R', 154, 155, 156, 157, 158, 159,
- 160, 161, 'S', 'T', 'U', 'V', 'W', 'X',
- 'Y', 'Z', 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
- 'h', 'i', 202, 203, 204, 205, 206, 207,
- 208, 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 218, 219, 220, 221, 222, 223,
- 224, 225, 's', 't', 'u', 'v', 'w', 'x',
- 'y', 'z', 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255
-};
-#else /* ascii rather than ebcdic */
-EXTCONST unsigned char PL_fold[] = {
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
- 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
- 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
- 'x', 'y', 'z', 91, 92, 93, 94, 95,
- 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
- 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
- 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
- 'X', 'Y', 'Z', 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255
-};
-#endif /* !EBCDIC */
-#else
-EXTCONST unsigned char PL_fold[];
-#endif
-
-#ifndef PERL_GLOBAL_STRUCT /* or perlvars.h */
-#ifdef DOINIT
-EXT unsigned char PL_fold_locale[] = { /* Unfortunately not EXTCONST. */
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
- 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
- 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
- 'x', 'y', 'z', 91, 92, 93, 94, 95,
- 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
- 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
- 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
- 'X', 'Y', 'Z', 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 247,
- 248, 249, 250, 251, 252, 253, 254, 255
-};
-#else
-EXT unsigned char PL_fold_locale[]; /* Unfortunately not EXTCONST. */
-#endif
-#endif /* !PERL_GLOBAL_STRUCT */
-
-#ifdef DOINIT
-#ifdef EBCDIC
-EXTCONST unsigned char PL_freq[] = {/* EBCDIC frequencies for mixed English/C */
- 1, 2, 84, 151, 154, 155, 156, 157,
- 165, 246, 250, 3, 158, 7, 18, 29,
- 40, 51, 62, 73, 85, 96, 107, 118,
- 129, 140, 147, 148, 149, 150, 152, 153,
- 255, 6, 8, 9, 10, 11, 12, 13,
- 14, 15, 24, 25, 26, 27, 28, 226,
- 29, 30, 31, 32, 33, 43, 44, 45,
- 46, 47, 48, 49, 50, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 94, 95, 234, 181, 233, 187, 190,
- 180, 96, 97, 98, 99, 100, 101, 102,
- 104, 112, 182, 174, 236, 232, 229, 103,
- 228, 226, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 235, 176, 230, 194, 162,
- 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 201, 205, 163, 217, 220, 224,
- 5, 248, 227, 244, 242, 255, 241, 231,
- 240, 253, 16, 197, 19, 20, 21, 187,
- 23, 169, 210, 245, 237, 249, 247, 239,
- 168, 252, 34, 196, 36, 37, 38, 39,
- 41, 42, 251, 254, 238, 223, 221, 213,
- 225, 177, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 74, 75,
- 205, 208, 186, 202, 200, 218, 198, 179,
- 178, 214, 88, 89, 90, 91, 92, 93,
- 217, 166, 170, 207, 199, 209, 206, 204,
- 160, 212, 105, 106, 108, 109, 110, 111,
- 203, 113, 216, 215, 192, 175, 193, 243,
- 172, 161, 123, 124, 125, 126, 127, 128,
- 222, 219, 211, 195, 188, 193, 185, 184,
- 191, 183, 141, 142, 143, 144, 145, 146
-};
-#else /* ascii rather than ebcdic */
-EXTCONST unsigned char PL_freq[] = { /* letter frequencies for mixed English/C */
- 1, 2, 84, 151, 154, 155, 156, 157,
- 165, 246, 250, 3, 158, 7, 18, 29,
- 40, 51, 62, 73, 85, 96, 107, 118,
- 129, 140, 147, 148, 149, 150, 152, 153,
- 255, 182, 224, 205, 174, 176, 180, 217,
- 233, 232, 236, 187, 235, 228, 234, 226,
- 222, 219, 211, 195, 188, 193, 185, 184,
- 191, 183, 201, 229, 181, 220, 194, 162,
- 163, 208, 186, 202, 200, 218, 198, 179,
- 178, 214, 166, 170, 207, 199, 209, 206,
- 204, 160, 212, 216, 215, 192, 175, 173,
- 243, 172, 161, 190, 203, 189, 164, 230,
- 167, 248, 227, 244, 242, 255, 241, 231,
- 240, 253, 169, 210, 245, 237, 249, 247,
- 239, 168, 252, 251, 254, 238, 223, 221,
- 213, 225, 177, 197, 171, 196, 159, 4,
- 5, 6, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39,
- 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83,
- 86, 87, 88, 89, 90, 91, 92, 93,
- 94, 95, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128,
- 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 141, 142, 143, 144, 145, 146
-};
-#endif
-#else
-EXTCONST unsigned char PL_freq[];
-#endif
-
-#ifdef DEBUGGING
-#ifdef DOINIT
-EXTCONST char* const PL_block_type[] = {
- "NULL",
- "SUB",
- "EVAL",
- "LOOP",
- "SUBST",
- "BLOCK",
- "FORMAT",
- "GIVEN",
- "WHEN"
-};
-#else
-EXTCONST char* PL_block_type[];
-#endif
-#endif
-
-/* These are all the compile time options that affect binary compatibility.
- Other compile time options that are binary compatible are in perl.c
- Both are combined for the output of perl -V
- However, this string will be embedded in any shared perl library, which will
- allow us add a comparison check in perlmain.c in the near future. */
-#ifdef DOINIT
-EXTCONST char PL_bincompat_options[] =
-# ifdef DEBUG_LEAKING_SCALARS
- " DEBUG_LEAKING_SCALARS"
-# endif
-# ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
- " DEBUG_LEAKING_SCALARS_FORK_DUMP"
-# endif
-# ifdef FAKE_THREADS
- " FAKE_THREADS"
-# endif
-# ifdef MULTIPLICITY
- " MULTIPLICITY"
-# endif
-# ifdef MYMALLOC
- " MYMALLOC"
-# endif
-# ifdef PERL_DEBUG_READONLY_OPS
- " PERL_DEBUG_READONLY_OPS"
-# endif
-# ifdef PERL_GLOBAL_STRUCT
- " PERL_GLOBAL_STRUCT"
-# endif
-# ifdef PERL_IMPLICIT_CONTEXT
- " PERL_IMPLICIT_CONTEXT"
-# endif
-# ifdef PERL_IMPLICIT_SYS
- " PERL_IMPLICIT_SYS"
-# endif
-# ifdef PERL_MAD
- " PERL_MAD"
-# endif
-# ifdef PERL_NEED_APPCTX
- " PERL_NEED_APPCTX"
-# endif
-# ifdef PERL_NEED_TIMESBASE
- " PERL_NEED_TIMESBASE"
-# endif
-# ifdef PERL_OLD_COPY_ON_WRITE
- " PERL_OLD_COPY_ON_WRITE"
-# endif
-# ifdef PERL_POISON
- " PERL_POISON"
-# endif
-# ifdef PERL_TRACK_MEMPOOL
- " PERL_TRACK_MEMPOOL"
-# endif
-# ifdef PERL_USES_PL_PIDSTATUS
- " PERL_USES_PL_PIDSTATUS"
-# endif
-# ifdef PL_OP_SLAB_ALLOC
- " PL_OP_SLAB_ALLOC"
-# endif
-# ifdef THREADS_HAVE_PIDS
- " THREADS_HAVE_PIDS"
-# endif
-# ifdef USE_64_BIT_ALL
- " USE_64_BIT_ALL"
-# endif
-# ifdef USE_64_BIT_INT
- " USE_64_BIT_INT"
-# endif
-# ifdef USE_IEEE
- " USE_IEEE"
-# endif
-# ifdef USE_ITHREADS
- " USE_ITHREADS"
-# endif
-# ifdef USE_LARGE_FILES
- " USE_LARGE_FILES"
-# endif
-# ifdef USE_LONG_DOUBLE
- " USE_LONG_DOUBLE"
-# endif
-# ifdef USE_PERLIO
- " USE_PERLIO"
-# endif
-# ifdef USE_REENTRANT_API
- " USE_REENTRANT_API"
-# endif
-# ifdef USE_SFIO
- " USE_SFIO"
-# endif
-# ifdef USE_SOCKS
- " USE_SOCKS"
-# endif
-# ifdef VMS_DO_SOCKETS
- " VMS_DO_SOCKETS"
-# ifdef DECCRTL_SOCKETS
- " DECCRTL_SOCKETS"
-# endif
-# endif
-# ifdef VMS_WE_ARE_CASE_SENSITIVE
- " VMS_SYMBOL_CASE_AS_IS"
-# endif
- "";
-#else
-EXTCONST char PL_bincompat_options[];
-#endif
-
-END_EXTERN_C
-
-/*****************************************************************************/
-/* This lexer/parser stuff is currently global since yacc is hard to reenter */
-/*****************************************************************************/
-/* XXX This needs to be revisited, since BEGIN makes yacc re-enter... */
-
-#ifdef __Lynx__
-/* LynxOS defines these in scsi.h which is included via ioctl.h */
-#ifdef FORMAT
-#undef FORMAT
-#endif
-#ifdef SPACE
-#undef SPACE
-#endif
-#endif
-
-#define LEX_NOTPARSING 11 /* borrowed from toke.c */
-
-typedef enum {
- XOPERATOR,
- XTERM,
- XREF,
- XSTATE,
- XBLOCK,
- XATTRBLOCK,
- XATTRTERM,
- XTERMBLOCK,
- XTERMORDORDOR /* evil hack */
- /* update exp_name[] in toke.c if adding to this enum */
-} expectation;
-
-enum { /* pass one of these to get_vtbl */
- want_vtbl_sv,
- want_vtbl_env,
- want_vtbl_envelem,
- want_vtbl_sig,
- want_vtbl_sigelem,
- want_vtbl_pack,
- want_vtbl_packelem,
- want_vtbl_dbline,
- want_vtbl_isa,
- want_vtbl_isaelem,
- want_vtbl_arylen,
- want_vtbl_glob,
- want_vtbl_mglob,
- want_vtbl_nkeys,
- want_vtbl_taint,
- want_vtbl_substr,
- want_vtbl_vec,
- want_vtbl_pos,
- want_vtbl_bm,
- want_vtbl_fm,
- want_vtbl_uvar,
- want_vtbl_defelem,
- want_vtbl_regexp,
- want_vtbl_collxfrm,
- want_vtbl_amagic,
- want_vtbl_amagicelem,
- want_vtbl_regdata,
- want_vtbl_regdatum,
- want_vtbl_backref,
- want_vtbl_utf8,
- want_vtbl_symtab,
- want_vtbl_arylen_p,
- want_vtbl_hintselem
-};
-
-
-/* Hints are now stored in a dedicated U32, so the bottom 8 bits are no longer
- special and there is no need for HINT_PRIVATE_MASK for COPs
- However, bitops store HINT_INTEGER in their op_private. */
-#define HINT_INTEGER 0x00000001 /* integer pragma */
-#define HINT_STRICT_REFS 0x00000002 /* strict pragma */
-#define HINT_LOCALE 0x00000004 /* locale pragma */
-#define HINT_BYTES 0x00000008 /* bytes pragma */
-#define HINT_ARYBASE 0x00000010 /* $[ is non-zero */
- /* Note: 20,40,80 used for NATIVE_HINTS */
- /* currently defined by vms/vmsish.h */
-
-#define HINT_BLOCK_SCOPE 0x00000100
-#define HINT_STRICT_SUBS 0x00000200 /* strict pragma */
-#define HINT_STRICT_VARS 0x00000400 /* strict pragma */
-
-/* The HINT_NEW_* constants are used by the overload pragma */
-#define HINT_NEW_INTEGER 0x00001000
-#define HINT_NEW_FLOAT 0x00002000
-#define HINT_NEW_BINARY 0x00004000
-#define HINT_NEW_STRING 0x00008000
-#define HINT_NEW_RE 0x00010000
-#define HINT_LOCALIZE_HH 0x00020000 /* %^H needs to be copied */
-#define HINT_LEXICAL_IO_IN 0x00040000 /* ${^OPEN} is set for input */
-#define HINT_LEXICAL_IO_OUT 0x00080000 /* ${^OPEN} is set for output */
-
-#define HINT_RE_TAINT 0x00100000 /* re pragma */
-#define HINT_RE_EVAL 0x00200000 /* re pragma */
-
-#define HINT_FILETEST_ACCESS 0x00400000 /* filetest pragma */
-#define HINT_UTF8 0x00800000 /* utf8 pragma */
-
-/* The following are stored in $^H{sort}, not in PL_hints */
-#define HINT_SORT_SORT_BITS 0x000000FF /* allow 256 different ones */
-#define HINT_SORT_QUICKSORT 0x00000001
-#define HINT_SORT_MERGESORT 0x00000002
-#define HINT_SORT_STABLE 0x00000100 /* sort styles (currently one) */
-
-/* Various states of the input record separator SV (rs) */
-#define RsSNARF(sv) (! SvOK(sv))
-#define RsSIMPLE(sv) (SvOK(sv) && (! SvPOK(sv) || SvCUR(sv)))
-#define RsPARA(sv) (SvPOK(sv) && ! SvCUR(sv))
-#define RsRECORD(sv) (SvROK(sv) && (SvIV(SvRV(sv)) > 0))
-
-/* A struct for keeping various DEBUGGING related stuff,
- * neatly packed. Currently only scratch variables for
- * constructing debug output are included. Needed always,
- * not just when DEBUGGING, though, because of the re extension. c*/
-struct perl_debug_pad {
- SV pad[3];
-};
-
-#define PERL_DEBUG_PAD(i) &(PL_debug_pad.pad[i])
-#define PERL_DEBUG_PAD_ZERO(i) (SvPVX(PERL_DEBUG_PAD(i))[0] = 0, \
- (((XPV*) SvANY(PERL_DEBUG_PAD(i)))->xpv_cur = 0), \
- PERL_DEBUG_PAD(i))
-
-/* Enable variables which are pointers to functions */
-typedef void (CPERLscope(*peep_t))(pTHX_ OP* o);
-typedef regexp*(CPERLscope(*regcomp_t)) (pTHX_ char* exp, char* xend, PMOP* pm);
-typedef I32 (CPERLscope(*regexec_t)) (pTHX_ regexp* prog, char* stringarg,
- char* strend, char* strbeg, I32 minend,
- SV* screamer, void* data, U32 flags);
-typedef char* (CPERLscope(*re_intuit_start_t)) (pTHX_ regexp *prog, SV *sv,
- char *strpos, char *strend,
- U32 flags,
- re_scream_pos_data *d);
-typedef SV* (CPERLscope(*re_intuit_string_t)) (pTHX_ regexp *prog);
-typedef void (CPERLscope(*regfree_t)) (pTHX_ struct regexp* r);
-typedef regexp*(CPERLscope(*regdupe_t)) (pTHX_ const regexp* r, CLONE_PARAMS *param);
-
-typedef void (*DESTRUCTORFUNC_NOCONTEXT_t) (void*);
-typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*);
-typedef void (*SVFUNC_t) (pTHX_ SV*);
-typedef I32 (*SVCOMPARE_t) (pTHX_ SV*, SV*);
-typedef void (*XSINIT_t) (pTHX);
-typedef void (*ATEXIT_t) (pTHX_ void*);
-typedef void (*XSUBADDR_t) (pTHX_ CV *);
-
-/* Set up PERLVAR macros for populating structs */
-#define PERLVAR(var,type) type var;
-#define PERLVARA(var,n,type) type var[n];
-#define PERLVARI(var,type,init) type var;
-#define PERLVARIC(var,type,init) type var;
-#define PERLVARISC(var,init) const char var[sizeof(init)];
-
-typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX);
-typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
-
-/* Interpreter exitlist entry */
-typedef struct exitlistentry {
- void (*fn) (pTHX_ void*);
- void *ptr;
-} PerlExitListEntry;
-
-/* if you only have signal() and it resets on each signal, FAKE_PERSISTENT_SIGNAL_HANDLERS fixes */
-/* These have to be before perlvars.h */
-#if !defined(HAS_SIGACTION) && defined(VMS)
-# define FAKE_PERSISTENT_SIGNAL_HANDLERS
-#endif
-/* if we're doing kill() with sys$sigprc on VMS, FAKE_DEFAULT_SIGNAL_HANDLERS */
-#if defined(KILL_BY_SIGPRC)
-# define FAKE_DEFAULT_SIGNAL_HANDLERS
-#endif
-
-#define PERL_PATCHLEVEL_H_IMPLICIT
-#include "patchlevel.h"
-#undef PERL_PATCHLEVEL_H_IMPLICIT
-
-#ifdef PERL_GLOBAL_STRUCT
-struct perl_vars {
-# include "perlvars.h"
-};
-
-# ifdef PERL_CORE
-# ifndef PERL_GLOBAL_STRUCT_PRIVATE
-EXT struct perl_vars PL_Vars;
-EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars);
-# undef PERL_GET_VARS
-# define PERL_GET_VARS() PL_VarsPtr
-# endif /* !PERL_GLOBAL_STRUCT_PRIVATE */
-# else /* PERL_CORE */
-# if !defined(__GNUC__) || !defined(WIN32)
-EXT
-# endif /* WIN32 */
-struct perl_vars *PL_VarsPtr;
-# define PL_Vars (*((PL_VarsPtr) \
- ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX))))
-# endif /* PERL_CORE */
-#endif /* PERL_GLOBAL_STRUCT */
-
-#if defined(MULTIPLICITY)
-/* If we have multiple interpreters define a struct
- holding variables which must be per-interpreter
- If we don't have threads anything that would have
- be per-thread is per-interpreter.
-*/
-
-struct interpreter {
-# include "intrpvar.h"
-};
-
-#else
-struct interpreter {
- char broiled;
-};
-#endif /* MULTIPLICITY */
-
-/* Done with PERLVAR macros for now ... */
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-
-struct tempsym; /* defined in pp_pack.c */
-
-#include "thread.h"
-#include "pp.h"
-
-#ifndef PERL_CALLCONV
-# ifdef __cplusplus
-# define PERL_CALLCONV extern "C"
-# else
-# define PERL_CALLCONV
-# endif
-#endif
-#undef PERL_CKDEF
-#undef PERL_PPDEF
-#define PERL_CKDEF(s) PERL_CALLCONV OP *s (pTHX_ OP *o);
-#define PERL_PPDEF(s) PERL_CALLCONV OP *s (pTHX);
-
-#include "proto.h"
-
-/* this has structure inits, so it cannot be included before here */
-#include "opcode.h"
-
-/* The following must follow proto.h as #defines mess up syntax */
-
-#if !defined(PERL_FOR_X2P)
-# include "embedvar.h"
-#endif
-#ifndef PERL_MAD
-# undef PL_madskills
-# undef PL_xmlfp
-# define PL_madskills 0
-# define PL_xmlfp 0
-#endif
-
-/* Now include all the 'global' variables
- * If we don't have threads or multiple interpreters
- * these include variables that would have been their struct-s
- */
-
-#define PERLVAR(var,type) EXT type PL_##var;
-#define PERLVARA(var,n,type) EXT type PL_##var[n];
-#define PERLVARI(var,type,init) EXT type PL_##var INIT(init);
-#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
-#define PERLVARISC(var,init) EXTCONST char PL_##var[sizeof(init)] INIT(init);
-
-#if !defined(MULTIPLICITY)
-START_EXTERN_C
-# include "intrpvar.h"
-END_EXTERN_C
-#endif
-
-#if defined(WIN32)
-/* Now all the config stuff is setup we can include embed.h */
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
-#endif
-
-#ifndef PERL_GLOBAL_STRUCT
-START_EXTERN_C
-
-# include "perlvars.h"
-
-END_EXTERN_C
-#endif
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-
-START_EXTERN_C
-
-/* PERL_GLOBAL_STRUCT_PRIVATE wants to keep global data like the
- * magic vtables const, but this is incompatible with SWIG which
- * does want to modify the vtables. */
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-# define EXT_MGVTBL EXTCONST MGVTBL
-#else
-# define EXT_MGVTBL EXT MGVTBL
-#endif
-
-#ifdef DOINIT
-# define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var = {a,b,c,d,e,f,g,h}
-/* Like MGVTBL_SET but with the get magic having a const MG* */
-# define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var \
- = {(int (*)(pTHX_ SV *, MAGIC *))a,b,c,d,e,f,g,h}
-#else
-# define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
-# define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
-#endif
-
-/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
- * pointer to data, whereas we're assigning pointers to functions, which are
- * not the same beast. ANSI doesn't allow the assignment from one to the other.
- * (although most, but not all, compilers are prepared to do it)
- */
-MGVTBL_SET(
- PL_vtbl_sv,
- MEMBER_TO_FPTR(Perl_magic_get),
- MEMBER_TO_FPTR(Perl_magic_set),
- MEMBER_TO_FPTR(Perl_magic_len),
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_env,
- 0,
- MEMBER_TO_FPTR(Perl_magic_set_all_env),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clear_all_env),
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_envelem,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setenv),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clearenv),
- 0,
- 0,
- 0,
- 0
-);
-
-/* For now, hints magic will also use vtbl_sig, because it is all 0 */
-MGVTBL_SET(
- PL_vtbl_sig,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-#ifdef PERL_MICRO
-MGVTBL_SET(
- PL_vtbl_sigelem,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-#else
-MGVTBL_SET(
- PL_vtbl_sigelem,
- MEMBER_TO_FPTR(Perl_magic_getsig),
- MEMBER_TO_FPTR(Perl_magic_setsig),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clearsig),
- 0,
- 0,
- 0,
- 0
-);
-#endif
-
-MGVTBL_SET(
- PL_vtbl_pack,
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_sizepack),
- MEMBER_TO_FPTR(Perl_magic_wipepack),
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_packelem,
- MEMBER_TO_FPTR(Perl_magic_getpack),
- MEMBER_TO_FPTR(Perl_magic_setpack),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clearpack),
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_dbline,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setdbline),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_isa,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setisa),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clearisa),
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_isaelem,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setisa),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET_CONST_MAGIC_GET(
- PL_vtbl_arylen,
- MEMBER_TO_FPTR(Perl_magic_getarylen),
- MEMBER_TO_FPTR(Perl_magic_setarylen),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_arylen_p,
- 0,
- 0,
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_freearylen_p),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_mglob,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setmglob),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_nkeys,
- MEMBER_TO_FPTR(Perl_magic_getnkeys),
- MEMBER_TO_FPTR(Perl_magic_setnkeys),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_taint,
- MEMBER_TO_FPTR(Perl_magic_gettaint),
- MEMBER_TO_FPTR(Perl_magic_settaint),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_substr,
- MEMBER_TO_FPTR(Perl_magic_getsubstr),
- MEMBER_TO_FPTR(Perl_magic_setsubstr),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_vec,
- MEMBER_TO_FPTR(Perl_magic_getvec),
- MEMBER_TO_FPTR(Perl_magic_setvec),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_pos,
- MEMBER_TO_FPTR(Perl_magic_getpos),
- MEMBER_TO_FPTR(Perl_magic_setpos),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_bm,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setbm),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_fm,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setfm),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_uvar,
- MEMBER_TO_FPTR(Perl_magic_getuvar),
- MEMBER_TO_FPTR(Perl_magic_setuvar),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_defelem,
- MEMBER_TO_FPTR(Perl_magic_getdefelem),
- MEMBER_TO_FPTR(Perl_magic_setdefelem),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regexp,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setregexp),
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_freeregexp),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regdata,
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_regdata_cnt),
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regdatum,
- MEMBER_TO_FPTR(Perl_magic_regdatum_get),
- MEMBER_TO_FPTR(Perl_magic_regdatum_set),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_amagic,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_amagicelem,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setamagic),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_backref,
- 0,
- 0,
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_killbackrefs),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_ovrld,
- 0,
- 0,
- 0,
- 0,
- MEMBER_TO_FPTR(Perl_magic_freeovrld),
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_utf8,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setutf8),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-#ifdef USE_LOCALE_COLLATE
-MGVTBL_SET(
- PL_vtbl_collxfrm,
- 0,
- MEMBER_TO_FPTR(Perl_magic_setcollxfrm),
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-#endif
-
-MGVTBL_SET(
- PL_vtbl_hintselem,
- 0,
- MEMBER_TO_FPTR(Perl_magic_sethint),
- 0,
- MEMBER_TO_FPTR(Perl_magic_clearhint),
- 0,
- 0,
- 0,
- 0
-);
-
-#include "overload.h"
-
-END_EXTERN_C
-
-struct am_table {
- U32 flags;
- U32 was_ok_sub;
- long was_ok_am;
- long fallback;
- CV* table[NofAMmeth];
-};
-struct am_table_short {
- U32 flags;
- U32 was_ok_sub;
- long was_ok_am;
-};
-typedef struct am_table AMT;
-typedef struct am_table_short AMTS;
-
-#define AMGfallNEVER 1
-#define AMGfallNO 2
-#define AMGfallYES 3
-
-#define AMTf_AMAGIC 1
-#define AMTf_OVERLOADED 2
-#define AMT_AMAGIC(amt) ((amt)->flags & AMTf_AMAGIC)
-#define AMT_AMAGIC_on(amt) ((amt)->flags |= AMTf_AMAGIC)
-#define AMT_AMAGIC_off(amt) ((amt)->flags &= ~AMTf_AMAGIC)
-#define AMT_OVERLOADED(amt) ((amt)->flags & AMTf_OVERLOADED)
-#define AMT_OVERLOADED_on(amt) ((amt)->flags |= AMTf_OVERLOADED)
-#define AMT_OVERLOADED_off(amt) ((amt)->flags &= ~AMTf_OVERLOADED)
-
-#define StashHANDLER(stash,meth) gv_handler((stash),CAT2(meth,_amg))
-
-/*
- * some compilers like to redefine cos et alia as faster
- * (and less accurate?) versions called F_cos et cetera (Quidquid
- * latine dictum sit, altum viditur.) This trick collides with
- * the Perl overloading (amg). The following #defines fool both.
- */
-
-#ifdef _FASTMATH
-# ifdef atan2
-# define F_atan2_amg atan2_amg
-# endif
-# ifdef cos
-# define F_cos_amg cos_amg
-# endif
-# ifdef exp
-# define F_exp_amg exp_amg
-# endif
-# ifdef log
-# define F_log_amg log_amg
-# endif
-# ifdef pow
-# define F_pow_amg pow_amg
-# endif
-# ifdef sin
-# define F_sin_amg sin_amg
-# endif
-# ifdef sqrt
-# define F_sqrt_amg sqrt_amg
-# endif
-#endif /* _FASTMATH */
-
-#define PERLDB_ALL (PERLDBf_SUB | PERLDBf_LINE | \
- PERLDBf_NOOPT | PERLDBf_INTER | \
- PERLDBf_SUBLINE| PERLDBf_SINGLE| \
- PERLDBf_NAMEEVAL| PERLDBf_NAMEANON )
- /* No _NONAME, _GOTO, _ASSERTION */
-#define PERLDBf_SUB 0x01 /* Debug sub enter/exit */
-#define PERLDBf_LINE 0x02 /* Keep line # */
-#define PERLDBf_NOOPT 0x04 /* Switch off optimizations */
-#define PERLDBf_INTER 0x08 /* Preserve more data for
- later inspections */
-#define PERLDBf_SUBLINE 0x10 /* Keep subr source lines */
-#define PERLDBf_SINGLE 0x20 /* Start with single-step on */
-#define PERLDBf_NONAME 0x40 /* For _SUB: no name of the subr */
-#define PERLDBf_GOTO 0x80 /* Report goto: call DB::goto */
-#define PERLDBf_NAMEEVAL 0x100 /* Informative names for evals */
-#define PERLDBf_NAMEANON 0x200 /* Informative names for anon subs */
-
-#define PERLDB_SUB (PL_perldb && (PL_perldb & PERLDBf_SUB))
-#define PERLDB_LINE (PL_perldb && (PL_perldb & PERLDBf_LINE))
-#define PERLDB_NOOPT (PL_perldb && (PL_perldb & PERLDBf_NOOPT))
-#define PERLDB_INTER (PL_perldb && (PL_perldb & PERLDBf_INTER))
-#define PERLDB_SUBLINE (PL_perldb && (PL_perldb & PERLDBf_SUBLINE))
-#define PERLDB_SINGLE (PL_perldb && (PL_perldb & PERLDBf_SINGLE))
-#define PERLDB_SUB_NN (PL_perldb && (PL_perldb & (PERLDBf_NONAME)))
-#define PERLDB_GOTO (PL_perldb && (PL_perldb & PERLDBf_GOTO))
-#define PERLDB_NAMEEVAL (PL_perldb && (PL_perldb & PERLDBf_NAMEEVAL))
-#define PERLDB_NAMEANON (PL_perldb && (PL_perldb & PERLDBf_NAMEANON))
-#define PERLDB_ASSERTION (PL_perldb && (PL_perldb & PERLDBf_ASSERTION))
-
-#ifdef USE_LOCALE_NUMERIC
-
-#define SET_NUMERIC_STANDARD() \
- set_numeric_standard();
-
-#define SET_NUMERIC_LOCAL() \
- set_numeric_local();
-
-#define IN_LOCALE_RUNTIME (CopHINTS_get(PL_curcop) & HINT_LOCALE)
-#define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE)
-
-#define IN_LOCALE \
- (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
-
-#define STORE_NUMERIC_LOCAL_SET_STANDARD() \
- bool was_local = PL_numeric_local && IN_LOCALE; \
- if (was_local) SET_NUMERIC_STANDARD();
-
-#define STORE_NUMERIC_STANDARD_SET_LOCAL() \
- bool was_standard = PL_numeric_standard && IN_LOCALE; \
- if (was_standard) SET_NUMERIC_LOCAL();
-
-#define RESTORE_NUMERIC_LOCAL() \
- if (was_local) SET_NUMERIC_LOCAL();
-
-#define RESTORE_NUMERIC_STANDARD() \
- if (was_standard) SET_NUMERIC_STANDARD();
-
-#define Atof my_atof
-
-#else /* !USE_LOCALE_NUMERIC */
-
-#define SET_NUMERIC_STANDARD() /**/
-#define SET_NUMERIC_LOCAL() /**/
-#define IS_NUMERIC_RADIX(a, b) (0)
-#define STORE_NUMERIC_LOCAL_SET_STANDARD() /**/
-#define STORE_NUMERIC_STANDARD_SET_LOCAL() /**/
-#define RESTORE_NUMERIC_LOCAL() /**/
-#define RESTORE_NUMERIC_STANDARD() /**/
-#define Atof my_atof
-#define IN_LOCALE_RUNTIME 0
-
-#endif /* !USE_LOCALE_NUMERIC */
-
-#if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
-# ifdef __hpux
-# define strtoll __strtoll /* secret handshake */
-# endif
-# ifdef WIN64
-# define strtoll _strtoi64 /* secret handshake */
-# endif
-# if !defined(Strtol) && defined(HAS_STRTOLL)
-# define Strtol strtoll
-# endif
-# if !defined(Strtol) && defined(HAS_STRTOQ)
-# define Strtol strtoq
-# endif
-/* is there atoq() anywhere? */
-#endif
-#if !defined(Strtol) && defined(HAS_STRTOL)
-# define Strtol strtol
-#endif
-#ifndef Atol
-/* It would be more fashionable to use Strtol() to define atol()
- * (as is done for Atoul(), see below) but for backward compatibility
- * we just assume atol(). */
-# if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_ATOLL)
-# ifdef WIN64
-# define atoll _atoi64 /* secret handshake */
-# endif
-# define Atol atoll
-# else
-# define Atol atol
-# endif
-#endif
-
-#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
-# ifdef __hpux
-# define strtoull __strtoull /* secret handshake */
-# endif
-# ifdef WIN64
-# define strtoull _strtoui64 /* secret handshake */
-# endif
-# if !defined(Strtoul) && defined(HAS_STRTOULL)
-# define Strtoul strtoull
-# endif
-# if !defined(Strtoul) && defined(HAS_STRTOUQ)
-# define Strtoul strtouq
-# endif
-/* is there atouq() anywhere? */
-#endif
-#if !defined(Strtoul) && defined(HAS_STRTOUL)
-# define Strtoul strtoul
-#endif
-#if !defined(Strtoul) && defined(HAS_STRTOL) /* Last resort. */
-# define Strtoul(s, e, b) strchr((s), '-') ? ULONG_MAX : (unsigned long)strtol((s), (e), (b))
-#endif
-#ifndef Atoul
-# define Atoul(s) Strtoul(s, NULL, 10)
-#endif
-
-
-/* if these never got defined, they need defaults */
-#ifndef PERL_SET_CONTEXT
-# define PERL_SET_CONTEXT(i) PERL_SET_INTERP(i)
-#endif
-
-#ifndef PERL_GET_CONTEXT
-# define PERL_GET_CONTEXT PERL_GET_INTERP
-#endif
-
-#ifndef PERL_GET_THX
-# define PERL_GET_THX ((void*)NULL)
-#endif
-
-#ifndef PERL_SET_THX
-# define PERL_SET_THX(t) NOOP
-#endif
-
-#ifndef PERL_SCRIPT_MODE
-#define PERL_SCRIPT_MODE "r"
-#endif
-
-/*
- * Some operating systems are stingy with stack allocation,
- * so perl may have to guard against stack overflow.
- */
-#ifndef PERL_STACK_OVERFLOW_CHECK
-#define PERL_STACK_OVERFLOW_CHECK() NOOP
-#endif
-
-/*
- * Some nonpreemptive operating systems find it convenient to
- * check for asynchronous conditions after each op execution.
- * Keep this check simple, or it may slow down execution
- * massively.
- */
-
-#ifndef PERL_MICRO
-# ifndef PERL_ASYNC_CHECK
-# define PERL_ASYNC_CHECK() if (PL_sig_pending) despatch_signals()
-# endif
-#endif
-
-#ifndef PERL_ASYNC_CHECK
-# define PERL_ASYNC_CHECK() NOOP
-#endif
-
-/*
- * On some operating systems, a memory allocation may succeed,
- * but put the process too close to the system's comfort limit.
- * In this case, PERL_ALLOC_CHECK frees the pointer and sets
- * it to NULL.
- */
-#ifndef PERL_ALLOC_CHECK
-#define PERL_ALLOC_CHECK(p) NOOP
-#endif
-
-#ifdef HAS_SEM
-# include <sys/ipc.h>
-# include <sys/sem.h>
-# ifndef HAS_UNION_SEMUN /* Provide the union semun. */
- union semun {
- int val;
- struct semid_ds *buf;
- unsigned short *array;
- };
-# endif
-# ifdef USE_SEMCTL_SEMUN
-# ifdef IRIX32_SEMUN_BROKEN_BY_GCC
- union gccbug_semun {
- int val;
- struct semid_ds *buf;
- unsigned short *array;
- char __dummy[5];
- };
-# define semun gccbug_semun
-# endif
-# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun)
-# else
-# ifdef USE_SEMCTL_SEMID_DS
-# ifdef EXTRA_F_IN_SEMUN_BUF
-# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buff)
-# else
-# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buf)
-# endif
-# endif
-# endif
-#endif
-
-/*
- * Boilerplate macros for initializing and accessing interpreter-local
- * data from C. All statics in extensions should be reworked to use
- * this, if you want to make the extension thread-safe. See
- * ext/XS/APItest/APItest.xs for an example of the use of these macros,
- * and perlxs.pod for more.
- *
- * Code that uses these macros is responsible for the following:
- * 1. #define MY_CXT_KEY to a unique string, e.g.
- * "DynaLoader::_guts" XS_VERSION
- * XXX in the current implementation, this string is ignored.
- * 2. Declare a typedef named my_cxt_t that is a structure that contains
- * all the data that needs to be interpreter-local.
- * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
- * 4. Use the MY_CXT_INIT macro such that it is called exactly once
- * (typically put in the BOOT: section).
- * 5. Use the members of the my_cxt_t structure everywhere as
- * MY_CXT.member.
- * 6. Use the dMY_CXT macro (a declaration) in all the functions that
- * access MY_CXT.
- */
-
-#if defined(PERL_IMPLICIT_CONTEXT)
-
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-
-/* This must appear in all extensions that define a my_cxt_t structure,
- * right after the definition (i.e. at file scope). The non-threads
- * case below uses it to declare the data as static. */
-#define START_MY_CXT
-#define MY_CXT_INDEX Perl_my_cxt_index(aTHX_ MY_CXT_KEY)
-
-/* Creates and zeroes the per-interpreter data.
- * (We allocate my_cxtp in a Perl SV so that it will be released when
- * the interpreter goes away.) */
-#define MY_CXT_INIT \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_KEY, sizeof(my_cxt_t))
-#define MY_CXT_INIT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_KEY, sizeof(my_cxt_t))
-
-/* This declaration should be used within all functions that use the
- * interpreter-local data. */
-#define dMY_CXT \
- my_cxt_t *my_cxtp = (my_cxt_t *)PL_my_cxt_list[MY_CXT_INDEX]
-#define dMY_CXT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = (my_cxt_t *)(my_perl)->Imy_cxt_list[MY_CXT_INDEX]
-
-/* Clones the per-interpreter data. */
-#define MY_CXT_CLONE \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Copy(PL_my_cxt_list[MY_CXT_INDEX], my_cxtp, 1, my_cxt_t);\
- PL_my_cxt_list[MY_CXT_INDEX] = my_cxtp \
-
-#else /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
-
-/* This must appear in all extensions that define a my_cxt_t structure,
- * right after the definition (i.e. at file scope). The non-threads
- * case below uses it to declare the data as static. */
-#define START_MY_CXT static int my_cxt_index = -1;
-
-/* This declaration should be used within all functions that use the
- * interpreter-local data. */
-#define dMY_CXT \
- my_cxt_t *my_cxtp = (my_cxt_t *)PL_my_cxt_list[my_cxt_index]
-#define dMY_CXT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = (my_cxt_t *)(my_perl)->Imy_cxt_list[my_cxt_index]
-
-/* Creates and zeroes the per-interpreter data.
- * (We allocate my_cxtp in a Perl SV so that it will be released when
- * the interpreter goes away.) */
-#define MY_CXT_INIT \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(aTHX_ &my_cxt_index, sizeof(my_cxt_t))
-#define MY_CXT_INIT_INTERP(my_perl) \
- my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(my_perl, &my_cxt_index, sizeof(my_cxt_t))
-
-/* Clones the per-interpreter data. */
-#define MY_CXT_CLONE \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Copy(PL_my_cxt_list[my_cxt_index], my_cxtp, 1, my_cxt_t);\
- PL_my_cxt_list[my_cxt_index] = my_cxtp \
-
-#endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */
-
-/* This macro must be used to access members of the my_cxt_t structure.
- * e.g. MYCXT.some_data */
-#define MY_CXT (*my_cxtp)
-
-/* Judicious use of these macros can reduce the number of times dMY_CXT
- * is used. Use is similar to pTHX, aTHX etc. */
-#define pMY_CXT my_cxt_t *my_cxtp
-#define pMY_CXT_ pMY_CXT,
-#define _pMY_CXT ,pMY_CXT
-#define aMY_CXT my_cxtp
-#define aMY_CXT_ aMY_CXT,
-#define _aMY_CXT ,aMY_CXT
-
-#else /* PERL_IMPLICIT_CONTEXT */
-
-#define START_MY_CXT static my_cxt_t my_cxt;
-#define dMY_CXT_SV dNOOP
-#define dMY_CXT dNOOP
-#define dMY_CXT_INTERP(my_perl) dNOOP
-#define MY_CXT_INIT NOOP
-#define MY_CXT_CLONE NOOP
-#define MY_CXT my_cxt
-
-#define pMY_CXT void
-#define pMY_CXT_
-#define _pMY_CXT
-#define aMY_CXT
-#define aMY_CXT_
-#define _aMY_CXT
-
-#endif /* !defined(PERL_IMPLICIT_CONTEXT) */
-
-#ifdef I_FCNTL
-# include <fcntl.h>
-#endif
-
-#ifdef __Lynx__
-# include <fcntl.h>
-#endif
-
-#ifdef I_SYS_FILE
-# include <sys/file.h>
-#endif
-
-#if defined(HAS_FLOCK) && !defined(HAS_FLOCK_PROTO)
-int flock(int fd, int op);
-#endif
-
-#ifndef O_RDONLY
-/* Assume UNIX defaults */
-# define O_RDONLY 0000
-# define O_WRONLY 0001
-# define O_RDWR 0002
-# define O_CREAT 0100
-#endif
-
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-#ifndef O_TEXT
-# define O_TEXT 0
-#endif
-
-#if O_TEXT != O_BINARY
- /* If you have different O_TEXT and O_BINARY and you are a CLRF shop,
- * that is, you are somehow DOSish. */
-# if defined(__BEOS__) || defined(__VOS__) || defined(__CYGWIN__)
- /* BeOS has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
- * BeOS is always UNIXoid (LF), not DOSish (CRLF). */
- /* VOS has O_TEXT != O_BINARY, and they have effect,
- * but VOS always uses LF, never CRLF. */
- /* If you have O_TEXT different from your O_BINARY but you still are
- * not a CRLF shop. */
-# undef PERLIO_USING_CRLF
-# else
- /* If you really are DOSish. */
-# define PERLIO_USING_CRLF 1
-# endif
-#endif
-
-#ifdef IAMSUID
-
-#ifdef I_SYS_STATVFS
-# if defined(PERL_SCO) && !defined(_SVID3)
-# define _SVID3
-# endif
-# include <sys/statvfs.h> /* for f?statvfs() */
-#endif
-#ifdef I_SYS_MOUNT
-# include <sys/mount.h> /* for *BSD f?statfs() */
-#endif
-#ifdef I_MNTENT
-# include <mntent.h> /* for getmntent() */
-#endif
-#ifdef I_SYS_STATFS
-# include <sys/statfs.h> /* for some statfs() */
-#endif
-#ifdef I_SYS_VFS
-# ifdef __sgi
-# define sv IRIX_sv /* kludge: IRIX has an sv of its own */
-# endif
-# include <sys/vfs.h> /* for some statfs() */
-# ifdef __sgi
-# undef IRIX_sv
-# endif
-#endif
-#ifdef I_USTAT
-# include <ustat.h> /* for ustat() */
-#endif
-
-#if !defined(PERL_MOUNT_NOSUID) && defined(MOUNT_NOSUID)
-# define PERL_MOUNT_NOSUID MOUNT_NOSUID
-#endif
-#if !defined(PERL_MOUNT_NOSUID) && defined(MNT_NOSUID)
-# define PERL_MOUNT_NOSUID MNT_NOSUID
-#endif
-#if !defined(PERL_MOUNT_NOSUID) && defined(MS_NOSUID)
-# define PERL_MOUNT_NOSUID MS_NOSUID
-#endif
-#if !defined(PERL_MOUNT_NOSUID) && defined(M_NOSUID)
-# define PERL_MOUNT_NOSUID M_NOSUID
-#endif
-
-#if !defined(PERL_MOUNT_NOEXEC) && defined(MOUNT_NOEXEC)
-# define PERL_MOUNT_NOEXEC MOUNT_NOEXEC
-#endif
-#if !defined(PERL_MOUNT_NOEXEC) && defined(MNT_NOEXEC)
-# define PERL_MOUNT_NOEXEC MNT_NOEXEC
-#endif
-#if !defined(PERL_MOUNT_NOEXEC) && defined(MS_NOEXEC)
-# define PERL_MOUNT_NOEXEC MS_NOEXEC
-#endif
-#if !defined(PERL_MOUNT_NOEXEC) && defined(M_NOEXEC)
-# define PERL_MOUNT_NOEXEC M_NOEXEC
-#endif
-
-#endif /* IAMSUID */
-
-#ifdef I_LIBUTIL
-# include <libutil.h> /* setproctitle() in some FreeBSDs */
-#endif
-
-#ifndef EXEC_ARGV_CAST
-#define EXEC_ARGV_CAST(x) x
-#endif
-
-#define IS_NUMBER_IN_UV 0x01 /* number within UV range (maybe not
- int). value returned in pointed-
- to UV */
-#define IS_NUMBER_GREATER_THAN_UV_MAX 0x02 /* pointed to UV undefined */
-#define IS_NUMBER_NOT_INT 0x04 /* saw . or E notation */
-#define IS_NUMBER_NEG 0x08 /* leading minus sign */
-#define IS_NUMBER_INFINITY 0x10 /* this is big */
-#define IS_NUMBER_NAN 0x20 /* this is not */
-
-#define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send)
-
-/* Input flags: */
-#define PERL_SCAN_ALLOW_UNDERSCORES 0x01 /* grok_??? accept _ in numbers */
-#define PERL_SCAN_DISALLOW_PREFIX 0x02 /* grok_??? reject 0x in hex etc */
-#define PERL_SCAN_SILENT_ILLDIGIT 0x04 /* grok_??? not warn about illegal digits */
-/* Output flags: */
-#define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 /* should this merge with above? */
-
-/* to let user control profiling */
-#ifdef PERL_GPROF_CONTROL
-extern void moncontrol(int);
-#define PERL_GPROF_MONCONTROL(x) moncontrol(x)
-#else
-#define PERL_GPROF_MONCONTROL(x)
-#endif
-
-#ifdef UNDER_CE
-#include "wince.h"
-#endif
-
-/* ISO 6429 NEL - C1 control NExt Line */
-/* See http://www.unicode.org/unicode/reports/tr13/ */
-#ifdef EBCDIC /* In EBCDIC NEL is just an alias for LF */
-# if '^' == 95 /* CP 1047: MVS OpenEdition - OS/390 - z/OS */
-# define NEXT_LINE_CHAR 0x15
-# else /* CDRA */
-# define NEXT_LINE_CHAR 0x25
-# endif
-#else
-# define NEXT_LINE_CHAR 0x85
-#endif
-
-/* The UTF-8 bytes of the Unicode LS and PS, U+2028 and U+2029 */
-#define UNICODE_LINE_SEPA_0 0xE2
-#define UNICODE_LINE_SEPA_1 0x80
-#define UNICODE_LINE_SEPA_2 0xA8
-#define UNICODE_PARA_SEPA_0 0xE2
-#define UNICODE_PARA_SEPA_1 0x80
-#define UNICODE_PARA_SEPA_2 0xA9
-
-#ifndef PIPESOCK_MODE
-# define PIPESOCK_MODE
-#endif
-
-#ifndef SOCKET_OPEN_MODE
-# define SOCKET_OPEN_MODE PIPESOCK_MODE
-#endif
-
-#ifndef PIPE_OPEN_MODE
-# define PIPE_OPEN_MODE PIPESOCK_MODE
-#endif
-
-#define PERL_MAGIC_UTF8_CACHESIZE 2
-
-#define PERL_UNICODE_STDIN_FLAG 0x0001
-#define PERL_UNICODE_STDOUT_FLAG 0x0002
-#define PERL_UNICODE_STDERR_FLAG 0x0004
-#define PERL_UNICODE_IN_FLAG 0x0008
-#define PERL_UNICODE_OUT_FLAG 0x0010
-#define PERL_UNICODE_ARGV_FLAG 0x0020
-#define PERL_UNICODE_LOCALE_FLAG 0x0040
-#define PERL_UNICODE_WIDESYSCALLS_FLAG 0x0080 /* for Sarathy */
-#define PERL_UNICODE_UTF8CACHEASSERT_FLAG 0x0100
-
-#define PERL_UNICODE_STD_FLAG \
- (PERL_UNICODE_STDIN_FLAG | \
- PERL_UNICODE_STDOUT_FLAG | \
- PERL_UNICODE_STDERR_FLAG)
-
-#define PERL_UNICODE_INOUT_FLAG \
- (PERL_UNICODE_IN_FLAG | \
- PERL_UNICODE_OUT_FLAG)
-
-#define PERL_UNICODE_DEFAULT_FLAGS \
- (PERL_UNICODE_STD_FLAG | \
- PERL_UNICODE_INOUT_FLAG | \
- PERL_UNICODE_LOCALE_FLAG)
-
-#define PERL_UNICODE_ALL_FLAGS 0x01ff
-
-#define PERL_UNICODE_STDIN 'I'
-#define PERL_UNICODE_STDOUT 'O'
-#define PERL_UNICODE_STDERR 'E'
-#define PERL_UNICODE_STD 'S'
-#define PERL_UNICODE_IN 'i'
-#define PERL_UNICODE_OUT 'o'
-#define PERL_UNICODE_INOUT 'D'
-#define PERL_UNICODE_ARGV 'A'
-#define PERL_UNICODE_LOCALE 'L'
-#define PERL_UNICODE_WIDESYSCALLS 'W'
-#define PERL_UNICODE_UTF8CACHEASSERT 'a'
-
-#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
-
-/* From sigaction(2) (FreeBSD man page):
- * | Signal routines normally execute with the signal that
- * | caused their invocation blocked, but other signals may
- * | yet occur.
- * Emulation of this behavior (from within Perl) is enabled
- * by defining PERL_BLOCK_SIGNALS.
- */
-#define PERL_BLOCK_SIGNALS
-
-#if defined(HAS_SIGPROCMASK) && defined(PERL_BLOCK_SIGNALS)
-# define PERL_BLOCKSIG_ADD(set,sig) \
- sigset_t set; sigemptyset(&(set)); sigaddset(&(set), sig)
-# define PERL_BLOCKSIG_BLOCK(set) \
- sigprocmask(SIG_BLOCK, &(set), NULL)
-# define PERL_BLOCKSIG_UNBLOCK(set) \
- sigprocmask(SIG_UNBLOCK, &(set), NULL)
-#endif /* HAS_SIGPROCMASK && PERL_BLOCK_SIGNALS */
-
-/* How about the old style of sigblock()? */
-
-#ifndef PERL_BLOCKSIG_ADD
-# define PERL_BLOCKSIG_ADD(set, sig) NOOP
-#endif
-#ifndef PERL_BLOCKSIG_BLOCK
-# define PERL_BLOCKSIG_BLOCK(set) NOOP
-#endif
-#ifndef PERL_BLOCKSIG_UNBLOCK
-# define PERL_BLOCKSIG_UNBLOCK(set) NOOP
-#endif
-
-/* Use instead of abs() since abs() forces its argument to be an int,
- * but also beware since this evaluates its argument twice, so no x++. */
-#define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
-
-#if defined(__DECC) && defined(__osf__)
-#pragma message disable (mainparm) /* Perl uses the envp in main(). */
-#endif
-
-#define do_open(g, n, l, a, rm, rp, sf) \
- do_openn(g, n, l, a, rm, rp, sf, (SV **) NULL, 0)
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-# define do_exec(cmd) do_exec3(cmd,0,0)
-#endif
-#ifdef OS2
-# define do_aexec Perl_do_aexec
-#else
-# define do_aexec(really, mark,sp) do_aexec5(really, mark, sp, 0, 0)
-#endif
-
-#if defined(OEMVS)
-#define NO_ENV_ARRAY_IN_MAIN
-#endif
-
-/* These are used by Perl_pv_escape() and Perl_pv_pretty()
- * are here so that they are available throughout the core
- * NOTE that even though some are for _escape and some for _pretty
- * there must not be any clashes as the flags from _pretty are
- * passed straight through to _escape.
- */
-
-#define PERL_PV_ESCAPE_QUOTE 0x0001
-#define PERL_PV_PRETTY_QUOTE PERL_PV_ESCAPE_QUOTE
-
-#define PERL_PV_PRETTY_ELLIPSES 0x0002
-#define PERL_PV_PRETTY_LTGT 0x0004
-
-#define PERL_PV_ESCAPE_FIRSTCHAR 0x0008
-
-#define PERL_PV_ESCAPE_UNI 0x0100
-#define PERL_PV_ESCAPE_UNI_DETECT 0x0200
-
-#define PERL_PV_ESCAPE_ALL 0x1000
-#define PERL_PV_ESCAPE_NOBACKSLASH 0x2000
-#define PERL_PV_ESCAPE_NOCLEAR 0x4000
-#define PERL_PV_ESCAPE_RE 0x8000
-
-#define PERL_PV_PRETTY_NOCLEAR PERL_PV_ESCAPE_NOCLEAR
-
-/* used by pv_display in dump.c*/
-#define PERL_PV_PRETTY_DUMP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE
-#define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE
-
-/*
-
- (KEEP THIS LAST IN perl.h!)
-
- Mention
-
- NV_PRESERVES_UV
-
- HAS_MKSTEMP
- HAS_MKSTEMPS
- HAS_MKDTEMP
-
- HAS_GETCWD
-
- HAS_MMAP
- HAS_MPROTECT
- HAS_MSYNC
- HAS_MADVISE
- HAS_MUNMAP
- I_SYSMMAN
- Mmap_t
-
- NVef
- NVff
- NVgf
-
- HAS_UALARM
- HAS_USLEEP
-
- HAS_SETITIMER
- HAS_GETITIMER
-
- HAS_SENDMSG
- HAS_RECVMSG
- HAS_READV
- HAS_WRITEV
- I_SYSUIO
- HAS_STRUCT_MSGHDR
- HAS_STRUCT_CMSGHDR
-
- HAS_NL_LANGINFO
-
- HAS_DIRFD
-
- so that Configure picks them up.
-
- (KEEP THIS LAST IN perl.h!)
-
-*/
-
-#endif /* Include guard */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlapi.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlapi.h
deleted file mode 100644
index 1468accbc46..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlapi.h
+++ /dev/null
@@ -1,829 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * perlapi.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
- * Any changes made here will be lost!
- *
- * Edit those files and run 'make regen_headers' to effect changes.
- */
-
-/* declare accessor functions for Perl variables */
-#ifndef __perlapi_h__
-#define __perlapi_h__
-
-#if defined (MULTIPLICITY)
-
-START_EXTERN_C
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \
- EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i) typedef const char PL_##v##_t[sizeof(i)]; \
- EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-
-#include "intrpvar.h"
-#include "perlvars.h"
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-
-#ifndef PERL_GLOBAL_STRUCT
-EXTERN_C Perl_ppaddr_t** Perl_Gppaddr_ptr(pTHX);
-EXTERN_C Perl_check_t** Perl_Gcheck_ptr(pTHX);
-EXTERN_C unsigned char** Perl_Gfold_locale_ptr(pTHX);
-#define Perl_ppaddr_ptr Perl_Gppaddr_ptr
-#define Perl_check_ptr Perl_Gcheck_ptr
-#define Perl_fold_locale_ptr Perl_Gfold_locale_ptr
-#endif
-
-END_EXTERN_C
-
-#if defined(PERL_CORE)
-
-/* accessor functions for Perl variables (provide binary compatibility) */
-
-/* these need to be mentioned here, or most linkers won't put them in
- the perl executable */
-
-#ifndef PERL_NO_FORCE_LINK
-
-START_EXTERN_C
-
-#ifndef DOINIT
-EXTCONST void * const PL_force_link_funcs[];
-#else
-EXTCONST void * const PL_force_link_funcs[] = {
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#define PERLVAR(v,t) (void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t) PERLVAR(v,t)
-#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
-#define PERLVARISC(v,i) PERLVAR(v,char)
-
-/* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
- * cannot cast between void pointers and function pointers without
- * info level warnings. The PL_force_link_funcs[] would cause a few
- * hundred of those warnings. In code one can circumnavigate this by using
- * unions that overlay the different pointers, but in declarations one
- * cannot use this trick. Therefore we just disable the warning here
- * for the duration of the PL_force_link_funcs[] declaration. */
-
-#if defined(__DECC) && defined(__osf__)
-#pragma message save
-#pragma message disable (nonstandcast)
-#endif
-
-#include "intrpvar.h"
-#include "perlvars.h"
-
-#if defined(__DECC) && defined(__osf__)
-#pragma message restore
-#endif
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-};
-#endif /* DOINIT */
-
-END_EXTERN_C
-
-#endif /* PERL_NO_FORCE_LINK */
-
-#else /* !PERL_CORE */
-
-#undef PL_Argv
-#define PL_Argv (*Perl_IArgv_ptr(aTHX))
-#undef PL_Cmd
-#define PL_Cmd (*Perl_ICmd_ptr(aTHX))
-#undef PL_DBcv
-#define PL_DBcv (*Perl_IDBcv_ptr(aTHX))
-#undef PL_DBgv
-#define PL_DBgv (*Perl_IDBgv_ptr(aTHX))
-#undef PL_DBline
-#define PL_DBline (*Perl_IDBline_ptr(aTHX))
-#undef PL_DBsignal
-#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHX))
-#undef PL_DBsingle
-#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHX))
-#undef PL_DBsub
-#define PL_DBsub (*Perl_IDBsub_ptr(aTHX))
-#undef PL_DBtrace
-#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHX))
-#undef PL_Dir
-#define PL_Dir (*Perl_IDir_ptr(aTHX))
-#undef PL_Env
-#define PL_Env (*Perl_IEnv_ptr(aTHX))
-#undef PL_LIO
-#define PL_LIO (*Perl_ILIO_ptr(aTHX))
-#undef PL_Mem
-#define PL_Mem (*Perl_IMem_ptr(aTHX))
-#undef PL_MemParse
-#define PL_MemParse (*Perl_IMemParse_ptr(aTHX))
-#undef PL_MemShared
-#define PL_MemShared (*Perl_IMemShared_ptr(aTHX))
-#undef PL_OpPtr
-#define PL_OpPtr (*Perl_IOpPtr_ptr(aTHX))
-#undef PL_OpSlab
-#define PL_OpSlab (*Perl_IOpSlab_ptr(aTHX))
-#undef PL_OpSpace
-#define PL_OpSpace (*Perl_IOpSpace_ptr(aTHX))
-#undef PL_Proc
-#define PL_Proc (*Perl_IProc_ptr(aTHX))
-#undef PL_Sock
-#define PL_Sock (*Perl_ISock_ptr(aTHX))
-#undef PL_StdIO
-#define PL_StdIO (*Perl_IStdIO_ptr(aTHX))
-#undef PL_Sv
-#define PL_Sv (*Perl_ISv_ptr(aTHX))
-#undef PL_Xpv
-#define PL_Xpv (*Perl_IXpv_ptr(aTHX))
-#undef PL_amagic_generation
-#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHX))
-#undef PL_an
-#define PL_an (*Perl_Ian_ptr(aTHX))
-#undef PL_argvgv
-#define PL_argvgv (*Perl_Iargvgv_ptr(aTHX))
-#undef PL_argvout_stack
-#define PL_argvout_stack (*Perl_Iargvout_stack_ptr(aTHX))
-#undef PL_argvoutgv
-#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHX))
-#undef PL_basetime
-#define PL_basetime (*Perl_Ibasetime_ptr(aTHX))
-#undef PL_beginav
-#define PL_beginav (*Perl_Ibeginav_ptr(aTHX))
-#undef PL_beginav_save
-#define PL_beginav_save (*Perl_Ibeginav_save_ptr(aTHX))
-#undef PL_bitcount
-#define PL_bitcount (*Perl_Ibitcount_ptr(aTHX))
-#undef PL_body_arenas
-#define PL_body_arenas (*Perl_Ibody_arenas_ptr(aTHX))
-#undef PL_body_roots
-#define PL_body_roots (*Perl_Ibody_roots_ptr(aTHX))
-#undef PL_bodytarget
-#define PL_bodytarget (*Perl_Ibodytarget_ptr(aTHX))
-#undef PL_checkav
-#define PL_checkav (*Perl_Icheckav_ptr(aTHX))
-#undef PL_checkav_save
-#define PL_checkav_save (*Perl_Icheckav_save_ptr(aTHX))
-#undef PL_chopset
-#define PL_chopset (*Perl_Ichopset_ptr(aTHX))
-#undef PL_clocktick
-#define PL_clocktick (*Perl_Iclocktick_ptr(aTHX))
-#undef PL_collation_ix
-#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHX))
-#undef PL_collation_name
-#define PL_collation_name (*Perl_Icollation_name_ptr(aTHX))
-#undef PL_collation_standard
-#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHX))
-#undef PL_collxfrm_base
-#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHX))
-#undef PL_collxfrm_mult
-#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHX))
-#undef PL_colors
-#define PL_colors (*Perl_Icolors_ptr(aTHX))
-#undef PL_colorset
-#define PL_colorset (*Perl_Icolorset_ptr(aTHX))
-#undef PL_compcv
-#define PL_compcv (*Perl_Icompcv_ptr(aTHX))
-#undef PL_compiling
-#define PL_compiling (*Perl_Icompiling_ptr(aTHX))
-#undef PL_comppad
-#define PL_comppad (*Perl_Icomppad_ptr(aTHX))
-#undef PL_comppad_name
-#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHX))
-#undef PL_comppad_name_fill
-#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHX))
-#undef PL_comppad_name_floor
-#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHX))
-#undef PL_cop_seqmax
-#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHX))
-#undef PL_cryptseen
-#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHX))
-#undef PL_curcop
-#define PL_curcop (*Perl_Icurcop_ptr(aTHX))
-#undef PL_curcopdb
-#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHX))
-#undef PL_curpad
-#define PL_curpad (*Perl_Icurpad_ptr(aTHX))
-#undef PL_curpm
-#define PL_curpm (*Perl_Icurpm_ptr(aTHX))
-#undef PL_curstack
-#define PL_curstack (*Perl_Icurstack_ptr(aTHX))
-#undef PL_curstackinfo
-#define PL_curstackinfo (*Perl_Icurstackinfo_ptr(aTHX))
-#undef PL_curstash
-#define PL_curstash (*Perl_Icurstash_ptr(aTHX))
-#undef PL_curstname
-#define PL_curstname (*Perl_Icurstname_ptr(aTHX))
-#undef PL_custom_op_descs
-#define PL_custom_op_descs (*Perl_Icustom_op_descs_ptr(aTHX))
-#undef PL_custom_op_names
-#define PL_custom_op_names (*Perl_Icustom_op_names_ptr(aTHX))
-#undef PL_cv_has_eval
-#define PL_cv_has_eval (*Perl_Icv_has_eval_ptr(aTHX))
-#undef PL_dbargs
-#define PL_dbargs (*Perl_Idbargs_ptr(aTHX))
-#undef PL_debstash
-#define PL_debstash (*Perl_Idebstash_ptr(aTHX))
-#undef PL_debug
-#define PL_debug (*Perl_Idebug_ptr(aTHX))
-#undef PL_debug_pad
-#define PL_debug_pad (*Perl_Idebug_pad_ptr(aTHX))
-#undef PL_def_layerlist
-#define PL_def_layerlist (*Perl_Idef_layerlist_ptr(aTHX))
-#undef PL_defgv
-#define PL_defgv (*Perl_Idefgv_ptr(aTHX))
-#undef PL_defoutgv
-#define PL_defoutgv (*Perl_Idefoutgv_ptr(aTHX))
-#undef PL_defstash
-#define PL_defstash (*Perl_Idefstash_ptr(aTHX))
-#undef PL_delaymagic
-#define PL_delaymagic (*Perl_Idelaymagic_ptr(aTHX))
-#undef PL_destroyhook
-#define PL_destroyhook (*Perl_Idestroyhook_ptr(aTHX))
-#undef PL_diehook
-#define PL_diehook (*Perl_Idiehook_ptr(aTHX))
-#undef PL_dirty
-#define PL_dirty (*Perl_Idirty_ptr(aTHX))
-#undef PL_doextract
-#define PL_doextract (*Perl_Idoextract_ptr(aTHX))
-#undef PL_doswitches
-#define PL_doswitches (*Perl_Idoswitches_ptr(aTHX))
-#undef PL_dowarn
-#define PL_dowarn (*Perl_Idowarn_ptr(aTHX))
-#undef PL_dumper_fd
-#define PL_dumper_fd (*Perl_Idumper_fd_ptr(aTHX))
-#undef PL_dumpindent
-#define PL_dumpindent (*Perl_Idumpindent_ptr(aTHX))
-#undef PL_e_script
-#define PL_e_script (*Perl_Ie_script_ptr(aTHX))
-#undef PL_efloatbuf
-#define PL_efloatbuf (*Perl_Iefloatbuf_ptr(aTHX))
-#undef PL_efloatsize
-#define PL_efloatsize (*Perl_Iefloatsize_ptr(aTHX))
-#undef PL_egid
-#define PL_egid (*Perl_Iegid_ptr(aTHX))
-#undef PL_encoding
-#define PL_encoding (*Perl_Iencoding_ptr(aTHX))
-#undef PL_endav
-#define PL_endav (*Perl_Iendav_ptr(aTHX))
-#undef PL_envgv
-#define PL_envgv (*Perl_Ienvgv_ptr(aTHX))
-#undef PL_errgv
-#define PL_errgv (*Perl_Ierrgv_ptr(aTHX))
-#undef PL_errors
-#define PL_errors (*Perl_Ierrors_ptr(aTHX))
-#undef PL_euid
-#define PL_euid (*Perl_Ieuid_ptr(aTHX))
-#undef PL_eval_root
-#define PL_eval_root (*Perl_Ieval_root_ptr(aTHX))
-#undef PL_eval_start
-#define PL_eval_start (*Perl_Ieval_start_ptr(aTHX))
-#undef PL_evalseq
-#define PL_evalseq (*Perl_Ievalseq_ptr(aTHX))
-#undef PL_exit_flags
-#define PL_exit_flags (*Perl_Iexit_flags_ptr(aTHX))
-#undef PL_exitlist
-#define PL_exitlist (*Perl_Iexitlist_ptr(aTHX))
-#undef PL_exitlistlen
-#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHX))
-#undef PL_fdpid
-#define PL_fdpid (*Perl_Ifdpid_ptr(aTHX))
-#undef PL_filemode
-#define PL_filemode (*Perl_Ifilemode_ptr(aTHX))
-#undef PL_firstgv
-#define PL_firstgv (*Perl_Ifirstgv_ptr(aTHX))
-#undef PL_forkprocess
-#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHX))
-#undef PL_formfeed
-#define PL_formfeed (*Perl_Iformfeed_ptr(aTHX))
-#undef PL_formtarget
-#define PL_formtarget (*Perl_Iformtarget_ptr(aTHX))
-#undef PL_generation
-#define PL_generation (*Perl_Igeneration_ptr(aTHX))
-#undef PL_gensym
-#define PL_gensym (*Perl_Igensym_ptr(aTHX))
-#undef PL_gid
-#define PL_gid (*Perl_Igid_ptr(aTHX))
-#undef PL_glob_index
-#define PL_glob_index (*Perl_Iglob_index_ptr(aTHX))
-#undef PL_globalstash
-#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHX))
-#undef PL_hash_seed
-#define PL_hash_seed (*Perl_Ihash_seed_ptr(aTHX))
-#undef PL_hintgv
-#define PL_hintgv (*Perl_Ihintgv_ptr(aTHX))
-#undef PL_hints
-#define PL_hints (*Perl_Ihints_ptr(aTHX))
-#undef PL_hv_fetch_ent_mh
-#define PL_hv_fetch_ent_mh (*Perl_Ihv_fetch_ent_mh_ptr(aTHX))
-#undef PL_in_clean_all
-#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHX))
-#undef PL_in_clean_objs
-#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHX))
-#undef PL_in_eval
-#define PL_in_eval (*Perl_Iin_eval_ptr(aTHX))
-#undef PL_in_load_module
-#define PL_in_load_module (*Perl_Iin_load_module_ptr(aTHX))
-#undef PL_incgv
-#define PL_incgv (*Perl_Iincgv_ptr(aTHX))
-#undef PL_initav
-#define PL_initav (*Perl_Iinitav_ptr(aTHX))
-#undef PL_inplace
-#define PL_inplace (*Perl_Iinplace_ptr(aTHX))
-#undef PL_isarev
-#define PL_isarev (*Perl_Iisarev_ptr(aTHX))
-#undef PL_known_layers
-#define PL_known_layers (*Perl_Iknown_layers_ptr(aTHX))
-#undef PL_last_in_gv
-#define PL_last_in_gv (*Perl_Ilast_in_gv_ptr(aTHX))
-#undef PL_last_swash_hv
-#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHX))
-#undef PL_last_swash_key
-#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHX))
-#undef PL_last_swash_klen
-#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHX))
-#undef PL_last_swash_slen
-#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHX))
-#undef PL_last_swash_tmps
-#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHX))
-#undef PL_lastfd
-#define PL_lastfd (*Perl_Ilastfd_ptr(aTHX))
-#undef PL_lastgotoprobe
-#define PL_lastgotoprobe (*Perl_Ilastgotoprobe_ptr(aTHX))
-#undef PL_lastscream
-#define PL_lastscream (*Perl_Ilastscream_ptr(aTHX))
-#undef PL_laststatval
-#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHX))
-#undef PL_laststype
-#define PL_laststype (*Perl_Ilaststype_ptr(aTHX))
-#undef PL_localizing
-#define PL_localizing (*Perl_Ilocalizing_ptr(aTHX))
-#undef PL_localpatches
-#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHX))
-#undef PL_lockhook
-#define PL_lockhook (*Perl_Ilockhook_ptr(aTHX))
-#undef PL_madskills
-#define PL_madskills (*Perl_Imadskills_ptr(aTHX))
-#undef PL_main_cv
-#define PL_main_cv (*Perl_Imain_cv_ptr(aTHX))
-#undef PL_main_root
-#define PL_main_root (*Perl_Imain_root_ptr(aTHX))
-#undef PL_main_start
-#define PL_main_start (*Perl_Imain_start_ptr(aTHX))
-#undef PL_mainstack
-#define PL_mainstack (*Perl_Imainstack_ptr(aTHX))
-#undef PL_markstack
-#define PL_markstack (*Perl_Imarkstack_ptr(aTHX))
-#undef PL_markstack_max
-#define PL_markstack_max (*Perl_Imarkstack_max_ptr(aTHX))
-#undef PL_markstack_ptr
-#define PL_markstack_ptr (*Perl_Imarkstack_ptr_ptr(aTHX))
-#undef PL_max_intro_pending
-#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHX))
-#undef PL_maxo
-#define PL_maxo (*Perl_Imaxo_ptr(aTHX))
-#undef PL_maxscream
-#define PL_maxscream (*Perl_Imaxscream_ptr(aTHX))
-#undef PL_maxsysfd
-#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHX))
-#undef PL_memory_debug_header
-#define PL_memory_debug_header (*Perl_Imemory_debug_header_ptr(aTHX))
-#undef PL_mess_sv
-#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHX))
-#undef PL_min_intro_pending
-#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHX))
-#undef PL_minus_E
-#define PL_minus_E (*Perl_Iminus_E_ptr(aTHX))
-#undef PL_minus_F
-#define PL_minus_F (*Perl_Iminus_F_ptr(aTHX))
-#undef PL_minus_a
-#define PL_minus_a (*Perl_Iminus_a_ptr(aTHX))
-#undef PL_minus_c
-#define PL_minus_c (*Perl_Iminus_c_ptr(aTHX))
-#undef PL_minus_l
-#define PL_minus_l (*Perl_Iminus_l_ptr(aTHX))
-#undef PL_minus_n
-#define PL_minus_n (*Perl_Iminus_n_ptr(aTHX))
-#undef PL_minus_p
-#define PL_minus_p (*Perl_Iminus_p_ptr(aTHX))
-#undef PL_modcount
-#define PL_modcount (*Perl_Imodcount_ptr(aTHX))
-#undef PL_modglobal
-#define PL_modglobal (*Perl_Imodglobal_ptr(aTHX))
-#undef PL_my_cxt_keys
-#define PL_my_cxt_keys (*Perl_Imy_cxt_keys_ptr(aTHX))
-#undef PL_my_cxt_list
-#define PL_my_cxt_list (*Perl_Imy_cxt_list_ptr(aTHX))
-#undef PL_my_cxt_size
-#define PL_my_cxt_size (*Perl_Imy_cxt_size_ptr(aTHX))
-#undef PL_na
-#define PL_na (*Perl_Ina_ptr(aTHX))
-#undef PL_nice_chunk
-#define PL_nice_chunk (*Perl_Inice_chunk_ptr(aTHX))
-#undef PL_nice_chunk_size
-#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(aTHX))
-#undef PL_nomemok
-#define PL_nomemok (*Perl_Inomemok_ptr(aTHX))
-#undef PL_numeric_local
-#define PL_numeric_local (*Perl_Inumeric_local_ptr(aTHX))
-#undef PL_numeric_name
-#define PL_numeric_name (*Perl_Inumeric_name_ptr(aTHX))
-#undef PL_numeric_radix_sv
-#define PL_numeric_radix_sv (*Perl_Inumeric_radix_sv_ptr(aTHX))
-#undef PL_numeric_standard
-#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHX))
-#undef PL_ofs_sv
-#define PL_ofs_sv (*Perl_Iofs_sv_ptr(aTHX))
-#undef PL_oldname
-#define PL_oldname (*Perl_Ioldname_ptr(aTHX))
-#undef PL_op
-#define PL_op (*Perl_Iop_ptr(aTHX))
-#undef PL_op_mask
-#define PL_op_mask (*Perl_Iop_mask_ptr(aTHX))
-#undef PL_opsave
-#define PL_opsave (*Perl_Iopsave_ptr(aTHX))
-#undef PL_origalen
-#define PL_origalen (*Perl_Iorigalen_ptr(aTHX))
-#undef PL_origargc
-#define PL_origargc (*Perl_Iorigargc_ptr(aTHX))
-#undef PL_origargv
-#define PL_origargv (*Perl_Iorigargv_ptr(aTHX))
-#undef PL_origenviron
-#define PL_origenviron (*Perl_Iorigenviron_ptr(aTHX))
-#undef PL_origfilename
-#define PL_origfilename (*Perl_Iorigfilename_ptr(aTHX))
-#undef PL_ors_sv
-#define PL_ors_sv (*Perl_Iors_sv_ptr(aTHX))
-#undef PL_osname
-#define PL_osname (*Perl_Iosname_ptr(aTHX))
-#undef PL_pad_reset_pending
-#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(aTHX))
-#undef PL_padix
-#define PL_padix (*Perl_Ipadix_ptr(aTHX))
-#undef PL_padix_floor
-#define PL_padix_floor (*Perl_Ipadix_floor_ptr(aTHX))
-#undef PL_parser
-#define PL_parser (*Perl_Iparser_ptr(aTHX))
-#undef PL_patchlevel
-#define PL_patchlevel (*Perl_Ipatchlevel_ptr(aTHX))
-#undef PL_peepp
-#define PL_peepp (*Perl_Ipeepp_ptr(aTHX))
-#undef PL_perl_destruct_level
-#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHX))
-#undef PL_perldb
-#define PL_perldb (*Perl_Iperldb_ptr(aTHX))
-#undef PL_perlio
-#define PL_perlio (*Perl_Iperlio_ptr(aTHX))
-#undef PL_pidstatus
-#define PL_pidstatus (*Perl_Ipidstatus_ptr(aTHX))
-#undef PL_ppid
-#define PL_ppid (*Perl_Ippid_ptr(aTHX))
-#undef PL_preambleav
-#define PL_preambleav (*Perl_Ipreambleav_ptr(aTHX))
-#undef PL_preprocess
-#define PL_preprocess (*Perl_Ipreprocess_ptr(aTHX))
-#undef PL_profiledata
-#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHX))
-#undef PL_psig_name
-#define PL_psig_name (*Perl_Ipsig_name_ptr(aTHX))
-#undef PL_psig_pend
-#define PL_psig_pend (*Perl_Ipsig_pend_ptr(aTHX))
-#undef PL_psig_ptr
-#define PL_psig_ptr (*Perl_Ipsig_ptr_ptr(aTHX))
-#undef PL_ptr_table
-#define PL_ptr_table (*Perl_Iptr_table_ptr(aTHX))
-#undef PL_reentrant_buffer
-#define PL_reentrant_buffer (*Perl_Ireentrant_buffer_ptr(aTHX))
-#undef PL_reentrant_retint
-#define PL_reentrant_retint (*Perl_Ireentrant_retint_ptr(aTHX))
-#undef PL_reg_state
-#define PL_reg_state (*Perl_Ireg_state_ptr(aTHX))
-#undef PL_regdummy
-#define PL_regdummy (*Perl_Iregdummy_ptr(aTHX))
-#undef PL_regex_pad
-#define PL_regex_pad (*Perl_Iregex_pad_ptr(aTHX))
-#undef PL_regex_padav
-#define PL_regex_padav (*Perl_Iregex_padav_ptr(aTHX))
-#undef PL_reginterp_cnt
-#define PL_reginterp_cnt (*Perl_Ireginterp_cnt_ptr(aTHX))
-#undef PL_regmatch_slab
-#define PL_regmatch_slab (*Perl_Iregmatch_slab_ptr(aTHX))
-#undef PL_regmatch_state
-#define PL_regmatch_state (*Perl_Iregmatch_state_ptr(aTHX))
-#undef PL_rehash_seed
-#define PL_rehash_seed (*Perl_Irehash_seed_ptr(aTHX))
-#undef PL_rehash_seed_set
-#define PL_rehash_seed_set (*Perl_Irehash_seed_set_ptr(aTHX))
-#undef PL_replgv
-#define PL_replgv (*Perl_Ireplgv_ptr(aTHX))
-#undef PL_restartop
-#define PL_restartop (*Perl_Irestartop_ptr(aTHX))
-#undef PL_rs
-#define PL_rs (*Perl_Irs_ptr(aTHX))
-#undef PL_runops
-#define PL_runops (*Perl_Irunops_ptr(aTHX))
-#undef PL_savebegin
-#define PL_savebegin (*Perl_Isavebegin_ptr(aTHX))
-#undef PL_savestack
-#define PL_savestack (*Perl_Isavestack_ptr(aTHX))
-#undef PL_savestack_ix
-#define PL_savestack_ix (*Perl_Isavestack_ix_ptr(aTHX))
-#undef PL_savestack_max
-#define PL_savestack_max (*Perl_Isavestack_max_ptr(aTHX))
-#undef PL_sawampersand
-#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHX))
-#undef PL_scopestack
-#define PL_scopestack (*Perl_Iscopestack_ptr(aTHX))
-#undef PL_scopestack_ix
-#define PL_scopestack_ix (*Perl_Iscopestack_ix_ptr(aTHX))
-#undef PL_scopestack_max
-#define PL_scopestack_max (*Perl_Iscopestack_max_ptr(aTHX))
-#undef PL_screamfirst
-#define PL_screamfirst (*Perl_Iscreamfirst_ptr(aTHX))
-#undef PL_screamnext
-#define PL_screamnext (*Perl_Iscreamnext_ptr(aTHX))
-#undef PL_secondgv
-#define PL_secondgv (*Perl_Isecondgv_ptr(aTHX))
-#undef PL_sharehook
-#define PL_sharehook (*Perl_Isharehook_ptr(aTHX))
-#undef PL_sig_pending
-#define PL_sig_pending (*Perl_Isig_pending_ptr(aTHX))
-#undef PL_sighandlerp
-#define PL_sighandlerp (*Perl_Isighandlerp_ptr(aTHX))
-#undef PL_signals
-#define PL_signals (*Perl_Isignals_ptr(aTHX))
-#undef PL_slab_count
-#define PL_slab_count (*Perl_Islab_count_ptr(aTHX))
-#undef PL_slabs
-#define PL_slabs (*Perl_Islabs_ptr(aTHX))
-#undef PL_sort_RealCmp
-#define PL_sort_RealCmp (*Perl_Isort_RealCmp_ptr(aTHX))
-#undef PL_sortcop
-#define PL_sortcop (*Perl_Isortcop_ptr(aTHX))
-#undef PL_sortstash
-#define PL_sortstash (*Perl_Isortstash_ptr(aTHX))
-#undef PL_splitstr
-#define PL_splitstr (*Perl_Isplitstr_ptr(aTHX))
-#undef PL_srand_called
-#define PL_srand_called (*Perl_Isrand_called_ptr(aTHX))
-#undef PL_stack_base
-#define PL_stack_base (*Perl_Istack_base_ptr(aTHX))
-#undef PL_stack_max
-#define PL_stack_max (*Perl_Istack_max_ptr(aTHX))
-#undef PL_stack_sp
-#define PL_stack_sp (*Perl_Istack_sp_ptr(aTHX))
-#undef PL_start_env
-#define PL_start_env (*Perl_Istart_env_ptr(aTHX))
-#undef PL_stashcache
-#define PL_stashcache (*Perl_Istashcache_ptr(aTHX))
-#undef PL_statbuf
-#define PL_statbuf (*Perl_Istatbuf_ptr(aTHX))
-#undef PL_statcache
-#define PL_statcache (*Perl_Istatcache_ptr(aTHX))
-#undef PL_statgv
-#define PL_statgv (*Perl_Istatgv_ptr(aTHX))
-#undef PL_statname
-#define PL_statname (*Perl_Istatname_ptr(aTHX))
-#undef PL_statusvalue
-#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHX))
-#undef PL_statusvalue_posix
-#define PL_statusvalue_posix (*Perl_Istatusvalue_posix_ptr(aTHX))
-#undef PL_statusvalue_vms
-#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHX))
-#undef PL_stderrgv
-#define PL_stderrgv (*Perl_Istderrgv_ptr(aTHX))
-#undef PL_stdingv
-#define PL_stdingv (*Perl_Istdingv_ptr(aTHX))
-#undef PL_strtab
-#define PL_strtab (*Perl_Istrtab_ptr(aTHX))
-#undef PL_sub_generation
-#define PL_sub_generation (*Perl_Isub_generation_ptr(aTHX))
-#undef PL_subline
-#define PL_subline (*Perl_Isubline_ptr(aTHX))
-#undef PL_subname
-#define PL_subname (*Perl_Isubname_ptr(aTHX))
-#undef PL_sv_arenaroot
-#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(aTHX))
-#undef PL_sv_count
-#define PL_sv_count (*Perl_Isv_count_ptr(aTHX))
-#undef PL_sv_no
-#define PL_sv_no (*Perl_Isv_no_ptr(aTHX))
-#undef PL_sv_objcount
-#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHX))
-#undef PL_sv_root
-#define PL_sv_root (*Perl_Isv_root_ptr(aTHX))
-#undef PL_sv_undef
-#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHX))
-#undef PL_sv_yes
-#define PL_sv_yes (*Perl_Isv_yes_ptr(aTHX))
-#undef PL_sys_intern
-#define PL_sys_intern (*Perl_Isys_intern_ptr(aTHX))
-#undef PL_taint_warn
-#define PL_taint_warn (*Perl_Itaint_warn_ptr(aTHX))
-#undef PL_tainted
-#define PL_tainted (*Perl_Itainted_ptr(aTHX))
-#undef PL_tainting
-#define PL_tainting (*Perl_Itainting_ptr(aTHX))
-#undef PL_threadhook
-#define PL_threadhook (*Perl_Ithreadhook_ptr(aTHX))
-#undef PL_timesbuf
-#define PL_timesbuf (*Perl_Itimesbuf_ptr(aTHX))
-#undef PL_tmps_floor
-#define PL_tmps_floor (*Perl_Itmps_floor_ptr(aTHX))
-#undef PL_tmps_ix
-#define PL_tmps_ix (*Perl_Itmps_ix_ptr(aTHX))
-#undef PL_tmps_max
-#define PL_tmps_max (*Perl_Itmps_max_ptr(aTHX))
-#undef PL_tmps_stack
-#define PL_tmps_stack (*Perl_Itmps_stack_ptr(aTHX))
-#undef PL_top_env
-#define PL_top_env (*Perl_Itop_env_ptr(aTHX))
-#undef PL_toptarget
-#define PL_toptarget (*Perl_Itoptarget_ptr(aTHX))
-#undef PL_uid
-#define PL_uid (*Perl_Iuid_ptr(aTHX))
-#undef PL_unicode
-#define PL_unicode (*Perl_Iunicode_ptr(aTHX))
-#undef PL_unitcheckav
-#define PL_unitcheckav (*Perl_Iunitcheckav_ptr(aTHX))
-#undef PL_unitcheckav_save
-#define PL_unitcheckav_save (*Perl_Iunitcheckav_save_ptr(aTHX))
-#undef PL_unlockhook
-#define PL_unlockhook (*Perl_Iunlockhook_ptr(aTHX))
-#undef PL_unsafe
-#define PL_unsafe (*Perl_Iunsafe_ptr(aTHX))
-#undef PL_utf8_alnum
-#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(aTHX))
-#undef PL_utf8_alnumc
-#define PL_utf8_alnumc (*Perl_Iutf8_alnumc_ptr(aTHX))
-#undef PL_utf8_alpha
-#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(aTHX))
-#undef PL_utf8_ascii
-#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(aTHX))
-#undef PL_utf8_cntrl
-#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(aTHX))
-#undef PL_utf8_digit
-#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(aTHX))
-#undef PL_utf8_graph
-#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(aTHX))
-#undef PL_utf8_idcont
-#define PL_utf8_idcont (*Perl_Iutf8_idcont_ptr(aTHX))
-#undef PL_utf8_idstart
-#define PL_utf8_idstart (*Perl_Iutf8_idstart_ptr(aTHX))
-#undef PL_utf8_lower
-#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(aTHX))
-#undef PL_utf8_mark
-#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(aTHX))
-#undef PL_utf8_print
-#define PL_utf8_print (*Perl_Iutf8_print_ptr(aTHX))
-#undef PL_utf8_punct
-#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(aTHX))
-#undef PL_utf8_space
-#define PL_utf8_space (*Perl_Iutf8_space_ptr(aTHX))
-#undef PL_utf8_tofold
-#define PL_utf8_tofold (*Perl_Iutf8_tofold_ptr(aTHX))
-#undef PL_utf8_tolower
-#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(aTHX))
-#undef PL_utf8_totitle
-#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(aTHX))
-#undef PL_utf8_toupper
-#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(aTHX))
-#undef PL_utf8_upper
-#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(aTHX))
-#undef PL_utf8_xdigit
-#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(aTHX))
-#undef PL_utf8cache
-#define PL_utf8cache (*Perl_Iutf8cache_ptr(aTHX))
-#undef PL_utf8locale
-#define PL_utf8locale (*Perl_Iutf8locale_ptr(aTHX))
-#undef PL_warnhook
-#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHX))
-#undef PL_watchaddr
-#define PL_watchaddr (*Perl_Iwatchaddr_ptr(aTHX))
-#undef PL_watchok
-#define PL_watchok (*Perl_Iwatchok_ptr(aTHX))
-#undef PL_xmlfp
-#define PL_xmlfp (*Perl_Ixmlfp_ptr(aTHX))
-#undef PL_No
-#define PL_No (*Perl_GNo_ptr(NULL))
-#undef PL_Yes
-#define PL_Yes (*Perl_GYes_ptr(NULL))
-#undef PL_appctx
-#define PL_appctx (*Perl_Gappctx_ptr(NULL))
-#undef PL_check
-#define PL_check (*Perl_Gcheck_ptr(NULL))
-#undef PL_csighandlerp
-#define PL_csighandlerp (*Perl_Gcsighandlerp_ptr(NULL))
-#undef PL_curinterp
-#define PL_curinterp (*Perl_Gcurinterp_ptr(NULL))
-#undef PL_do_undump
-#define PL_do_undump (*Perl_Gdo_undump_ptr(NULL))
-#undef PL_dollarzero_mutex
-#define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL))
-#undef PL_fold_locale
-#define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL))
-#undef PL_global_struct_size
-#define PL_global_struct_size (*Perl_Gglobal_struct_size_ptr(NULL))
-#undef PL_hexdigit
-#define PL_hexdigit (*Perl_Ghexdigit_ptr(NULL))
-#undef PL_hints_mutex
-#define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL))
-#undef PL_interp_size
-#define PL_interp_size (*Perl_Ginterp_size_ptr(NULL))
-#undef PL_interp_size_5_10_0
-#define PL_interp_size_5_10_0 (*Perl_Ginterp_size_5_10_0_ptr(NULL))
-#undef PL_malloc_mutex
-#define PL_malloc_mutex (*Perl_Gmalloc_mutex_ptr(NULL))
-#undef PL_mmap_page_size
-#define PL_mmap_page_size (*Perl_Gmmap_page_size_ptr(NULL))
-#undef PL_my_ctx_mutex
-#define PL_my_ctx_mutex (*Perl_Gmy_ctx_mutex_ptr(NULL))
-#undef PL_my_cxt_index
-#define PL_my_cxt_index (*Perl_Gmy_cxt_index_ptr(NULL))
-#undef PL_op_mutex
-#define PL_op_mutex (*Perl_Gop_mutex_ptr(NULL))
-#undef PL_op_seq
-#define PL_op_seq (*Perl_Gop_seq_ptr(NULL))
-#undef PL_op_sequence
-#define PL_op_sequence (*Perl_Gop_sequence_ptr(NULL))
-#undef PL_patleave
-#define PL_patleave (*Perl_Gpatleave_ptr(NULL))
-#undef PL_perlio_debug_fd
-#define PL_perlio_debug_fd (*Perl_Gperlio_debug_fd_ptr(NULL))
-#undef PL_perlio_fd_refcnt
-#define PL_perlio_fd_refcnt (*Perl_Gperlio_fd_refcnt_ptr(NULL))
-#undef PL_perlio_fd_refcnt_size
-#define PL_perlio_fd_refcnt_size (*Perl_Gperlio_fd_refcnt_size_ptr(NULL))
-#undef PL_perlio_mutex
-#define PL_perlio_mutex (*Perl_Gperlio_mutex_ptr(NULL))
-#undef PL_ppaddr
-#define PL_ppaddr (*Perl_Gppaddr_ptr(NULL))
-#undef PL_revision
-#define PL_revision (*Perl_Grevision_ptr(NULL))
-#undef PL_runops_dbg
-#define PL_runops_dbg (*Perl_Grunops_dbg_ptr(NULL))
-#undef PL_runops_std
-#define PL_runops_std (*Perl_Grunops_std_ptr(NULL))
-#undef PL_sh_path
-#define PL_sh_path (*Perl_Gsh_path_ptr(NULL))
-#undef PL_sig_defaulting
-#define PL_sig_defaulting (*Perl_Gsig_defaulting_ptr(NULL))
-#undef PL_sig_handlers_initted
-#define PL_sig_handlers_initted (*Perl_Gsig_handlers_initted_ptr(NULL))
-#undef PL_sig_ignoring
-#define PL_sig_ignoring (*Perl_Gsig_ignoring_ptr(NULL))
-#undef PL_sig_sv
-#define PL_sig_sv (*Perl_Gsig_sv_ptr(NULL))
-#undef PL_sig_trapped
-#define PL_sig_trapped (*Perl_Gsig_trapped_ptr(NULL))
-#undef PL_sigfpe_saved
-#define PL_sigfpe_saved (*Perl_Gsigfpe_saved_ptr(NULL))
-#undef PL_subversion
-#define PL_subversion (*Perl_Gsubversion_ptr(NULL))
-#undef PL_sv_placeholder
-#define PL_sv_placeholder (*Perl_Gsv_placeholder_ptr(NULL))
-#undef PL_thr_key
-#define PL_thr_key (*Perl_Gthr_key_ptr(NULL))
-#undef PL_timesbase
-#define PL_timesbase (*Perl_Gtimesbase_ptr(NULL))
-#undef PL_use_safe_putenv
-#define PL_use_safe_putenv (*Perl_Guse_safe_putenv_ptr(NULL))
-#undef PL_version
-#define PL_version (*Perl_Gversion_ptr(NULL))
-#undef PL_veto_cleanup
-#define PL_veto_cleanup (*Perl_Gveto_cleanup_ptr(NULL))
-#undef PL_watch_pvx
-#define PL_watch_pvx (*Perl_Gwatch_pvx_ptr(NULL))
-
-#endif /* !PERL_CORE */
-#endif /* MULTIPLICITY */
-
-#endif /* __perlapi_h__ */
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlio.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlio.h
deleted file mode 100644
index a6902d4a956..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlio.h
+++ /dev/null
@@ -1,394 +0,0 @@
-/* perlio.h
- *
- * Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003,
- * 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifndef _PERLIO_H
-#define _PERLIO_H
-/*
- Interface for perl to IO functions.
- There is a hierarchy of Configure determined #define controls:
- USE_STDIO - forces PerlIO_xxx() to be #define-d onto stdio functions.
- This is used for x2p subdirectory and for conservative
- builds - "just like perl5.00X used to be".
- This dominates over the others.
-
- USE_PERLIO - The primary Configure variable that enables PerlIO.
- If USE_PERLIO is _NOT_ set
- then USE_STDIO above will be set to be conservative.
- If USE_PERLIO is set
- then there are two modes determined by USE_SFIO:
-
- USE_SFIO - If set causes PerlIO_xxx() to be #define-d onto sfio functions.
- A backward compatability mode for some specialist applications.
-
- If USE_SFIO is not set then PerlIO_xxx() are real functions
- defined in perlio.c which implement extra functionality
- required for utf8 support.
-
- One further note - the table-of-functions scheme controlled
- by PERL_IMPLICIT_SYS turns on USE_PERLIO so that iperlsys.h can
- #define PerlIO_xxx() to go via the function table, without having
- to #undef them from (say) stdio forms.
-
-*/
-
-#if defined(PERL_IMPLICIT_SYS)
-#ifndef USE_PERLIO
-#ifndef NETWARE
-/* # define USE_PERLIO */
-#endif
-#endif
-#endif
-
-#ifndef USE_PERLIO
-# define USE_STDIO
-#endif
-
-#ifdef USE_STDIO
-# ifndef PERLIO_IS_STDIO
-# define PERLIO_IS_STDIO
-# endif
-#endif
-
-/* -------------------- End of Configure controls ---------------------------- */
-
-/*
- * Although we may not want stdio to be used including <stdio.h> here
- * avoids issues where stdio.h has strange side effects
- */
-#include <stdio.h>
-
-#ifdef __BEOS__
-int fseeko(FILE *stream, off_t offset, int whence);
-off_t ftello(FILE *stream);
-#endif
-
-#if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
-#define ftell ftello
-#endif
-
-#if defined(USE_64_BIT_STDIO) && defined(HAS_FSEEKO) && !defined(USE_FSEEK64)
-#define fseek fseeko
-#endif
-
-/* BS2000 includes are sometimes a bit non standard :-( */
-#if defined(POSIX_BC) && defined(O_BINARY) && !defined(O_TEXT)
-#undef O_BINARY
-#endif
-
-#ifdef PERLIO_IS_STDIO
-/* #define PerlIO_xxxx() as equivalent stdio function */
-#include "perlsdio.h"
-#else /* PERLIO_IS_STDIO */
-#ifdef USE_SFIO
-/* #define PerlIO_xxxx() as equivalent sfio function */
-#include "perlsfio.h"
-#endif /* USE_SFIO */
-#endif /* PERLIO_IS_STDIO */
-
-#ifndef PerlIO
-/* ----------- PerlIO implementation ---------- */
-/* PerlIO not #define-d to something else - define the implementation */
-
-typedef struct _PerlIO PerlIOl;
-typedef struct _PerlIO_funcs PerlIO_funcs;
-typedef PerlIOl *PerlIO;
-#define PerlIO PerlIO
-#define PERLIO_LAYERS 1
-
-/* Making the big PerlIO_funcs vtables const is good (enables placing
- * them in the const section which is good for speed, security, and
- * embeddability) but this cannot be done by default because of
- * backward compatibility. */
-#ifdef PERLIO_FUNCS_CONST
-#define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs
-#define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs)
-#else
-#define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs
-#define PERLIO_FUNCS_CAST(funcs) (funcs)
-#endif
-
-PERL_EXPORT_C void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab);
-PERL_EXPORT_C PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name,
- STRLEN len,
- int load);
-PERL_EXPORT_C PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab),
- const char *mode, SV *arg);
-PERL_EXPORT_C void PerlIO_pop(pTHX_ PerlIO *f);
-PERL_EXPORT_C AV* PerlIO_get_layers(pTHX_ PerlIO *f);
-PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto,
- CLONE_PARAMS *param);
-
-#endif /* PerlIO */
-
-/* ----------- End of implementation choices ---------- */
-
-#ifndef PERLIO_IS_STDIO
-/* Not using stdio _directly_ as PerlIO */
-
-/* We now need to determine what happens if source trys to use stdio.
- * There are three cases based on PERLIO_NOT_STDIO which XS code
- * can set how it wants.
- */
-
-#ifdef PERL_CORE
-/* Make a choice for perl core code
- - currently this is set to try and catch lingering raw stdio calls.
- This is a known issue with some non UNIX ports which still use
- "native" stdio features.
-*/
-#ifndef PERLIO_NOT_STDIO
-#define PERLIO_NOT_STDIO 1
-#endif
-#else
-#ifndef PERLIO_NOT_STDIO
-#define PERLIO_NOT_STDIO 0
-#endif
-#endif
-
-#ifdef PERLIO_NOT_STDIO
-#if PERLIO_NOT_STDIO
-/*
- * PERLIO_NOT_STDIO #define'd as 1
- * Case 1: Strong denial of stdio - make all stdio calls (we can think of) errors
- */
-#include "nostdio.h"
-#else /* if PERLIO_NOT_STDIO */
-/*
- * PERLIO_NOT_STDIO #define'd as 0
- * Case 2: Declares that both PerlIO and stdio can be used
- */
-#endif /* if PERLIO_NOT_STDIO */
-#else /* ifdef PERLIO_NOT_STDIO */
-/*
- * PERLIO_NOT_STDIO not defined
- * Case 3: Try and fake stdio calls as PerlIO calls
- */
-#include "fakesdio.h"
-#endif /* ifndef PERLIO_NOT_STDIO */
-#endif /* PERLIO_IS_STDIO */
-
-/* ----------- fill in things that have not got #define'd ---------- */
-
-#ifndef Fpos_t
-#define Fpos_t Off_t
-#endif
-
-#ifndef EOF
-#define EOF (-1)
-#endif
-
-/* This is to catch case with no stdio */
-#ifndef BUFSIZ
-#define BUFSIZ 1024
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#define PERLIO_DUP_CLONE 1
-#define PERLIO_DUP_FD 2
-
-/* --------------------- Now prototypes for functions --------------- */
-
-START_EXTERN_C
-#ifndef __attribute__format__
-# ifdef HASATTRIBUTE_FORMAT
-# define __attribute__format__(x,y,z) __attribute__((format(x,y,z)))
-# else
-# define __attribute__format__(x,y,z)
-# endif
-#endif
-#ifndef PerlIO_init
-PERL_EXPORT_C void PerlIO_init(pTHX);
-#endif
-#ifndef PerlIO_stdoutf
-PERL_EXPORT_C int PerlIO_stdoutf(const char *, ...)
- __attribute__format__(__printf__, 1, 2);
-#endif
-#ifndef PerlIO_puts
-PERL_EXPORT_C int PerlIO_puts(PerlIO *, const char *);
-#endif
-#ifndef PerlIO_open
-PERL_EXPORT_C PerlIO *PerlIO_open(const char *, const char *);
-#endif
-#ifndef PerlIO_openn
-PERL_EXPORT_C PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode,
- int fd, int imode, int perm, PerlIO *old,
- int narg, SV **arg);
-#endif
-#ifndef PerlIO_eof
-PERL_EXPORT_C int PerlIO_eof(PerlIO *);
-#endif
-#ifndef PerlIO_error
-PERL_EXPORT_C int PerlIO_error(PerlIO *);
-#endif
-#ifndef PerlIO_clearerr
-PERL_EXPORT_C void PerlIO_clearerr(PerlIO *);
-#endif
-#ifndef PerlIO_getc
-PERL_EXPORT_C int PerlIO_getc(PerlIO *);
-#endif
-#ifndef PerlIO_putc
-PERL_EXPORT_C int PerlIO_putc(PerlIO *, int);
-#endif
-#ifndef PerlIO_ungetc
-PERL_EXPORT_C int PerlIO_ungetc(PerlIO *, int);
-#endif
-#ifndef PerlIO_fdopen
-PERL_EXPORT_C PerlIO *PerlIO_fdopen(int, const char *);
-#endif
-#ifndef PerlIO_importFILE
-PERL_EXPORT_C PerlIO *PerlIO_importFILE(FILE *, const char *);
-#endif
-#ifndef PerlIO_exportFILE
-PERL_EXPORT_C FILE *PerlIO_exportFILE(PerlIO *, const char *);
-#endif
-#ifndef PerlIO_findFILE
-PERL_EXPORT_C FILE *PerlIO_findFILE(PerlIO *);
-#endif
-#ifndef PerlIO_releaseFILE
-PERL_EXPORT_C void PerlIO_releaseFILE(PerlIO *, FILE *);
-#endif
-#ifndef PerlIO_read
-PERL_EXPORT_C SSize_t PerlIO_read(PerlIO *, void *, Size_t);
-#endif
-#ifndef PerlIO_unread
-PERL_EXPORT_C SSize_t PerlIO_unread(PerlIO *, const void *, Size_t);
-#endif
-#ifndef PerlIO_write
-PERL_EXPORT_C SSize_t PerlIO_write(PerlIO *, const void *, Size_t);
-#endif
-#ifndef PerlIO_setlinebuf
-PERL_EXPORT_C void PerlIO_setlinebuf(PerlIO *);
-#endif
-#ifndef PerlIO_printf
-PERL_EXPORT_C int PerlIO_printf(PerlIO *, const char *, ...)
- __attribute__format__(__printf__, 2, 3);
-#endif
-#ifndef PerlIO_sprintf
-PERL_EXPORT_C int PerlIO_sprintf(char *, int, const char *, ...)
- __attribute__format__(__printf__, 3, 4);
-#endif
-#ifndef PerlIO_vprintf
-PERL_EXPORT_C int PerlIO_vprintf(PerlIO *, const char *, va_list);
-#endif
-#ifndef PerlIO_tell
-PERL_EXPORT_C Off_t PerlIO_tell(PerlIO *);
-#endif
-#ifndef PerlIO_seek
-PERL_EXPORT_C int PerlIO_seek(PerlIO *, Off_t, int);
-#endif
-#ifndef PerlIO_rewind
-PERL_EXPORT_C void PerlIO_rewind(PerlIO *);
-#endif
-#ifndef PerlIO_has_base
-PERL_EXPORT_C int PerlIO_has_base(PerlIO *);
-#endif
-#ifndef PerlIO_has_cntptr
-PERL_EXPORT_C int PerlIO_has_cntptr(PerlIO *);
-#endif
-#ifndef PerlIO_fast_gets
-PERL_EXPORT_C int PerlIO_fast_gets(PerlIO *);
-#endif
-#ifndef PerlIO_canset_cnt
-PERL_EXPORT_C int PerlIO_canset_cnt(PerlIO *);
-#endif
-#ifndef PerlIO_get_ptr
-PERL_EXPORT_C STDCHAR *PerlIO_get_ptr(PerlIO *);
-#endif
-#ifndef PerlIO_get_cnt
-PERL_EXPORT_C int PerlIO_get_cnt(PerlIO *);
-#endif
-#ifndef PerlIO_set_cnt
-PERL_EXPORT_C void PerlIO_set_cnt(PerlIO *, int);
-#endif
-#ifndef PerlIO_set_ptrcnt
-PERL_EXPORT_C void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, int);
-#endif
-#ifndef PerlIO_get_base
-PERL_EXPORT_C STDCHAR *PerlIO_get_base(PerlIO *);
-#endif
-#ifndef PerlIO_get_bufsiz
-PERL_EXPORT_C int PerlIO_get_bufsiz(PerlIO *);
-#endif
-#ifndef PerlIO_tmpfile
-PERL_EXPORT_C PerlIO *PerlIO_tmpfile(void);
-#endif
-#ifndef PerlIO_stdin
-PERL_EXPORT_C PerlIO *PerlIO_stdin(void);
-#endif
-#ifndef PerlIO_stdout
-PERL_EXPORT_C PerlIO *PerlIO_stdout(void);
-#endif
-#ifndef PerlIO_stderr
-PERL_EXPORT_C PerlIO *PerlIO_stderr(void);
-#endif
-#ifndef PerlIO_getpos
-PERL_EXPORT_C int PerlIO_getpos(PerlIO *, SV *);
-#endif
-#ifndef PerlIO_setpos
-PERL_EXPORT_C int PerlIO_setpos(PerlIO *, SV *);
-#endif
-#ifndef PerlIO_fdupopen
-PERL_EXPORT_C PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int);
-#endif
-#if !defined(PerlIO_modestr) && !defined(PERLIO_IS_STDIO)
-PERL_EXPORT_C char *PerlIO_modestr(PerlIO *, char *buf);
-#endif
-#ifndef PerlIO_isutf8
-PERL_EXPORT_C int PerlIO_isutf8(PerlIO *);
-#endif
-#ifndef PerlIO_apply_layers
-PERL_EXPORT_C int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode,
- const char *names);
-#endif
-#ifndef PerlIO_binmode
-PERL_EXPORT_C int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode,
- const char *names);
-#endif
-#ifndef PerlIO_getname
-PERL_EXPORT_C char *PerlIO_getname(PerlIO *, char *);
-#endif
-
-PERL_EXPORT_C void PerlIO_destruct(pTHX);
-
-PERL_EXPORT_C int PerlIO_intmode2str(int rawmode, char *mode, int *writing);
-
-#ifdef PERLIO_LAYERS
-PERL_EXPORT_C void PerlIO_cleanup(pTHX);
-
-PERL_EXPORT_C void PerlIO_debug(const char *fmt, ...)
- __attribute__format__(__printf__, 1, 2);
-typedef struct PerlIO_list_s PerlIO_list_t;
-
-
-#endif
-
-END_EXTERN_C
-#endif /* _PERLIO_H */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perliol.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perliol.h
deleted file mode 100644
index 6b714bb6efa..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perliol.h
+++ /dev/null
@@ -1,297 +0,0 @@
-#ifndef _PERLIOL_H
-#define _PERLIOL_H
-
-typedef struct {
- PerlIO_funcs *funcs;
- SV *arg;
-} PerlIO_pair_t;
-
-struct PerlIO_list_s {
- IV refcnt;
- IV cur;
- IV len;
- PerlIO_pair_t *array;
-};
-
-struct _PerlIO_funcs {
- Size_t fsize;
- const char *name;
- Size_t size;
- U32 kind;
- IV (*Pushed) (pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
- IV (*Popped) (pTHX_ PerlIO *f);
- PerlIO *(*Open) (pTHX_ PerlIO_funcs *tab,
- PerlIO_list_t *layers, IV n,
- const char *mode,
- int fd, int imode, int perm,
- PerlIO *old, int narg, SV **args);
- IV (*Binmode)(pTHX_ PerlIO *f);
- SV *(*Getarg) (pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags);
- IV (*Fileno) (pTHX_ PerlIO *f);
- PerlIO *(*Dup) (pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
- /* Unix-like functions - cf sfio line disciplines */
- SSize_t(*Read) (pTHX_ PerlIO *f, void *vbuf, Size_t count);
- SSize_t(*Unread) (pTHX_ PerlIO *f, const void *vbuf, Size_t count);
- SSize_t(*Write) (pTHX_ PerlIO *f, const void *vbuf, Size_t count);
- IV (*Seek) (pTHX_ PerlIO *f, Off_t offset, int whence);
- Off_t(*Tell) (pTHX_ PerlIO *f);
- IV (*Close) (pTHX_ PerlIO *f);
- /* Stdio-like buffered IO functions */
- IV (*Flush) (pTHX_ PerlIO *f);
- IV (*Fill) (pTHX_ PerlIO *f);
- IV (*Eof) (pTHX_ PerlIO *f);
- IV (*Error) (pTHX_ PerlIO *f);
- void (*Clearerr) (pTHX_ PerlIO *f);
- void (*Setlinebuf) (pTHX_ PerlIO *f);
- /* Perl's snooping functions */
- STDCHAR *(*Get_base) (pTHX_ PerlIO *f);
- Size_t(*Get_bufsiz) (pTHX_ PerlIO *f);
- STDCHAR *(*Get_ptr) (pTHX_ PerlIO *f);
- SSize_t(*Get_cnt) (pTHX_ PerlIO *f);
- void (*Set_ptrcnt) (pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-};
-
-/*--------------------------------------------------------------------------------------*/
-/* Kind values */
-#define PERLIO_K_RAW 0x00000001
-#define PERLIO_K_BUFFERED 0x00000002
-#define PERLIO_K_CANCRLF 0x00000004
-#define PERLIO_K_FASTGETS 0x00000008
-#define PERLIO_K_DUMMY 0x00000010
-#define PERLIO_K_UTF8 0x00008000
-#define PERLIO_K_DESTRUCT 0x00010000
-#define PERLIO_K_MULTIARG 0x00020000
-
-/*--------------------------------------------------------------------------------------*/
-struct _PerlIO {
- PerlIOl *next; /* Lower layer */
- PerlIO_funcs *tab; /* Functions for this layer */
- U32 flags; /* Various flags for state */
-};
-
-/*--------------------------------------------------------------------------------------*/
-
-/* Flag values */
-#define PERLIO_F_EOF 0x00000100
-#define PERLIO_F_CANWRITE 0x00000200
-#define PERLIO_F_CANREAD 0x00000400
-#define PERLIO_F_ERROR 0x00000800
-#define PERLIO_F_TRUNCATE 0x00001000
-#define PERLIO_F_APPEND 0x00002000
-#define PERLIO_F_CRLF 0x00004000
-#define PERLIO_F_UTF8 0x00008000
-#define PERLIO_F_UNBUF 0x00010000
-#define PERLIO_F_WRBUF 0x00020000
-#define PERLIO_F_RDBUF 0x00040000
-#define PERLIO_F_LINEBUF 0x00080000
-#define PERLIO_F_TEMP 0x00100000
-#define PERLIO_F_OPEN 0x00200000
-#define PERLIO_F_FASTGETS 0x00400000
-#define PERLIO_F_TTY 0x00800000
-#define PERLIO_F_NOTREG 0x01000000
-
-#define PerlIOBase(f) (*(f))
-#define PerlIOSelf(f,type) ((type *)PerlIOBase(f))
-#define PerlIONext(f) (&(PerlIOBase(f)->next))
-#define PerlIOValid(f) ((f) && *(f))
-
-/*--------------------------------------------------------------------------------------*/
-/* Data exports - EXTCONST rather than extern is needed for Cygwin */
-#undef EXTPERLIO
-#ifdef PERLIO_FUNCS_CONST
-#define EXTPERLIO EXTCONST
-#else
-#define EXTPERLIO EXT
-#endif
-EXTPERLIO PerlIO_funcs PerlIO_unix;
-EXTPERLIO PerlIO_funcs PerlIO_perlio;
-EXTPERLIO PerlIO_funcs PerlIO_stdio;
-EXTPERLIO PerlIO_funcs PerlIO_crlf;
-EXTPERLIO PerlIO_funcs PerlIO_utf8;
-EXTPERLIO PerlIO_funcs PerlIO_byte;
-EXTPERLIO PerlIO_funcs PerlIO_raw;
-EXTPERLIO PerlIO_funcs PerlIO_pending;
-#ifdef HAS_MMAP
-EXTPERLIO PerlIO_funcs PerlIO_mmap;
-#endif
-#ifdef WIN32
-EXTPERLIO PerlIO_funcs PerlIO_win32;
-#endif
-PERL_EXPORT_C PerlIO *PerlIO_allocate(pTHX);
-PERL_EXPORT_C SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n);
-#define PerlIOArg PerlIO_arg_fetch(layers,n)
-
-#ifdef PERLIO_USING_CRLF
-#define PERLIO_STDTEXT "t"
-#else
-#define PERLIO_STDTEXT ""
-#endif
-
-/*--------------------------------------------------------------------------------------*/
-/* perlio buffer layer
- As this is reasonably generic its struct and "methods" are declared here
- so they can be used to "inherit" from it.
-*/
-
-typedef struct {
- struct _PerlIO base; /* Base "class" info */
- STDCHAR *buf; /* Start of buffer */
- STDCHAR *end; /* End of valid part of buffer */
- STDCHAR *ptr; /* Current position in buffer */
- Off_t posn; /* Offset of buf into the file */
- Size_t bufsiz; /* Real size of buffer */
- IV oneword; /* Emergency buffer */
-} PerlIOBuf;
-
-PERL_EXPORT_C int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode,
- PerlIO_list_t *layers, IV n, IV max);
-PERL_EXPORT_C int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names);
-PERL_EXPORT_C PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def);
-
-
-PERL_EXPORT_C SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param);
-PERL_EXPORT_C void PerlIO_cleantable(pTHX_ PerlIO **tablep);
-PERL_EXPORT_C SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab);
-PERL_EXPORT_C void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av);
-PERL_EXPORT_C void PerlIO_stdstreams(pTHX);
-PERL_EXPORT_C int PerlIO__close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args);
-PERL_EXPORT_C PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n);
-PERL_EXPORT_C PerlIO_list_t * PerlIO_default_layers(pTHX);
-PERL_EXPORT_C PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f);
-PERL_EXPORT_C int PerlIO_vsprintf(char *s, int n, const char *fmt, va_list ap)
- __attribute__format__(__printf__,3,0);
-
-PERL_EXPORT_C PerlIO_list_t *PerlIO_list_alloc(pTHX);
-PERL_EXPORT_C PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param);
-PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
-PERL_EXPORT_C void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg);
-PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list);
-
-/* PerlIO_teardown doesn't need exporting, but the EXTERN_C is needed
- * for compiling as C++. Must also match with what perl.h says. */
-EXTERN_C void PerlIO_teardown(void);
-
-/*--------------------------------------------------------------------------------------*/
-/* Generic, or stub layer functions */
-
-PERL_EXPORT_C IV PerlIOBase_binmode(pTHX_ PerlIO *f);
-PERL_EXPORT_C void PerlIOBase_clearerr(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOBase_eof(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_error(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_fileno(pTHX_ PerlIO *f);
-PERL_EXPORT_C void PerlIOBase_flush_linebuf(pTHX);
-PERL_EXPORT_C IV PerlIOBase_noop_fail(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_noop_ok(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_popped(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C void PerlIOBase_setlinebuf(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Buf */
-PERL_EXPORT_C Size_t PerlIOBuf_bufsiz(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBuf_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOBuf_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBuf_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOBuf_get_cnt(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
-PERL_EXPORT_C IV PerlIOBuf_popped(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-PERL_EXPORT_C Off_t PerlIOBuf_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Crlf */
-PERL_EXPORT_C IV PerlIOCrlf_binmode(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOCrlf_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOCrlf_get_cnt(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C void PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Mmap */
-PERL_EXPORT_C IV PerlIOMmap_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOMmap_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOMmap_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOMmap_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_map(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_unmap(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOMmap_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOMmap_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Pending */
-PERL_EXPORT_C IV PerlIOPending_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOPending_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOPending_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt);
-
-/* Pop */
-PERL_EXPORT_C IV PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-
-/* Raw */
-PERL_EXPORT_C PerlIO * PerlIORaw_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args);
-PERL_EXPORT_C IV PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-
-/* Stdio */
-PERL_EXPORT_C void PerlIOStdio_clearerr(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOStdio_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOStdio_eof(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOStdio_error(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOStdio_fileno(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOStdio_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOStdio_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C char * PerlIOStdio_mode(const char *mode, char *tmode);
-PERL_EXPORT_C PerlIO * PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
-PERL_EXPORT_C IV PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C IV PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C void PerlIOStdio_setlinebuf(pTHX_ PerlIO *f);
-PERL_EXPORT_C Off_t PerlIOStdio_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Unix */
-PERL_EXPORT_C IV PerlIOUnix_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOUnix_fileno(pTHX_ PerlIO *f);
-PERL_EXPORT_C int PerlIOUnix_oflags(const char *mode);
-PERL_EXPORT_C PerlIO * PerlIOUnix_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args);
-PERL_EXPORT_C IV PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-PERL_EXPORT_C SSize_t PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count);
-PERL_EXPORT_C int PerlIOUnix_refcnt_dec(int fd);
-PERL_EXPORT_C void PerlIOUnix_refcnt_inc(int fd);
-PERL_EXPORT_C IV PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-PERL_EXPORT_C Off_t PerlIOUnix_tell(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
-/* Utf8 */
-PERL_EXPORT_C IV PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
-
-#endif /* _PERLIOL_H */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsdio.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsdio.h
deleted file mode 100644
index c1f823e096c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsdio.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/* perlsdio.h
- *
- * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001,
- * 2002, 2003, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifdef PERLIO_IS_STDIO
-
-#ifdef NETWARE
- #include "nwstdio.h"
-#else
-
-/*
- * This file #define-s the PerlIO_xxx abstraction onto stdio functions.
- * Make this as close to original stdio as possible.
- */
-#define PerlIO FILE
-#define PerlIO_stderr() PerlSIO_stderr
-#define PerlIO_stdout() PerlSIO_stdout
-#define PerlIO_stdin() PerlSIO_stdin
-
-#define PerlIO_isutf8(f) 0
-
-#define PerlIO_printf PerlSIO_printf
-#define PerlIO_stdoutf PerlSIO_stdoutf
-#define PerlIO_vprintf(f,fmt,a) PerlSIO_vprintf(f,fmt,a)
-#define PerlIO_write(f,buf,count) PerlSIO_fwrite(buf,1,count,f)
-#define PerlIO_unread(f,buf,count) (-1)
-#define PerlIO_open PerlSIO_fopen
-#define PerlIO_fdopen PerlSIO_fdopen
-#define PerlIO_reopen PerlSIO_freopen
-#define PerlIO_close(f) PerlSIO_fclose(f)
-#define PerlIO_puts(f,s) PerlSIO_fputs(f,s)
-#define PerlIO_putc(f,c) PerlSIO_fputc(f,c)
-#if defined(VMS)
-# if defined(__DECC)
- /* Unusual definition of ungetc() here to accomodate fast_sv_gets()'
- * belief that it can mix getc/ungetc with reads from stdio buffer */
- int decc$ungetc(int __c, FILE *__stream);
-# define PerlIO_ungetc(f,c) ((c) == EOF ? EOF : \
- ((*(f) && !((*(f))->_flag & _IONBF) && \
- ((*(f))->_ptr > (*(f))->_base)) ? \
- ((*(f))->_cnt++, *(--(*(f))->_ptr) = (c)) : decc$ungetc(c,f)))
-# else
-# define PerlIO_ungetc(f,c) ungetc(c,f)
-# endif
- /* Work around bug in DECCRTL/AXP (DECC v5.x) and some versions of old
- * VAXCRTL which causes read from a pipe after EOF has been returned
- * once to hang.
- */
-# define PerlIO_getc(f) \
- (feof(f) ? EOF : getc(f))
-# define PerlIO_read(f,buf,count) \
- (feof(f) ? 0 : (SSize_t)fread(buf,1,count,f))
-# define PerlIO_tell(f) ftell(f)
-#else
-# define PerlIO_getc(f) PerlSIO_fgetc(f)
-# define PerlIO_ungetc(f,c) PerlSIO_ungetc(c,f)
-# define PerlIO_read(f,buf,count) (SSize_t)PerlSIO_fread(buf,1,count,f)
-# define PerlIO_tell(f) PerlSIO_ftell(f)
-#endif
-#define PerlIO_eof(f) PerlSIO_feof(f)
-#define PerlIO_getname(f,b) fgetname(f,b)
-#define PerlIO_error(f) PerlSIO_ferror(f)
-#define PerlIO_fileno(f) PerlSIO_fileno(f)
-#define PerlIO_clearerr(f) PerlSIO_clearerr(f)
-#define PerlIO_flush(f) PerlSIO_fflush(f)
-#if defined(VMS) && !defined(__DECC)
-/* Old VAXC RTL doesn't reset EOF on seek; Perl folk seem to expect this */
-#define PerlIO_seek(f,o,w) (((f) && (*f) && ((*f)->_flag &= ~_IOEOF)),fseek(f,o,w))
-#else
-# define PerlIO_seek(f,o,w) PerlSIO_fseek(f,o,w)
-#endif
-
-#define PerlIO_rewind(f) PerlSIO_rewind(f)
-#define PerlIO_tmpfile() PerlSIO_tmpfile()
-
-#define PerlIO_importFILE(f,fl) (f)
-#define PerlIO_exportFILE(f,fl) (f)
-#define PerlIO_findFILE(f) (f)
-#define PerlIO_releaseFILE(p,f) ((void) 0)
-
-#ifdef HAS_SETLINEBUF
-#define PerlIO_setlinebuf(f) PerlSIO_setlinebuf(f);
-#else
-#define PerlIO_setlinebuf(f) PerlSIO_setvbuf(f, NULL, _IOLBF, 0);
-#endif
-
-/* Now our interface to Configure's FILE_xxx macros */
-
-#ifdef USE_STDIO_PTR
-#define PerlIO_has_cntptr(f) 1
-#define PerlIO_get_ptr(f) PerlSIO_get_ptr(f)
-#define PerlIO_get_cnt(f) PerlSIO_get_cnt(f)
-
-#ifdef STDIO_CNT_LVALUE
-#define PerlIO_canset_cnt(f) 1
-#define PerlIO_set_cnt(f,c) PerlSIO_set_cnt(f,c)
-#ifdef STDIO_PTR_LVALUE
-#ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
-#define PerlIO_fast_gets(f) 1
-#endif
-#endif /* STDIO_PTR_LVALUE */
-#else /* STDIO_CNT_LVALUE */
-#define PerlIO_canset_cnt(f) 0
-#define PerlIO_set_cnt(f,c) abort()
-#endif
-
-#ifdef STDIO_PTR_LVALUE
-#ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
-#define PerlIO_set_ptrcnt(f,p,c) STMT_START {PerlSIO_set_ptr(f,p), PerlIO_set_cnt(f,c);} STMT_END
-#else
-#ifdef STDIO_PTR_LVAL_SETS_CNT
-/* assert() may pre-process to ""; potential syntax error (FILE_ptr(), ) */
-#define PerlIO_set_ptrcnt(f,p,c) STMT_START {PerlSIO_set_ptr(f,p); assert(PerlSIO_get_cnt(f) == (c));} STMT_END
-#define PerlIO_fast_gets(f) 1
-#else
-#define PerlIO_set_ptrcnt(f,p,c) abort()
-#endif
-#endif
-#endif
-
-#else /* USE_STDIO_PTR */
-
-#define PerlIO_has_cntptr(f) 0
-#define PerlIO_canset_cnt(f) 0
-#define PerlIO_get_cnt(f) (abort(),0)
-#define PerlIO_get_ptr(f) (abort(),(void *)0)
-#define PerlIO_set_cnt(f,c) abort()
-#define PerlIO_set_ptrcnt(f,p,c) abort()
-
-#endif /* USE_STDIO_PTR */
-
-#ifndef PerlIO_fast_gets
-#define PerlIO_fast_gets(f) 0
-#endif
-
-
-#ifdef FILE_base
-#define PerlIO_has_base(f) 1
-#define PerlIO_get_base(f) PerlSIO_get_base(f)
-#define PerlIO_get_bufsiz(f) PerlSIO_get_bufsiz(f)
-#else
-#define PerlIO_has_base(f) 0
-#define PerlIO_get_base(f) (abort(),(void *)0)
-#define PerlIO_get_bufsiz(f) (abort(),0)
-#endif
-
-#endif /* NETWARE */
-#endif /* PERLIO_IS_STDIO */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsfio.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsfio.h
deleted file mode 100644
index 2471753ad19..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlsfio.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* perlsfio.h
- *
- * Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2005, 2007,
- * by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/* The next #ifdef should be redundant if Configure behaves ... */
-#ifndef FILE
-#define FILE FILE
-#endif
-#ifdef I_SFIO
-#include <sfio.h>
-#endif
-
-/* sfio 2000 changed _stdopen to _stdfdopen */
-#if SFIO_VERSION >= 20000101L
-#define _stdopen _stdfdopen
-#endif
-
-extern Sfio_t* _stdopen _ARG_((int, const char*));
-extern int _stdprintf _ARG_((const char*, ...));
-
-#define PerlIO Sfio_t
-#define PerlIO_stderr() sfstderr
-#define PerlIO_stdout() sfstdout
-#define PerlIO_stdin() sfstdin
-
-#define PerlIO_isutf8(f) 0
-
-#define PerlIO_printf sfprintf
-#define PerlIO_stdoutf _stdprintf
-#define PerlIO_vprintf(f,fmt,a) sfvprintf(f,fmt,a)
-#define PerlIO_read(f,buf,count) sfread(f,buf,count)
-#define PerlIO_write(f,buf,count) sfwrite(f,buf,count)
-#define PerlIO_open(path,mode) sfopen(NULL,path,mode)
-#define PerlIO_fdopen(fd,mode) _stdopen(fd,mode)
-#define PerlIO_reopen(path,mode,f) sfopen(f,path,mode)
-#define PerlIO_close(f) sfclose(f)
-#define PerlIO_puts(f,s) sfputr(f,s,-1)
-#define PerlIO_putc(f,c) sfputc(f,c)
-#define PerlIO_ungetc(f,c) sfungetc(f,c)
-#define PerlIO_sprintf sfsprintf
-#define PerlIO_getc(f) sfgetc(f)
-#define PerlIO_eof(f) sfeof(f)
-#define PerlIO_error(f) sferror(f)
-#define PerlIO_fileno(f) sffileno(f)
-#define PerlIO_clearerr(f) sfclrerr(f)
-#define PerlIO_flush(f) sfsync(f)
-#define PerlIO_tell(f) sftell(f)
-#define PerlIO_seek(f,o,w) sfseek(f,o,w)
-#define PerlIO_rewind(f) (void) sfseek((f),0L,0)
-#define PerlIO_tmpfile() sftmp(0)
-#define PerlIO_exportFILE(f,fl) Perl_croak(aTHX_ "Export to FILE * unimplemented")
-#define PerlIO_releaseFILE(p,f) Perl_croak(aTHX_ "Release of FILE * unimplemented")
-
-#define PerlIO_setlinebuf(f) sfset(f,SF_LINE,1)
-
-/* Now our interface to equivalent of Configure's FILE_xxx macros */
-
-#define PerlIO_has_cntptr(f) 1
-#define PerlIO_get_ptr(f) ((f)->next)
-#define PerlIO_get_cnt(f) ((f)->endr - (f)->next)
-#define PerlIO_canset_cnt(f) 1
-#define PerlIO_fast_gets(f) 1
-#define PerlIO_set_ptrcnt(f,p,c) STMT_START {(f)->next = (unsigned char *)(p); assert(PerlIO_get_cnt(f) == (c));} STMT_END
-#define PerlIO_set_cnt(f,c) STMT_START {(f)->next = (f)->endr - (c);} STMT_END
-
-#define PerlIO_has_base(f) 1
-#define PerlIO_get_base(f) ((f)->data)
-#define PerlIO_get_bufsiz(f) ((f)->endr - (f)->data)
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlvars.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlvars.h
deleted file mode 100644
index 49f4d5e31d1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perlvars.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/* perlvars.h
- *
- * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- * by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/****************/
-/* Truly global */
-/****************/
-
-/* Don't forget to re-run embed.pl to propagate changes! */
-
-/* This file describes the "global" variables used by perl
- * This used to be in perl.h directly but we want to abstract out into
- * distinct files which are per-thread, per-interpreter or really global,
- * and how they're initialized.
- *
- * The 'G' prefix is only needed for vars that need appropriate #defines
- * generated in embed*.h. Such symbols are also used to generate
- * the appropriate export list for win32. */
-
-/* global state */
-PERLVAR(Gcurinterp, PerlInterpreter *)
- /* currently running interpreter
- * (initial parent interpreter under
- * useithreads) */
-#if defined(USE_ITHREADS)
-PERLVAR(Gthr_key, perl_key) /* key to retrieve per-thread struct */
-#endif
-
-/* constants (these are not literals to facilitate pointer comparisons)
- * (PERLVARISC really does create variables, despite its looks) */
-PERLVARISC(GYes, "1")
-PERLVARISC(GNo, "")
-PERLVARISC(Ghexdigit, "0123456789abcdef0123456789ABCDEF")
-PERLVARISC(Gpatleave, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
-
-/* XXX does anyone even use this? */
-PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */
-
-#if defined(MYMALLOC) && defined(USE_ITHREADS)
-PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Gop_mutex, perl_mutex) /* Mutex for op refcounting */
-#endif
-
-#ifdef USE_ITHREADS
-PERLVAR(Gdollarzero_mutex, perl_mutex) /* Modifying $0 */
-#endif
-
-
-/* This is constant on most architectures, a global on OS/2 */
-#ifdef OS2
-# define PERL___C
-#else
-# define PERL___C const
-#endif
-PERLVARI(Gsh_path, PERL___C char *, SH_PATH) /* full path of shell */
-#undef PERL___C
-
-#ifndef PERL_MICRO
-/* If Perl has to ignore SIGPFE, this is its saved state.
- * See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */
-PERLVAR(Gsigfpe_saved, Sighandler_t)
-#endif
-
-/* Restricted hashes placeholder value.
- * The contents are never used, only the address. */
-PERLVAR(Gsv_placeholder, SV)
-
-#ifndef PERL_MICRO
-PERLVARI(Gcsighandlerp, Sighandler_t, Perl_csighandler) /* Pointer to C-level sighandler */
-#endif
-
-#ifndef PERL_USE_SAFE_PUTENV
-PERLVARI(Guse_safe_putenv, int, 1)
-#endif
-
-#ifdef USE_PERLIO
-PERLVARI(Gperlio_fd_refcnt, int*, 0) /* Pointer to array of fd refcounts. */
-PERLVARI(Gperlio_fd_refcnt_size, int, 0) /* Size of the array */
-PERLVARI(Gperlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */
-#endif
-
-#ifdef HAS_MMAP
-PERLVARI(Gmmap_page_size, IV, 0)
-#endif
-
-#if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
-PERLVARI(Gsig_handlers_initted, int, 0)
-#endif
-#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
-PERLVARA(Gsig_ignoring, SIG_SIZE, int) /* which signals we are ignoring */
-#endif
-#ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
-PERLVARA(Gsig_defaulting, SIG_SIZE, int)
-#endif
-
-#ifndef PERL_IMPLICIT_CONTEXT
-PERLVAR(Gsig_sv, SV*)
-#endif
-
-/* XXX signals are process-wide anyway, so we
- * ignore the implications of this for threading */
-#ifndef HAS_SIGACTION
-PERLVARI(Gsig_trapped, int, 0)
-#endif
-
-#ifdef DEBUGGING
-PERLVAR(Gwatch_pvx, char*)
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT
-PERLVAR(Gppaddr, Perl_ppaddr_t*) /* or opcode.h */
-PERLVAR(Gcheck, Perl_check_t *) /* or opcode.h */
-PERLVARA(Gfold_locale, 256, unsigned char) /* or perl.h */
-#endif
-
-#ifdef PERL_NEED_APPCTX
-PERLVAR(Gappctx, void*) /* the application context */
-#endif
-
-PERLVAR(Gop_sequence, HV*) /* dump.c */
-PERLVARI(Gop_seq, UV, 0) /* dump.c */
-
-#if defined(HAS_TIMES) && defined(PERL_NEED_TIMESBASE)
-PERLVAR(Gtimesbase, struct tms)
-#endif
-
-/* allocate a unique index to every module that calls MY_CXT_INIT */
-
-#ifdef PERL_IMPLICIT_CONTEXT
-# ifdef USE_ITHREADS
-PERLVAR(Gmy_ctx_mutex, perl_mutex)
-# endif
-PERLVARI(Gmy_cxt_index, int, 0)
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Ghints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Gperlio_mutex, perl_mutex) /* Mutex for perlio fd refcounts */
-#endif
-
-/* this is currently set without MUTEX protection, so keep it a type which
- * can be set atomically (ie not a bit field) */
-PERLVARI(Gveto_cleanup, int, FALSE) /* exit without cleanup */
-
-/* dummy variables that hold pointers to both runops functions, thus forcing
- * them *both* to get linked in (useful for Peek.xs, debugging etc) */
-
-PERLVARI(Grunops_std, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_standard))
-PERLVARI(Grunops_dbg, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_debug))
-
-
-/* These are baked at compile time into any shared perl library.
- In future 5.10.x releases this will allow us in main() to sanity test the
- library we're linking against. */
-
-PERLVARI(Grevision, U8, PERL_REVISION)
-PERLVARI(Gversion, U8, PERL_VERSION)
-PERLVARI(Gsubversion, U8, PERL_SUBVERSION)
-
-#if defined(MULTIPLICITY)
-# define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member) \
- STRUCT_OFFSET(struct interpreter, member) + \
- sizeof(((struct interpreter*)0)->member)
-
-/* These might be useful. */
-PERLVARI(Ginterp_size, U16, sizeof(struct interpreter))
-#if defined(PERL_GLOBAL_STRUCT)
-PERLVARI(Gglobal_struct_size, U16, sizeof(struct perl_vars))
-#endif
-
-/* This will be useful for subsequent releases, because this has to be the
- same in your libperl as in main(), else you have a mismatch and must abort.
-*/
-PERLVARI(Ginterp_size_5_10_0, U16,
- PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_10_0_INTERP_MEMBER))
-#endif
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perly.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perly.h
deleted file mode 100644
index f442416599c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/perly.h
+++ /dev/null
@@ -1,214 +0,0 @@
-#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.3. */
-
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- WORD = 258,
- METHOD = 259,
- FUNCMETH = 260,
- THING = 261,
- PMFUNC = 262,
- PRIVATEREF = 263,
- FUNC0SUB = 264,
- UNIOPSUB = 265,
- LSTOPSUB = 266,
- LABEL = 267,
- FORMAT = 268,
- SUB = 269,
- ANONSUB = 270,
- PACKAGE = 271,
- USE = 272,
- WHILE = 273,
- UNTIL = 274,
- IF = 275,
- UNLESS = 276,
- ELSE = 277,
- ELSIF = 278,
- CONTINUE = 279,
- FOR = 280,
- GIVEN = 281,
- WHEN = 282,
- DEFAULT = 283,
- LOOPEX = 284,
- DOTDOT = 285,
- FUNC0 = 286,
- FUNC1 = 287,
- FUNC = 288,
- UNIOP = 289,
- LSTOP = 290,
- RELOP = 291,
- EQOP = 292,
- MULOP = 293,
- ADDOP = 294,
- DOLSHARP = 295,
- DO = 296,
- HASHBRACK = 297,
- NOAMP = 298,
- LOCAL = 299,
- MY = 300,
- MYSUB = 301,
- REQUIRE = 302,
- COLONATTR = 303,
- PREC_LOW = 304,
- DOROP = 305,
- OROP = 306,
- ANDOP = 307,
- NOTOP = 308,
- ASSIGNOP = 309,
- DORDOR = 310,
- OROR = 311,
- ANDAND = 312,
- BITOROP = 313,
- BITANDOP = 314,
- SHIFTOP = 315,
- MATCHOP = 316,
- REFGEN = 317,
- UMINUS = 318,
- POWOP = 319,
- POSTDEC = 320,
- POSTINC = 321,
- PREDEC = 322,
- PREINC = 323,
- ARROW = 324,
- PEG = 325
- };
-#endif
-/* Tokens. */
-#define WORD 258
-#define METHOD 259
-#define FUNCMETH 260
-#define THING 261
-#define PMFUNC 262
-#define PRIVATEREF 263
-#define FUNC0SUB 264
-#define UNIOPSUB 265
-#define LSTOPSUB 266
-#define LABEL 267
-#define FORMAT 268
-#define SUB 269
-#define ANONSUB 270
-#define PACKAGE 271
-#define USE 272
-#define WHILE 273
-#define UNTIL 274
-#define IF 275
-#define UNLESS 276
-#define ELSE 277
-#define ELSIF 278
-#define CONTINUE 279
-#define FOR 280
-#define GIVEN 281
-#define WHEN 282
-#define DEFAULT 283
-#define LOOPEX 284
-#define DOTDOT 285
-#define FUNC0 286
-#define FUNC1 287
-#define FUNC 288
-#define UNIOP 289
-#define LSTOP 290
-#define RELOP 291
-#define EQOP 292
-#define MULOP 293
-#define ADDOP 294
-#define DOLSHARP 295
-#define DO 296
-#define HASHBRACK 297
-#define NOAMP 298
-#define LOCAL 299
-#define MY 300
-#define MYSUB 301
-#define REQUIRE 302
-#define COLONATTR 303
-#define PREC_LOW 304
-#define DOROP 305
-#define OROP 306
-#define ANDOP 307
-#define NOTOP 308
-#define ASSIGNOP 309
-#define DORDOR 310
-#define OROR 311
-#define ANDAND 312
-#define BITOROP 313
-#define BITANDOP 314
-#define SHIFTOP 315
-#define MATCHOP 316
-#define REFGEN 317
-#define UMINUS 318
-#define POWOP 319
-#define POSTDEC 320
-#define POSTINC 321
-#define PREDEC 322
-#define PREINC 323
-#define ARROW 324
-#define PEG 325
-
-
-
-
-#endif /* PERL_CORE */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-{
- I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
- must always be 1st union member) */
- char *pval;
- OP *opval;
- GV *gvval;
-#ifdef PERL_IN_MADLY_C
- TOKEN* p_tkval;
- TOKEN* i_tkval;
-#else
- char *p_tkval;
- I32 i_tkval;
-#endif
-#ifdef PERL_MAD
- TOKEN* tkval;
-#endif
-}
-/* Line 1489 of yacc.c. */
- YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp.h
deleted file mode 100644
index 7b5f322f1c0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp.h
+++ /dev/null
@@ -1,511 +0,0 @@
-/* pp.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
- * 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#define PP(s) OP * Perl_##s(pTHX)
-
-/*
-=head1 Stack Manipulation Macros
-
-=for apidoc AmU||SP
-Stack pointer. This is usually handled by C<xsubpp>. See C<dSP> and
-C<SPAGAIN>.
-
-=for apidoc AmU||MARK
-Stack marker variable for the XSUB. See C<dMARK>.
-
-=for apidoc Am|void|PUSHMARK|SP
-Opening bracket for arguments on a callback. See C<PUTBACK> and
-L<perlcall>.
-
-=for apidoc Ams||dSP
-Declares a local copy of perl's stack pointer for the XSUB, available via
-the C<SP> macro. See C<SP>.
-
-=for apidoc ms||djSP
-
-Declare Just C<SP>. This is actually identical to C<dSP>, and declares
-a local copy of perl's stack pointer, available via the C<SP> macro.
-See C<SP>. (Available for backward source code compatibility with the
-old (Perl 5.005) thread model.)
-
-=for apidoc Ams||dMARK
-Declare a stack marker variable, C<mark>, for the XSUB. See C<MARK> and
-C<dORIGMARK>.
-
-=for apidoc Ams||dORIGMARK
-Saves the original stack mark for the XSUB. See C<ORIGMARK>.
-
-=for apidoc AmU||ORIGMARK
-The original stack mark for the XSUB. See C<dORIGMARK>.
-
-=for apidoc Ams||SPAGAIN
-Refetch the stack pointer. Used after a callback. See L<perlcall>.
-
-=cut */
-
-#undef SP /* Solaris 2.7 i386 has this in /usr/include/sys/reg.h */
-#define SP sp
-#define MARK mark
-#define TARG targ
-
-#define PUSHMARK(p) \
- STMT_START { \
- if (++PL_markstack_ptr == PL_markstack_max) \
- markstack_grow(); \
- *PL_markstack_ptr = (I32)((p) - PL_stack_base);\
- } STMT_END
-
-#define TOPMARK (*PL_markstack_ptr)
-#define POPMARK (*PL_markstack_ptr--)
-
-#define dSP SV **sp = PL_stack_sp
-#define djSP dSP
-#define dMARK register SV **mark = PL_stack_base + POPMARK
-#define dORIGMARK const I32 origmark = (I32)(mark - PL_stack_base)
-#define ORIGMARK (PL_stack_base + origmark)
-
-#define SPAGAIN sp = PL_stack_sp
-#define MSPAGAIN STMT_START { sp = PL_stack_sp; mark = ORIGMARK; } STMT_END
-
-#define GETTARGETSTACKED targ = (PL_op->op_flags & OPf_STACKED ? POPs : PAD_SV(PL_op->op_targ))
-#define dTARGETSTACKED SV * GETTARGETSTACKED
-
-#define GETTARGET targ = PAD_SV(PL_op->op_targ)
-#define dTARGET SV * GETTARGET
-
-#define GETATARGET targ = (PL_op->op_flags & OPf_STACKED ? sp[-1] : PAD_SV(PL_op->op_targ))
-#define dATARGET SV * GETATARGET
-
-#define dTARG SV *targ
-
-#define NORMAL PL_op->op_next
-#define DIE return Perl_die
-
-/*
-=for apidoc Ams||PUTBACK
-Closing bracket for XSUB arguments. This is usually handled by C<xsubpp>.
-See C<PUSHMARK> and L<perlcall> for other uses.
-
-=for apidoc Amn|SV*|POPs
-Pops an SV off the stack.
-
-=for apidoc Amn|char*|POPp
-Pops a string off the stack. Deprecated. New code should use POPpx.
-
-=for apidoc Amn|char*|POPpx
-Pops a string off the stack.
-
-=for apidoc Amn|char*|POPpbytex
-Pops a string off the stack which must consist of bytes i.e. characters < 256.
-
-=for apidoc Amn|NV|POPn
-Pops a double off the stack.
-
-=for apidoc Amn|IV|POPi
-Pops an integer off the stack.
-
-=for apidoc Amn|long|POPl
-Pops a long off the stack.
-
-=cut
-*/
-
-#define PUTBACK PL_stack_sp = sp
-#define RETURN return (PUTBACK, NORMAL)
-#define RETURNOP(o) return (PUTBACK, o)
-#define RETURNX(x) return (x, PUTBACK, NORMAL)
-
-#define POPs (*sp--)
-#define POPp (SvPVx(POPs, PL_na)) /* deprecated */
-#define POPpx (SvPVx_nolen(POPs))
-#define POPpconstx (SvPVx_nolen_const(POPs))
-#define POPpbytex (SvPVbytex_nolen(POPs))
-#define POPn (SvNVx(POPs))
-#define POPi ((IV)SvIVx(POPs))
-#define POPu ((UV)SvUVx(POPs))
-#define POPl ((long)SvIVx(POPs))
-#define POPul ((unsigned long)SvIVx(POPs))
-#ifdef HAS_QUAD
-#define POPq ((Quad_t)SvIVx(POPs))
-#define POPuq ((Uquad_t)SvUVx(POPs))
-#endif
-
-#define TOPs (*sp)
-#define TOPm1s (*(sp-1))
-#define TOPp1s (*(sp+1))
-#define TOPp (SvPV(TOPs, PL_na)) /* deprecated */
-#define TOPpx (SvPV_nolen(TOPs))
-#define TOPn (SvNV(TOPs))
-#define TOPi ((IV)SvIV(TOPs))
-#define TOPu ((UV)SvUV(TOPs))
-#define TOPl ((long)SvIV(TOPs))
-#define TOPul ((unsigned long)SvUV(TOPs))
-#ifdef HAS_QUAD
-#define TOPq ((Quad_t)SvIV(TOPs))
-#define TOPuq ((Uquad_t)SvUV(TOPs))
-#endif
-
-/* Go to some pains in the rare event that we must extend the stack. */
-
-/*
-=for apidoc Am|void|EXTEND|SP|int nitems
-Used to extend the argument stack for an XSUB's return values. Once
-used, guarantees that there is room for at least C<nitems> to be pushed
-onto the stack.
-
-=for apidoc Am|void|PUSHs|SV* sv
-Push an SV onto the stack. The stack must have room for this element.
-Does not handle 'set' magic. Does not use C<TARG>. See also C<PUSHmortal>,
-C<XPUSHs> and C<XPUSHmortal>.
-
-=for apidoc Am|void|PUSHp|char* str|STRLEN len
-Push a string onto the stack. The stack must have room for this element.
-The C<len> indicates the length of the string. Handles 'set' magic. Uses
-C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not
-call multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mPUSHp> instead. See also C<XPUSHp> and C<mXPUSHp>.
-
-=for apidoc Am|void|PUSHn|NV nv
-Push a double onto the stack. The stack must have room for this element.
-Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
-called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mPUSHn> instead. See also C<XPUSHn> and
-C<mXPUSHn>.
-
-=for apidoc Am|void|PUSHi|IV iv
-Push an integer onto the stack. The stack must have room for this element.
-Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
-called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mPUSHi> instead. See also C<XPUSHi> and
-C<mXPUSHi>.
-
-=for apidoc Am|void|PUSHu|UV uv
-Push an unsigned integer onto the stack. The stack must have room for this
-element. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG>
-should be called to declare it. Do not call multiple C<TARG>-oriented
-macros to return lists from XSUB's - see C<mPUSHu> instead. See also
-C<XPUSHu> and C<mXPUSHu>.
-
-=for apidoc Am|void|XPUSHs|SV* sv
-Push an SV onto the stack, extending the stack if necessary. Does not
-handle 'set' magic. Does not use C<TARG>. See also C<XPUSHmortal>,
-C<PUSHs> and C<PUSHmortal>.
-
-=for apidoc Am|void|XPUSHp|char* str|STRLEN len
-Push a string onto the stack, extending the stack if necessary. The C<len>
-indicates the length of the string. Handles 'set' magic. Uses C<TARG>, so
-C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call
-multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mXPUSHp> instead. See also C<PUSHp> and C<mPUSHp>.
-
-=for apidoc Am|void|XPUSHn|NV nv
-Push a double onto the stack, extending the stack if necessary. Handles
-'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
-declare it. Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHn> instead. See also C<PUSHn> and C<mPUSHn>.
-
-=for apidoc Am|void|XPUSHi|IV iv
-Push an integer onto the stack, extending the stack if necessary. Handles
-'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
-declare it. Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHi> instead. See also C<PUSHi> and C<mPUSHi>.
-
-=for apidoc Am|void|XPUSHu|UV uv
-Push an unsigned integer onto the stack, extending the stack if necessary.
-Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
-called to declare it. Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mXPUSHu> instead. See also C<PUSHu> and
-C<mPUSHu>.
-
-=for apidoc Am|void|mPUSHs|SV* sv
-Push an SV onto the stack and mortalizes the SV. The stack must have room
-for this element. Does not use C<TARG>. See also C<PUSHs> and C<mXPUSHs>.
-
-=for apidoc Am|void|PUSHmortal
-Push a new mortal SV onto the stack. The stack must have room for this
-element. Does not use C<TARG>. See also C<PUSHs>, C<XPUSHmortal> and C<XPUSHs>.
-
-=for apidoc Am|void|mPUSHp|char* str|STRLEN len
-Push a string onto the stack. The stack must have room for this element.
-The C<len> indicates the length of the string. Does not use C<TARG>.
-See also C<PUSHp>, C<mXPUSHp> and C<XPUSHp>.
-
-=for apidoc Am|void|mPUSHn|NV nv
-Push a double onto the stack. The stack must have room for this element.
-Does not use C<TARG>. See also C<PUSHn>, C<mXPUSHn> and C<XPUSHn>.
-
-=for apidoc Am|void|mPUSHi|IV iv
-Push an integer onto the stack. The stack must have room for this element.
-Does not use C<TARG>. See also C<PUSHi>, C<mXPUSHi> and C<XPUSHi>.
-
-=for apidoc Am|void|mPUSHu|UV uv
-Push an unsigned integer onto the stack. The stack must have room for this
-element. Does not use C<TARG>. See also C<PUSHu>, C<mXPUSHu> and C<XPUSHu>.
-
-=for apidoc Am|void|mXPUSHs|SV* sv
-Push an SV onto the stack, extending the stack if necessary and mortalizes
-the SV. Does not use C<TARG>. See also C<XPUSHs> and C<mPUSHs>.
-
-=for apidoc Am|void|XPUSHmortal
-Push a new mortal SV onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHs>, C<PUSHmortal> and C<PUSHs>.
-
-=for apidoc Am|void|mXPUSHp|char* str|STRLEN len
-Push a string onto the stack, extending the stack if necessary. The C<len>
-indicates the length of the string. Does not use C<TARG>. See also C<XPUSHp>,
-C<mPUSHp> and C<PUSHp>.
-
-=for apidoc Am|void|mXPUSHn|NV nv
-Push a double onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHn>, C<mPUSHn> and C<PUSHn>.
-
-=for apidoc Am|void|mXPUSHi|IV iv
-Push an integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHi>, C<mPUSHi> and C<PUSHi>.
-
-=for apidoc Am|void|mXPUSHu|UV uv
-Push an unsigned integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
-
-=cut
-*/
-
-#define EXTEND(p,n) STMT_START { if (PL_stack_max - p < (int)(n)) { \
- sp = stack_grow(sp,p, (int) (n)); \
- } } STMT_END
-
-/* Same thing, but update mark register too. */
-#define MEXTEND(p,n) STMT_START {if (PL_stack_max - p < (int)(n)) { \
- const int markoff = mark - PL_stack_base; \
- sp = stack_grow(sp,p,(int) (n)); \
- mark = PL_stack_base + markoff; \
- } } STMT_END
-
-#define PUSHs(s) (*++sp = (s))
-#define PUSHTARG STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
-#define PUSHp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
-#define PUSHn(n) STMT_START { sv_setnv(TARG, (NV)(n)); PUSHTARG; } STMT_END
-#define PUSHi(i) STMT_START { sv_setiv(TARG, (IV)(i)); PUSHTARG; } STMT_END
-#define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END
-
-#define XPUSHs(s) STMT_START { EXTEND(sp,1); (*++sp = (s)); } STMT_END
-#define XPUSHTARG STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
-#define XPUSHp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); XPUSHTARG; } STMT_END
-#define XPUSHn(n) STMT_START { sv_setnv(TARG, (NV)(n)); XPUSHTARG; } STMT_END
-#define XPUSHi(i) STMT_START { sv_setiv(TARG, (IV)(i)); XPUSHTARG; } STMT_END
-#define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
-#define XPUSHundef STMT_START { SvOK_off(TARG); XPUSHs(TARG); } STMT_END
-
-#define mPUSHs(s) PUSHs(sv_2mortal(s))
-#define PUSHmortal PUSHs(sv_newmortal())
-#define mPUSHp(p,l) PUSHs(newSVpvn_flags((p), (l), SVs_TEMP))
-#define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n))
-#define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i))
-#define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u))
-
-#define mXPUSHs(s) XPUSHs(sv_2mortal(s))
-#define XPUSHmortal XPUSHs(sv_newmortal())
-#define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
-#define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
-#define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
-#define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END
-
-#define SETs(s) (*sp = s)
-#define SETTARG STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
-#define SETp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); SETTARG; } STMT_END
-#define SETn(n) STMT_START { sv_setnv(TARG, (NV)(n)); SETTARG; } STMT_END
-#define SETi(i) STMT_START { sv_setiv(TARG, (IV)(i)); SETTARG; } STMT_END
-#define SETu(u) STMT_START { sv_setuv(TARG, (UV)(u)); SETTARG; } STMT_END
-
-#define dTOPss SV *sv = TOPs
-#define dPOPss SV *sv = POPs
-#define dTOPnv NV value = TOPn
-#define dPOPnv NV value = POPn
-#define dTOPiv IV value = TOPi
-#define dPOPiv IV value = POPi
-#define dTOPuv UV value = TOPu
-#define dPOPuv UV value = POPu
-#ifdef HAS_QUAD
-#define dTOPqv Quad_t value = TOPu
-#define dPOPqv Quad_t value = POPu
-#define dTOPuqv Uquad_t value = TOPuq
-#define dPOPuqv Uquad_t value = POPuq
-#endif
-
-#define dPOPXssrl(X) SV *right = POPs; SV *left = CAT2(X,s)
-#define dPOPXnnrl(X) NV right = POPn; NV left = CAT2(X,n)
-#define dPOPXiirl(X) IV right = POPi; IV left = CAT2(X,i)
-
-#define USE_LEFT(sv) \
- (SvOK(sv) || SvGMAGICAL(sv) || !(PL_op->op_flags & OPf_STACKED))
-#define dPOPXnnrl_ul(X) \
- NV right = POPn; \
- SV *leftsv = CAT2(X,s); \
- NV left = USE_LEFT(leftsv) ? SvNV(leftsv) : 0.0
-#define dPOPXiirl_ul(X) \
- IV right = POPi; \
- SV *leftsv = CAT2(X,s); \
- IV left = USE_LEFT(leftsv) ? SvIV(leftsv) : 0
-
-#define dPOPPOPssrl dPOPXssrl(POP)
-#define dPOPPOPnnrl dPOPXnnrl(POP)
-#define dPOPPOPnnrl_ul dPOPXnnrl_ul(POP)
-#define dPOPPOPiirl dPOPXiirl(POP)
-#define dPOPPOPiirl_ul dPOPXiirl_ul(POP)
-
-#define dPOPTOPssrl dPOPXssrl(TOP)
-#define dPOPTOPnnrl dPOPXnnrl(TOP)
-#define dPOPTOPnnrl_ul dPOPXnnrl_ul(TOP)
-#define dPOPTOPiirl dPOPXiirl(TOP)
-#define dPOPTOPiirl_ul dPOPXiirl_ul(TOP)
-
-#define RETPUSHYES RETURNX(PUSHs(&PL_sv_yes))
-#define RETPUSHNO RETURNX(PUSHs(&PL_sv_no))
-#define RETPUSHUNDEF RETURNX(PUSHs(&PL_sv_undef))
-
-#define RETSETYES RETURNX(SETs(&PL_sv_yes))
-#define RETSETNO RETURNX(SETs(&PL_sv_no))
-#define RETSETUNDEF RETURNX(SETs(&PL_sv_undef))
-
-#define ARGTARG PL_op->op_targ
-
- /* See OPpTARGET_MY: */
-#define MAXARG (PL_op->op_private & 15)
-
-#define SWITCHSTACK(f,t) \
- STMT_START { \
- AvFILLp(f) = sp - PL_stack_base; \
- PL_stack_base = AvARRAY(t); \
- PL_stack_max = PL_stack_base + AvMAX(t); \
- sp = PL_stack_sp = PL_stack_base + AvFILLp(t); \
- PL_curstack = t; \
- } STMT_END
-
-#define EXTEND_MORTAL(n) \
- STMT_START { \
- if (PL_tmps_ix + (n) >= PL_tmps_max) \
- tmps_grow(n); \
- } STMT_END
-
-#define AMGf_noright 1
-#define AMGf_noleft 2
-#define AMGf_assign 4
-#define AMGf_unary 8
-
-#define tryAMAGICbinW_var(meth_enum,assign,set) STMT_START { \
- SV* const left = *(sp-1); \
- SV* const right = *(sp); \
- if ((SvAMAGIC(left)||SvAMAGIC(right))) {\
- SV * const tmpsv = amagic_call(left, \
- right, \
- (meth_enum), \
- (assign)? AMGf_assign: 0); \
- if (tmpsv) { \
- SPAGAIN; \
- (void)POPs; set(tmpsv); RETURN; } \
- } \
- } STMT_END
-
-#define tryAMAGICbinW(meth,assign,set) \
- tryAMAGICbinW_var(CAT2(meth,_amg),assign,set)
-
-#define tryAMAGICbin_var(meth_enum,assign) \
- tryAMAGICbinW_var(meth_enum,assign,SETsv)
-#define tryAMAGICbin(meth,assign) \
- tryAMAGICbin_var(CAT2(meth,_amg),assign)
-
-#define tryAMAGICbinSET(meth,assign) tryAMAGICbinW(meth,assign,SETs)
-
-#define tryAMAGICbinSET_var(meth_enum,assign) \
- tryAMAGICbinW_var(meth_enum,assign,SETs)
-
-#define AMG_CALLun_var(sv,meth_enum) amagic_call(sv,&PL_sv_undef, \
- meth_enum,AMGf_noright | AMGf_unary)
-#define AMG_CALLun(sv,meth) AMG_CALLun_var(sv,CAT2(meth,_amg))
-
-#define AMG_CALLbinL(left,right,meth) \
- amagic_call(left,right,CAT2(meth,_amg),AMGf_noright)
-
-#define tryAMAGICunW_var(meth_enum,set,shift,ret) STMT_START { \
- SV* tmpsv; \
- SV* arg= sp[shift]; \
- if(0) goto am_again; /* shut up unused warning */ \
- am_again: \
- if ((SvAMAGIC(arg))&&\
- (tmpsv=AMG_CALLun_var(arg,(meth_enum)))) {\
- SPAGAIN; if (shift) sp += shift; \
- set(tmpsv); ret; } \
- } STMT_END
-#define tryAMAGICunW(meth,set,shift,ret) \
- tryAMAGICunW_var(CAT2(meth,_amg),set,shift,ret)
-
-#define FORCE_SETs(sv) STMT_START { sv_setsv(TARG, (sv)); SETTARG; } STMT_END
-
-#define tryAMAGICun_var(meth_enum) tryAMAGICunW_var(meth_enum,SETsvUN,0,RETURN)
-#define tryAMAGICun(meth) tryAMAGICun_var(CAT2(meth,_amg))
-#define tryAMAGICunSET(meth) tryAMAGICunW(meth,SETs,0,RETURN)
-#define tryAMAGICunTARGET(meth, shift) \
- STMT_START { dSP; sp--; /* get TARGET from below PL_stack_sp */ \
- { dTARGETSTACKED; \
- { dSP; tryAMAGICunW(meth,FORCE_SETs,shift,RETURN);}}} STMT_END
-
-#define setAGAIN(ref) \
- STMT_START { \
- sv = ref; \
- if (!SvROK(ref)) \
- Perl_croak(aTHX_ "Overloaded dereference did not return a reference"); \
- if (ref != arg && SvRV(ref) != SvRV(arg)) { \
- arg = ref; \
- goto am_again; \
- } \
- } STMT_END
-
-#define tryAMAGICunDEREF(meth) tryAMAGICunW(meth,setAGAIN,0,(void)0)
-#define tryAMAGICunDEREF_var(meth_enum) \
- tryAMAGICunW_var(meth_enum,setAGAIN,0,(void)0)
-
-#define opASSIGN (PL_op->op_flags & OPf_STACKED)
-#define SETsv(sv) STMT_START { \
- if (opASSIGN || (SvFLAGS(TARG) & SVs_PADMY)) \
- { sv_setsv(TARG, (sv)); SETTARG; } \
- else SETs(sv); } STMT_END
-
-#define SETsvUN(sv) STMT_START { \
- if (SvFLAGS(TARG) & SVs_PADMY) \
- { sv_setsv(TARG, (sv)); SETTARG; } \
- else SETs(sv); } STMT_END
-
-/* newSVsv does not behave as advertised, so we copy missing
- * information by hand */
-
-/* SV* ref causes confusion with the member variable
- changed SV* ref to SV* tmpRef */
-#define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); \
- if (SvREFCNT(tmpRef)>1) { \
- SvRV_set(rv, AMG_CALLun(rv,copy)); \
- SvREFCNT_dec(tmpRef); \
- } } STMT_END
-
-/*
-=for apidoc mU||LVRET
-True if this op will be the return value of an lvalue subroutine
-
-=cut */
-#define LVRET ((PL_op->op_private & OPpMAYBE_LVSUB) && is_lvalue_sub())
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp_proto.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp_proto.h
deleted file mode 100644
index 3a96e328377..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/pp_proto.h
+++ /dev/null
@@ -1,410 +0,0 @@
-/* -*- buffer-read-only: t -*-
- !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by opcode.pl from its data. Any changes made here
- will be lost!
-*/
-
-PERL_CKDEF(Perl_ck_anoncode)
-PERL_CKDEF(Perl_ck_bitop)
-PERL_CKDEF(Perl_ck_chdir)
-PERL_CKDEF(Perl_ck_concat)
-PERL_CKDEF(Perl_ck_defined)
-PERL_CKDEF(Perl_ck_delete)
-PERL_CKDEF(Perl_ck_die)
-PERL_CKDEF(Perl_ck_eof)
-PERL_CKDEF(Perl_ck_eval)
-PERL_CKDEF(Perl_ck_exec)
-PERL_CKDEF(Perl_ck_exists)
-PERL_CKDEF(Perl_ck_exit)
-PERL_CKDEF(Perl_ck_ftst)
-PERL_CKDEF(Perl_ck_fun)
-PERL_CKDEF(Perl_ck_glob)
-PERL_CKDEF(Perl_ck_grep)
-PERL_CKDEF(Perl_ck_index)
-PERL_CKDEF(Perl_ck_join)
-PERL_CKDEF(Perl_ck_lengthconst)
-PERL_CKDEF(Perl_ck_lfun)
-PERL_CKDEF(Perl_ck_listiob)
-PERL_CKDEF(Perl_ck_match)
-PERL_CKDEF(Perl_ck_method)
-PERL_CKDEF(Perl_ck_null)
-PERL_CKDEF(Perl_ck_open)
-PERL_CKDEF(Perl_ck_readline)
-PERL_CKDEF(Perl_ck_repeat)
-PERL_CKDEF(Perl_ck_require)
-PERL_CKDEF(Perl_ck_return)
-PERL_CKDEF(Perl_ck_rfun)
-PERL_CKDEF(Perl_ck_rvconst)
-PERL_CKDEF(Perl_ck_sassign)
-PERL_CKDEF(Perl_ck_select)
-PERL_CKDEF(Perl_ck_shift)
-PERL_CKDEF(Perl_ck_smartmatch)
-PERL_CKDEF(Perl_ck_sort)
-PERL_CKDEF(Perl_ck_spair)
-PERL_CKDEF(Perl_ck_split)
-PERL_CKDEF(Perl_ck_subr)
-PERL_CKDEF(Perl_ck_substr)
-PERL_CKDEF(Perl_ck_svconst)
-PERL_CKDEF(Perl_ck_trunc)
-PERL_CKDEF(Perl_ck_unpack)
-
-
-PERL_PPDEF(Perl_pp_null)
-PERL_PPDEF(Perl_pp_stub)
-PERL_PPDEF(Perl_pp_scalar)
-PERL_PPDEF(Perl_pp_pushmark)
-PERL_PPDEF(Perl_pp_wantarray)
-PERL_PPDEF(Perl_pp_const)
-PERL_PPDEF(Perl_pp_gvsv)
-PERL_PPDEF(Perl_pp_gv)
-PERL_PPDEF(Perl_pp_gelem)
-PERL_PPDEF(Perl_pp_padsv)
-PERL_PPDEF(Perl_pp_padav)
-PERL_PPDEF(Perl_pp_padhv)
-PERL_PPDEF(Perl_pp_padany)
-PERL_PPDEF(Perl_pp_pushre)
-PERL_PPDEF(Perl_pp_rv2gv)
-PERL_PPDEF(Perl_pp_rv2sv)
-PERL_PPDEF(Perl_pp_av2arylen)
-PERL_PPDEF(Perl_pp_rv2cv)
-PERL_PPDEF(Perl_pp_anoncode)
-PERL_PPDEF(Perl_pp_prototype)
-PERL_PPDEF(Perl_pp_refgen)
-PERL_PPDEF(Perl_pp_srefgen)
-PERL_PPDEF(Perl_pp_ref)
-PERL_PPDEF(Perl_pp_bless)
-PERL_PPDEF(Perl_pp_backtick)
-PERL_PPDEF(Perl_pp_glob)
-PERL_PPDEF(Perl_pp_readline)
-PERL_PPDEF(Perl_pp_rcatline)
-PERL_PPDEF(Perl_pp_regcmaybe)
-PERL_PPDEF(Perl_pp_regcreset)
-PERL_PPDEF(Perl_pp_regcomp)
-PERL_PPDEF(Perl_pp_match)
-PERL_PPDEF(Perl_pp_qr)
-PERL_PPDEF(Perl_pp_subst)
-PERL_PPDEF(Perl_pp_substcont)
-PERL_PPDEF(Perl_pp_trans)
-PERL_PPDEF(Perl_pp_sassign)
-PERL_PPDEF(Perl_pp_aassign)
-PERL_PPDEF(Perl_pp_chop)
-PERL_PPDEF(Perl_pp_schop)
-PERL_PPDEF(Perl_pp_chomp)
-PERL_PPDEF(Perl_pp_schomp)
-PERL_PPDEF(Perl_pp_defined)
-PERL_PPDEF(Perl_pp_undef)
-PERL_PPDEF(Perl_pp_study)
-PERL_PPDEF(Perl_pp_pos)
-PERL_PPDEF(Perl_pp_preinc)
-PERL_PPDEF(Perl_pp_predec)
-PERL_PPDEF(Perl_pp_postinc)
-PERL_PPDEF(Perl_pp_postdec)
-PERL_PPDEF(Perl_pp_pow)
-PERL_PPDEF(Perl_pp_multiply)
-PERL_PPDEF(Perl_pp_i_multiply)
-PERL_PPDEF(Perl_pp_divide)
-PERL_PPDEF(Perl_pp_i_divide)
-PERL_PPDEF(Perl_pp_modulo)
-PERL_PPDEF(Perl_pp_i_modulo)
-PERL_PPDEF(Perl_pp_repeat)
-PERL_PPDEF(Perl_pp_add)
-PERL_PPDEF(Perl_pp_i_add)
-PERL_PPDEF(Perl_pp_subtract)
-PERL_PPDEF(Perl_pp_i_subtract)
-PERL_PPDEF(Perl_pp_concat)
-PERL_PPDEF(Perl_pp_stringify)
-PERL_PPDEF(Perl_pp_left_shift)
-PERL_PPDEF(Perl_pp_right_shift)
-PERL_PPDEF(Perl_pp_lt)
-PERL_PPDEF(Perl_pp_i_lt)
-PERL_PPDEF(Perl_pp_gt)
-PERL_PPDEF(Perl_pp_i_gt)
-PERL_PPDEF(Perl_pp_le)
-PERL_PPDEF(Perl_pp_i_le)
-PERL_PPDEF(Perl_pp_ge)
-PERL_PPDEF(Perl_pp_i_ge)
-PERL_PPDEF(Perl_pp_eq)
-PERL_PPDEF(Perl_pp_i_eq)
-PERL_PPDEF(Perl_pp_ne)
-PERL_PPDEF(Perl_pp_i_ne)
-PERL_PPDEF(Perl_pp_ncmp)
-PERL_PPDEF(Perl_pp_i_ncmp)
-PERL_PPDEF(Perl_pp_slt)
-PERL_PPDEF(Perl_pp_sgt)
-PERL_PPDEF(Perl_pp_sle)
-PERL_PPDEF(Perl_pp_sge)
-PERL_PPDEF(Perl_pp_seq)
-PERL_PPDEF(Perl_pp_sne)
-PERL_PPDEF(Perl_pp_scmp)
-PERL_PPDEF(Perl_pp_bit_and)
-PERL_PPDEF(Perl_pp_bit_xor)
-PERL_PPDEF(Perl_pp_bit_or)
-PERL_PPDEF(Perl_pp_negate)
-PERL_PPDEF(Perl_pp_i_negate)
-PERL_PPDEF(Perl_pp_not)
-PERL_PPDEF(Perl_pp_complement)
-PERL_PPDEF(Perl_pp_smartmatch)
-PERL_PPDEF(Perl_pp_atan2)
-PERL_PPDEF(Perl_pp_sin)
-PERL_PPDEF(Perl_pp_cos)
-PERL_PPDEF(Perl_pp_rand)
-PERL_PPDEF(Perl_pp_srand)
-PERL_PPDEF(Perl_pp_exp)
-PERL_PPDEF(Perl_pp_log)
-PERL_PPDEF(Perl_pp_sqrt)
-PERL_PPDEF(Perl_pp_int)
-PERL_PPDEF(Perl_pp_hex)
-PERL_PPDEF(Perl_pp_oct)
-PERL_PPDEF(Perl_pp_abs)
-PERL_PPDEF(Perl_pp_length)
-PERL_PPDEF(Perl_pp_substr)
-PERL_PPDEF(Perl_pp_vec)
-PERL_PPDEF(Perl_pp_index)
-PERL_PPDEF(Perl_pp_rindex)
-PERL_PPDEF(Perl_pp_sprintf)
-PERL_PPDEF(Perl_pp_formline)
-PERL_PPDEF(Perl_pp_ord)
-PERL_PPDEF(Perl_pp_chr)
-PERL_PPDEF(Perl_pp_crypt)
-PERL_PPDEF(Perl_pp_ucfirst)
-PERL_PPDEF(Perl_pp_lcfirst)
-PERL_PPDEF(Perl_pp_uc)
-PERL_PPDEF(Perl_pp_lc)
-PERL_PPDEF(Perl_pp_quotemeta)
-PERL_PPDEF(Perl_pp_rv2av)
-PERL_PPDEF(Perl_pp_aelemfast)
-PERL_PPDEF(Perl_pp_aelem)
-PERL_PPDEF(Perl_pp_aslice)
-PERL_PPDEF(Perl_pp_each)
-PERL_PPDEF(Perl_pp_values)
-PERL_PPDEF(Perl_pp_keys)
-PERL_PPDEF(Perl_pp_delete)
-PERL_PPDEF(Perl_pp_exists)
-PERL_PPDEF(Perl_pp_rv2hv)
-PERL_PPDEF(Perl_pp_helem)
-PERL_PPDEF(Perl_pp_hslice)
-PERL_PPDEF(Perl_pp_unpack)
-PERL_PPDEF(Perl_pp_pack)
-PERL_PPDEF(Perl_pp_split)
-PERL_PPDEF(Perl_pp_join)
-PERL_PPDEF(Perl_pp_list)
-PERL_PPDEF(Perl_pp_lslice)
-PERL_PPDEF(Perl_pp_anonlist)
-PERL_PPDEF(Perl_pp_anonhash)
-PERL_PPDEF(Perl_pp_splice)
-PERL_PPDEF(Perl_pp_push)
-PERL_PPDEF(Perl_pp_pop)
-PERL_PPDEF(Perl_pp_shift)
-PERL_PPDEF(Perl_pp_unshift)
-PERL_PPDEF(Perl_pp_sort)
-PERL_PPDEF(Perl_pp_reverse)
-PERL_PPDEF(Perl_pp_grepstart)
-PERL_PPDEF(Perl_pp_grepwhile)
-PERL_PPDEF(Perl_pp_mapstart)
-PERL_PPDEF(Perl_pp_mapwhile)
-PERL_PPDEF(Perl_pp_range)
-PERL_PPDEF(Perl_pp_flip)
-PERL_PPDEF(Perl_pp_flop)
-PERL_PPDEF(Perl_pp_and)
-PERL_PPDEF(Perl_pp_or)
-PERL_PPDEF(Perl_pp_xor)
-PERL_PPDEF(Perl_pp_dor)
-PERL_PPDEF(Perl_pp_cond_expr)
-PERL_PPDEF(Perl_pp_andassign)
-PERL_PPDEF(Perl_pp_orassign)
-PERL_PPDEF(Perl_pp_dorassign)
-PERL_PPDEF(Perl_pp_method)
-PERL_PPDEF(Perl_pp_entersub)
-PERL_PPDEF(Perl_pp_leavesub)
-PERL_PPDEF(Perl_pp_leavesublv)
-PERL_PPDEF(Perl_pp_caller)
-PERL_PPDEF(Perl_pp_warn)
-PERL_PPDEF(Perl_pp_die)
-PERL_PPDEF(Perl_pp_reset)
-PERL_PPDEF(Perl_pp_lineseq)
-PERL_PPDEF(Perl_pp_nextstate)
-PERL_PPDEF(Perl_pp_dbstate)
-PERL_PPDEF(Perl_pp_unstack)
-PERL_PPDEF(Perl_pp_enter)
-PERL_PPDEF(Perl_pp_leave)
-PERL_PPDEF(Perl_pp_scope)
-PERL_PPDEF(Perl_pp_enteriter)
-PERL_PPDEF(Perl_pp_iter)
-PERL_PPDEF(Perl_pp_enterloop)
-PERL_PPDEF(Perl_pp_leaveloop)
-PERL_PPDEF(Perl_pp_return)
-PERL_PPDEF(Perl_pp_last)
-PERL_PPDEF(Perl_pp_next)
-PERL_PPDEF(Perl_pp_redo)
-PERL_PPDEF(Perl_pp_dump)
-PERL_PPDEF(Perl_pp_goto)
-PERL_PPDEF(Perl_pp_exit)
-PERL_PPDEF(Perl_pp_setstate)
-PERL_PPDEF(Perl_pp_method_named)
-PERL_PPDEF(Perl_pp_entergiven)
-PERL_PPDEF(Perl_pp_leavegiven)
-PERL_PPDEF(Perl_pp_enterwhen)
-PERL_PPDEF(Perl_pp_leavewhen)
-PERL_PPDEF(Perl_pp_break)
-PERL_PPDEF(Perl_pp_continue)
-PERL_PPDEF(Perl_pp_open)
-PERL_PPDEF(Perl_pp_close)
-PERL_PPDEF(Perl_pp_pipe_op)
-PERL_PPDEF(Perl_pp_fileno)
-PERL_PPDEF(Perl_pp_umask)
-PERL_PPDEF(Perl_pp_binmode)
-PERL_PPDEF(Perl_pp_tie)
-PERL_PPDEF(Perl_pp_untie)
-PERL_PPDEF(Perl_pp_tied)
-PERL_PPDEF(Perl_pp_dbmopen)
-PERL_PPDEF(Perl_pp_dbmclose)
-PERL_PPDEF(Perl_pp_sselect)
-PERL_PPDEF(Perl_pp_select)
-PERL_PPDEF(Perl_pp_getc)
-PERL_PPDEF(Perl_pp_read)
-PERL_PPDEF(Perl_pp_enterwrite)
-PERL_PPDEF(Perl_pp_leavewrite)
-PERL_PPDEF(Perl_pp_prtf)
-PERL_PPDEF(Perl_pp_print)
-PERL_PPDEF(Perl_pp_say)
-PERL_PPDEF(Perl_pp_sysopen)
-PERL_PPDEF(Perl_pp_sysseek)
-PERL_PPDEF(Perl_pp_sysread)
-PERL_PPDEF(Perl_pp_syswrite)
-PERL_PPDEF(Perl_pp_send)
-PERL_PPDEF(Perl_pp_recv)
-PERL_PPDEF(Perl_pp_eof)
-PERL_PPDEF(Perl_pp_tell)
-PERL_PPDEF(Perl_pp_seek)
-PERL_PPDEF(Perl_pp_truncate)
-PERL_PPDEF(Perl_pp_fcntl)
-PERL_PPDEF(Perl_pp_ioctl)
-PERL_PPDEF(Perl_pp_flock)
-PERL_PPDEF(Perl_pp_socket)
-PERL_PPDEF(Perl_pp_sockpair)
-PERL_PPDEF(Perl_pp_bind)
-PERL_PPDEF(Perl_pp_connect)
-PERL_PPDEF(Perl_pp_listen)
-PERL_PPDEF(Perl_pp_accept)
-PERL_PPDEF(Perl_pp_shutdown)
-PERL_PPDEF(Perl_pp_gsockopt)
-PERL_PPDEF(Perl_pp_ssockopt)
-PERL_PPDEF(Perl_pp_getsockname)
-PERL_PPDEF(Perl_pp_getpeername)
-PERL_PPDEF(Perl_pp_lstat)
-PERL_PPDEF(Perl_pp_stat)
-PERL_PPDEF(Perl_pp_ftrread)
-PERL_PPDEF(Perl_pp_ftrwrite)
-PERL_PPDEF(Perl_pp_ftrexec)
-PERL_PPDEF(Perl_pp_fteread)
-PERL_PPDEF(Perl_pp_ftewrite)
-PERL_PPDEF(Perl_pp_fteexec)
-PERL_PPDEF(Perl_pp_ftis)
-PERL_PPDEF(Perl_pp_ftsize)
-PERL_PPDEF(Perl_pp_ftmtime)
-PERL_PPDEF(Perl_pp_ftatime)
-PERL_PPDEF(Perl_pp_ftctime)
-PERL_PPDEF(Perl_pp_ftrowned)
-PERL_PPDEF(Perl_pp_fteowned)
-PERL_PPDEF(Perl_pp_ftzero)
-PERL_PPDEF(Perl_pp_ftsock)
-PERL_PPDEF(Perl_pp_ftchr)
-PERL_PPDEF(Perl_pp_ftblk)
-PERL_PPDEF(Perl_pp_ftfile)
-PERL_PPDEF(Perl_pp_ftdir)
-PERL_PPDEF(Perl_pp_ftpipe)
-PERL_PPDEF(Perl_pp_ftsuid)
-PERL_PPDEF(Perl_pp_ftsgid)
-PERL_PPDEF(Perl_pp_ftsvtx)
-PERL_PPDEF(Perl_pp_ftlink)
-PERL_PPDEF(Perl_pp_fttty)
-PERL_PPDEF(Perl_pp_fttext)
-PERL_PPDEF(Perl_pp_ftbinary)
-PERL_PPDEF(Perl_pp_chdir)
-PERL_PPDEF(Perl_pp_chown)
-PERL_PPDEF(Perl_pp_chroot)
-PERL_PPDEF(Perl_pp_unlink)
-PERL_PPDEF(Perl_pp_chmod)
-PERL_PPDEF(Perl_pp_utime)
-PERL_PPDEF(Perl_pp_rename)
-PERL_PPDEF(Perl_pp_link)
-PERL_PPDEF(Perl_pp_symlink)
-PERL_PPDEF(Perl_pp_readlink)
-PERL_PPDEF(Perl_pp_mkdir)
-PERL_PPDEF(Perl_pp_rmdir)
-PERL_PPDEF(Perl_pp_open_dir)
-PERL_PPDEF(Perl_pp_readdir)
-PERL_PPDEF(Perl_pp_telldir)
-PERL_PPDEF(Perl_pp_seekdir)
-PERL_PPDEF(Perl_pp_rewinddir)
-PERL_PPDEF(Perl_pp_closedir)
-PERL_PPDEF(Perl_pp_fork)
-PERL_PPDEF(Perl_pp_wait)
-PERL_PPDEF(Perl_pp_waitpid)
-PERL_PPDEF(Perl_pp_system)
-PERL_PPDEF(Perl_pp_exec)
-PERL_PPDEF(Perl_pp_kill)
-PERL_PPDEF(Perl_pp_getppid)
-PERL_PPDEF(Perl_pp_getpgrp)
-PERL_PPDEF(Perl_pp_setpgrp)
-PERL_PPDEF(Perl_pp_getpriority)
-PERL_PPDEF(Perl_pp_setpriority)
-PERL_PPDEF(Perl_pp_time)
-PERL_PPDEF(Perl_pp_tms)
-PERL_PPDEF(Perl_pp_localtime)
-PERL_PPDEF(Perl_pp_gmtime)
-PERL_PPDEF(Perl_pp_alarm)
-PERL_PPDEF(Perl_pp_sleep)
-PERL_PPDEF(Perl_pp_shmget)
-PERL_PPDEF(Perl_pp_shmctl)
-PERL_PPDEF(Perl_pp_shmread)
-PERL_PPDEF(Perl_pp_shmwrite)
-PERL_PPDEF(Perl_pp_msgget)
-PERL_PPDEF(Perl_pp_msgctl)
-PERL_PPDEF(Perl_pp_msgsnd)
-PERL_PPDEF(Perl_pp_msgrcv)
-PERL_PPDEF(Perl_pp_semop)
-PERL_PPDEF(Perl_pp_semget)
-PERL_PPDEF(Perl_pp_semctl)
-PERL_PPDEF(Perl_pp_require)
-PERL_PPDEF(Perl_pp_dofile)
-PERL_PPDEF(Perl_pp_entereval)
-PERL_PPDEF(Perl_pp_leaveeval)
-PERL_PPDEF(Perl_pp_entertry)
-PERL_PPDEF(Perl_pp_leavetry)
-PERL_PPDEF(Perl_pp_ghbyname)
-PERL_PPDEF(Perl_pp_ghbyaddr)
-PERL_PPDEF(Perl_pp_ghostent)
-PERL_PPDEF(Perl_pp_gnbyname)
-PERL_PPDEF(Perl_pp_gnbyaddr)
-PERL_PPDEF(Perl_pp_gnetent)
-PERL_PPDEF(Perl_pp_gpbyname)
-PERL_PPDEF(Perl_pp_gpbynumber)
-PERL_PPDEF(Perl_pp_gprotoent)
-PERL_PPDEF(Perl_pp_gsbyname)
-PERL_PPDEF(Perl_pp_gsbyport)
-PERL_PPDEF(Perl_pp_gservent)
-PERL_PPDEF(Perl_pp_shostent)
-PERL_PPDEF(Perl_pp_snetent)
-PERL_PPDEF(Perl_pp_sprotoent)
-PERL_PPDEF(Perl_pp_sservent)
-PERL_PPDEF(Perl_pp_ehostent)
-PERL_PPDEF(Perl_pp_enetent)
-PERL_PPDEF(Perl_pp_eprotoent)
-PERL_PPDEF(Perl_pp_eservent)
-PERL_PPDEF(Perl_pp_gpwnam)
-PERL_PPDEF(Perl_pp_gpwuid)
-PERL_PPDEF(Perl_pp_gpwent)
-PERL_PPDEF(Perl_pp_spwent)
-PERL_PPDEF(Perl_pp_epwent)
-PERL_PPDEF(Perl_pp_ggrnam)
-PERL_PPDEF(Perl_pp_ggrgid)
-PERL_PPDEF(Perl_pp_ggrent)
-PERL_PPDEF(Perl_pp_sgrent)
-PERL_PPDEF(Perl_pp_egrent)
-PERL_PPDEF(Perl_pp_getlogin)
-PERL_PPDEF(Perl_pp_syscall)
-PERL_PPDEF(Perl_pp_lock)
-PERL_PPDEF(Perl_pp_once)
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/proto.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/proto.h
deleted file mode 100644
index 2bbdab5c820..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/proto.h
+++ /dev/null
@@ -1,4754 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * proto.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.fnc, embed.pl,
- * pp.sym, intrpvar.h, and perlvars.h.
- * Any changes made here will be lost!
- *
- * Edit those files and run 'make regen_headers' to effect changes.
- */
-
-START_EXTERN_C
-
-#if defined(PERL_IMPLICIT_SYS)
-PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- __attribute__nonnull__(6)
- __attribute__nonnull__(7)
- __attribute__nonnull__(8)
- __attribute__nonnull__(9);
-
-#endif
-PERL_CALLCONV PerlInterpreter* perl_alloc(void);
-PERL_CALLCONV void perl_construct(PerlInterpreter* interp)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV int perl_destruct(PerlInterpreter* interp)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void perl_free(PerlInterpreter* interp)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV int perl_run(PerlInterpreter* interp)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV int perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env)
- __attribute__warn_unused_result__;
-
-#if defined(USE_ITHREADS)
-PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter* interp, UV flags)
- __attribute__nonnull__(1);
-
-# if defined(PERL_IMPLICIT_SYS)
-PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *interp, UV flags, struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct IPerlLIO* lio, struct IPerlDir* d, struct IPerlSock* s, struct IPerlProc* p)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- __attribute__nonnull__(6)
- __attribute__nonnull__(7)
- __attribute__nonnull__(8)
- __attribute__nonnull__(9)
- __attribute__nonnull__(10)
- __attribute__nonnull__(11);
-
-# endif
-#endif
-
-PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Free_t Perl_mfree(Malloc_t where);
-#if defined(MYMALLOC)
-PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-PERL_CALLCONV MEM_SIZE Perl_malloc_good_size(size_t nbytes)
- __attribute__warn_unused_result__;
-
-#endif
-
-PERL_CALLCONV void* Perl_get_context(void)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_set_context(void *thx)
- __attribute__nonnull__(1);
-
-
-END_EXTERN_C
-
-/* functions with flag 'n' should come before here */
-START_EXTERN_C
-# include "pp_proto.h"
-PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_Gv_AMupdate(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_append_elem(pTHX_ I32 optype, OP* first, OP* last);
-PERL_CALLCONV OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
-PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_av_clear(pTHX_ AV* ar)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV* ar, I32 key, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_av_exists(pTHX_ AV* ar, I32 key)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_av_extend(pTHX_ AV* ar, I32 key)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV AV* Perl_av_fake(pTHX_ I32 size, SV** svp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_av_fill(pTHX_ AV* ar, I32 fill)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_av_len(pTHX_ const AV* ar)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV AV* Perl_av_make(pTHX_ I32 size, SV** svp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV* Perl_av_pop(pTHX_ AV* ar)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_av_push(pTHX_ AV* ar, SV* val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_av_reify(pTHX_ AV* ar)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV* ar)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_av_undef(pTHX_ AV* ar)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_av_unshift(pTHX_ AV* ar, I32 num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV* av)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV OP* Perl_block_end(pTHX_ I32 floor, OP* seq)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV I32 Perl_block_gimme(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV int Perl_block_start(pTHX_ int full)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX);
-PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX);
-PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV* av_list)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV U32 Perl_cast_ulong(pTHX_ NV f)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV I32 Perl_cast_i32(pTHX_ NV f)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV IV Perl_cast_iv(pTHX_ NV f)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV UV Perl_cast_uv(pTHX_ NV f)
- __attribute__warn_unused_result__;
-
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-PERL_CALLCONV I32 Perl_my_chsize(pTHX_ int fd, Off_t length)
- __attribute__warn_unused_result__;
-
-#endif
-PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
-PERL_CALLCONV void Perl_croak(pTHX_ const char* pat, ...)
- __attribute__noreturn__
- __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
-
-PERL_CALLCONV void Perl_vcroak(pTHX_ const char* pat, va_list* args)
- __attribute__noreturn__
- __attribute__nonnull__(pTHX_1);
-
-#if defined(PERL_IMPLICIT_CONTEXT)
-PERL_CALLCONV void Perl_croak_nocontext(const char* pat, ...)
- __attribute__noreturn__
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV OP* Perl_die_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void Perl_warn_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void Perl_warner_nocontext(U32 err, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char* pat, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-PERL_CALLCONV void Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV void Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV void Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV void Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO* stream, const char* fmt, ...)
- __attribute__format__(__printf__,2,3)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV int Perl_printf_nocontext(const char* fmt, ...)
- __attribute__format__(__printf__,1,2)
- __attribute__nonnull__(1);
-
-#endif
-PERL_CALLCONV void Perl_cv_ckproto(pTHX_ const CV* cv, const GV* gv, const char* p)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_cv_const_sv(pTHX_ CV* cv)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_op_const_sv(pTHX_ const OP* o, CV* cv)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
-PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char** Perl_get_op_descs(pTHX)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV char** Perl_get_op_names(pTHX)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV const char* Perl_get_no_modify(pTHX)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV U32* Perl_get_opargs(pTHX)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV I32 Perl_cxinc(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...)
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_vdeb(pTHX_ const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_debprofdump(pTHX);
-PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_debstack(pTHX);
-PERL_CALLCONV I32 Perl_debstackptrs(pTHX);
-PERL_CALLCONV char* Perl_delimcpy(pTHX_ char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_6);
-
-PERL_CALLCONV void Perl_delete_eval_scope(pTHX);
-PERL_CALLCONV void Perl_deprecate(pTHX_ const char* s)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_deprecate_old(pTHX_ const char* s)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_die(pTHX_ const char* pat, ...)
- __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
-
-PERL_CALLCONV OP* Perl_vdie(pTHX_ const char* pat, va_list* args);
-PERL_CALLCONV OP* Perl_die_where(pTHX_ const char* message, STRLEN msglen);
-PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix);
-/* PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3); */
-
-PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_do_chop(pTHX_ SV* asv, SV* sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
-PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
- __attribute__nonnull__(pTHX_1); */
-
-#else
-PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(WIN32) || defined(__SYMBIAN32__)
-PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV int Perl_do_spawn(pTHX_ char* cmd)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_do_spawn_nowait(pTHX_ char* cmd)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-#if !defined(WIN32)
-PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char* cmd, int fd, int do_report)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_do_execfree(pTHX);
-#ifdef PERL_IN_DOIO_C
-STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-PERL_CALLCONV I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_do_semop(pTHX_ SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-#endif
-PERL_CALLCONV void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV OP* Perl_do_kv(pTHX);
-/* PERL_CALLCONV bool Perl_do_open(pTHX_ GV* gv, const char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_8);
-
-PERL_CALLCONV bool Perl_do_openn(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_do_readline(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV I32 Perl_do_chomp(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
-PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV Off_t Perl_do_tell(pTHX_ GV* gv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_do_trans(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV UV Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_do_vecset(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_dowantarray(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_dump_all(pTHX);
-PERL_CALLCONV void Perl_dump_eval(pTHX);
-#if defined(DUMP_FDS)
-PERL_CALLCONV void Perl_dump_fds(pTHX_ char* s)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_op_dump(pTHX_ const OP* arg)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm);
-PERL_CALLCONV void Perl_dump_packsubs(pTHX_ const HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_dump_sub(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_force_list(pTHX_ OP* arg);
-PERL_CALLCONV OP* Perl_fold_constants(pTHX_ OP* arg)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...)
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_vform(pTHX_ const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_free_tmps(pTHX);
-PERL_CALLCONV OP* Perl_gen_constant_list(pTHX_ OP* o);
-#if !defined(HAS_GETENV_LEN)
-PERL_CALLCONV char* Perl_getenv_len(pTHX_ const char* key, unsigned long *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv);
-PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp);
-PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_gv_check(pTHX_ const HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV void Perl_gv_efullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV GV* Perl_gv_fetchfile(pTHX_ const char* name)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const STRLEN len, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV GV* Perl_gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags);
-PERL_CALLCONV void Perl_hv_clear(pTHX_ HV* tb);
-PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, I32 klen, I32 flags)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV* tb, const char* key, I32 klen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, I32 klen, I32 lval)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash)
- __attribute__nonnull__(pTHX_2); */
-
-PERL_CALLCONV void* Perl_hv_common(pTHX_ HV* tb, SV* keysv, const char* key, STRLEN klen, int flags, int action, SV* val, U32 hash);
-PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_hv_free_ent(pTHX_ HV* hv, HE* entryK)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_hv_iterinit(pTHX_ HV* tb)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV* Perl_hv_iterkeysv(pTHX_ HE* entry)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV HE* Perl_hv_iternext(pTHX_ HV* tb)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV* tb, I32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c);
-PERL_CALLCONV SV * Perl_refcounted_he_fetch(pTHX_ const struct refcounted_he *chain, SV *keysv, const char *key, STRLEN klen, int flags, U32 hash);
-PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he);
-PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new(pTHX_ struct refcounted_he *const parent, SV *const key, SV *const value);
-/* PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash); */
-/* PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash); */
-/* PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV* tb, const char* key, I32 klen, SV* val, U32 hash, int flags); */
-PERL_CALLCONV void Perl_hv_undef(pTHX_ HV* tb);
-PERL_CALLCONV I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len)
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len)
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_ibcmp_utf8(pTHX_ const char* a, char **pe1, UV l1, bool u1, const char* b, char **pe2, UV l2, bool u2)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_5);
-
-PERL_CALLCONV bool Perl_ingroup(pTHX_ Gid_t testgid, bool effective)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_init_debugger(pTHX);
-PERL_CALLCONV void Perl_init_stacks(pTHX);
-PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV U32 Perl_intro_my(pTHX);
-PERL_CALLCONV char* Perl_instr(pTHX_ const char* big, const char* little)
- __attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, bool not_implicit)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV bool Perl_is_gv_magical(pTHX_ const char *name, STRLEN len, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV U32 Perl_to_uni_title_lc(pTHX_ U32 c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV U32 Perl_to_uni_lower_lc(pTHX_ U32 c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_alnum(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_alnumc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_idfirst(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_alpha(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_ascii(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_space(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_cntrl(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_graph(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_digit(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_upper(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_lower(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_print(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_punct(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_xdigit(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV UV Perl_to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV bool Perl_is_uni_alnum_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_alnumc_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_idfirst_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_alpha_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_ascii_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_space_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_cntrl_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_graph_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_digit_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_upper_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_lower_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_print_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_punct_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c)
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV STRLEN Perl_is_utf8_char(pTHX_ const U8 *p)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_string(pTHX_ const U8 *s, STRLEN len)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV bool Perl_is_utf8_string_loc(pTHX_ const U8 *s, STRLEN len, const U8 **p)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV bool Perl_is_utf8_string_loclen(pTHX_ const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP* arg)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_keyword(pTHX_ const char* d, I32 len, bool all_keywords)
- __attribute__pure__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base);
-PERL_CALLCONV void Perl_lex_end(pTHX);
-PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, bool new_filter);
-PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_op_refcnt_lock(pTHX);
-PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX);
-PERL_CALLCONV OP* Perl_linklist(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_list(pTHX_ OP* o);
-PERL_CALLCONV OP* Perl_listkids(pTHX_ OP* o);
-PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_localize(pTHX_ OP* arg, I32 lexical)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_clearhint(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_clearisa(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getarylen(pTHX_ SV* sv, const MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
- __attribute__noreturn__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_sethint(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setregexp(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_magicname(pTHX_ const char* sym, const char* name, I32 namlen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_markstack_grow(pTHX);
-#if defined(USE_LOCALE_COLLATE)
-PERL_CALLCONV int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-#endif
-PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...)
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_vmess(pTHX_ const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_qerror(pTHX_ SV* err)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV MAGIC* Perl_mg_find(pTHX_ const SV* sv, int type)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_mg_magical(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *pm)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_mod(pTHX_ OP* o, I32 type);
-PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ SV* discp);
-PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_my(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV NV Perl_my_atof(pTHX_ const char *s)
- __attribute__nonnull__(pTHX_1);
-
-#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
-PERL_CALLCONV char* Perl_my_bcopy(const char* from, char* to, I32 len)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-PERL_CALLCONV char* Perl_my_bzero(char* loc, I32 len)
- __attribute__nonnull__(1);
-
-#endif
-PERL_CALLCONV void Perl_my_exit(pTHX_ U32 status)
- __attribute__noreturn__;
-
-PERL_CALLCONV void Perl_my_failure_exit(pTHX)
- __attribute__noreturn__;
-
-PERL_CALLCONV I32 Perl_my_fflush_all(pTHX);
-PERL_CALLCONV Pid_t Perl_my_fork(void);
-PERL_CALLCONV void Perl_atfork_lock(void);
-PERL_CALLCONV void Perl_atfork_unlock(void);
-PERL_CALLCONV I32 Perl_my_lstat(pTHX);
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-PERL_CALLCONV I32 Perl_my_memcmp(const char* s1, const char* s2, I32 len)
- __attribute__pure__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-#endif
-#if !defined(HAS_MEMSET)
-PERL_CALLCONV void* Perl_my_memset(char* loc, I32 ch, I32 len)
- __attribute__nonnull__(1);
-
-#endif
-PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
-PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ char* mode, int n, SV ** args)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val);
-PERL_CALLCONV I32 Perl_my_stat(pTHX);
-PERL_CALLCONV char * Perl_my_strftime(pTHX_ const char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(MYSWAP)
-PERL_CALLCONV short Perl_my_swap(pTHX_ short s)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV long Perl_my_htonl(pTHX_ long l)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-PERL_CALLCONV long Perl_my_ntohl(pTHX_ long l)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__pure__;
-
-#endif
-PERL_CALLCONV void Perl_my_unexec(pTHX);
-PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
-PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* falseop)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
-#ifdef PERL_MAD
-PERL_CALLCONV OP* Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-#else
-PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-#endif
-PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sv, OP* expr, OP* block, OP* cont)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_5);
-
-PERL_CALLCONV OP* Perl_newGIVENOP(pTHX_ OP* cond, OP* block, PADOFFSET defsv_off)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newNULLLIST(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
-PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV CV* Perl_newXS(pTHX_ const char* name, XSUBADDR_t f, const char* filename)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV AV* Perl_newAV(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV GV* Perl_newGVgen(pTHX_ const char* pack)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_newHV(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV* hv)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV IO* Perl_newIO(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-#ifdef USE_ITHREADS
-PERL_CALLCONV OP* Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-
-#endif
-PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newRV(pTHX_ SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_newSV(pTHX_ STRLEN len)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV SV* Perl_newSViv(pTHX_ IV i)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVuv(pTHX_ UV u)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVnv(pTHX_ NV n)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char* s, STRLEN len, U32 flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *hek)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char* pat, ...)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_vnewSVpvf(pTHX_ const char* pat, va_list* args)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV* old)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_newSV_type(pTHX_ svtype type)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont, I32 has_my)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_scan_vstring(pTHX_ const char *vstr, const char *end, SV *sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV const char* Perl_scan_version(pTHX_ const char *vstr, SV *sv, bool qv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_upg_version(pTHX_ SV *ver, bool qv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_vverify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_vnumify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_vnormal(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_vstringify(pTHX_ SV *vs)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lvs, SV *rvs)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend)
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV OP* Perl_oopsCV(pTHX_ OP* o)
- __attribute__noreturn__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg);
-#ifdef PERL_MAD
-PERL_CALLCONV OP* Perl_package(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-#else
-PERL_CALLCONV void Perl_package(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
-PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX);
-PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_pad_leavemy(pTHX);
-PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po);
-PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po);
-PERL_CALLCONV void Perl_pad_reset(pTHX);
-PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
-PERL_CALLCONV void Perl_peep(pTHX_ OP* o);
-PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV* pattern, IO *io)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#if defined(USE_REENTRANT_API)
-PERL_CALLCONV void Perl_reentrant_size(pTHX);
-PERL_CALLCONV void Perl_reentrant_init(pTHX);
-PERL_CALLCONV void Perl_reentrant_free(pTHX);
-PERL_CALLCONV void* Perl_reentrant_retry(const char*, ...)
- __attribute__nonnull__(1);
-
-#endif
-PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
-PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, VOL I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_despatch_signals(pTHX);
-PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char* name, I32 create)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV AV* Perl_get_av(pTHX_ const char* name, I32 create)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char* name, I32 create)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn);
-PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn);
-PERL_CALLCONV void Perl_new_collate(pTHX_ const char* newcoll);
-PERL_CALLCONV void Perl_new_ctype(pTHX_ const char* newctype)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_new_numeric(pTHX_ const char* newcoll);
-PERL_CALLCONV void Perl_set_numeric_local(pTHX);
-PERL_CALLCONV void Perl_set_numeric_radix(pTHX);
-PERL_CALLCONV void Perl_set_numeric_standard(pTHX);
-PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5)
- __attribute__nonnull__(pTHX_6);
-
-PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-#ifdef PERL_USES_PL_PIDSTATUS
-PERL_CALLCONV void Perl_pidgone(pTHX_ Pid_t pid, int status);
-#endif
-PERL_CALLCONV void Perl_pmflag(pTHX_ U32* pmfl, int ch)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, bool isreg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_pop_scope(pTHX);
-PERL_CALLCONV OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
-PERL_CALLCONV void Perl_push_scope(pTHX);
-/* PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); */
-PERL_CALLCONV OP* Perl_refkids(pTHX_ OP* o, I32 type);
-PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *n, bool doinit, SV **listsvp, SV **altsvp)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_6);
-
-PERL_CALLCONV void Perl_pregfree(pTHX_ struct regexp* r);
-PERL_CALLCONV struct regexp* Perl_reg_temp_copy(pTHX_ struct regexp* r)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP * const r);
-PERL_CALLCONV char * Perl_reg_stringify(pTHX_ MAGIC *mg, STRLEN *lp, U32 *flags, I32 *haseval)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(USE_ITHREADS)
-PERL_CALLCONV void* Perl_regdupe_internal(pTHX_ REGEXP * const r, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ const SV * const pattern, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV REGEXP* Perl_re_compile(pTHX_ const SV * const pattern, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV* sv, char* strpos, char* strend, const U32 flags, re_scream_pos_data *data)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP * const rx)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP * const rx, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_6);
-
-PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV SV* Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_fetch(pTHX_ REGEXP * const rx, SV * const namesv, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_reg_named_buff_exists(pTHX_ REGEXP * const rx, SV * const key, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_firstkey(pTHX_ REGEXP * const rx, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_nextkey(pTHX_ REGEXP * const rx, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_scalar(pTHX_ REGEXP * const rx, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_reg_named_buff_all(pTHX_ REGEXP * const rx, const U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV void Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const rx, const I32 paren, SV * const sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, SV const * const value)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_reg_numbered_buff_length(pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-
-PERL_CALLCONV SV* Perl_reg_qr_package(pTHX_ REGEXP * const rx)
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend)
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
-PERL_CALLCONV int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
-PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV Sighandler_t Perl_rsignal_state(pTHX_ int i);
-PERL_CALLCONV void Perl_rxres_free(pTHX_ void** rsp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#if !defined(HAS_RENAME)
-PERL_CALLCONV I32 Perl_same_dirent(pTHX_ const char* a, const char* b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV char* Perl_savepv(pTHX_ const char* pv)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, I32 len)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_savestack_grow(pTHX);
-PERL_CALLCONV void Perl_savestack_grow_cnt(pTHX_ I32 need);
-PERL_CALLCONV void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV I32 Perl_save_alloc(pTHX_ I32 size, I32 pad);
-PERL_CALLCONV void Perl_save_aptr(pTHX_ AV** aptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV AV* Perl_save_ary(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_bool(pTHX_ bool* boolp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_clearsv(pTHX_ SV** svp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p);
-PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_save_freeop(pTHX_ OP* o);
-PERL_CALLCONV void Perl_save_freepv(pTHX_ char* pv);
-PERL_CALLCONV void Perl_save_generic_svref(pTHX_ SV** sptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_generic_pvref(pTHX_ char** str)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_shared_pvref(pTHX_ char** str)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_gp(pTHX_ GV* gv, I32 empty)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_save_hash(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_save_hptr(pTHX_ HV** hptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_I32(pTHX_ I32* intp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_int(pTHX_ int* intp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_item(pTHX_ SV* item)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_iv(pTHX_ IV* iv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_long(pTHX_ long* longp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_mortalizesv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv);
-PERL_CALLCONV void Perl_save_op(pTHX);
-PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_pptr(pTHX_ char** pptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_vptr(pTHX_ void* pptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_save_re_context(pTHX);
-PERL_CALLCONV void Perl_save_padsv(pTHX_ PADOFFSET off);
-PERL_CALLCONV void Perl_save_sptr(pTHX_ SV** sptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_save_svref(pTHX_ SV** sptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_sawparens(pTHX_ OP* o);
-PERL_CALLCONV OP* Perl_scalar(pTHX_ OP* o);
-PERL_CALLCONV OP* Perl_scalarkids(pTHX_ OP* o);
-PERL_CALLCONV OP* Perl_scalarseq(pTHX_ OP* o);
-PERL_CALLCONV OP* Perl_scalarvoid(pTHX_ OP* o)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV NV Perl_scan_bin(pTHX_ const char* start, STRLEN len, STRLEN* retlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV NV Perl_scan_hex(pTHX_ const char* start, STRLEN len, STRLEN* retlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV char* Perl_scan_num(pTHX_ const char* s, YYSTYPE *lvalp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV NV Perl_scan_oct(pTHX_ const char* start, STRLEN len, STRLEN* retlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV OP* Perl_scope(pTHX_ OP* o);
-PERL_CALLCONV char* Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *oldposp, I32 last)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_5);
-
-#if !defined(VMS)
-PERL_CALLCONV I32 Perl_setenv_getix(pTHX_ const char* nam)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_setdefout(pTHX_ GV* gv);
-PERL_CALLCONV HEK* Perl_share_hek(pTHX_ const char* str, I32 len, U32 hash)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-PERL_CALLCONV Signal_t Perl_sighandler(int sig, siginfo_t *info, void *uap);
-PERL_CALLCONV Signal_t Perl_csighandler(int sig, siginfo_t *info, void *uap);
-#else
-PERL_CALLCONV Signal_t Perl_sighandler(int sig);
-PERL_CALLCONV Signal_t Perl_csighandler(int sig);
-#endif
-PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, int n)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
-PERL_CALLCONV void Perl_sub_crush_depth(pTHX_ CV* cv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_sv_2bool(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV IO* Perl_sv_2io(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-#ifdef PERL_IN_SV_C
-STATIC bool S_glob_2number(pTHX_ GV* const gv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_glob_2pv(pTHX_ GV* const gv, STRLEN * const len)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-/* PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV* sv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV* sv);
-PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_2num(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV* sv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_sv_true(pTHX_ SV *sv);
-PERL_CALLCONV void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_sv_backoff(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_vcatpvf(pTHX_ SV* sv, const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV void Perl_sv_chop(pTHX_ SV* sv, const char* ptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_sv_clean_all(pTHX);
-PERL_CALLCONV void Perl_sv_clean_objs(pTHX);
-PERL_CALLCONV void Perl_sv_clear(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#if defined(USE_LOCALE_COLLATE)
-PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, const char* code, PAD** padp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_dec(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
-PERL_CALLCONV void Perl_sv_free(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_free2(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_free_arenas(pTHX);
-PERL_CALLCONV char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_inc(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, const char* little, STRLEN littlelen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV int Perl_sv_isa(pTHX_ SV* sv, const char* name)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_sv_isobject(pTHX_ SV* sv);
-PERL_CALLCONV STRLEN Perl_sv_len(pTHX_ SV* sv);
-PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV MAGIC * Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, const MGVTBL *vtbl, const char* name, I32 namlen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_sv_newmortal(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV SV* Perl_sv_newref(pTHX_ SV* sv);
-PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV* sv, STRLEN* lp)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV bool Perl_sv_cat_decode(pTHX_ SV* dsv, SV *encoding, SV *ssv, int *offset, char* tstr, int tlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-PERL_CALLCONV const char* Perl_sv_reftype(pTHX_ const SV* sv, int ob)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_replace(pTHX_ SV* sv, SV* nsv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_report_used(pTHX);
-PERL_CALLCONV void Perl_sv_reset(pTHX_ const char* s, HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_vsetpvf(pTHX_ SV* sv, const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_setiv(pTHX_ SV* sv, IV num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpviv(pTHX_ SV* sv, IV num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setuv(pTHX_ SV* sv, UV num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setnv(pTHX_ SV* sv, NV num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_setref_uv(pTHX_ SV* rv, const char* classname, UV uv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, NV nv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, const char* pv, STRLEN n)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv)
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV void Perl_sv_taint(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV bool Perl_sv_tainted(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_sv_unmagic(pTHX_ SV* sv, int type)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_sv_unref(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV void Perl_sv_unref_flags(pTHX_ SV* sv, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_untaint(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_upgrade(pTHX_ SV* sv, svtype new_type)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV void Perl_sv_usepvn_flags(pTHX_ SV* sv, char* ptr, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV SV* Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV UV Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_taint_env(pTHX);
-PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char* s)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5)
- __attribute__nonnull__(pTHX_6);
-
-PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#if defined(UNLINK_ALL_VERSIONS)
-PERL_CALLCONV I32 Perl_unlnk(pTHX_ const char* f)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV I32 Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_5);
-
-PERL_CALLCONV I32 Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
-PERL_CALLCONV void Perl_unshare_hek(pTHX_ HEK* hek);
-#ifdef PERL_MAD
-PERL_CALLCONV OP * Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
- __attribute__nonnull__(pTHX_4);
-
-#else
-PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg)
- __attribute__nonnull__(pTHX_4);
-
-#endif
-PERL_CALLCONV U8* Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV U8* Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, I32 bytelen, I32 *newlen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e)
- __attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV IV Perl_utf8_distance(pTHX_ const U8 *a, const U8 *b)
- __attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U8* Perl_utf8_hop(pTHX_ const U8 *s, I32 off)
- __attribute__warn_unused_result__
- __attribute__pure__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
- __attribute__nonnull__(pTHX_1);
-
-
-#ifdef EBCDIC
-PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-#else
-/* PERL_CALLCONV UV Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
- __attribute__nonnull__(pTHX_1); */
-
-#endif
-
-PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-
-#ifdef EBCDIC
-PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
- __attribute__nonnull__(pTHX_1);
-
-#else
-/* PERL_CALLCONV U8* Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv)
- __attribute__nonnull__(pTHX_1); */
-
-#endif
-
-/* PERL_CALLCONV U8* Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV U8* Perl_uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_vivify_defelem(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV U32 Perl_seed(pTHX);
-PERL_CALLCONV UV Perl_get_hash_seed(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv, const IO *io, I32 op);
-PERL_CALLCONV void Perl_report_uninit(pTHX_ SV* uninit_sv);
-PERL_CALLCONV void Perl_warn(pTHX_ const char* pat, ...)
- __attribute__format__(__printf__,pTHX_1,pTHX_2)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_vwarn(pTHX_ const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_vwarner(pTHX_ U32 err, const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_watch(pTHX_ char** addr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_whichsig(pTHX_ const char* sig)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_write_to_stderr(pTHX_ const char* message, int msglen)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_yyerror(pTHX_ const char* s)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_yylex(pTHX);
-PERL_CALLCONV int Perl_yyparse(pTHX);
-PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_yywarn(pTHX_ const char* s)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(MYMALLOC)
-PERL_CALLCONV void Perl_dump_mstats(pTHX_ char* s)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where);
-#if defined(PERL_GLOBAL_STRUCT)
-PERL_CALLCONV struct perl_vars * Perl_GetVars(pTHX);
-PERL_CALLCONV struct perl_vars* Perl_init_global_struct(pTHX);
-PERL_CALLCONV void Perl_free_global_struct(pTHX_ struct perl_vars *plvarsp)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV int Perl_runops_standard(pTHX);
-PERL_CALLCONV int Perl_runops_debug(pTHX);
-PERL_CALLCONV void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_vcatpvf_mg(pTHX_ SV* sv, const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-/* PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2); */
-
-/* PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_2,pTHX_3)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_vsetpvf_mg(pTHX_ SV* sv, const char* pat, va_list* args)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setnv_mg(pTHX_ SV *sv, NV num)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_pv_escape(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg);
-PERL_CALLCONV void Perl_reginitcolors(pTHX);
-/* PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1); */
-
-/* PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *sv, bool fail_ok)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_sv_utf8_decode(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-/* PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1); */
-
-PERL_CALLCONV void Perl_sv_force_normal_flags(pTHX_ SV *sv, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
-PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
-PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
-#ifdef PERL_MAD
-PERL_CALLCONV OP * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
- __attribute__noreturn__;
-
-#else
-PERL_CALLCONV void Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
- __attribute__noreturn__;
-
-#endif
-PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_boot_core_xsutils(pTHX);
-#if defined(USE_ITHREADS)
-PERL_CALLCONV PERL_CONTEXT* Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_4);
-
-PERL_CALLCONV PERL_SI* Perl_si_dup(pTHX_ PERL_SI* si, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV ANY* Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, CLONE_PARAMS* param)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void* Perl_any_dup(pTHX_ void* v, const PerlInterpreter* proto_perl)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV HE* Perl_he_dup(pTHX_ const HE* e, bool shared, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV HEK* Perl_hek_dup(pTHX_ HEK* e, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV REGEXP* Perl_re_dup(pTHX_ const REGEXP* r, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV PerlIO* Perl_fp_dup(pTHX_ PerlIO* fp, char type, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR* dp)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV GP* Perl_gp_dup(pTHX_ GP* gp, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV MAGIC* Perl_mg_dup(pTHX_ MAGIC* mg, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SV* Perl_sv_dup(pTHX_ const SV* sstr, CLONE_PARAMS* param)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_rvpv_dup(pTHX_ SV* dstr, const SV *sstr, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV yy_parser* Perl_parser_dup(pTHX_ const yy_parser *proto, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, const void *oldsv, void *newsv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *tbl);
-PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *tbl);
-#if defined(USE_ITHREADS)
-# if defined(HAVE_INTERP_INTERN)
-PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-# endif
-#endif
-#if defined(HAVE_INTERP_INTERN)
-PERL_CALLCONV void Perl_sys_intern_clear(pTHX);
-PERL_CALLCONV void Perl_sys_intern_init(pTHX);
-#endif
-
-PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP* op)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP* op)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
-/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
-PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv);
-#ifdef NO_MATHOMS
-/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
-#else
-PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv);
-#endif
-PERL_CALLCONV int Perl_nothreadhook(pTHX);
-
-END_EXTERN_C
-
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_do_trans_simple(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_do_trans_count(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_do_trans_complex(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_do_trans_simple_utf8(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_do_trans_count_utf8(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_do_trans_complex_utf8(pTHX_ SV * const sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-STATIC void S_gv_init_sv(pTHX_ GV *gv, I32 sv_type)
- __attribute__nonnull__(pTHX_1);
-
-STATIC HV* S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen)
- __attribute__nonnull__(pTHX_1);
-
-STATIC HV* S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methpv, const U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-#endif
-
-PERL_CALLCONV void* Perl_get_arena(pTHX_ size_t svtype, U32 misc)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-STATIC void S_hsplit(pTHX_ HV *hv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_hfreeentries(pTHX_ HV *hv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC HE* S_new_he(pTHX)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-STATIC HEK* S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-STATIC void S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash);
-STATIC HEK* S_share_hek_flags(pTHX_ const char* sv, I32 len, U32 hash, int flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg)
- __attribute__noreturn__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-
-STATIC struct xpvhv_aux* S_hv_auxinit(HV *hv)
- __attribute__nonnull__(1);
-
-STATIC SV* S_hv_delete_common(pTHX_ HV* tb, SV* keysv, const char* key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
-STATIC void S_clear_placeholders(pTHX_ HV* hb, U32 items)
- __attribute__nonnull__(pTHX_1);
-
-STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv)
- __attribute__nonnull__(pTHX_2);
-
-STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, const char *meth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC int S_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, const char *meth, I32 f, int n, SV *val)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_restore_magic(pTHX_ const void *p)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_unwind_handler_stack(pTHX_ const void *p)
- __attribute__nonnull__(pTHX_1);
-
-
-#endif
-
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV OP* Perl_ck_anoncode(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_bitop(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_concat(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_defined(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_delete(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_die(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_eof(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_eval(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_exec(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_exists(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_exit(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_ftst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_fun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_glob(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_grep(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_index(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_join(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_lengthconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_lfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_listiob(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_match(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_method(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_null(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_open(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_readline(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_repeat(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_require(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_retarget(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_return(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_rfun(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_rvconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_sassign(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_select(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_shift(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_sort(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_spair(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_split(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_subr(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_substr(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_svconst(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_trunc(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV OP* Perl_ck_unpack(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_is_handle_constructor(const OP *o, I32 numargs)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC I32 S_is_list_assignment(pTHX_ const OP *o)
- __attribute__warn_unused_result__;
-
-# ifdef USE_ITHREADS
-STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-# else
-STATIC void S_forget_pmop(pTHX_ PMOP *const o)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_cop_free(pTHX_ COP *cop)
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_modkids(pTHX_ OP *o, I32 type);
-STATIC OP* S_scalarboolean(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_newDEFSVOP(pTHX)
- __attribute__warn_unused_result__;
-
-STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC void S_simplify_sort(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC const char* S_gv_ename(pTHX_ GV *gv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_scalar_mod_type(const OP *o, I32 type)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp)
- __attribute__nonnull__(pTHX_3);
-
-STATIC OP * S_dup_attrlist(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-
-STATIC void S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_too_few_arguments(pTHX_ OP *o, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC OP* S_too_many_arguments(pTHX_ OP *o, const char* name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC bool S_looks_like_bool(pTHX_ const OP* o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave_opcode, PADOFFSET entertarg)
- __attribute__nonnull__(pTHX_2);
-
-STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
-STATIC void S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-#endif
-#if defined(PL_OP_SLAB_ALLOC)
-PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op)
- __attribute__nonnull__(pTHX_1);
-
-# if defined(PERL_DEBUG_READONLY_OPS)
-PERL_CALLCONV void Perl_pending_Slabs_to_ro(pTHX);
-PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o);
-PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o)
- __attribute__nonnull__(pTHX_1);
-
-# if defined(PERL_IN_OP_C)
-STATIC void S_Slab_to_rw(pTHX_ void *op)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-# endif
-#endif
-
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-STATIC void S_find_beginning(pTHX_ SV* linestr_sv, PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_forbid_setid(pTHX_ const char flag, const bool suidscript);
-STATIC void S_incpush(pTHX_ const char *dir, bool addsubdirs, bool addoldvers, bool usesep, bool canrelocate);
-STATIC void S_init_interp(pTHX);
-STATIC void S_init_ids(pTHX);
-STATIC void S_init_main_stash(pTHX);
-STATIC void S_init_perllib(pTHX);
-STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_init_predump_symbols(pTHX);
-STATIC void S_my_exit_jump(pTHX)
- __attribute__noreturn__;
-
-STATIC void S_nuke_stacks(pTHX);
-STATIC int S_open_script(pTHX_ const char *scriptname, bool dosearch, SV *sv, bool *suidscript, PerlIO **rsfpp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-STATIC void S_usage(pTHX_ const char *name)
- __attribute__nonnull__(pTHX_1);
-
-#ifdef DOSUID
-# ifdef IAMSUID
-STATIC void S_validate_suid(pTHX_ const char *validarg, int fdscript, bool suidscript, SV* linestr_sv, PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-# else
-STATIC void S_validate_suid(pTHX_ const char *validarg, const char *scriptname, int fdscript, SV* linestr_sv, PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-# endif
-#else
-# ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
-STATIC void S_validate_suid(pTHX_ PerlIO *rsfp)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-#endif
-
-# if defined(IAMSUID)
-STATIC int S_fd_on_nosuid_fs(pTHX_ int fd);
-# endif
-STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
-STATIC void S_run_body(pTHX_ I32 oldscope)
- __attribute__noreturn__;
-
-STATIC SV * S_incpush_if_exists(pTHX_ SV *dir)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-STATIC SV* S_refto(pTHX_ SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, const U32 type, SV ***spp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_4);
-
-#endif
-
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC SV ** S_pack_rec(pTHX_ SV *cat, struct tempsym* symptr, SV **beglist, SV **endlist)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC SV* S_mul128(pTHX_ SV *sv, U8 m)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_measure_struct(pTHX_ struct tempsym* symptr)
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_next_symbol(pTHX_ struct tempsym* symptr)
- __attribute__nonnull__(pTHX_1);
-
-STATIC SV* S_is_an_int(pTHX_ const char *s, STRLEN l)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC int S_div128(pTHX_ SV *pnum, bool *done)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC const char * S_group_end(pTHX_ const char *pat, const char *patend, char ender)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC const char * S_get_num(pTHX_ const char *ppat, I32 *lenptr)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC bool S_need_utf8(const char *pat, const char *patend)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC char S_first_symbol(const char *pat, const char *patend)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC char * S_sv_exp_grow(pTHX_ SV *sv, STRLEN needed)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char * S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-#endif
-
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_docatch(pTHX_ OP *o)
- __attribute__warn_unused_result__;
-
-STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC OP* S_doparseform(pTHX_ SV *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_dopoptoeval(pTHX_ I32 startingblock)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_dopoptogiven(pTHX_ I32 startingblock)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_dopoptolabel(pTHX_ const char *label)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_dopoptoloop(pTHX_ I32 startingblock)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_dopoptosub_at(pTHX_ const PERL_CONTEXT* cxstk, I32 startingblock)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_dopoptowhen(pTHX_ I32 startingblock)
- __attribute__warn_unused_result__;
-
-STATIC void S_save_lines(pTHX_ AV *array, SV *sv)
- __attribute__nonnull__(pTHX_2);
-
-STATIC bool S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq);
-STATIC PerlIO * S_check_type_and_open(pTHX_ const char *name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#ifndef PERL_DISABLE_PMC
-STATIC PerlIO * S_doopen_pm(pTHX_ const char *name, const STRLEN namelen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-STATIC bool S_path_is_absolute(const char *name)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC I32 S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-STATIC PMOP* S_make_matcher(pTHX_ regexp* re)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_destroy_matcher(pTHX_ PMOP* matcher)
- __attribute__nonnull__(pTHX_1);
-
-STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other);
-#endif
-
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-STATIC void S_do_oddball(pTHX_ HV *hash, SV **relem, SV **firstrelem)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC SV* S_method_common(pTHX_ SV* meth, U32* hashp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_sv_ncmp(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_sv_i_ncmp(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_amagic_ncmp(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_amagic_i_ncmp(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_amagic_cmp(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_amagic_cmp_locale(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_sortcv(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_sortcv_xsub(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_sortcv_stacked(pTHX_ SV *a, SV *b)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-#endif
-
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-STATIC int S_dooneliner(pTHX_ const char *cmd, const char *filename)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-# endif
-STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-STATIC regnode* S_reg(pTHX_ struct RExC_state_t *state, I32 paren, I32 *flagp, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC regnode* S_reganode(pTHX_ struct RExC_state_t *state, U8 op, U32 arg)
- __attribute__nonnull__(pTHX_1);
-
-STATIC regnode* S_regatom(pTHX_ struct RExC_state_t *state, I32 *flagp, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC regnode* S_regbranch(pTHX_ struct RExC_state_t *state, I32 *flagp, I32 first, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC STRLEN S_reguni(pTHX_ const struct RExC_state_t *state, UV uv, char *s)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC regnode* S_regclass(pTHX_ struct RExC_state_t *state, U32 depth)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_regcurly(const char *)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op)
- __attribute__nonnull__(pTHX_1);
-
-STATIC UV S_reg_recode(pTHX_ const char value, SV **encp)
- __attribute__nonnull__(pTHX_2);
-
-STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC regnode* S_reg_namedseq(pTHX_ struct RExC_state_t *state, UV *valuep)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_regtail(pTHX_ struct RExC_state_t *state, regnode *p, const regnode *val, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC SV * S_reg_scan_name(pTHX_ struct RExC_state_t *state, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC char * S_regwhite(struct RExC_state_t *state, char *p)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC char * S_nextchar(pTHX_ struct RExC_state_t *state)
- __attribute__nonnull__(pTHX_1);
-
-STATIC bool S_reg_skipcomment(pTHX_ struct RExC_state_t *state)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_scan_commit(pTHX_ const struct RExC_state_t* state, struct scan_data_t *data, I32 *minlenp, int is_inf)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_cl_anything(const struct RExC_state_t* state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC int S_cl_is_anything(const struct regnode_charclass_class *cl)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC void S_cl_init(const struct RExC_state_t* state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC void S_cl_init_zero(const struct RExC_state_t* state, struct regnode_charclass_class *cl)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC void S_cl_and(struct regnode_charclass_class *cl, const struct regnode_charclass_class *and_with)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC void S_cl_or(const struct RExC_state_t* state, struct regnode_charclass_class *cl, const struct regnode_charclass_class *or_with)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t* state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-STATIC U32 S_add_data(struct RExC_state_t* state, U32 n, const char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
- __attribute__noreturn__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_regpposixcc(pTHX_ struct RExC_state_t* state, I32 value)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_checkposixcc(pTHX_ struct RExC_state_t* state)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_make_trie(pTHX_ struct RExC_state_t* state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-STATIC void S_make_trie_failtable(pTHX_ struct RExC_state_t* state, regnode *source, regnode *node, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-# ifdef DEBUGGING
-STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags);
-STATIC const regnode* S_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, const regnode *last, const regnode *plast, SV* sv, I32 indent, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_6);
-
-STATIC void S_put_byte(pTHX_ SV* sv, int c)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_dump_trie(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_dump_trie_interim_list(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_dump_trie_interim_table(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-STATIC U8 S_regtail_study(pTHX_ struct RExC_state_t *state, regnode *p, const regnode *val, U32 depth)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-# endif
-#endif
-
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-STATIC I32 S_regmatch(pTHX_ regmatch_info *reginfo, regnode *prog)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max, int depth)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_regtry(pTHX_ regmatch_info *reginfo, char **startpos)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC bool S_reginclass(pTHX_ const regexp *prog, const regnode *n, const U8 *p, STRLEN *lenp, bool do_utf8sv_is_utf8)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC CHECKPOINT S_regcppush(pTHX_ I32 parenfloor);
-STATIC char* S_regcppop(pTHX_ const regexp *rex)
- __attribute__nonnull__(pTHX_1);
-
-STATIC U8* S_reghop3(U8 *pos, I32 off, const U8 *lim)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-#ifdef XXX_dmq
-STATIC U8* S_reghop4(U8 *pos, I32 off, const U8 *llim, const U8 *rlim)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4);
-
-#endif
-STATIC U8* S_reghopmaybe3(U8 *pos, I32 off, const U8 *lim)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC void S_swap_match_buff(pTHX_ regexp * prog)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_to_utf8_substr(pTHX_ regexp * prog)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_to_byte_substr(pTHX_ regexp * prog)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_reg_check_named_buff_matched(pTHX_ const regexp *rex, const regnode *prog)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-# ifdef DEBUGGING
-STATIC void S_dump_exec_pos(pTHX_ const char *locinput, const regnode *scan, const char *loc_regeol, const char *loc_bostr, const char *loc_reg_starttry, const bool do_utf8)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4)
- __attribute__nonnull__(pTHX_5);
-
-# endif
-#endif
-
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-STATIC CV* S_deb_curcv(pTHX_ const I32 ix);
-STATIC void S_debprof(pTHX_ const OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_sequence(pTHX_ const OP *o);
-STATIC void S_sequence_tail(pTHX_ const OP *o);
-STATIC UV S_sequence_num(pTHX_ const OP *o);
-STATIC SV* S_pm_description(pTHX_ const PMOP *pm)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-STATIC SV* S_save_scalar_at(pTHX_ SV **sptr)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *tsv, SV *sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV int Perl_sv_kill_backrefs(pTHX_ SV *sv, AV *av)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC char * S_uiv_2buf(char *buf, IV iv, UV uv, int is_uv, char **peob)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(5);
-
-STATIC void S_sv_unglob(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_not_a_number(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_visit(pTHX_ SVFUNC_t f, U32 flags, U32 mask)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_sv_del_backref(pTHX_ SV *target, SV *ref)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC SV * S_varname(pTHX_ GV *gv, const char gvtype, PADOFFSET targ, SV *keyname, I32 aindex, int subscript_type)
- __attribute__warn_unused_result__;
-
-# ifdef DEBUGGING
-STATIC void S_del_sv(pTHX_ SV *p)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-# if !defined(NV_PRESERVES_UV)
-# ifdef DEBUGGING
-STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *sv, I32 numtype)
- __attribute__nonnull__(pTHX_1);
-
-# else
-STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-# endif
-STATIC I32 S_expect_number(pTHX_ char** pattern)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#
-STATIC STRLEN S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN uoffset)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-STATIC STRLEN S_sv_pos_u2b_cached(pTHX_ SV *sv, MAGIC **mgp, const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-
-STATIC void S_utf8_mg_pos_cache_update(pTHX_ SV *sv, MAGIC **mgp, STRLEN byte, STRLEN utf8, STRLEN blen)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC STRLEN S_sv_pos_b2u_midway(pTHX_ const U8 *s, const U8 *const target, const U8 *end, STRLEN endu)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC char * S_F0convert(NV nv, char *endbuf, STRLEN *len)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-# if defined(PERL_OLD_COPY_ON_WRITE)
-STATIC void S_sv_release_COW(pTHX_ SV *sv, const char *pvx, SV *after)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-# endif
-STATIC SV * S_more_sv(pTHX);
-STATIC void * S_more_bodies(pTHX_ svtype sv_type);
-STATIC bool S_sv_2iuv_common(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_glob_assign_glob(pTHX_ SV *dstr, SV *sstr, const int dtype)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC void S_glob_assign_ref(pTHX_ SV *dstr, SV *sstr)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *tbl, const void *sv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-#endif
-
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-STATIC void S_check_uni(pTHX);
-STATIC void S_force_next(pTHX_ I32 type);
-STATIC char* S_force_version(pTHX_ char *start, int guessing)
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick)
- __attribute__nonnull__(pTHX_1);
-
-STATIC SV* S_tokeq(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_readpipe_override(pTHX);
-STATIC char* S_scan_const(pTHX_ char *start)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_formline(pTHX_ char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_heredoc(pTHX_ char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_ident(pTHX_ char *s, const char *send, char *dest, STRLEN destlen, I32 ck_uni)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC char* S_scan_inputsymbol(pTHX_ char *start)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_pat(pTHX_ char *start, I32 type)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_subst(pTHX_ char *start)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_trans(pTHX_ char *start)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_5);
-
-STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *buf, STRLEN len);
-STATIC char* S_skipspace(pTHX_ char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_swallow_bom(pTHX_ U8 *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC bool S_feature_is_enabled(pTHX_ const char* name, STRLEN namelen)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_force_ident(pTHX_ const char *s, int kind)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_incline(pTHX_ const char *s)
- __attribute__nonnull__(pTHX_1);
-
-STATIC int S_intuit_method(pTHX_ char *s, GV *gv, CV *cv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC int S_intuit_more(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_lop(pTHX_ I32 f, int x, char *s)
- __attribute__nonnull__(pTHX_3);
-
-STATIC void S_missingterm(pTHX_ char *s)
- __attribute__noreturn__;
-
-STATIC void S_no_op(pTHX_ const char *what, char *s)
- __attribute__nonnull__(pTHX_1);
-
-STATIC I32 S_sublex_done(pTHX)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_sublex_push(pTHX)
- __attribute__warn_unused_result__;
-
-STATIC I32 S_sublex_start(pTHX)
- __attribute__warn_unused_result__;
-
-STATIC char * S_filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-STATIC HV * S_find_in_my_stash(pTHX_ const char *pkgname, STRLEN len)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-STATIC char * S_tokenize_use(pTHX_ int is_use, char *s)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-STATIC SV* S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_5);
-
-STATIC int S_ao(pTHX_ int toketype);
-# if defined(PERL_CR_FILTER)
-STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
-STATIC void S_strip_return(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-# endif
-# if defined(DEBUGGING)
-STATIC int S_tokereport(pTHX_ I32 rv);
-STATIC void S_printbuf(pTHX_ const char* fmt, const char* s)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-# endif
-#endif
-
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name, const HV * const name_stash)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
-#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
-STATIC char* S_stdize_locale(pTHX_ char* locs)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-#endif
-
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-STATIC const COP* S_closest_cop(pTHX_ const COP *cop, const OP *o)
- __attribute__nonnull__(pTHX_1);
-
-STATIC SV* S_mess_alloc(pTHX);
-STATIC const char * S_vdie_croak_common(pTHX_ const char *pat, va_list *args, STRLEN *msglen, I32* utf8);
-STATIC bool S_vdie_common(pTHX_ const char *message, STRLEN msglen, I32 utf8, bool warn);
-STATIC char * S_write_no_mem(pTHX)
- __attribute__noreturn__;
-
-#endif
-
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
-STATIC NV S_mulexp10(NV value, I32 exponent);
-#endif
-
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
-STATIC STRLEN S_is_utf8_char_slow(const U8 *s, const STRLEN len)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-
-STATIC bool S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-STATIC SV* S_swash_get(pTHX_ SV* swash, UV start, UV span)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-START_EXTERN_C
-
-PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_catpvn_flags(pTHX_ SV* sv, const char* ptr, STRLEN len, I32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_sv_catsv_flags(pTHX_ SV* dsv, SV* ssv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags(pTHX_ SV *sv, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV* sv, STRLEN* lp, I32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV* dsv, SV* ssv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *s, NV* value)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]);
-PERL_CALLCONV int Perl_my_dirfd(pTHX_ DIR* dir);
-#ifdef PERL_OLD_COPY_ON_WRITE
-PERL_CALLCONV SV* Perl_sv_setsv_cow(pTHX_ SV* dsv, SV* ssv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-
-PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
-
-#if defined(USE_PERLIO) && !defined(USE_SFIO)
-PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_fileno(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_eof(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f);
-PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f);
-PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt);
-PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
-PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *buf, Size_t count)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *buf, Size_t count)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV SSize_t Perl_PerlIO_unread(pTHX_ PerlIO *f, const void *buf, Size_t count)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV Off_t Perl_PerlIO_tell(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
-
-PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *f);
-PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f);
-PERL_CALLCONV int Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV int Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
- __attribute__warn_unused_result__;
-
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX)
- __attribute__warn_unused_result__;
-
-#endif /* PERLIO_LAYERS */
-
-PERL_CALLCONV void Perl_deb_stack_all(pTHX);
-#ifdef PERL_IN_DEB_C
-STATIC void S_deb_stack_n(pTHX_ SV** stack_base, I32 stack_min, I32 stack_max, I32 mark_min, I32 mark_max)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags)
- __attribute__malloc__
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_pad_undef(pTHX_ CV* cv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone, bool state)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_pad_check_dup(pTHX_ const char* name, bool is_our, const HV* ourstash)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3);
-
-#ifdef DEBUGGING
-PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
-PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type);
-PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-
-PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
- __attribute__warn_unused_result__;
-
-
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
-STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6)
- __attribute__nonnull__(pTHX_7);
-
-# if defined(DEBUGGING)
-STATIC void S_cv_dump(pTHX_ const CV *cv, const char *title)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-# endif
-#endif
-PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX);
-#if defined(DEBUGGING)
-PERL_CALLCONV int Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV* sv, U32 mask, U32 val);
-PERL_CALLCONV void Perl_hv_assert(pTHX_ HV* tb)
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV* hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV* hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV* hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV* hv, I32 riter)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV* hv, HE* eiter)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV* hv, const char *name, U32 len, U32 flags)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV* hv)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV* hv)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV* hb)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32* Perl_hv_placeholders_p(pTHX_ HV* hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ HV* hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV* hv, I32 ph)
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV* hv, MAGIC* mg)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-STATIC SV * S_find_hash_subscript(pTHX_ HV *hv, SV *val)
- __attribute__nonnull__(pTHX_2);
-
-STATIC I32 S_find_array_subscript(pTHX_ AV *av, SV *val)
- __attribute__nonnull__(pTHX_2);
-
-STATIC SV* S_find_uninit_var(pTHX_ OP* obase, SV* uninit_sv, bool top);
-#endif
-
-#ifdef PERL_NEED_MY_HTOLE16
-PERL_CALLCONV U16 Perl_my_htole16(U16 n);
-#endif
-#ifdef PERL_NEED_MY_LETOH16
-PERL_CALLCONV U16 Perl_my_letoh16(U16 n);
-#endif
-#ifdef PERL_NEED_MY_HTOBE16
-PERL_CALLCONV U16 Perl_my_htobe16(U16 n);
-#endif
-#ifdef PERL_NEED_MY_BETOH16
-PERL_CALLCONV U16 Perl_my_betoh16(U16 n);
-#endif
-#ifdef PERL_NEED_MY_HTOLE32
-PERL_CALLCONV U32 Perl_my_htole32(U32 n);
-#endif
-#ifdef PERL_NEED_MY_LETOH32
-PERL_CALLCONV U32 Perl_my_letoh32(U32 n);
-#endif
-#ifdef PERL_NEED_MY_HTOBE32
-PERL_CALLCONV U32 Perl_my_htobe32(U32 n);
-#endif
-#ifdef PERL_NEED_MY_BETOH32
-PERL_CALLCONV U32 Perl_my_betoh32(U32 n);
-#endif
-#ifdef PERL_NEED_MY_HTOLE64
-PERL_CALLCONV U64 Perl_my_htole64(U64 n);
-#endif
-#ifdef PERL_NEED_MY_LETOH64
-PERL_CALLCONV U64 Perl_my_letoh64(U64 n);
-#endif
-#ifdef PERL_NEED_MY_HTOBE64
-PERL_CALLCONV U64 Perl_my_htobe64(U64 n);
-#endif
-#ifdef PERL_NEED_MY_BETOH64
-PERL_CALLCONV U64 Perl_my_betoh64(U64 n);
-#endif
-
-#ifdef PERL_NEED_MY_HTOLES
-PERL_CALLCONV short Perl_my_htoles(short n);
-#endif
-#ifdef PERL_NEED_MY_LETOHS
-PERL_CALLCONV short Perl_my_letohs(short n);
-#endif
-#ifdef PERL_NEED_MY_HTOBES
-PERL_CALLCONV short Perl_my_htobes(short n);
-#endif
-#ifdef PERL_NEED_MY_BETOHS
-PERL_CALLCONV short Perl_my_betohs(short n);
-#endif
-#ifdef PERL_NEED_MY_HTOLEI
-PERL_CALLCONV int Perl_my_htolei(int n);
-#endif
-#ifdef PERL_NEED_MY_LETOHI
-PERL_CALLCONV int Perl_my_letohi(int n);
-#endif
-#ifdef PERL_NEED_MY_HTOBEI
-PERL_CALLCONV int Perl_my_htobei(int n);
-#endif
-#ifdef PERL_NEED_MY_BETOHI
-PERL_CALLCONV int Perl_my_betohi(int n);
-#endif
-#ifdef PERL_NEED_MY_HTOLEL
-PERL_CALLCONV long Perl_my_htolel(long n);
-#endif
-#ifdef PERL_NEED_MY_LETOHL
-PERL_CALLCONV long Perl_my_letohl(long n);
-#endif
-#ifdef PERL_NEED_MY_HTOBEL
-PERL_CALLCONV long Perl_my_htobel(long n);
-#endif
-#ifdef PERL_NEED_MY_BETOHL
-PERL_CALLCONV long Perl_my_betohl(long n);
-#endif
-
-PERL_CALLCONV void Perl_my_swabn(void* ptr, int n)
- __attribute__nonnull__(1);
-
-
-PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, I32 sv_type)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, I32 sv_type)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV bool Perl_is_gv_magical_sv(pTHX_ SV *name, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV bool Perl_stashpv_hvname_match(pTHX_ const COP *cop, const HV *hv)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-
-#ifdef PERL_DONT_CREATE_GVSV
-PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w);
-PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
-PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size)
- __attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_2);
-
-
-PERL_CALLCONV void Perl_offer_nice_chunk(pTHX_ void *chunk, U32 chunk_size)
- __attribute__nonnull__(pTHX_1);
-
-
-#ifndef SPRINTF_RETURNS_STRLEN
-PERL_CALLCONV int Perl_my_sprintf(char *buffer, const char *pat, ...)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-#endif
-
-PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
- __attribute__format__(__printf__,3,4)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-
-PERL_CALLCONV void Perl_my_clearenv(pTHX);
-
-#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV int Perl_my_cxt_index(pTHX_ const char *my_cxt_key)
- __attribute__nonnull__(pTHX_1);
-
-#else
-PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ int *index, size_t size)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-#endif
-
-#ifndef HAS_STRLCAT
-PERL_CALLCONV Size_t Perl_my_strlcat(char *dst, const char *src, Size_t size);
-#endif
-
-#ifndef HAS_STRLCPY
-PERL_CALLCONV Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size);
-#endif
-
-#ifdef PERL_MAD
-PERL_CALLCONV void Perl_pad_peg(const char* s)
- __attribute__nonnull__(1);
-
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
-STATIC void S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-#endif
-PERL_CALLCONV void Perl_xmldump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
- __attribute__format__(__printf__,pTHX_3,pTHX_4)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_xmldump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
-
-PERL_CALLCONV void Perl_xmldump_all(pTHX);
-PERL_CALLCONV void Perl_xmldump_packsubs(pTHX_ const HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_xmldump_sub(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_xmldump_form(pTHX_ const GV* gv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_xmldump_eval(pTHX);
-PERL_CALLCONV char* Perl_sv_catxmlsv(pTHX_ SV *dsv, SV *ssv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_catxmlpvn(pTHX_ SV *dsv, const char *pv, STRLEN len, int utf8)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV char* Perl_sv_xmlpeek(pTHX_ SV* sv)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_do_pmop_xmldump(pTHX_ I32 level, PerlIO *file, const PMOP *pm)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_pmop_xmldump(pTHX_ const PMOP* pm);
-PERL_CALLCONV void Perl_do_op_xmldump(pTHX_ I32 level, PerlIO *file, const OP *o)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV void Perl_op_xmldump(pTHX_ const OP* arg)
- __attribute__nonnull__(pTHX_1);
-
-
-PERL_CALLCONV TOKEN* Perl_newTOKEN(pTHX_ I32 optype, YYSTYPE lval, MADPROP* madprop);
-PERL_CALLCONV void Perl_token_free(pTHX_ TOKEN* arg)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_token_getmad(pTHX_ TOKEN* arg, OP* o, char slot)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_op_getmad_weak(pTHX_ OP* from, OP* o, char slot);
-PERL_CALLCONV void Perl_op_getmad(pTHX_ OP* from, OP* o, char slot);
-PERL_CALLCONV void Perl_prepend_madprops(pTHX_ MADPROP* mp, OP* o, char slot);
-PERL_CALLCONV void Perl_append_madprops(pTHX_ MADPROP* tm, OP* o, char slot);
-PERL_CALLCONV void Perl_addmad(pTHX_ MADPROP* tm, MADPROP** root, char slot);
-PERL_CALLCONV MADPROP* Perl_newMADsv(pTHX_ char key, SV* sv)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV MADPROP* Perl_newMADPROP(pTHX_ char key, char type, const void* val, I32 vlen);
-PERL_CALLCONV void Perl_mad_free(pTHX_ MADPROP* mp);
-
-# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-STATIC char* S_skipspace0(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_skipspace1(pTHX_ char *s)
- __attribute__nonnull__(pTHX_1);
-
-STATIC char* S_skipspace2(pTHX_ char *s, SV **sv)
- __attribute__nonnull__(pTHX_1);
-
-STATIC void S_start_force(pTHX_ int where);
-STATIC void S_curmad(pTHX_ char slot, SV *sv);
-# endif
-PERL_CALLCONV int Perl_madlex(pTHX);
-PERL_CALLCONV int Perl_madparse(pTHX);
-#endif
-#if !defined(HAS_SIGNBIT)
-PERL_CALLCONV int Perl_signbit(NV f)
- __attribute__pure__;
-
-#endif
-
-PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv);
-
-PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(USE_ITHREADS)
-PERL_CALLCONV struct mro_meta* Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-
-#endif
-PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-STATIC AV* S_mro_get_linear_isa_c3(pTHX_ HV* stash, I32 level)
- __attribute__nonnull__(pTHX_1);
-
-STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, I32 level)
- __attribute__nonnull__(pTHX_1);
-
-#endif
-PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash)
- __attribute__nonnull__(pTHX_1);
-
-PERL_CALLCONV void Perl_boot_core_mro(pTHX);
-PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-PERL_CALLCONV void Perl_sys_term(void);
-
-
-END_EXTERN_C
-/*
- * ex: set ts=8 sts=4 sw=4 noet:
- */
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/reentr.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/reentr.h
deleted file mode 100644
index 05b06f8d5c7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/reentr.h
+++ /dev/null
@@ -1,1540 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * reentr.h
- *
- * Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by reentr.pl from data in reentr.pl.
- */
-
-#ifndef REENTR_H
-#define REENTR_H
-
-/* If compiling for a threaded perl, we will macro-wrap the system/library
- * interfaces (e.g. getpwent()) which have threaded versions
- * (e.g. getpwent_r()), which will handle things correctly for
- * the Perl interpreter, but otherwise (for XS) the wrapping does
- * not take place. See L<perlxs/Thread-aware system interfaces>.
- */
-
-#ifndef PERL_REENTR_API
-# if defined(PERL_CORE) || defined(PERL_EXT)
-# define PERL_REENTR_API 1
-# else
-# define PERL_REENTR_API 0
-# endif
-#endif
-
-#ifdef USE_REENTRANT_API
-
-/* Deprecations: some platforms have the said reentrant interfaces
- * but they are declared obsolete and are not to be used. Often this
- * means that the platform has threadsafed the interfaces (hopefully).
- * All this is OS version dependent, so we are of course fooling ourselves.
- * If you know of more deprecations on some platforms, please add your own
- * (by editing reentr.pl, mind!) */
-
-#ifdef __hpux
-# undef HAS_CRYPT_R
-# undef HAS_DRAND48_R
-# undef HAS_ENDGRENT_R
-# undef HAS_ENDPWENT_R
-# undef HAS_GETGRENT_R
-# undef HAS_GETPWENT_R
-# undef HAS_SETLOCALE_R
-# undef HAS_SRAND48_R
-# undef HAS_STRERROR_R
-# define NETDB_R_OBSOLETE
-#endif
-
-#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */
-# undef HAS_CRYPT_R
-# undef HAS_STRERROR_R
-# define NETDB_R_OBSOLETE
-#endif
-
-/*
- * As of OpenBSD 3.7, reentrant functions are now working, they just are
- * incompatible with everyone else. To make OpenBSD happy, we have to
- * memzero out certain structures before calling the functions.
- */
-#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b)
-#else
-# define REENTR_MEMZERO(a,b) 0
-#endif
-
-#ifdef NETDB_R_OBSOLETE
-# undef HAS_ENDHOSTENT_R
-# undef HAS_ENDNETENT_R
-# undef HAS_ENDPROTOENT_R
-# undef HAS_ENDSERVENT_R
-# undef HAS_GETHOSTBYADDR_R
-# undef HAS_GETHOSTBYNAME_R
-# undef HAS_GETHOSTENT_R
-# undef HAS_GETNETBYADDR_R
-# undef HAS_GETNETBYNAME_R
-# undef HAS_GETNETENT_R
-# undef HAS_GETPROTOBYNAME_R
-# undef HAS_GETPROTOBYNUMBER_R
-# undef HAS_GETPROTOENT_R
-# undef HAS_GETSERVBYNAME_R
-# undef HAS_GETSERVBYPORT_R
-# undef HAS_GETSERVENT_R
-# undef HAS_SETHOSTENT_R
-# undef HAS_SETNETENT_R
-# undef HAS_SETPROTOENT_R
-# undef HAS_SETSERVENT_R
-#endif
-
-#ifdef I_PWD
-# include <pwd.h>
-#endif
-#ifdef I_GRP
-# include <grp.h>
-#endif
-#ifdef I_NETDB
-# include <netdb.h>
-#endif
-#ifdef I_STDLIB
-# include <stdlib.h> /* drand48_data */
-#endif
-#ifdef I_CRYPT
-# ifdef I_CRYPT
-# include <crypt.h>
-# endif
-#endif
-#ifdef HAS_GETSPNAM_R
-# ifdef I_SHADOW
-# include <shadow.h>
-# endif
-#endif
-
-#define REENTRANT_PROTO_B_B 1
-#define REENTRANT_PROTO_B_BI 2
-#define REENTRANT_PROTO_B_BW 3
-#define REENTRANT_PROTO_B_CCD 4
-#define REENTRANT_PROTO_B_CCS 5
-#define REENTRANT_PROTO_B_IBI 6
-#define REENTRANT_PROTO_B_IBW 7
-#define REENTRANT_PROTO_B_SB 8
-#define REENTRANT_PROTO_B_SBI 9
-#define REENTRANT_PROTO_I_BI 10
-#define REENTRANT_PROTO_I_BW 11
-#define REENTRANT_PROTO_I_CCSBWR 12
-#define REENTRANT_PROTO_I_CCSD 13
-#define REENTRANT_PROTO_I_CII 14
-#define REENTRANT_PROTO_I_CIISD 15
-#define REENTRANT_PROTO_I_CSBI 16
-#define REENTRANT_PROTO_I_CSBIR 17
-#define REENTRANT_PROTO_I_CSBWR 18
-#define REENTRANT_PROTO_I_CSBWRE 19
-#define REENTRANT_PROTO_I_CSD 20
-#define REENTRANT_PROTO_I_CWISBWRE 21
-#define REENTRANT_PROTO_I_CWISD 22
-#define REENTRANT_PROTO_I_D 23
-#define REENTRANT_PROTO_I_H 24
-#define REENTRANT_PROTO_I_IBI 25
-#define REENTRANT_PROTO_I_IBW 26
-#define REENTRANT_PROTO_I_ICBI 27
-#define REENTRANT_PROTO_I_ICSBWR 28
-#define REENTRANT_PROTO_I_ICSD 29
-#define REENTRANT_PROTO_I_ID 30
-#define REENTRANT_PROTO_I_IISD 31
-#define REENTRANT_PROTO_I_ISBWR 32
-#define REENTRANT_PROTO_I_ISD 33
-#define REENTRANT_PROTO_I_LISBI 34
-#define REENTRANT_PROTO_I_LISD 35
-#define REENTRANT_PROTO_I_LS 36
-#define REENTRANT_PROTO_I_SB 37
-#define REENTRANT_PROTO_I_SBI 38
-#define REENTRANT_PROTO_I_SBIE 39
-#define REENTRANT_PROTO_I_SBIH 40
-#define REENTRANT_PROTO_I_SBIR 41
-#define REENTRANT_PROTO_I_SBWR 42
-#define REENTRANT_PROTO_I_SBWRE 43
-#define REENTRANT_PROTO_I_SD 44
-#define REENTRANT_PROTO_I_ST 45
-#define REENTRANT_PROTO_I_St 46
-#define REENTRANT_PROTO_I_TISD 47
-#define REENTRANT_PROTO_I_TS 48
-#define REENTRANT_PROTO_I_TSBI 49
-#define REENTRANT_PROTO_I_TSBIR 50
-#define REENTRANT_PROTO_I_TSBWR 51
-#define REENTRANT_PROTO_I_TSR 52
-#define REENTRANT_PROTO_I_TsISBWRE 53
-#define REENTRANT_PROTO_I_UISBWRE 54
-#define REENTRANT_PROTO_I_iS 55
-#define REENTRANT_PROTO_I_lS 56
-#define REENTRANT_PROTO_I_uISBWRE 57
-#define REENTRANT_PROTO_S_CBI 58
-#define REENTRANT_PROTO_S_CCSBI 59
-#define REENTRANT_PROTO_S_CIISBIE 60
-#define REENTRANT_PROTO_S_CSBI 61
-#define REENTRANT_PROTO_S_CSBIE 62
-#define REENTRANT_PROTO_S_CWISBIE 63
-#define REENTRANT_PROTO_S_CWISBWIE 64
-#define REENTRANT_PROTO_S_ICSBI 65
-#define REENTRANT_PROTO_S_ISBI 66
-#define REENTRANT_PROTO_S_LISBI 67
-#define REENTRANT_PROTO_S_SBI 68
-#define REENTRANT_PROTO_S_SBIE 69
-#define REENTRANT_PROTO_S_SBW 70
-#define REENTRANT_PROTO_S_TISBI 71
-#define REENTRANT_PROTO_S_TS 72
-#define REENTRANT_PROTO_S_TSBI 73
-#define REENTRANT_PROTO_S_TSBIE 74
-#define REENTRANT_PROTO_S_TWISBIE 75
-#define REENTRANT_PROTO_V_D 76
-#define REENTRANT_PROTO_V_H 77
-#define REENTRANT_PROTO_V_ID 78
-
-/* Defines for indicating which special features are supported. */
-
-/* The getgrent getgrgid getgrnam using buffer? */
-
-#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
-# define GETGRENT_R_HAS_BUFFER
-#else
-# undef GETGRENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI || GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI)
-# define GETGRGID_R_HAS_BUFFER
-#else
-# undef GETGRGID_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI)
-# define GETGRNAM_R_HAS_BUFFER
-#else
-# undef GETGRNAM_R_HAS_BUFFER
-#endif
-
-/* Any of the getgrent getgrgid getgrnam using buffer? */
-
-#if (defined(GETGRENT_R_HAS_BUFFER) || defined(GETGRGID_R_HAS_BUFFER) || defined(GETGRNAM_R_HAS_BUFFER))
-# define USE_GRENT_BUFFER
-#else
-# undef USE_GRENT_BUFFER
-#endif
-
-/* The getgrent getgrgid getgrnam using ptr? */
-
-#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR)
-# define GETGRENT_R_HAS_PTR
-#else
-# undef GETGRENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR)
-# define GETGRGID_R_HAS_PTR
-#else
-# undef GETGRGID_R_HAS_PTR
-#endif
-#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR)
-# define GETGRNAM_R_HAS_PTR
-#else
-# undef GETGRNAM_R_HAS_PTR
-#endif
-
-/* Any of the getgrent getgrgid getgrnam using ptr? */
-
-#if (defined(GETGRENT_R_HAS_PTR) || defined(GETGRGID_R_HAS_PTR) || defined(GETGRNAM_R_HAS_PTR))
-# define USE_GRENT_PTR
-#else
-# undef USE_GRENT_PTR
-#endif
-
-/* The getpwent getpwnam getpwuid using ptr? */
-
-#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR)
-# define GETPWENT_R_HAS_PTR
-#else
-# undef GETPWENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR)
-# define GETPWNAM_R_HAS_PTR
-#else
-# undef GETPWNAM_R_HAS_PTR
-#endif
-#if defined(HAS_GETPWUID_R) && (GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR)
-# define GETPWUID_R_HAS_PTR
-#else
-# undef GETPWUID_R_HAS_PTR
-#endif
-
-/* Any of the getpwent getpwnam getpwuid using ptr? */
-
-#if (defined(GETPWENT_R_HAS_PTR) || defined(GETPWNAM_R_HAS_PTR) || defined(GETPWUID_R_HAS_PTR))
-# define USE_PWENT_PTR
-#else
-# undef USE_PWENT_PTR
-#endif
-
-/* The getspent getspnam using ptr? */
-
-#if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR)
-# define GETSPNAM_R_HAS_PTR
-#else
-# undef GETSPNAM_R_HAS_PTR
-#endif
-
-/* Any of the getspent getspnam using ptr? */
-
-#if (defined(GETSPENT_R_HAS_PTR) || defined(GETSPNAM_R_HAS_PTR))
-# define USE_SPENT_PTR
-#else
-# undef USE_SPENT_PTR
-#endif
-
-/* The getgrent getgrgid getgrnam setgrent endgrent using fptr? */
-
-#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
-# define GETGRENT_R_HAS_FPTR
-#else
-# undef GETGRENT_R_HAS_FPTR
-#endif
-#if defined(HAS_SETGRENT_R) && (SETGRENT_R_PROTO == REENTRANT_PROTO_I_H || SETGRENT_R_PROTO == REENTRANT_PROTO_V_H)
-# define SETGRENT_R_HAS_FPTR
-#else
-# undef SETGRENT_R_HAS_FPTR
-#endif
-#if defined(HAS_ENDGRENT_R) && (ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H || ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H)
-# define ENDGRENT_R_HAS_FPTR
-#else
-# undef ENDGRENT_R_HAS_FPTR
-#endif
-
-/* Any of the getgrent getgrgid getgrnam setgrent endgrent using fptr? */
-
-#if (defined(GETGRENT_R_HAS_FPTR) || defined(GETGRGID_R_HAS_FPTR) || defined(GETGRNAM_R_HAS_FPTR) || defined(SETGRENT_R_HAS_FPTR) || defined(ENDGRENT_R_HAS_FPTR))
-# define USE_GRENT_FPTR
-#else
-# undef USE_GRENT_FPTR
-#endif
-
-/* The getpwent getpwnam getpwuid setpwent endpwent using fptr? */
-
-#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
-# define GETPWENT_R_HAS_FPTR
-#else
-# undef GETPWENT_R_HAS_FPTR
-#endif
-#if defined(HAS_SETPWENT_R) && (SETPWENT_R_PROTO == REENTRANT_PROTO_I_H || SETPWENT_R_PROTO == REENTRANT_PROTO_V_H)
-# define SETPWENT_R_HAS_FPTR
-#else
-# undef SETPWENT_R_HAS_FPTR
-#endif
-#if defined(HAS_ENDPWENT_R) && (ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H || ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H)
-# define ENDPWENT_R_HAS_FPTR
-#else
-# undef ENDPWENT_R_HAS_FPTR
-#endif
-
-/* Any of the getpwent getpwnam getpwuid setpwent endpwent using fptr? */
-
-#if (defined(GETPWENT_R_HAS_FPTR) || defined(GETPWNAM_R_HAS_FPTR) || defined(GETPWUID_R_HAS_FPTR) || defined(SETPWENT_R_HAS_FPTR) || defined(ENDPWENT_R_HAS_FPTR))
-# define USE_PWENT_FPTR
-#else
-# undef USE_PWENT_FPTR
-#endif
-
-/* The getpwent getpwgid getpwnam using buffer? */
-
-#if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH)
-# define GETPWENT_R_HAS_BUFFER
-#else
-# undef GETPWENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI)
-# define GETPWNAM_R_HAS_BUFFER
-#else
-# undef GETPWNAM_R_HAS_BUFFER
-#endif
-
-/* Any of the getpwent getpwgid getpwnam using buffer? */
-
-#if (defined(GETPWENT_R_HAS_BUFFER) || defined(GETPWGID_R_HAS_BUFFER) || defined(GETPWNAM_R_HAS_BUFFER))
-# define USE_PWENT_BUFFER
-#else
-# undef USE_PWENT_BUFFER
-#endif
-
-/* The gethostent gethostbyaddr gethostbyname using ptr? */
-
-#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE)
-# define GETHOSTENT_R_HAS_PTR
-#else
-# undef GETHOSTENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE)
-# define GETHOSTBYADDR_R_HAS_PTR
-#else
-# undef GETHOSTBYADDR_R_HAS_PTR
-#endif
-#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
-# define GETHOSTBYNAME_R_HAS_PTR
-#else
-# undef GETHOSTBYNAME_R_HAS_PTR
-#endif
-
-/* Any of the gethostent gethostbyaddr gethostbyname using ptr? */
-
-#if (defined(GETHOSTENT_R_HAS_PTR) || defined(GETHOSTBYADDR_R_HAS_PTR) || defined(GETHOSTBYNAME_R_HAS_PTR))
-# define USE_HOSTENT_PTR
-#else
-# undef USE_HOSTENT_PTR
-#endif
-
-/* The getnetent getnetbyaddr getnetbyname using ptr? */
-
-#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE)
-# define GETNETENT_R_HAS_PTR
-#else
-# undef GETNETENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE)
-# define GETNETBYADDR_R_HAS_PTR
-#else
-# undef GETNETBYADDR_R_HAS_PTR
-#endif
-#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
-# define GETNETBYNAME_R_HAS_PTR
-#else
-# undef GETNETBYNAME_R_HAS_PTR
-#endif
-
-/* Any of the getnetent getnetbyaddr getnetbyname using ptr? */
-
-#if (defined(GETNETENT_R_HAS_PTR) || defined(GETNETBYADDR_R_HAS_PTR) || defined(GETNETBYNAME_R_HAS_PTR))
-# define USE_NETENT_PTR
-#else
-# undef USE_NETENT_PTR
-#endif
-
-/* The getprotoent getprotobyname getprotobynumber using ptr? */
-
-#if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR)
-# define GETPROTOENT_R_HAS_PTR
-#else
-# undef GETPROTOENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR)
-# define GETPROTOBYNAME_R_HAS_PTR
-#else
-# undef GETPROTOBYNAME_R_HAS_PTR
-#endif
-#if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR)
-# define GETPROTOBYNUMBER_R_HAS_PTR
-#else
-# undef GETPROTOBYNUMBER_R_HAS_PTR
-#endif
-
-/* Any of the getprotoent getprotobyname getprotobynumber using ptr? */
-
-#if (defined(GETPROTOENT_R_HAS_PTR) || defined(GETPROTOBYNAME_R_HAS_PTR) || defined(GETPROTOBYNUMBER_R_HAS_PTR))
-# define USE_PROTOENT_PTR
-#else
-# undef USE_PROTOENT_PTR
-#endif
-
-/* The getservent getservbyname getservbyport using ptr? */
-
-#if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR)
-# define GETSERVENT_R_HAS_PTR
-#else
-# undef GETSERVENT_R_HAS_PTR
-#endif
-#if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR)
-# define GETSERVBYNAME_R_HAS_PTR
-#else
-# undef GETSERVBYNAME_R_HAS_PTR
-#endif
-#if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR)
-# define GETSERVBYPORT_R_HAS_PTR
-#else
-# undef GETSERVBYPORT_R_HAS_PTR
-#endif
-
-/* Any of the getservent getservbyname getservbyport using ptr? */
-
-#if (defined(GETSERVENT_R_HAS_PTR) || defined(GETSERVBYNAME_R_HAS_PTR) || defined(GETSERVBYPORT_R_HAS_PTR))
-# define USE_SERVENT_PTR
-#else
-# undef USE_SERVENT_PTR
-#endif
-
-/* The gethostent gethostbyaddr gethostbyname using buffer? */
-
-#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI)
-# define GETHOSTENT_R_HAS_BUFFER
-#else
-# undef GETHOSTENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE)
-# define GETHOSTBYADDR_R_HAS_BUFFER
-#else
-# undef GETHOSTBYADDR_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE)
-# define GETHOSTBYNAME_R_HAS_BUFFER
-#else
-# undef GETHOSTBYNAME_R_HAS_BUFFER
-#endif
-
-/* Any of the gethostent gethostbyaddr gethostbyname using buffer? */
-
-#if (defined(GETHOSTENT_R_HAS_BUFFER) || defined(GETHOSTBYADDR_R_HAS_BUFFER) || defined(GETHOSTBYNAME_R_HAS_BUFFER))
-# define USE_HOSTENT_BUFFER
-#else
-# undef USE_HOSTENT_BUFFER
-#endif
-
-/* The getnetent getnetbyaddr getnetbyname using buffer? */
-
-#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI)
-# define GETNETENT_R_HAS_BUFFER
-#else
-# undef GETNETENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE)
-# define GETNETBYADDR_R_HAS_BUFFER
-#else
-# undef GETNETBYADDR_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI)
-# define GETNETBYNAME_R_HAS_BUFFER
-#else
-# undef GETNETBYNAME_R_HAS_BUFFER
-#endif
-
-/* Any of the getnetent getnetbyaddr getnetbyname using buffer? */
-
-#if (defined(GETNETENT_R_HAS_BUFFER) || defined(GETNETBYADDR_R_HAS_BUFFER) || defined(GETNETBYNAME_R_HAS_BUFFER))
-# define USE_NETENT_BUFFER
-#else
-# undef USE_NETENT_BUFFER
-#endif
-
-/* The getprotoent getprotobyname getprotobynumber using buffer? */
-
-#if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI)
-# define GETPROTOENT_R_HAS_BUFFER
-#else
-# undef GETPROTOENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI)
-# define GETPROTOBYNAME_R_HAS_BUFFER
-#else
-# undef GETPROTOBYNAME_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR || GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI)
-# define GETPROTOBYNUMBER_R_HAS_BUFFER
-#else
-# undef GETPROTOBYNUMBER_R_HAS_BUFFER
-#endif
-
-/* Any of the getprotoent getprotobyname getprotobynumber using buffer? */
-
-#if (defined(GETPROTOENT_R_HAS_BUFFER) || defined(GETPROTOBYNAME_R_HAS_BUFFER) || defined(GETPROTOBYNUMBER_R_HAS_BUFFER))
-# define USE_PROTOENT_BUFFER
-#else
-# undef USE_PROTOENT_BUFFER
-#endif
-
-/* The getservent getservbyname getservbyport using buffer? */
-
-#if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI)
-# define GETSERVENT_R_HAS_BUFFER
-#else
-# undef GETSERVENT_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR || GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI)
-# define GETSERVBYNAME_R_HAS_BUFFER
-#else
-# undef GETSERVBYNAME_R_HAS_BUFFER
-#endif
-#if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR || GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI)
-# define GETSERVBYPORT_R_HAS_BUFFER
-#else
-# undef GETSERVBYPORT_R_HAS_BUFFER
-#endif
-
-/* Any of the getservent getservbyname getservbyport using buffer? */
-
-#if (defined(GETSERVENT_R_HAS_BUFFER) || defined(GETSERVBYNAME_R_HAS_BUFFER) || defined(GETSERVBYPORT_R_HAS_BUFFER))
-# define USE_SERVENT_BUFFER
-#else
-# undef USE_SERVENT_BUFFER
-#endif
-
-/* The gethostent gethostbyaddr gethostbyname using errno? */
-
-#if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE)
-# define GETHOSTENT_R_HAS_ERRNO
-#else
-# undef GETHOSTENT_R_HAS_ERRNO
-#endif
-#if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE)
-# define GETHOSTBYADDR_R_HAS_ERRNO
-#else
-# undef GETHOSTBYADDR_R_HAS_ERRNO
-#endif
-#if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE)
-# define GETHOSTBYNAME_R_HAS_ERRNO
-#else
-# undef GETHOSTBYNAME_R_HAS_ERRNO
-#endif
-
-/* Any of the gethostent gethostbyaddr gethostbyname using errno? */
-
-#if (defined(GETHOSTENT_R_HAS_ERRNO) || defined(GETHOSTBYADDR_R_HAS_ERRNO) || defined(GETHOSTBYNAME_R_HAS_ERRNO))
-# define USE_HOSTENT_ERRNO
-#else
-# undef USE_HOSTENT_ERRNO
-#endif
-
-/* The getnetent getnetbyaddr getnetbyname using errno? */
-
-#if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE)
-# define GETNETENT_R_HAS_ERRNO
-#else
-# undef GETNETENT_R_HAS_ERRNO
-#endif
-#if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE)
-# define GETNETBYADDR_R_HAS_ERRNO
-#else
-# undef GETNETBYADDR_R_HAS_ERRNO
-#endif
-#if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE)
-# define GETNETBYNAME_R_HAS_ERRNO
-#else
-# undef GETNETBYNAME_R_HAS_ERRNO
-#endif
-
-/* Any of the getnetent getnetbyaddr getnetbyname using errno? */
-
-#if (defined(GETNETENT_R_HAS_ERRNO) || defined(GETNETBYADDR_R_HAS_ERRNO) || defined(GETNETBYNAME_R_HAS_ERRNO))
-# define USE_NETENT_ERRNO
-#else
-# undef USE_NETENT_ERRNO
-#endif
-
-
-typedef struct {
-#ifdef HAS_ASCTIME_R
- char* _asctime_buffer;
- size_t _asctime_size;
-#endif /* HAS_ASCTIME_R */
-#ifdef HAS_CRYPT_R
-#if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
- CRYPTD* _crypt_data;
-#else
- struct crypt_data *_crypt_struct_buffer;
-#endif
-#endif /* HAS_CRYPT_R */
-#ifdef HAS_CTIME_R
- char* _ctime_buffer;
- size_t _ctime_size;
-#endif /* HAS_CTIME_R */
-#ifdef HAS_DRAND48_R
- struct drand48_data _drand48_struct;
- double _drand48_double;
-#endif /* HAS_DRAND48_R */
-#ifdef HAS_GETGRNAM_R
- struct group _grent_struct;
- char* _grent_buffer;
- size_t _grent_size;
-# ifdef USE_GRENT_PTR
- struct group* _grent_ptr;
-# endif
-# ifdef USE_GRENT_FPTR
- FILE* _grent_fptr;
-# endif
-#endif /* HAS_GETGRNAM_R */
-#ifdef HAS_GETHOSTBYNAME_R
- struct hostent _hostent_struct;
-# if GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
- struct hostent_data _hostent_data;
-# else
- char* _hostent_buffer;
- size_t _hostent_size;
-# endif
-# ifdef USE_HOSTENT_PTR
- struct hostent* _hostent_ptr;
-# endif
-# ifdef USE_HOSTENT_ERRNO
- int _hostent_errno;
-# endif
-#endif /* HAS_GETHOSTBYNAME_R */
-#ifdef HAS_GETLOGIN_R
- char* _getlogin_buffer;
- size_t _getlogin_size;
-#endif /* HAS_GETLOGIN_R */
-#ifdef HAS_GETNETBYNAME_R
- struct netent _netent_struct;
-# if GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
- struct netent_data _netent_data;
-# else
- char* _netent_buffer;
- size_t _netent_size;
-# endif
-# ifdef USE_NETENT_PTR
- struct netent* _netent_ptr;
-# endif
-# ifdef USE_NETENT_ERRNO
- int _netent_errno;
-# endif
-#endif /* HAS_GETNETBYNAME_R */
-#ifdef HAS_GETPROTOBYNAME_R
- struct protoent _protoent_struct;
-# if GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
- struct protoent_data _protoent_data;
-# else
- char* _protoent_buffer;
- size_t _protoent_size;
-# endif
-# ifdef USE_PROTOENT_PTR
- struct protoent* _protoent_ptr;
-# endif
-# ifdef USE_PROTOENT_ERRNO
- int _protoent_errno;
-# endif
-#endif /* HAS_GETPROTOBYNAME_R */
-#ifdef HAS_GETPWNAM_R
- struct passwd _pwent_struct;
- char* _pwent_buffer;
- size_t _pwent_size;
-# ifdef USE_PWENT_PTR
- struct passwd* _pwent_ptr;
-# endif
-# ifdef USE_PWENT_FPTR
- FILE* _pwent_fptr;
-# endif
-#endif /* HAS_GETPWNAM_R */
-#ifdef HAS_GETSERVBYNAME_R
- struct servent _servent_struct;
-# if GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
- struct servent_data _servent_data;
-# else
- char* _servent_buffer;
- size_t _servent_size;
-# endif
-# ifdef USE_SERVENT_PTR
- struct servent* _servent_ptr;
-# endif
-# ifdef USE_SERVENT_ERRNO
- int _servent_errno;
-# endif
-#endif /* HAS_GETSERVBYNAME_R */
-#ifdef HAS_GETSPNAM_R
- struct spwd _spent_struct;
- char* _spent_buffer;
- size_t _spent_size;
-# ifdef USE_SPENT_PTR
- struct spwd* _spent_ptr;
-# endif
-# ifdef USE_SPENT_FPTR
- FILE* _spent_fptr;
-# endif
-#endif /* HAS_GETSPNAM_R */
-#ifdef HAS_GMTIME_R
- struct tm _gmtime_struct;
-#endif /* HAS_GMTIME_R */
-#ifdef HAS_LOCALTIME_R
- struct tm _localtime_struct;
-#endif /* HAS_LOCALTIME_R */
-#ifdef HAS_RANDOM_R
- struct random_data _random_struct;
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
- int _random_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
- long _random_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_St
- int32_t _random_retval;
-# endif
-#endif /* HAS_RANDOM_R */
-#ifdef HAS_READDIR_R
- struct dirent* _readdir_struct;
- size_t _readdir_size;
-# if READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
- struct dirent* _readdir_ptr;
-# endif
-#endif /* HAS_READDIR_R */
-#ifdef HAS_READDIR64_R
- struct dirent64* _readdir64_struct;
- size_t _readdir64_size;
-# if READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
- struct dirent64* _readdir64_ptr;
-# endif
-#endif /* HAS_READDIR64_R */
-#ifdef HAS_SETLOCALE_R
- char* _setlocale_buffer;
- size_t _setlocale_size;
-#endif /* HAS_SETLOCALE_R */
-#ifdef HAS_SRANDOM_R
- struct random_data _srandom_struct;
-#endif /* HAS_SRANDOM_R */
-#ifdef HAS_STRERROR_R
- char* _strerror_buffer;
- size_t _strerror_size;
-#endif /* HAS_STRERROR_R */
-#ifdef HAS_TTYNAME_R
- char* _ttyname_buffer;
- size_t _ttyname_size;
-#endif /* HAS_TTYNAME_R */
-
- int dummy; /* cannot have empty structs */
-} REENTR;
-
-/* The wrappers. */
-
-#ifdef HAS_ASCTIME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef asctime
-# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB
-# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI
-# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB
-# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI
-# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ASCTIME */
-#endif /* HAS_ASCTIME_R */
-
-#ifdef HAS_CRYPT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef crypt
-# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS
-# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
-# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CRYPT */
-#endif /* HAS_CRYPT_R */
-
-#ifdef HAS_CTERMID_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef ctermid
-# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B
-# define ctermid(a) ctermid_r(a)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CTERMID */
-#endif /* HAS_CTERMID_R */
-
-#ifdef HAS_CTIME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef ctime
-# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB
-# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI
-# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB
-# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI
-# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CTIME */
-#endif /* HAS_CTIME_R */
-
-#ifdef HAS_DRAND48_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef drand48
-# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
-# define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_DRAND48 */
-#endif /* HAS_DRAND48_R */
-
-#ifdef HAS_ENDGRENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endgrent
-# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H
-# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H
-# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDGRENT */
-#endif /* HAS_ENDGRENT_R */
-
-#ifdef HAS_ENDHOSTENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endhostent
-# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D
-# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D
-# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDHOSTENT */
-#endif /* HAS_ENDHOSTENT_R */
-
-#ifdef HAS_ENDNETENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endnetent
-# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D
-# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D
-# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDNETENT */
-#endif /* HAS_ENDNETENT_R */
-
-#ifdef HAS_ENDPROTOENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endprotoent
-# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D
-# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D
-# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDPROTOENT */
-#endif /* HAS_ENDPROTOENT_R */
-
-#ifdef HAS_ENDPWENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endpwent
-# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H
-# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H
-# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDPWENT */
-#endif /* HAS_ENDPWENT_R */
-
-#ifdef HAS_ENDSERVENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef endservent
-# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D
-# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D
-# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDSERVENT */
-#endif /* HAS_ENDSERVENT_R */
-
-#ifdef HAS_GETGRENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getgrent
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
-# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
-# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW
-# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
-# define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRENT */
-#endif /* HAS_GETGRENT_R */
-
-#ifdef HAS_GETGRGID_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getgrgid
-# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
-# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
-# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
-# define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI
-# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRGID */
-#endif /* HAS_GETGRGID_R */
-
-#ifdef HAS_GETGRNAM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getgrnam
-# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
-# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
-# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI
-# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
-# define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
-# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRNAM */
-#endif /* HAS_GETGRNAM_R */
-
-#ifdef HAS_GETHOSTBYADDR_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef gethostbyaddr
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
-# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE
-# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
-# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
-# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
-# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
-# define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTBYADDR */
-#endif /* HAS_GETHOSTBYADDR_R */
-
-#ifdef HAS_GETHOSTBYNAME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef gethostbyname
-# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
-# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE
-# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
-# define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTBYNAME */
-#endif /* HAS_GETHOSTBYNAME_R */
-
-#ifdef HAS_GETHOSTENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef gethostent
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
-# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
-# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE
-# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
-# define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTENT */
-#endif /* HAS_GETHOSTENT_R */
-
-#ifdef HAS_GETLOGIN_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getlogin
-# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
-# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
-# define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW
-# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI
-# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETLOGIN */
-#endif /* HAS_GETLOGIN_R */
-
-#ifdef HAS_GETNETBYADDR_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getnetbyaddr
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI
-# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI
-# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
-# define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETBYADDR */
-#endif /* HAS_GETNETBYADDR_R */
-
-#ifdef HAS_GETNETBYNAME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getnetbyname
-# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
-# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
-# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
-# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
-# define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETBYNAME */
-#endif /* HAS_GETNETBYNAME_R */
-
-#ifdef HAS_GETNETENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getnetent
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
-# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
-# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE
-# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
-# define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETENT */
-#endif /* HAS_GETNETENT_R */
-
-#ifdef HAS_GETPROTOBYNAME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getprotobyname
-# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
-# define getprotobyname(a) ((PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
-# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
-# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOBYNAME */
-#endif /* HAS_GETPROTOBYNAME_R */
-
-#ifdef HAS_GETPROTOBYNUMBER_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getprotobynumber
-# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
-# define getprotobynumber(a) ((PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI
-# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
-# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOBYNUMBER */
-#endif /* HAS_GETPROTOBYNUMBER_R */
-
-#ifdef HAS_GETPROTOENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getprotoent
-# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
-# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
-# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOENT */
-#endif /* HAS_GETPROTOENT_R */
-
-#ifdef HAS_GETPWENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getpwent
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
-# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
-# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW
-# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
-# define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWENT */
-#endif /* HAS_GETPWENT_R */
-
-#ifdef HAS_GETPWNAM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getpwnam
-# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
-# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
-# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
-# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
-# define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWNAM */
-#endif /* HAS_GETPWNAM_R */
-
-#ifdef HAS_GETPWUID_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getpwuid
-# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
-# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
-# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
-# define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI
-# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWUID */
-#endif /* HAS_GETPWUID_R */
-
-#ifdef HAS_GETSERVBYNAME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getservbyname
-# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
-# define getservbyname(a, b) ((PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI
-# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
-# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVBYNAME */
-#endif /* HAS_GETSERVBYNAME_R */
-
-#ifdef HAS_GETSERVBYPORT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getservbyport
-# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
-# define getservbyport(a, b) ((PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI
-# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
-# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVBYPORT */
-#endif /* HAS_GETSERVBYPORT_R */
-
-#ifdef HAS_GETSERVENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getservent
-# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
-# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
-# define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI
-# define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
-# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVENT */
-#endif /* HAS_GETSERVENT_R */
-
-#ifdef HAS_GETSPNAM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef getspnam
-# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
-# define getspnam(a) ((PL_reentrant_retint = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
-# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSPNAM */
-#endif /* HAS_GETSPNAM_R */
-
-#ifdef HAS_GMTIME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef gmtime
-# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS
-# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_I_TS
-# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) == 0 ? &PL_reentrant_buffer->_gmtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GMTIME */
-#endif /* HAS_GMTIME_R */
-
-#ifdef HAS_LOCALTIME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef localtime
-# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS
-# define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_I_TS
-# define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) == 0 ? &PL_reentrant_buffer->_localtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_LOCALTIME */
-#endif /* HAS_LOCALTIME_R */
-
-#ifdef HAS_RANDOM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef random
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
-# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
-# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_St
-# define random() (random_r(&PL_reentrant_buffer->_random_struct, &PL_reentrant_buffer->_random_retval) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_RANDOM */
-#endif /* HAS_RANDOM_R */
-
-#ifdef HAS_READDIR_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef readdir
-# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
-# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS
-# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_READDIR */
-#endif /* HAS_READDIR_R */
-
-#ifdef HAS_READDIR64_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef readdir64
-# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
-# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS
-# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_READDIR64 */
-#endif /* HAS_READDIR64_R */
-
-#ifdef HAS_SETGRENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setgrent
-# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H
-# define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H
-# define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETGRENT */
-#endif /* HAS_SETGRENT_R */
-
-#ifdef HAS_SETHOSTENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef sethostent
-# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID
-# define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID
-# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETHOSTENT */
-#endif /* HAS_SETHOSTENT_R */
-
-#ifdef HAS_SETLOCALE_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setlocale
-# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI
-# define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETLOCALE */
-#endif /* HAS_SETLOCALE_R */
-
-#ifdef HAS_SETNETENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setnetent
-# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID
-# define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID
-# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETNETENT */
-#endif /* HAS_SETNETENT_R */
-
-#ifdef HAS_SETPROTOENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setprotoent
-# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID
-# define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID
-# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETPROTOENT */
-#endif /* HAS_SETPROTOENT_R */
-
-#ifdef HAS_SETPWENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setpwent
-# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H
-# define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H
-# define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETPWENT */
-#endif /* HAS_SETPWENT_R */
-
-#ifdef HAS_SETSERVENT_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef setservent
-# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID
-# define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID
-# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETSERVENT */
-#endif /* HAS_SETSERVENT_R */
-
-#ifdef HAS_SRAND48_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef srand48
-# if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
-# define srand48(a) (srand48_r(a, &PL_reentrant_buffer->_drand48_struct) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SRAND48 */
-#endif /* HAS_SRAND48_R */
-
-#ifdef HAS_SRANDOM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef srandom
-# if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
-# define srandom(a) (srandom_r(a, &PL_reentrant_buffer->_srandom_struct) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SRANDOM */
-#endif /* HAS_SRANDOM_R */
-
-#ifdef HAS_STRERROR_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef strerror
-# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW
-# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI
-# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW
-# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_STRERROR */
-#endif /* HAS_STRERROR_R */
-
-#ifdef HAS_TMPNAM_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef tmpnam
-# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B
-# define tmpnam(a) tmpnam_r(a)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_TMPNAM */
-#endif /* HAS_TMPNAM_R */
-
-#ifdef HAS_TTYNAME_R
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# undef ttyname
-# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW
-# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI
-# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI
-# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_TTYNAME */
-#endif /* HAS_TTYNAME_R */
-
-
-
-#endif /* USE_REENTRANT_API */
-
-#endif
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcharclass.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcharclass.h
deleted file mode 100644
index f9a1558d66a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcharclass.h
+++ /dev/null
@@ -1,454 +0,0 @@
-/* -*- buffer-read-only: t -*-
- *
- * regcharclass.h
- *
- * Copyright (C) 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by Porting/regcharclass.pl.
- *
- * Any changes made here will be lost!
- *
- */
-
-/*
- LNBREAK: Line Break: \R
-
- "\x0D\x0A" # CRLF - Network (Windows) line ending
- 0x0A # LF | LINE FEED
- 0x0B # VT | VERTICAL TAB
- 0x0C # FF | FORM FEED
- 0x0D # CR | CARRIAGE RETURN
- 0x85 # NEL | NEXT LINE
- 0x2028 # LINE SEPARATOR
- 0x2029 # PARAGRAPH SEPARATOR
-*/
-/*** GENERATED CODE ***/
-#define is_LNBREAK(s,is_utf8) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
-: ( 0x85 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( !( is_utf8 ) ) ? \
- ( 0x85 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_utf8(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_utf8_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : 0 ) \
-: ((e)-(s) > 0) ? \
- ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_latin1(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
-: ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
-: ( 0x85 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_LNBREAK_latin1_safe(s,e) \
-( ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
- : ( 0x0D == ((U8*)s)[0] ) ? \
- ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
-: 0 )
-
-/*
- HORIZWS: Horizontal Whitespace: \h \H
-
- 0x09 # HT
- 0x20 # SPACE
- 0xa0 # NBSP
- 0x1680 # OGHAM SPACE MARK
- 0x180e # MONGOLIAN VOWEL SEPARATOR
- 0x2000 # EN QUAD
- 0x2001 # EM QUAD
- 0x2002 # EN SPACE
- 0x2003 # EM SPACE
- 0x2004 # THREE-PER-EM SPACE
- 0x2005 # FOUR-PER-EM SPACE
- 0x2006 # SIX-PER-EM SPACE
- 0x2007 # FIGURE SPACE
- 0x2008 # PUNCTUATION SPACE
- 0x2009 # THIN SPACE
- 0x200A # HAIR SPACE
- 0x202f # NARROW NO-BREAK SPACE
- 0x205f # MEDIUM MATHEMATICAL SPACE
- 0x3000 # IDEOGRAPHIC SPACE
-*/
-/*** GENERATED CODE ***/
-#define is_HORIZWS(s,is_utf8) \
-( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xA0 == ((U8*)s)[1] ) ? \
- ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE3 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : 0 ) \
-: ( 0xA0 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xA0 == ((U8*)s)[1] ) ? \
- ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE3 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
- : ( 0xA0 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0xA0 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( !( is_utf8 ) ) ? \
- ( 0xA0 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_utf8(s) \
-( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xA0 == ((U8*)s)[1] ) ? \
- ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
-: ( 0xE3 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_utf8_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE1 == ((U8*)s)[0] ) ? \
- ( ( 0x9A == ((U8*)s)[1] ) ? \
- ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
- : ( 0xA0 == ((U8*)s)[1] ) ? \
- ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( 0x80 == ((U8*)s)[1] ) ? \
- ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
- : ( 0x81 == ((U8*)s)[1] ) ? \
- ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 ) \
- : 0 ) \
- : ( 0xE3 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
- : 0 ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : 0 ) \
-: ((e)-(s) > 0) ? \
- ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_latin1(s) \
-( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_latin1_safe(s,e) \
-( ((e)-(s) > 0) ? \
- ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_HORIZWS_cp(cp) \
-( 0x09 == cp || ( 0x09 < cp && \
-( 0x20 == cp || ( 0x20 < cp && \
-( 0xA0 == cp || ( 0xA0 < cp && \
-( 0x1680 == cp || ( 0x1680 < cp && \
-( 0x180E == cp || ( 0x180E < cp && \
-( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
-( 0x202F == cp || ( 0x202F < cp && \
-( 0x205F == cp || ( 0x205F < cp && \
-0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
-
-/*
- VERTWS: Vertical Whitespace: \v \V
-
- 0x0A # LF
- 0x0B # VT
- 0x0C # FF
- 0x0D # CR
- 0x85 # NEL
- 0x2028 # LINE SEPARATOR
- 0x2029 # PARAGRAPH SEPARATOR
-*/
-/*** GENERATED CODE ***/
-#define is_VERTWS(s,is_utf8) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
-: ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
-: ( 0x85 == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_safe(s,e,is_utf8) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( is_utf8 ) ? \
- ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
- : ( 0x85 == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( !( is_utf8 ) ) ? \
- ( 0x85 == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_utf8(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
-: ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
-: ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_utf8_safe(s,e) \
-( ((e)-(s) > 2) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xE2 == ((U8*)s)[0] ) ? \
- ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
- : 0 ) \
-: ((e)-(s) > 1) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
- : ( 0xC2 == ((U8*)s)[0] ) ? \
- ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : 0 ) \
-: ((e)-(s) > 0) ? \
- ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_latin1(s) \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_latin1_safe(s,e) \
-( ((e)-(s) > 0) ? \
- ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_VERTWS_cp(cp) \
-( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
-( 0x85 == cp || ( 0x85 < cp && \
-( 0x2028 == cp || ( 0x2028 < cp && \
-0x2029 == cp ) ) ) ) ) )
-
-/*
- TRICKYFOLD: Problematic fold case letters.
-
- 0x00DF # LATIN1 SMALL LETTER SHARP S
- 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-*/
-/*** GENERATED CODE ***/
-#define is_TRICKYFOLD(s,is_utf8) \
-( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : 0 ) \
-: ( 0xDF == ((U8*)s)[0] ) )
-
-/*** GENERATED CODE ***/
-#define is_TRICKYFOLD_safe(s,e,is_utf8) \
-( ((e)-(s) > 1) ? \
- ( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
- : 0 ) \
- : ( 0xDF == ((U8*)s)[0] ) ) \
-: ((e)-(s) > 0) ? \
- ( ( !( is_utf8 ) ) ? \
- ( 0xDF == ((U8*)s)[0] ) \
- : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define is_TRICKYFOLD_cp(cp) \
-( 0xDF == cp || ( 0xDF < cp && \
-( 0x390 == cp || ( 0x390 < cp && \
-0x3B0 == cp ) ) ) )
-
-/*** GENERATED CODE ***/
-#define what_TRICKYFOLD(s,is_utf8) \
-( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \
- : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \
- : 0 ) \
-: ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )
-
-/*** GENERATED CODE ***/
-#define what_TRICKYFOLD_safe(s,e,is_utf8) \
-( ((e)-(s) > 1) ? \
- ( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] ) ? 0x390 \
- : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 ) \
- : 0 ) \
- : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 ) \
-: ((e)-(s) > 0) ? \
- ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? 0xDF : 0 ) \
-: 0 )
-
-/*** GENERATED CODE ***/
-#define what_len_TRICKYFOLD(s,is_utf8,len) \
-( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \
- : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \
- : 0 ) \
-: ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )
-
-/*** GENERATED CODE ***/
-#define what_len_TRICKYFOLD_safe(s,e,is_utf8,len) \
-( ((e)-(s) > 1) ? \
- ( ( is_utf8 ) ? \
- ( ( 0xC3 == ((U8*)s)[0] ) ? \
- ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 ) \
- : ( 0xCE == ((U8*)s)[0] ) ? \
- ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390 \
- : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 ) \
- : 0 ) \
- : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 ) \
-: ((e)-(s) > 0) ? \
- ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? len=1, 0xDF : 0 ) \
-: 0 )
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcomp.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcomp.h
deleted file mode 100644
index d3c75f05856..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regcomp.h
+++ /dev/null
@@ -1,828 +0,0 @@
-/* regcomp.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-#include "regcharclass.h"
-
-typedef OP OP_4tree; /* Will be redefined later. */
-
-
-/* Convert branch sequences to more efficient trie ops? */
-#define PERL_ENABLE_TRIE_OPTIMISATION 1
-
-/* Be really agressive about optimising patterns with trie sequences? */
-#define PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION 1
-
-/* Should the optimiser take positive assertions into account? */
-#define PERL_ENABLE_POSITIVE_ASSERTION_STUDY 0
-
-/* Not for production use: */
-#define PERL_ENABLE_EXPERIMENTAL_REGEX_OPTIMISATIONS 0
-
-/* Activate offsets code - set to if 1 to enable */
-#ifdef DEBUGGING
-#define RE_TRACK_PATTERN_OFFSETS
-#endif
-
-/* Unless the next line is uncommented it is illegal to combine lazy
- matching with possessive matching. Frankly it doesn't make much sense
- to allow it as X*?+ matches nothing, X+?+ matches a single char only,
- and X{min,max}?+ matches min times only.
- */
-/* #define REG_ALLOW_MINMOD_SUSPEND */
-
-/*
- * The "internal use only" fields in regexp.h are present to pass info from
- * compile to execute that permits the execute phase to run lots faster on
- * simple cases. They are:
- *
- * regstart sv that must begin a match; NULL if none obvious
- * reganch is the match anchored (at beginning-of-line only)?
- * regmust string (pointer into program) that match must include, or NULL
- * [regmust changed to SV* for bminstr()--law]
- * regmlen length of regmust string
- * [regmlen not used currently]
- *
- * Regstart and reganch permit very fast decisions on suitable starting points
- * for a match, cutting down the work a lot. Regmust permits fast rejection
- * of lines that cannot possibly match. The regmust tests are costly enough
- * that pregcomp() supplies a regmust only if the r.e. contains something
- * potentially expensive (at present, the only such thing detected is * or +
- * at the start of the r.e., which can involve a lot of backup). Regmlen is
- * supplied because the test in pregexec() needs it and pregcomp() is computing
- * it anyway.
- * [regmust is now supplied always. The tests that use regmust have a
- * heuristic that disables the test if it usually matches.]
- *
- * [In fact, we now use regmust in many cases to locate where the search
- * starts in the string, so if regback is >= 0, the regmust search is never
- * wasted effort. The regback variable says how many characters back from
- * where regmust matched is the earliest possible start of the match.
- * For instance, /[a-z].foo/ has a regmust of 'foo' and a regback of 2.]
- */
-
-/*
- * Structure for regexp "program". This is essentially a linear encoding
- * of a nondeterministic finite-state machine (aka syntax charts or
- * "railroad normal form" in parsing technology). Each node is an opcode
- * plus a "next" pointer, possibly plus an operand. "Next" pointers of
- * all nodes except BRANCH implement concatenation; a "next" pointer with
- * a BRANCH on both ends of it is connecting two alternatives. (Here we
- * have one of the subtle syntax dependencies: an individual BRANCH (as
- * opposed to a collection of them) is never concatenated with anything
- * because of operator precedence.) The operand of some types of node is
- * a literal string; for others, it is a node leading into a sub-FSM. In
- * particular, the operand of a BRANCH node is the first node of the branch.
- * (NB this is *not* a tree structure: the tail of the branch connects
- * to the thing following the set of BRANCHes.) The opcodes are defined
- * in regnodes.h which is generated from regcomp.sym by regcomp.pl.
- */
-
-/*
- * A node is one char of opcode followed by two chars of "next" pointer.
- * "Next" pointers are stored as two 8-bit pieces, high order first. The
- * value is a positive offset from the opcode of the node containing it.
- * An operand, if any, simply follows the node. (Note that much of the
- * code generation knows about this implicit relationship.)
- *
- * Using two bytes for the "next" pointer is vast overkill for most things,
- * but allows patterns to get big without disasters.
- *
- * [The "next" pointer is always aligned on an even
- * boundary, and reads the offset directly as a short. Also, there is no
- * special test to reverse the sign of BACK pointers since the offset is
- * stored negative.]
- */
-
-/* This is the stuff that used to live in regexp.h that was truly
- private to the engine itself. It now lives here. */
-
-
-
- typedef struct regexp_internal {
- int name_list_idx; /* Optional data index of an array of paren names */
- union {
- U32 *offsets; /* offset annotations 20001228 MJD
- data about mapping the program to the
- string -
- offsets[0] is proglen when this is used
- */
- U32 proglen;
- } u;
-
- regnode *regstclass; /* Optional startclass as identified or constructed
- by the optimiser */
- struct reg_data *data; /* Additional miscellaneous data used by the program.
- Used to make it easier to clone and free arbitrary
- data that the regops need. Often the ARG field of
- a regop is an index into this structure */
- regnode program[1]; /* Unwarranted chumminess with compiler. */
-} regexp_internal;
-
-#define RXi_SET(x,y) (x)->pprivate = (void*)(y)
-#define RXi_GET(x) ((regexp_internal *)((x)->pprivate))
-#define RXi_GET_DECL(r,ri) regexp_internal *ri = RXi_GET(r)
-/*
- * Flags stored in regexp->intflags
- * These are used only internally to the regexp engine
- *
- * See regexp.h for flags used externally to the regexp engine
- */
-#define PREGf_SKIP 0x00000001
-#define PREGf_IMPLICIT 0x00000002 /* Converted .* to ^.* */
-#define PREGf_NAUGHTY 0x00000004 /* how exponential is this pattern? */
-#define PREGf_VERBARG_SEEN 0x00000008
-#define PREGf_CUTGROUP_SEEN 0x00000010
-
-
-/* this is where the old regcomp.h started */
-
-struct regnode_string {
- U8 str_len;
- U8 type;
- U16 next_off;
- char string[1];
-};
-
-/* Argument bearing node - workhorse,
- arg1 is often for the data field */
-struct regnode_1 {
- U8 flags;
- U8 type;
- U16 next_off;
- U32 arg1;
-};
-
-/* Similar to a regnode_1 but with an extra signed argument */
-struct regnode_2L {
- U8 flags;
- U8 type;
- U16 next_off;
- U32 arg1;
- I32 arg2;
-};
-
-/* 'Two field' -- Two 16 bit unsigned args */
-struct regnode_2 {
- U8 flags;
- U8 type;
- U16 next_off;
- U16 arg1;
- U16 arg2;
-};
-
-
-#define ANYOF_BITMAP_SIZE 32 /* 256 b/(8 b/B) */
-#define ANYOF_CLASSBITMAP_SIZE 4 /* up to 40 (8*5) named classes */
-
-/* also used by trie */
-struct regnode_charclass {
- U8 flags;
- U8 type;
- U16 next_off;
- U32 arg1;
- char bitmap[ANYOF_BITMAP_SIZE]; /* only compile-time */
-};
-
-struct regnode_charclass_class { /* has [[:blah:]] classes */
- U8 flags; /* should have ANYOF_CLASS here */
- U8 type;
- U16 next_off;
- U32 arg1;
- char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time */
- char classflags[ANYOF_CLASSBITMAP_SIZE]; /* and run-time */
-};
-
-/* XXX fix this description.
- Impose a limit of REG_INFTY on various pattern matching operations
- to limit stack growth and to avoid "infinite" recursions.
-*/
-/* The default size for REG_INFTY is I16_MAX, which is the same as
- SHORT_MAX (see perl.h). Unfortunately I16 isn't necessarily 16 bits
- (see handy.h). On the Cray C90, sizeof(short)==4 and hence I16_MAX is
- ((1<<31)-1), while on the Cray T90, sizeof(short)==8 and I16_MAX is
- ((1<<63)-1). To limit stack growth to reasonable sizes, supply a
- smaller default.
- --Andy Dougherty 11 June 1998
-*/
-#if SHORTSIZE > 2
-# ifndef REG_INFTY
-# define REG_INFTY ((1<<15)-1)
-# endif
-#endif
-
-#ifndef REG_INFTY
-# define REG_INFTY I16_MAX
-#endif
-
-#define ARG_VALUE(arg) (arg)
-#define ARG__SET(arg,val) ((arg) = (val))
-
-#undef ARG
-#undef ARG1
-#undef ARG2
-
-#define ARG(p) ARG_VALUE(ARG_LOC(p))
-#define ARG1(p) ARG_VALUE(ARG1_LOC(p))
-#define ARG2(p) ARG_VALUE(ARG2_LOC(p))
-#define ARG2L(p) ARG_VALUE(ARG2L_LOC(p))
-
-#define ARG_SET(p, val) ARG__SET(ARG_LOC(p), (val))
-#define ARG1_SET(p, val) ARG__SET(ARG1_LOC(p), (val))
-#define ARG2_SET(p, val) ARG__SET(ARG2_LOC(p), (val))
-#define ARG2L_SET(p, val) ARG__SET(ARG2L_LOC(p), (val))
-
-#undef NEXT_OFF
-#undef NODE_ALIGN
-
-#define NEXT_OFF(p) ((p)->next_off)
-#define NODE_ALIGN(node)
-#define NODE_ALIGN_FILL(node) ((node)->flags = 0xde) /* deadbeef */
-
-#define SIZE_ALIGN NODE_ALIGN
-
-#undef OP
-#undef OPERAND
-#undef MASK
-#undef STRING
-
-#define OP(p) ((p)->type)
-#define OPERAND(p) (((struct regnode_string *)p)->string)
-#define MASK(p) ((char*)OPERAND(p))
-#define STR_LEN(p) (((struct regnode_string *)p)->str_len)
-#define STRING(p) (((struct regnode_string *)p)->string)
-#define STR_SZ(l) ((l + sizeof(regnode) - 1) / sizeof(regnode))
-#define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p))+1)
-
-#undef NODE_ALIGN
-#undef ARG_LOC
-#undef NEXTOPER
-#undef PREVOPER
-
-#define NODE_ALIGN(node)
-#define ARG_LOC(p) (((struct regnode_1 *)p)->arg1)
-#define ARG1_LOC(p) (((struct regnode_2 *)p)->arg1)
-#define ARG2_LOC(p) (((struct regnode_2 *)p)->arg2)
-#define ARG2L_LOC(p) (((struct regnode_2L *)p)->arg2)
-
-#define NODE_STEP_REGNODE 1 /* sizeof(regnode)/sizeof(regnode) */
-#define EXTRA_STEP_2ARGS EXTRA_SIZE(struct regnode_2)
-
-#define NODE_STEP_B 4
-
-#define NEXTOPER(p) ((p) + NODE_STEP_REGNODE)
-#define PREVOPER(p) ((p) - NODE_STEP_REGNODE)
-
-#define FILL_ADVANCE_NODE(ptr, op) STMT_START { \
- (ptr)->type = op; (ptr)->next_off = 0; (ptr)++; } STMT_END
-#define FILL_ADVANCE_NODE_ARG(ptr, op, arg) STMT_START { \
- ARG_SET(ptr, arg); FILL_ADVANCE_NODE(ptr, op); (ptr) += 1; } STMT_END
-
-#define REG_MAGIC 0234
-
-#define SIZE_ONLY (RExC_emit == &PL_regdummy)
-
-/* Flags for node->flags of ANYOF */
-
-#define ANYOF_CLASS 0x08 /* has [[:blah:]] classes */
-#define ANYOF_INVERT 0x04
-#define ANYOF_FOLD 0x02
-#define ANYOF_LOCALE 0x01
-
-/* Used for regstclass only */
-#define ANYOF_EOS 0x10 /* Can match an empty string too */
-
-/* There is a character or a range past 0xff */
-#define ANYOF_UNICODE 0x20
-#define ANYOF_UNICODE_ALL 0x40 /* Can match any char past 0xff */
-
-/* size of node is large (includes class pointer) */
-#define ANYOF_LARGE 0x80
-
-/* Are there any runtime flags on in this node? */
-#define ANYOF_RUNTIME(s) (ANYOF_FLAGS(s) & 0x0f)
-
-#define ANYOF_FLAGS_ALL 0xff
-
-/* Character classes for node->classflags of ANYOF */
-/* Should be synchronized with a table in regprop() */
-/* 2n should pair with 2n+1 */
-
-#define ANYOF_ALNUM 0 /* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */
-#define ANYOF_NALNUM 1
-#define ANYOF_SPACE 2 /* \s */
-#define ANYOF_NSPACE 3
-#define ANYOF_DIGIT 4
-#define ANYOF_NDIGIT 5
-#define ANYOF_ALNUMC 6 /* isalnum(3), utf8::IsAlnum, ALNUMC */
-#define ANYOF_NALNUMC 7
-#define ANYOF_ALPHA 8
-#define ANYOF_NALPHA 9
-#define ANYOF_ASCII 10
-#define ANYOF_NASCII 11
-#define ANYOF_CNTRL 12
-#define ANYOF_NCNTRL 13
-#define ANYOF_GRAPH 14
-#define ANYOF_NGRAPH 15
-#define ANYOF_LOWER 16
-#define ANYOF_NLOWER 17
-#define ANYOF_PRINT 18
-#define ANYOF_NPRINT 19
-#define ANYOF_PUNCT 20
-#define ANYOF_NPUNCT 21
-#define ANYOF_UPPER 22
-#define ANYOF_NUPPER 23
-#define ANYOF_XDIGIT 24
-#define ANYOF_NXDIGIT 25
-#define ANYOF_PSXSPC 26 /* POSIX space: \s plus the vertical tab */
-#define ANYOF_NPSXSPC 27
-#define ANYOF_BLANK 28 /* GNU extension: space and tab: non-vertical space */
-#define ANYOF_NBLANK 29
-
-#define ANYOF_MAX 32
-
-/* pseudo classes, not stored in the class bitmap, but used as flags
- during compilation of char classes */
-
-#define ANYOF_VERTWS (ANYOF_MAX+1)
-#define ANYOF_NVERTWS (ANYOF_MAX+2)
-#define ANYOF_HORIZWS (ANYOF_MAX+3)
-#define ANYOF_NHORIZWS (ANYOF_MAX+4)
-
-/* Backward source code compatibility. */
-
-#define ANYOF_ALNUML ANYOF_ALNUM
-#define ANYOF_NALNUML ANYOF_NALNUM
-#define ANYOF_SPACEL ANYOF_SPACE
-#define ANYOF_NSPACEL ANYOF_NSPACE
-
-/* Utility macros for the bitmap and classes of ANYOF */
-
-#define ANYOF_SIZE (sizeof(struct regnode_charclass))
-#define ANYOF_CLASS_SIZE (sizeof(struct regnode_charclass_class))
-
-#define ANYOF_FLAGS(p) ((p)->flags)
-
-#define ANYOF_BIT(c) (1 << ((c) & 7))
-
-#define ANYOF_CLASS_BYTE(p, c) (((struct regnode_charclass_class*)(p))->classflags[((c) >> 3) & 3])
-#define ANYOF_CLASS_SET(p, c) (ANYOF_CLASS_BYTE(p, c) |= ANYOF_BIT(c))
-#define ANYOF_CLASS_CLEAR(p, c) (ANYOF_CLASS_BYTE(p, c) &= ~ANYOF_BIT(c))
-#define ANYOF_CLASS_TEST(p, c) (ANYOF_CLASS_BYTE(p, c) & ANYOF_BIT(c))
-
-#define ANYOF_CLASS_ZERO(ret) Zero(((struct regnode_charclass_class*)(ret))->classflags, ANYOF_CLASSBITMAP_SIZE, char)
-#define ANYOF_BITMAP_ZERO(ret) Zero(((struct regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char)
-
-#define ANYOF_BITMAP(p) (((struct regnode_charclass*)(p))->bitmap)
-#define ANYOF_BITMAP_BYTE(p, c) (ANYOF_BITMAP(p)[(((U8)(c)) >> 3) & 31])
-#define ANYOF_BITMAP_SET(p, c) (ANYOF_BITMAP_BYTE(p, c) |= ANYOF_BIT(c))
-#define ANYOF_BITMAP_CLEAR(p,c) (ANYOF_BITMAP_BYTE(p, c) &= ~ANYOF_BIT(c))
-#define ANYOF_BITMAP_TEST(p, c) (ANYOF_BITMAP_BYTE(p, c) & ANYOF_BIT(c))
-
-#define ANYOF_BITMAP_SETALL(p) \
- memset (ANYOF_BITMAP(p), 255, ANYOF_BITMAP_SIZE)
-#define ANYOF_BITMAP_CLEARALL(p) \
- Zero (ANYOF_BITMAP(p), ANYOF_BITMAP_SIZE)
-/* Check that all 256 bits are all set. Used in S_cl_is_anything() */
-#define ANYOF_BITMAP_TESTALLSET(p) \
- memEQ (ANYOF_BITMAP(p), "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377", ANYOF_BITMAP_SIZE)
-
-#define ANYOF_SKIP ((ANYOF_SIZE - 1)/sizeof(regnode))
-#define ANYOF_CLASS_SKIP ((ANYOF_CLASS_SIZE - 1)/sizeof(regnode))
-#define ANYOF_CLASS_ADD_SKIP (ANYOF_CLASS_SKIP - ANYOF_SKIP)
-
-
-/*
- * Utility definitions.
- */
-#ifndef CHARMASK
-# define UCHARAT(p) ((int)*(const U8*)(p))
-#else
-# define UCHARAT(p) ((int)*(p)&CHARMASK)
-#endif
-
-#define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode))
-
-#define REG_SEEN_ZERO_LEN 0x00000001
-#define REG_SEEN_LOOKBEHIND 0x00000002
-#define REG_SEEN_GPOS 0x00000004
-#define REG_SEEN_EVAL 0x00000008
-#define REG_SEEN_CANY 0x00000010
-#define REG_SEEN_SANY REG_SEEN_CANY /* src bckwrd cmpt */
-#define REG_SEEN_RECURSE 0x00000020
-#define REG_TOP_LEVEL_BRANCHES 0x00000040
-#define REG_SEEN_VERBARG 0x00000080
-#define REG_SEEN_CUTGROUP 0x00000100
-#define REG_SEEN_RUN_ON_COMMENT 0x00000200
-
-START_EXTERN_C
-
-#ifdef PLUGGABLE_RE_EXTENSION
-#include "re_nodes.h"
-#else
-#include "regnodes.h"
-#endif
-
-/* The following have no fixed length. U8 so we can do strchr() on it. */
-#ifndef DOINIT
-EXTCONST U8 PL_varies[];
-#else
-EXTCONST U8 PL_varies[] = {
- BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL,
- WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, CLUMP,
- NREF, NREFF, NREFFL,
- 0
-};
-#endif
-
-/* The following always have a length of 1. U8 we can do strchr() on it. */
-/* (Note that length 1 means "one character" under UTF8, not "one octet".) */
-#ifndef DOINIT
-EXTCONST U8 PL_simple[];
-#else
-EXTCONST U8 PL_simple[] = {
- REG_ANY, SANY, CANY,
- ANYOF,
- ALNUM, ALNUML,
- NALNUM, NALNUML,
- SPACE, SPACEL,
- NSPACE, NSPACEL,
- DIGIT, NDIGIT,
- VERTWS, NVERTWS,
- HORIZWS, NHORIZWS,
- 0
-};
-#endif
-
-#ifndef PLUGGABLE_RE_EXTENSION
-#ifndef DOINIT
-EXTCONST regexp_engine PL_core_reg_engine;
-#else /* DOINIT */
-EXTCONST regexp_engine PL_core_reg_engine = {
- Perl_re_compile,
- Perl_regexec_flags,
- Perl_re_intuit_start,
- Perl_re_intuit_string,
- Perl_regfree_internal,
- Perl_reg_numbered_buff_fetch,
- Perl_reg_numbered_buff_store,
- Perl_reg_numbered_buff_length,
- Perl_reg_named_buff,
- Perl_reg_named_buff_iter,
- Perl_reg_qr_package,
-#if defined(USE_ITHREADS)
- Perl_regdupe_internal
-#endif
-};
-#endif /* DOINIT */
-#endif /* PLUGGABLE_RE_EXTENSION */
-
-
-END_EXTERN_C
-
-
-/* .what is a character array with one character for each member of .data
- * The character describes the function of the corresponding .data item:
- * f - start-class data for regstclass optimization
- * n - Root of op tree for (?{EVAL}) item
- * o - Start op for (?{EVAL}) item
- * p - Pad for (?{EVAL}) item
- * s - swash for Unicode-style character class, and the multicharacter
- * strings resulting from casefolding the single-character entries
- * in the character class
- * t - trie struct
- * u - trie struct's widecharmap (a HV, so can't share, must dup)
- * also used for revcharmap and words under DEBUGGING
- * T - aho-trie struct
- * S - sv for named capture lookup
- * 20010712 mjd@plover.com
- * (Remember to update re_dup() and pregfree() if you add any items.)
- */
-struct reg_data {
- U32 count;
- U8 *what;
- void* data[1];
-};
-
-/* Code in S_to_utf8_substr() and S_to_byte_substr() in regexec.c accesses
- anchored* and float* via array indexes 0 and 1. */
-#define anchored_substr substrs->data[0].substr
-#define anchored_utf8 substrs->data[0].utf8_substr
-#define anchored_offset substrs->data[0].min_offset
-#define anchored_end_shift substrs->data[0].end_shift
-
-#define float_substr substrs->data[1].substr
-#define float_utf8 substrs->data[1].utf8_substr
-#define float_min_offset substrs->data[1].min_offset
-#define float_max_offset substrs->data[1].max_offset
-#define float_end_shift substrs->data[1].end_shift
-
-#define check_substr substrs->data[2].substr
-#define check_utf8 substrs->data[2].utf8_substr
-#define check_offset_min substrs->data[2].min_offset
-#define check_offset_max substrs->data[2].max_offset
-#define check_end_shift substrs->data[2].end_shift
-
-#define RX_ANCHORED_SUBSTR(rx) ((rx)->anchored_substr)
-#define RX_ANCHORED_UTF8(rx) ((rx)->anchored_utf8)
-#define RX_FLOAT_SUBSTR(rx) ((rx)->float_substr)
-#define RX_FLOAT_UTF8(rx) ((rx)->float_utf8)
-
-/* trie related stuff */
-
-/* a transition record for the state machine. the
- check field determines which state "owns" the
- transition. the char the transition is for is
- determined by offset from the owning states base
- field. the next field determines which state
- is to be transitioned to if any.
-*/
-struct _reg_trie_trans {
- U32 next;
- U32 check;
-};
-
-/* a transition list element for the list based representation */
-struct _reg_trie_trans_list_elem {
- U16 forid;
- U32 newstate;
-};
-typedef struct _reg_trie_trans_list_elem reg_trie_trans_le;
-
-/* a state for compressed nodes. base is an offset
- into an array of reg_trie_trans array. If wordnum is
- nonzero the state is accepting. if base is zero then
- the state has no children (and will be accepting)
-*/
-struct _reg_trie_state {
- U16 wordnum;
- union {
- U32 base;
- reg_trie_trans_le* list;
- } trans;
-};
-
-
-
-typedef struct _reg_trie_state reg_trie_state;
-typedef struct _reg_trie_trans reg_trie_trans;
-
-
-/* anything in here that needs to be freed later
- should be dealt with in pregfree.
- refcount is first in both this and _reg_ac_data to allow a space
- optimisation in Perl_regdupe. */
-struct _reg_trie_data {
- U32 refcount; /* number of times this trie is referenced */
- U32 lasttrans; /* last valid transition element */
- U16 *charmap; /* byte to charid lookup array */
- reg_trie_state *states; /* state data */
- reg_trie_trans *trans; /* array of transition elements */
- char *bitmap; /* stclass bitmap */
- U32 *wordlen; /* array of lengths of words */
- U16 *jump; /* optional 1 indexed array of offsets before tail
- for the node following a given word. */
- U16 *nextword; /* optional 1 indexed array to support linked list
- of duplicate wordnums */
- U16 uniquecharcount; /* unique chars in trie (width of trans table) */
- U32 startstate; /* initial state - used for common prefix optimisation */
- STRLEN minlen; /* minimum length of words in trie - build/opt only? */
- STRLEN maxlen; /* maximum length of words in trie - build/opt only? */
- U32 statecount; /* Build only - number of states in the states array
- (including the unused zero state) */
- U32 wordcount; /* Build only */
-#ifdef DEBUGGING
- STRLEN charcount; /* Build only */
-#endif
-};
-/* There is one (3 under DEBUGGING) pointers that logically belong in this
- structure, but are held outside as they need duplication on thread cloning,
- whereas the rest of the structure can be read only:
- HV *widecharmap; code points > 255 to charid
-#ifdef DEBUGGING
- AV *words; Array of words contained in trie, for dumping
- AV *revcharmap; Map of each charid back to its character representation
-#endif
-*/
-
-#define TRIE_WORDS_OFFSET 2
-
-typedef struct _reg_trie_data reg_trie_data;
-
-/* refcount is first in both this and _reg_trie_data to allow a space
- optimisation in Perl_regdupe. */
-struct _reg_ac_data {
- U32 refcount;
- U32 trie;
- U32 *fail;
- reg_trie_state *states;
-};
-typedef struct _reg_ac_data reg_ac_data;
-
-/* ANY_BIT doesnt use the structure, so we can borrow it here.
- This is simpler than refactoring all of it as wed end up with
- three different sets... */
-
-#define TRIE_BITMAP(p) (((reg_trie_data *)(p))->bitmap)
-#define TRIE_BITMAP_BYTE(p, c) (TRIE_BITMAP(p)[(((U8)(c)) >> 3) & 31])
-#define TRIE_BITMAP_SET(p, c) (TRIE_BITMAP_BYTE(p, c) |= ANYOF_BIT((U8)c))
-#define TRIE_BITMAP_CLEAR(p,c) (TRIE_BITMAP_BYTE(p, c) &= ~ANYOF_BIT((U8)c))
-#define TRIE_BITMAP_TEST(p, c) (TRIE_BITMAP_BYTE(p, c) & ANYOF_BIT((U8)c))
-
-#define IS_ANYOF_TRIE(op) ((op)==TRIEC || (op)==AHOCORASICKC)
-#define IS_TRIE_AC(op) ((op)>=AHOCORASICK)
-
-
-#define BITMAP_BYTE(p, c) (((U8*)p)[(((U8)(c)) >> 3) & 31])
-#define BITMAP_TEST(p, c) (BITMAP_BYTE(p, c) & ANYOF_BIT((U8)c))
-
-/* these defines assume uniquecharcount is the correct variable, and state may be evaluated twice */
-#define TRIE_NODENUM(state) (((state)-1)/(trie->uniquecharcount)+1)
-#define SAFE_TRIE_NODENUM(state) ((state) ? (((state)-1)/(trie->uniquecharcount)+1) : (state))
-#define TRIE_NODEIDX(state) ((state) ? (((state)-1)*(trie->uniquecharcount)+1) : (state))
-
-#ifdef DEBUGGING
-#define TRIE_CHARCOUNT(trie) ((trie)->charcount)
-#else
-#define TRIE_CHARCOUNT(trie) (trie_charcount)
-#endif
-
-#define RE_TRIE_MAXBUF_INIT 65536
-#define RE_TRIE_MAXBUF_NAME "\022E_TRIE_MAXBUF"
-#define RE_DEBUG_FLAGS "\022E_DEBUG_FLAGS"
-
-/*
-
-RE_DEBUG_FLAGS is used to control what debug output is emitted
-its divided into three groups of options, some of which interact.
-The three groups are: Compile, Execute, Extra. There is room for a
-further group, as currently only the low three bytes are used.
-
- Compile Options:
-
- PARSE
- PEEP
- TRIE
- PROGRAM
- OFFSETS
-
- Execute Options:
-
- INTUIT
- MATCH
- TRIE
-
- Extra Options
-
- TRIE
- OFFSETS
-
-If you modify any of these make sure you make corresponding changes to
-re.pm, especially to the documentation.
-
-*/
-
-
-/* Compile */
-#define RE_DEBUG_COMPILE_MASK 0x0000FF
-#define RE_DEBUG_COMPILE_PARSE 0x000001
-#define RE_DEBUG_COMPILE_OPTIMISE 0x000002
-#define RE_DEBUG_COMPILE_TRIE 0x000004
-#define RE_DEBUG_COMPILE_DUMP 0x000008
-#define RE_DEBUG_COMPILE_FLAGS 0x000010
-
-/* Execute */
-#define RE_DEBUG_EXECUTE_MASK 0x00FF00
-#define RE_DEBUG_EXECUTE_INTUIT 0x000100
-#define RE_DEBUG_EXECUTE_MATCH 0x000200
-#define RE_DEBUG_EXECUTE_TRIE 0x000400
-
-/* Extra */
-#define RE_DEBUG_EXTRA_MASK 0xFF0000
-#define RE_DEBUG_EXTRA_TRIE 0x010000
-#define RE_DEBUG_EXTRA_OFFSETS 0x020000
-#define RE_DEBUG_EXTRA_OFFDEBUG 0x040000
-#define RE_DEBUG_EXTRA_STATE 0x080000
-#define RE_DEBUG_EXTRA_OPTIMISE 0x100000
-#define RE_DEBUG_EXTRA_BUFFERS 0x400000
-/* combined */
-#define RE_DEBUG_EXTRA_STACK 0x280000
-
-#define RE_DEBUG_FLAG(x) (re_debug_flags & x)
-/* Compile */
-#define DEBUG_COMPILE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_MASK) x )
-#define DEBUG_PARSE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_PARSE) x )
-#define DEBUG_OPTIMISE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_OPTIMISE) x )
-#define DEBUG_PARSE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_PARSE) x )
-#define DEBUG_DUMP_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_DUMP) x )
-#define DEBUG_TRIE_COMPILE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_TRIE) x )
-#define DEBUG_FLAGS_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_COMPILE_FLAGS) x )
-/* Execute */
-#define DEBUG_EXECUTE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXECUTE_MASK) x )
-#define DEBUG_INTUIT_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXECUTE_INTUIT) x )
-#define DEBUG_MATCH_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXECUTE_MATCH) x )
-#define DEBUG_TRIE_EXECUTE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXECUTE_TRIE) x )
-
-/* Extra */
-#define DEBUG_EXTRA_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_MASK) x )
-#define DEBUG_OFFSETS_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_OFFSETS) x )
-#define DEBUG_STATE_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_STATE) x )
-#define DEBUG_STACK_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_STACK) x )
-#define DEBUG_BUFFERS_r(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_BUFFERS) x )
-
-#define DEBUG_OPTIMISE_MORE_r(x) DEBUG_r( \
- if ((RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE) == \
- (re_debug_flags & (RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE)) ) x )
-#define MJD_OFFSET_DEBUG(x) DEBUG_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_OFFDEBUG) \
- Perl_warn_nocontext x )
-#define DEBUG_TRIE_COMPILE_MORE_r(x) DEBUG_TRIE_COMPILE_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_TRIE) x )
-#define DEBUG_TRIE_EXECUTE_MORE_r(x) DEBUG_TRIE_EXECUTE_r( \
- if (re_debug_flags & RE_DEBUG_EXTRA_TRIE) x )
-
-#define DEBUG_TRIE_r(x) DEBUG_r( \
- if (re_debug_flags & (RE_DEBUG_COMPILE_TRIE \
- | RE_DEBUG_EXECUTE_TRIE )) x )
-
-/* initialization */
-/* get_sv() can return NULL during global destruction. */
-#define GET_RE_DEBUG_FLAGS DEBUG_r({ \
- SV * re_debug_flags_sv = NULL; \
- re_debug_flags_sv = get_sv(RE_DEBUG_FLAGS, 1); \
- if (re_debug_flags_sv) { \
- if (!SvIOK(re_debug_flags_sv)) \
- sv_setuv(re_debug_flags_sv, RE_DEBUG_COMPILE_DUMP | RE_DEBUG_EXECUTE_MASK ); \
- re_debug_flags=SvIV(re_debug_flags_sv); \
- }\
-})
-
-#ifdef DEBUGGING
-
-#define GET_RE_DEBUG_FLAGS_DECL IV re_debug_flags = 0; GET_RE_DEBUG_FLAGS;
-
-#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \
- const char * const rpv = \
- pv_pretty((dsv), (pv), (l), (m), \
- PL_colors[(c1)],PL_colors[(c2)], \
- PERL_PV_ESCAPE_RE |((isuni) ? PERL_PV_ESCAPE_UNI : 0) ); \
- const int rlen = SvCUR(dsv)
-
-#define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m) \
- const char * const rpv = \
- pv_pretty((dsv), (SvPV_nolen_const(sv)), (SvCUR(sv)), (m), \
- PL_colors[(c1)],PL_colors[(c2)], \
- PERL_PV_ESCAPE_RE |((isuni) ? PERL_PV_ESCAPE_UNI : 0) )
-
-#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) \
- const char * const rpv = \
- pv_pretty((dsv), (pv), (l), (m), \
- PL_colors[0], PL_colors[1], \
- ( PERL_PV_PRETTY_QUOTE | PERL_PV_ESCAPE_RE | PERL_PV_PRETTY_ELLIPSES | \
- ((isuni) ? PERL_PV_ESCAPE_UNI : 0)) \
- )
-
-#define RE_SV_DUMPLEN(ItEm) (SvCUR(ItEm) - (SvTAIL(ItEm)!=0))
-#define RE_SV_TAIL(ItEm) (SvTAIL(ItEm) ? "$" : "")
-
-#else /* if not DEBUGGING */
-
-#define GET_RE_DEBUG_FLAGS_DECL
-#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2)
-#define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m)
-#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m)
-#define RE_SV_DUMPLEN(ItEm)
-#define RE_SV_TAIL(ItEm)
-
-#endif /* DEBUG RELATED DEFINES */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regexp.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regexp.h
deleted file mode 100644
index 12de7fd1544..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regexp.h
+++ /dev/null
@@ -1,679 +0,0 @@
-/* regexp.h
- *
- * Copyright (C) 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2003,
- * 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * Definitions etc. for regexp(3) routines.
- *
- * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
- * not the System V one.
- */
-#ifndef PLUGGABLE_RE_EXTENSION
-/* we don't want to include this stuff if we are inside of
- an external regex engine based on the core one - like re 'debug'*/
-
-struct regnode {
- U8 flags;
- U8 type;
- U16 next_off;
-};
-
-typedef struct regnode regnode;
-
-struct reg_substr_data;
-
-struct reg_data;
-
-struct regexp_engine;
-struct regexp;
-
-struct reg_substr_datum {
- I32 min_offset;
- I32 max_offset;
- SV *substr; /* non-utf8 variant */
- SV *utf8_substr; /* utf8 variant */
- I32 end_shift;
-};
-struct reg_substr_data {
- struct reg_substr_datum data[3]; /* Actual array */
-};
-
-#ifdef PERL_OLD_COPY_ON_WRITE
-#define SV_SAVED_COPY SV *saved_copy; /* If non-NULL, SV which is COW from original */
-#else
-#define SV_SAVED_COPY
-#endif
-
-typedef struct regexp_paren_pair {
- I32 start;
- I32 end;
-} regexp_paren_pair;
-
-/*
- The regexp/REGEXP struct, see L<perlreapi> for further documentation
- on the individual fields. The struct is ordered so that the most
- commonly used fields are placed at the start.
-
- Any patch that adds items to this struct will need to include
- changes to F<sv.c> (C<Perl_re_dup()>) and F<regcomp.c>
- (C<pregfree()>). This involves freeing or cloning items in the
- regexp's data array based on the data item's type.
-*/
-
-typedef struct regexp {
- /* what engine created this regexp? */
- const struct regexp_engine* engine;
- struct regexp* mother_re; /* what re is this a lightweight copy of? */
-
- /* Information about the match that the perl core uses to manage things */
- U32 extflags; /* Flags used both externally and internally */
- I32 minlen; /* mininum possible length of string to match */
- I32 minlenret; /* mininum possible length of $& */
- U32 gofs; /* chars left of pos that we search from */
- struct reg_substr_data *substrs; /* substring data about strings that must appear
- in the final match, used for optimisations */
- U32 nparens; /* number of capture buffers */
-
- /* private engine specific data */
- U32 intflags; /* Engine Specific Internal flags */
- void *pprivate; /* Data private to the regex engine which
- created this object. */
-
- /* Data about the last/current match. These are modified during matching*/
- U32 lastparen; /* last open paren matched */
- U32 lastcloseparen; /* last close paren matched */
- regexp_paren_pair *swap; /* Swap copy of *offs */
- regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */
-
- char *subbeg; /* saved or original string
- so \digit works forever. */
- SV_SAVED_COPY /* If non-NULL, SV which is COW from original */
- I32 sublen; /* Length of string pointed by subbeg */
-
-
- /* Information about the match that isn't often used */
- I32 prelen; /* length of precomp */
- const char *precomp; /* pre-compilation regular expression */
- /* wrapped can't be const char*, as it is returned by sv_2pv_flags */
- char *wrapped; /* wrapped version of the pattern */
- I32 wraplen; /* length of wrapped */
- I32 seen_evals; /* number of eval groups in the pattern - for security checks */
- HV *paren_names; /* Optional hash of paren names */
-
- /* Refcount of this regexp */
- I32 refcnt; /* Refcount of this regexp */
-} regexp;
-
-#define RXp_PAREN_NAMES(rx) ((rx)->paren_names)
-
-/* used for high speed searches */
-typedef struct re_scream_pos_data_s
-{
- char **scream_olds; /* match pos */
- I32 *scream_pos; /* Internal iterator of scream. */
-} re_scream_pos_data;
-
-/* regexp_engine structure. This is the dispatch table for regexes.
- * Any regex engine implementation must be able to build one of these.
- */
-typedef struct regexp_engine {
- REGEXP* (*comp) (pTHX_ const SV * const pattern, const U32 flags);
- I32 (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend,
- char* strbeg, I32 minend, SV* screamer,
- void* data, U32 flags);
- char* (*intuit) (pTHX_ REGEXP * const rx, SV *sv, char *strpos,
- char *strend, const U32 flags,
- re_scream_pos_data *data);
- SV* (*checkstr) (pTHX_ REGEXP * const rx);
- void (*free) (pTHX_ REGEXP * const rx);
- void (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren,
- SV * const sv);
- void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren,
- SV const * const value);
- I32 (*numbered_buff_LENGTH) (pTHX_ REGEXP * const rx, const SV * const sv,
- const I32 paren);
- SV* (*named_buff) (pTHX_ REGEXP * const rx, SV * const key,
- SV * const value, const U32 flags);
- SV* (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey,
- const U32 flags);
- SV* (*qr_package)(pTHX_ REGEXP * const rx);
-#ifdef USE_ITHREADS
- void* (*dupe) (pTHX_ REGEXP * const rx, CLONE_PARAMS *param);
-#endif
-} regexp_engine;
-
-/*
- These are passed to the numbered capture variable callbacks as the
- paren name. >= 1 is reserved for actual numbered captures, i.e. $1,
- $2 etc.
-*/
-#define RX_BUFF_IDX_PREMATCH -2 /* $` / ${^PREMATCH} */
-#define RX_BUFF_IDX_POSTMATCH -1 /* $' / ${^POSTMATCH} */
-#define RX_BUFF_IDX_FULLMATCH 0 /* $& / ${^MATCH} */
-
-/*
- Flags that are passed to the named_buff and named_buff_iter
- callbacks above. Those routines are called from universal.c via the
- Tie::Hash::NamedCapture interface for %+ and %- and the re::
- functions in the same file.
-*/
-
-/* The Tie::Hash::NamedCapture operation this is part of, if any */
-#define RXapif_FETCH 0x0001
-#define RXapif_STORE 0x0002
-#define RXapif_DELETE 0x0004
-#define RXapif_CLEAR 0x0008
-#define RXapif_EXISTS 0x0010
-#define RXapif_SCALAR 0x0020
-#define RXapif_FIRSTKEY 0x0040
-#define RXapif_NEXTKEY 0x0080
-
-/* Whether %+ or %- is being operated on */
-#define RXapif_ONE 0x0100 /* %+ */
-#define RXapif_ALL 0x0200 /* %- */
-
-/* Whether this is being called from a re:: function */
-#define RXapif_REGNAME 0x0400
-#define RXapif_REGNAMES 0x0800
-#define RXapif_REGNAMES_COUNT 0x1000
-
-/*
-=head1 REGEXP Functions
-
-=for apidoc Am|REGEXP *|SvRX|SV *sv
-
-Convenience macro to get the REGEXP from a SV. This is approximately
-equivalent to the following snippet:
-
- if (SvMAGICAL(sv))
- mg_get(sv);
- if (SvROK(sv) &&
- (tmpsv = (SV*)SvRV(sv)) &&
- SvTYPE(tmpsv) == SVt_PVMG &&
- (tmpmg = mg_find(tmpsv, PERL_MAGIC_qr)))
- {
- return (REGEXP *)tmpmg->mg_obj;
- }
-
-NULL will be returned if a REGEXP* is not found.
-
-=for apidoc Am|bool|SvRXOK|SV* sv
-
-Returns a boolean indicating whether the SV contains qr magic
-(PERL_MAGIC_qr).
-
-If you want to do something with the REGEXP* later use SvRX instead
-and check for NULL.
-
-=cut
-*/
-
-#define SvRX(sv) (Perl_get_re_arg(aTHX_ sv))
-#define SvRXOK(sv) (Perl_get_re_arg(aTHX_ sv) ? TRUE : FALSE)
-
-
-/* Flags stored in regexp->extflags
- * These are used by code external to the regexp engine
- *
- * Note that flags starting with RXf_PMf_ have exact equivalents
- * stored in op_pmflags and which are defined in op.h, they are defined
- * numerically here only for clarity.
- *
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
- *
- */
-
-/* Anchor and GPOS related stuff */
-#define RXf_ANCH_BOL 0x00000001
-#define RXf_ANCH_MBOL 0x00000002
-#define RXf_ANCH_SBOL 0x00000004
-#define RXf_ANCH_GPOS 0x00000008
-#define RXf_GPOS_SEEN 0x00000010
-#define RXf_GPOS_FLOAT 0x00000020
-/* two bits here */
-#define RXf_ANCH (RXf_ANCH_BOL|RXf_ANCH_MBOL|RXf_ANCH_GPOS|RXf_ANCH_SBOL)
-#define RXf_GPOS_CHECK (RXf_GPOS_SEEN|RXf_ANCH_GPOS)
-#define RXf_ANCH_SINGLE (RXf_ANCH_SBOL|RXf_ANCH_GPOS)
-
-/* Flags indicating special patterns */
-#define RXf_SKIPWHITE 0x00000100 /* Pattern is for a split / / */
-#define RXf_START_ONLY 0x00000200 /* Pattern is /^/ */
-#define RXf_WHITE 0x00000400 /* Pattern is /\s+/ */
-#define RXf_NULL 0x40000000 /* Pattern is // */
-
-/* 0x1F800 of extflags is used by (RXf_)PMf_COMPILETIME
- * If you change these you need to change the equivalent flags in op.h, and
- * vice versa. */
-#define RXf_PMf_LOCALE 0x00000800 /* use locale */
-#define RXf_PMf_MULTILINE 0x00001000 /* /m */
-#define RXf_PMf_SINGLELINE 0x00002000 /* /s */
-#define RXf_PMf_FOLD 0x00004000 /* /i */
-#define RXf_PMf_EXTENDED 0x00008000 /* /x */
-#define RXf_PMf_KEEPCOPY 0x00010000 /* /p */
-/* these flags are transfered from the PMOP->op_pmflags member during compilation */
-#define RXf_PMf_STD_PMMOD_SHIFT 12
-#define RXf_PMf_STD_PMMOD (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED)
-#define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_LOCALE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY)
-
-#define CASE_STD_PMMOD_FLAGS_PARSE_SET(pmfl) \
- case IGNORE_PAT_MOD: *(pmfl) |= RXf_PMf_FOLD; break; \
- case MULTILINE_PAT_MOD: *(pmfl) |= RXf_PMf_MULTILINE; break; \
- case SINGLE_PAT_MOD: *(pmfl) |= RXf_PMf_SINGLELINE; break; \
- case XTENDED_PAT_MOD: *(pmfl) |= RXf_PMf_EXTENDED; break
-
-/* chars and strings used as regex pattern modifiers
- * Singlular is a 'c'har, plural is a "string"
- *
- * NOTE, KEEPCOPY was originally 'k', but was changed to 'p' for preserve
- * for compatibility reasons with Regexp::Common which highjacked (?k:...)
- * for its own uses. So 'k' is out as well.
- */
-#define EXEC_PAT_MOD 'e'
-#define KEEPCOPY_PAT_MOD 'p'
-#define ONCE_PAT_MOD 'o'
-#define GLOBAL_PAT_MOD 'g'
-#define CONTINUE_PAT_MOD 'c'
-#define MULTILINE_PAT_MOD 'm'
-#define SINGLE_PAT_MOD 's'
-#define IGNORE_PAT_MOD 'i'
-#define XTENDED_PAT_MOD 'x'
-
-#define ONCE_PAT_MODS "o"
-#define KEEPCOPY_PAT_MODS "p"
-#define EXEC_PAT_MODS "e"
-#define LOOP_PAT_MODS "gc"
-
-#define STD_PAT_MODS "msix"
-
-#define INT_PAT_MODS STD_PAT_MODS KEEPCOPY_PAT_MODS
-
-#define EXT_PAT_MODS ONCE_PAT_MODS KEEPCOPY_PAT_MODS
-#define QR_PAT_MODS STD_PAT_MODS EXT_PAT_MODS
-#define M_PAT_MODS QR_PAT_MODS LOOP_PAT_MODS
-#define S_PAT_MODS M_PAT_MODS EXEC_PAT_MODS
-
-/*
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
- *
- */
-
-/* What we have seen */
-#define RXf_LOOKBEHIND_SEEN 0x00020000
-#define RXf_EVAL_SEEN 0x00040000
-#define RXf_CANY_SEEN 0x00080000
-
-/* Special */
-#define RXf_NOSCAN 0x00100000
-#define RXf_CHECK_ALL 0x00200000
-
-/* UTF8 related */
-#define RXf_UTF8 0x00400000
-#define RXf_MATCH_UTF8 0x00800000
-
-/* Intuit related */
-#define RXf_USE_INTUIT_NOML 0x01000000
-#define RXf_USE_INTUIT_ML 0x02000000
-#define RXf_INTUIT_TAIL 0x04000000
-
-/*
- Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
- be used by regex engines to check whether they should set
- RXf_SKIPWHITE
-*/
-#define RXf_SPLIT 0x08000000
-
-#define RXf_USE_INTUIT (RXf_USE_INTUIT_NOML|RXf_USE_INTUIT_ML)
-
-/* Copy and tainted info */
-#define RXf_COPY_DONE 0x10000000
-#define RXf_TAINTED_SEEN 0x20000000
-#define RXf_TAINTED 0x80000000 /* this pattern is tainted */
-
-/*
- * NOTE: if you modify any RXf flags you should run regen.pl or regcomp.pl
- * so that regnodes.h is updated with the changes.
- *
- */
-
-#define RX_HAS_CUTGROUP(prog) ((prog)->intflags & PREGf_CUTGROUP_SEEN)
-#define RXp_MATCH_TAINTED(prog) (RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED(prog) (RX_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED_on(prog) (RX_EXTFLAGS(prog) |= RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED_off(prog) (RX_EXTFLAGS(prog) &= ~RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED_set(prog, t) ((t) \
- ? RX_MATCH_TAINTED_on(prog) \
- : RX_MATCH_TAINTED_off(prog))
-
-#define RXp_MATCH_COPIED(prog) (RXp_EXTFLAGS(prog) & RXf_COPY_DONE)
-#define RX_MATCH_COPIED(prog) (RX_EXTFLAGS(prog) & RXf_COPY_DONE)
-#define RXp_MATCH_COPIED_on(prog) (RXp_EXTFLAGS(prog) |= RXf_COPY_DONE)
-#define RX_MATCH_COPIED_on(prog) (RX_EXTFLAGS(prog) |= RXf_COPY_DONE)
-#define RXp_MATCH_COPIED_off(prog) (RXp_EXTFLAGS(prog) &= ~RXf_COPY_DONE)
-#define RX_MATCH_COPIED_off(prog) (RX_EXTFLAGS(prog) &= ~RXf_COPY_DONE)
-#define RX_MATCH_COPIED_set(prog,t) ((t) \
- ? RX_MATCH_COPIED_on(prog) \
- : RX_MATCH_COPIED_off(prog))
-
-#define RXp_EXTFLAGS(rx) ((rx)->extflags)
-
-#define RX_PRECOMP(prog) ((prog)->precomp)
-#define RX_PRELEN(prog) ((prog)->prelen)
-#define RX_WRAPPED(prog) ((prog)->wrapped)
-#define RX_WRAPLEN(prog) ((prog)->wraplen)
-#define RX_CHECK_SUBSTR(prog) ((prog)->check_substr)
-#define RX_EXTFLAGS(prog) ((prog)->extflags)
-#define RX_REFCNT(prog) ((prog)->refcnt)
-#define RX_ENGINE(prog) ((prog)->engine)
-#define RX_SUBBEG(prog) ((prog)->subbeg)
-#define RX_OFFS(prog) ((prog)->offs)
-#define RX_NPARENS(prog) ((prog)->nparens)
-#define RX_SUBLEN(prog) ((prog)->sublen)
-#define RX_SUBBEG(prog) ((prog)->subbeg)
-#define RX_MINLEN(prog) ((prog)->minlen)
-#define RX_MINLENRET(prog) ((prog)->minlenret)
-#define RX_GOFS(prog) ((prog)->gofs)
-#define RX_LASTPAREN(prog) ((prog)->lastparen)
-#define RX_LASTCLOSEPAREN(prog) ((prog)->lastcloseparen)
-#define RX_SEEN_EVALS(prog) ((prog)->seen_evals)
-
-#endif /* PLUGGABLE_RE_EXTENSION */
-
-/* Stuff that needs to be included in the plugable extension goes below here */
-
-#ifdef PERL_OLD_COPY_ON_WRITE
-#define RX_MATCH_COPY_FREE(rx) \
- STMT_START {if (rx->saved_copy) { \
- SV_CHECK_THINKFIRST_COW_DROP(rx->saved_copy); \
- } \
- if (RX_MATCH_COPIED(rx)) { \
- Safefree(RX_SUBBEG(rx)); \
- RX_MATCH_COPIED_off(rx); \
- }} STMT_END
-#else
-#define RX_MATCH_COPY_FREE(rx) \
- STMT_START {if (RX_MATCH_COPIED(rx)) { \
- Safefree(RX_SUBBEG(rx)); \
- RX_MATCH_COPIED_off(rx); \
- }} STMT_END
-#endif
-
-#define RXp_MATCH_UTF8(prog) (RXp_EXTFLAGS(prog) & RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8(prog) (RX_EXTFLAGS(prog) & RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_on(prog) (RX_EXTFLAGS(prog) |= RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_off(prog) (RX_EXTFLAGS(prog) &= ~RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_set(prog, t) ((t) \
- ? (RX_MATCH_UTF8_on(prog), (PL_reg_match_utf8 = 1)) \
- : (RX_MATCH_UTF8_off(prog), (PL_reg_match_utf8 = 0)))
-
-/* Whether the pattern stored at RX_WRAPPED is in UTF-8 */
-#define RX_UTF8(prog) (RX_EXTFLAGS(prog) & RXf_UTF8)
-
-#define REXEC_COPY_STR 0x01 /* Need to copy the string. */
-#define REXEC_CHECKED 0x02 /* check_substr already checked. */
-#define REXEC_SCREAM 0x04 /* use scream table. */
-#define REXEC_IGNOREPOS 0x08 /* \G matches at start. */
-#define REXEC_NOT_FIRST 0x10 /* This is another iteration of //g. */
-
-#define ReREFCNT_inc(re) ((void)(re && re->refcnt++), re)
-#define ReREFCNT_dec(re) CALLREGFREE(re)
-
-#define FBMcf_TAIL_DOLLAR 1
-#define FBMcf_TAIL_DOLLARM 2
-#define FBMcf_TAIL_Z 4
-#define FBMcf_TAIL_z 8
-#define FBMcf_TAIL (FBMcf_TAIL_DOLLAR|FBMcf_TAIL_DOLLARM|FBMcf_TAIL_Z|FBMcf_TAIL_z)
-
-#define FBMrf_MULTILINE 1
-
-/* an accepting state/position*/
-struct _reg_trie_accepted {
- U8 *endpos;
- U16 wordnum;
-};
-typedef struct _reg_trie_accepted reg_trie_accepted;
-
-/* some basic information about the current match that is created by
- * Perl_regexec_flags and then passed to regtry(), regmatch() etc */
-
-typedef struct {
- regexp *prog;
- char *bol;
- char *till;
- SV *sv;
- char *ganch;
- char *cutpoint;
-} regmatch_info;
-
-
-/* structures for holding and saving the state maintained by regmatch() */
-
-#ifndef MAX_RECURSE_EVAL_NOCHANGE_DEPTH
-#define MAX_RECURSE_EVAL_NOCHANGE_DEPTH 1000
-#endif
-
-typedef I32 CHECKPOINT;
-
-typedef struct regmatch_state {
- int resume_state; /* where to jump to on return */
- char *locinput; /* where to backtrack in string on failure */
-
- union {
-
- /* this is a fake union member that matches the first element
- * of each member that needs to store positive backtrack
- * information */
- struct {
- struct regmatch_state *prev_yes_state;
- } yes;
-
- /* branchlike members */
- /* this is a fake union member that matches the first elements
- * of each member that needs to behave like a branch */
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- U32 lastparen;
- CHECKPOINT cp;
-
- } branchlike;
-
- struct {
- /* the first elements must match u.branchlike */
- struct regmatch_state *prev_yes_state;
- U32 lastparen;
- CHECKPOINT cp;
-
- regnode *next_branch; /* next branch node */
- } branch;
-
- struct {
- /* the first elements must match u.branchlike */
- struct regmatch_state *prev_yes_state;
- U32 lastparen;
- CHECKPOINT cp;
-
- reg_trie_accepted *accept_buff; /* accepting states we have seen */
- U32 accepted; /* how many accepting states we have seen */
- U16 *jump; /* positive offsets from me */
- regnode *B; /* node following the trie */
- regnode *me; /* Which node am I - needed for jump tries*/
- } trie;
-
- /* special types - these members are used to store state for special
- regops like eval, if/then, lookaround and the markpoint state */
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- struct regmatch_state *prev_eval;
- struct regmatch_state *prev_curlyx;
- regexp *prev_rex;
- U32 toggle_reg_flags; /* what bits in PL_reg_flags to
- flip when transitioning between
- inner and outer rexen */
- CHECKPOINT cp; /* remember current savestack indexes */
- CHECKPOINT lastcp;
- U32 close_paren; /* which close bracket is our end */
- regnode *B; /* the node following us */
- } eval;
-
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- I32 wanted;
- I32 logical; /* saved copy of 'logical' var */
- regnode *me; /* the IFMATCH/SUSPEND/UNLESSM node */
- } ifmatch; /* and SUSPEND/UNLESSM */
-
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- struct regmatch_state *prev_mark;
- SV* mark_name;
- char *mark_loc;
- } mark;
-
- struct {
- int val;
- } keeper;
-
- /* quantifiers - these members are used for storing state for
- for the regops used to implement quantifiers */
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- struct regmatch_state *prev_curlyx; /* previous cur_curlyx */
- regnode *A, *B; /* the nodes corresponding to /A*B/ */
- CHECKPOINT cp; /* remember current savestack index */
- bool minmod;
- int parenfloor;/* how far back to strip paren data */
- int min; /* the minimal number of A's to match */
- int max; /* the maximal number of A's to match */
-
- /* these two are modified by WHILEM */
- int count; /* how many instances of A we've matched */
- char *lastloc;/* where previous A matched (0-len detect) */
- } curlyx;
-
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- struct regmatch_state *save_curlyx;
- CHECKPOINT cp; /* remember current savestack indexes */
- CHECKPOINT lastcp;
- char *save_lastloc; /* previous curlyx.lastloc */
- I32 cache_offset;
- I32 cache_mask;
- } whilem;
-
- struct {
- /* this first element must match u.yes */
- struct regmatch_state *prev_yes_state;
- I32 c1, c2; /* case fold search */
- CHECKPOINT cp;
- I32 alen; /* length of first-matched A string */
- I32 count;
- bool minmod;
- regnode *A, *B; /* the nodes corresponding to /A*B/ */
- regnode *me; /* the curlym node */
- } curlym;
-
- struct {
- U32 paren;
- CHECKPOINT cp;
- I32 c1, c2; /* case fold search */
- char *maxpos; /* highest possible point in string to match */
- char *oldloc; /* the previous locinput */
- int count;
- int min, max; /* {m,n} */
- regnode *A, *B; /* the nodes corresponding to /A*B/ */
- } curly; /* and CURLYN/PLUS/STAR */
-
- } u;
-} regmatch_state;
-
-/* how many regmatch_state structs to allocate as a single slab.
- * We do it in 4K blocks for efficiency. The "3" is 2 for the next/prev
- * pointers, plus 1 for any mythical malloc overhead. */
-
-#define PERL_REGMATCH_SLAB_SLOTS \
- ((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))
-
-typedef struct regmatch_slab {
- regmatch_state states[PERL_REGMATCH_SLAB_SLOTS];
- struct regmatch_slab *prev, *next;
-} regmatch_slab;
-
-#define PL_reg_flags PL_reg_state.re_state_reg_flags
-#define PL_bostr PL_reg_state.re_state_bostr
-#define PL_reginput PL_reg_state.re_state_reginput
-#define PL_regeol PL_reg_state.re_state_regeol
-#define PL_regoffs PL_reg_state.re_state_regoffs
-#define PL_reglastparen PL_reg_state.re_state_reglastparen
-#define PL_reglastcloseparen PL_reg_state.re_state_reglastcloseparen
-#define PL_reg_start_tmp PL_reg_state.re_state_reg_start_tmp
-#define PL_reg_start_tmpl PL_reg_state.re_state_reg_start_tmpl
-#define PL_reg_eval_set PL_reg_state.re_state_reg_eval_set
-#define PL_reg_match_utf8 PL_reg_state.re_state_reg_match_utf8
-#define PL_reg_magic PL_reg_state.re_state_reg_magic
-#define PL_reg_oldpos PL_reg_state.re_state_reg_oldpos
-#define PL_reg_oldcurpm PL_reg_state.re_state_reg_oldcurpm
-#define PL_reg_curpm PL_reg_state.re_state_reg_curpm
-#define PL_reg_oldsaved PL_reg_state.re_state_reg_oldsaved
-#define PL_reg_oldsavedlen PL_reg_state.re_state_reg_oldsavedlen
-#define PL_reg_maxiter PL_reg_state.re_state_reg_maxiter
-#define PL_reg_leftiter PL_reg_state.re_state_reg_leftiter
-#define PL_reg_poscache PL_reg_state.re_state_reg_poscache
-#define PL_reg_poscache_size PL_reg_state.re_state_reg_poscache_size
-#define PL_regsize PL_reg_state.re_state_regsize
-#define PL_reg_starttry PL_reg_state.re_state_reg_starttry
-#define PL_nrs PL_reg_state.re_state_nrs
-
-struct re_save_state {
- U32 re_state_reg_flags; /* from regexec.c */
- U32 re_state_reg_start_tmpl; /* from regexec.c */
- I32 re_state_reg_eval_set; /* from regexec.c */
- bool re_state_reg_match_utf8; /* from regexec.c */
- char *re_state_bostr;
- char *re_state_reginput; /* String-input pointer. */
- char *re_state_regeol; /* End of input, for $ check. */
- regexp_paren_pair *re_state_regoffs; /* Pointer to start/end pairs */
- U32 *re_state_reglastparen; /* Similarly for lastparen. */
- U32 *re_state_reglastcloseparen; /* Similarly for lastcloseparen. */
- char **re_state_reg_start_tmp; /* from regexec.c */
- MAGIC *re_state_reg_magic; /* from regexec.c */
- PMOP *re_state_reg_oldcurpm; /* from regexec.c */
- PMOP *re_state_reg_curpm; /* from regexec.c */
- char *re_state_reg_oldsaved; /* old saved substr during match */
- STRLEN re_state_reg_oldsavedlen; /* old length of saved substr during match */
- STRLEN re_state_reg_poscache_size; /* size of pos cache of WHILEM */
- I32 re_state_reg_oldpos; /* from regexec.c */
- I32 re_state_reg_maxiter; /* max wait until caching pos */
- I32 re_state_reg_leftiter; /* wait until caching pos */
- U32 re_state_regsize; /* from regexec.c */
- char *re_state_reg_poscache; /* cache of pos of WHILEM */
- char *re_state_reg_starttry; /* from regexec.c */
-#ifdef PERL_OLD_COPY_ON_WRITE
- SV *re_state_nrs; /* was placeholder: unused since 5.8.0 (5.7.2 patch #12027 for bug ID 20010815.012). Used to save rx->saved_copy */
-#endif
-};
-
-#define SAVESTACK_ALLOC_FOR_RE_SAVE_STATE \
- (1 + ((sizeof(struct re_save_state) - 1) / sizeof(*PL_savestack)))
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regnodes.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regnodes.h
deleted file mode 100644
index 1697a12973c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/regnodes.h
+++ /dev/null
@@ -1,664 +0,0 @@
-/* -*- buffer-read-only: t -*-
- !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by regcomp.pl from regcomp.sym.
- Any changes made here will be lost!
-*/
-
-/* Regops and State definitions */
-
-#define REGNODE_MAX 90
-#define REGMATCH_STATE_MAX 130
-
-#define END 0 /* 0000 End of program. */
-#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
-#define BOL 2 /* 0x02 Match "" at beginning of line. */
-#define MBOL 3 /* 0x03 Same, assuming multiline. */
-#define SBOL 4 /* 0x04 Same, assuming singleline. */
-#define EOS 5 /* 0x05 Match "" at end of string. */
-#define EOL 6 /* 0x06 Match "" at end of line. */
-#define MEOL 7 /* 0x07 Same, assuming multiline. */
-#define SEOL 8 /* 0x08 Same, assuming singleline. */
-#define BOUND 9 /* 0x09 Match "" at any word boundary */
-#define BOUNDL 10 /* 0x0a Match "" at any word boundary */
-#define NBOUND 11 /* 0x0b Match "" at any word non-boundary */
-#define NBOUNDL 12 /* 0x0c Match "" at any word non-boundary */
-#define GPOS 13 /* 0x0d Matches where last m//g left off. */
-#define REG_ANY 14 /* 0x0e Match any one character (except newline). */
-#define SANY 15 /* 0x0f Match any one character. */
-#define CANY 16 /* 0x10 Match any one byte. */
-#define ANYOF 17 /* 0x11 Match character in (or not in) this class. */
-#define ALNUM 18 /* 0x12 Match any alphanumeric character */
-#define ALNUML 19 /* 0x13 Match any alphanumeric char in locale */
-#define NALNUM 20 /* 0x14 Match any non-alphanumeric character */
-#define NALNUML 21 /* 0x15 Match any non-alphanumeric char in locale */
-#define SPACE 22 /* 0x16 Match any whitespace character */
-#define SPACEL 23 /* 0x17 Match any whitespace char in locale */
-#define NSPACE 24 /* 0x18 Match any non-whitespace character */
-#define NSPACEL 25 /* 0x19 Match any non-whitespace char in locale */
-#define DIGIT 26 /* 0x1a Match any numeric character */
-#define DIGITL 27 /* 0x1b Match any numeric character in locale */
-#define NDIGIT 28 /* 0x1c Match any non-numeric character */
-#define NDIGITL 29 /* 0x1d Match any non-numeric character in locale */
-#define CLUMP 30 /* 0x1e Match any combining character sequence */
-#define BRANCH 31 /* 0x1f Match this alternative, or the next... */
-#define BACK 32 /* 0x20 Match "", "next" ptr points backward. */
-#define EXACT 33 /* 0x21 Match this string (preceded by length). */
-#define EXACTF 34 /* 0x22 Match this string, folded (prec. by length). */
-#define EXACTFL 35 /* 0x23 Match this string, folded in locale (w/len). */
-#define NOTHING 36 /* 0x24 Match empty string. */
-#define TAIL 37 /* 0x25 Match empty string. Can jump here from outside. */
-#define STAR 38 /* 0x26 Match this (simple) thing 0 or more times. */
-#define PLUS 39 /* 0x27 Match this (simple) thing 1 or more times. */
-#define CURLY 40 /* 0x28 Match this simple thing {n,m} times. */
-#define CURLYN 41 /* 0x29 Capture next-after-this simple thing */
-#define CURLYM 42 /* 0x2a Capture this medium-complex thing {n,m} times. */
-#define CURLYX 43 /* 0x2b Match this complex thing {n,m} times. */
-#define WHILEM 44 /* 0x2c Do curly processing and see if rest matches. */
-#define OPEN 45 /* 0x2d Mark this point in input as start of */
-#define CLOSE 46 /* 0x2e Analogous to OPEN. */
-#define REF 47 /* 0x2f Match some already matched string */
-#define REFF 48 /* 0x30 Match already matched string, folded */
-#define REFFL 49 /* 0x31 Match already matched string, folded in loc. */
-#define IFMATCH 50 /* 0x32 Succeeds if the following matches. */
-#define UNLESSM 51 /* 0x33 Fails if the following matches. */
-#define SUSPEND 52 /* 0x34 "Independent" sub-RE. */
-#define IFTHEN 53 /* 0x35 Switch, should be preceeded by switcher . */
-#define GROUPP 54 /* 0x36 Whether the group matched. */
-#define LONGJMP 55 /* 0x37 Jump far away. */
-#define BRANCHJ 56 /* 0x38 BRANCH with long offset. */
-#define EVAL 57 /* 0x39 Execute some Perl code. */
-#define MINMOD 58 /* 0x3a Next operator is not greedy. */
-#define LOGICAL 59 /* 0x3b Next opcode should set the flag only. */
-#define RENUM 60 /* 0x3c Group with independently numbered parens. */
-#define TRIE 61 /* 0x3d Match many EXACT(FL?)? at once. flags==type */
-#define TRIEC 62 /* 0x3e Same as TRIE, but with embedded charclass data */
-#define AHOCORASICK 63 /* 0x3f Aho Corasick stclass. flags==type */
-#define AHOCORASICKC 64 /* 0x40 Same as AHOCORASICK, but with embedded charclass data */
-#define GOSUB 65 /* 0x41 recurse to paren arg1 at (signed) ofs arg2 */
-#define GOSTART 66 /* 0x42 recurse to start of pattern */
-#define NREF 67 /* 0x43 Match some already matched string */
-#define NREFF 68 /* 0x44 Match already matched string, folded */
-#define NREFFL 69 /* 0x45 Match already matched string, folded in loc. */
-#define NGROUPP 70 /* 0x46 Whether the group matched. */
-#define INSUBP 71 /* 0x47 Whether we are in a specific recurse. */
-#define DEFINEP 72 /* 0x48 Never execute directly. */
-#define ENDLIKE 73 /* 0x49 Used only for the type field of verbs */
-#define OPFAIL 74 /* 0x4a Same as (?!) */
-#define ACCEPT 75 /* 0x4b Accepts the current matched string. */
-#define VERB 76 /* 0x4c no-sv 1 Used only for the type field of verbs */
-#define PRUNE 77 /* 0x4d Pattern fails at this startpoint if no-backtracking through this */
-#define MARKPOINT 78 /* 0x4e Push the current location for rollback by cut. */
-#define SKIP 79 /* 0x4f On failure skip forward (to the mark) before retrying */
-#define COMMIT 80 /* 0x50 Pattern fails outright if backtracking through this */
-#define CUTGROUP 81 /* 0x51 On failure go to the next alternation in the group */
-#define KEEPS 82 /* 0x52 $& begins here. */
-#define LNBREAK 83 /* 0x53 generic newline pattern */
-#define VERTWS 84 /* 0x54 vertical whitespace (Perl 6) */
-#define NVERTWS 85 /* 0x55 not vertical whitespace (Perl 6) */
-#define HORIZWS 86 /* 0x56 horizontal whitespace (Perl 6) */
-#define NHORIZWS 87 /* 0x57 not horizontal whitespace (Perl 6) */
-#define FOLDCHAR 88 /* 0x58 codepoint with tricky case folding properties. */
-#define OPTIMIZED 89 /* 0x59 Placeholder for dump. */
-#define PSEUDO 90 /* 0x5a Pseudo opcode for internal use. */
- /* ------------ States ------------- */
-#define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */
-#define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */
-#define EVAL_AB (REGNODE_MAX + 3) /* state for EVAL */
-#define EVAL_AB_fail (REGNODE_MAX + 4) /* state for EVAL */
-#define CURLYX_end (REGNODE_MAX + 5) /* state for CURLYX */
-#define CURLYX_end_fail (REGNODE_MAX + 6) /* state for CURLYX */
-#define WHILEM_A_pre (REGNODE_MAX + 7) /* state for WHILEM */
-#define WHILEM_A_pre_fail (REGNODE_MAX + 8) /* state for WHILEM */
-#define WHILEM_A_min (REGNODE_MAX + 9) /* state for WHILEM */
-#define WHILEM_A_min_fail (REGNODE_MAX + 10) /* state for WHILEM */
-#define WHILEM_A_max (REGNODE_MAX + 11) /* state for WHILEM */
-#define WHILEM_A_max_fail (REGNODE_MAX + 12) /* state for WHILEM */
-#define WHILEM_B_min (REGNODE_MAX + 13) /* state for WHILEM */
-#define WHILEM_B_min_fail (REGNODE_MAX + 14) /* state for WHILEM */
-#define WHILEM_B_max (REGNODE_MAX + 15) /* state for WHILEM */
-#define WHILEM_B_max_fail (REGNODE_MAX + 16) /* state for WHILEM */
-#define BRANCH_next (REGNODE_MAX + 17) /* state for BRANCH */
-#define BRANCH_next_fail (REGNODE_MAX + 18) /* state for BRANCH */
-#define CURLYM_A (REGNODE_MAX + 19) /* state for CURLYM */
-#define CURLYM_A_fail (REGNODE_MAX + 20) /* state for CURLYM */
-#define CURLYM_B (REGNODE_MAX + 21) /* state for CURLYM */
-#define CURLYM_B_fail (REGNODE_MAX + 22) /* state for CURLYM */
-#define IFMATCH_A (REGNODE_MAX + 23) /* state for IFMATCH */
-#define IFMATCH_A_fail (REGNODE_MAX + 24) /* state for IFMATCH */
-#define CURLY_B_min_known (REGNODE_MAX + 25) /* state for CURLY */
-#define CURLY_B_min_known_fail (REGNODE_MAX + 26) /* state for CURLY */
-#define CURLY_B_min (REGNODE_MAX + 27) /* state for CURLY */
-#define CURLY_B_min_fail (REGNODE_MAX + 28) /* state for CURLY */
-#define CURLY_B_max (REGNODE_MAX + 29) /* state for CURLY */
-#define CURLY_B_max_fail (REGNODE_MAX + 30) /* state for CURLY */
-#define COMMIT_next (REGNODE_MAX + 31) /* state for COMMIT */
-#define COMMIT_next_fail (REGNODE_MAX + 32) /* state for COMMIT */
-#define MARKPOINT_next (REGNODE_MAX + 33) /* state for MARKPOINT */
-#define MARKPOINT_next_fail (REGNODE_MAX + 34) /* state for MARKPOINT */
-#define SKIP_next (REGNODE_MAX + 35) /* state for SKIP */
-#define SKIP_next_fail (REGNODE_MAX + 36) /* state for SKIP */
-#define CUTGROUP_next (REGNODE_MAX + 37) /* state for CUTGROUP */
-#define CUTGROUP_next_fail (REGNODE_MAX + 38) /* state for CUTGROUP */
-#define KEEPS_next (REGNODE_MAX + 39) /* state for KEEPS */
-#define KEEPS_next_fail (REGNODE_MAX + 40) /* state for KEEPS */
-
-/* PL_regkind[] What type of regop or state is this. */
-
-#ifndef DOINIT
-EXTCONST U8 PL_regkind[];
-#else
-EXTCONST U8 PL_regkind[] = {
- END, /* END */
- END, /* SUCCEED */
- BOL, /* BOL */
- BOL, /* MBOL */
- BOL, /* SBOL */
- EOL, /* EOS */
- EOL, /* EOL */
- EOL, /* MEOL */
- EOL, /* SEOL */
- BOUND, /* BOUND */
- BOUND, /* BOUNDL */
- NBOUND, /* NBOUND */
- NBOUND, /* NBOUNDL */
- GPOS, /* GPOS */
- REG_ANY, /* REG_ANY */
- REG_ANY, /* SANY */
- REG_ANY, /* CANY */
- ANYOF, /* ANYOF */
- ALNUM, /* ALNUM */
- ALNUM, /* ALNUML */
- NALNUM, /* NALNUM */
- NALNUM, /* NALNUML */
- SPACE, /* SPACE */
- SPACE, /* SPACEL */
- NSPACE, /* NSPACE */
- NSPACE, /* NSPACEL */
- DIGIT, /* DIGIT */
- DIGIT, /* DIGITL */
- NDIGIT, /* NDIGIT */
- NDIGIT, /* NDIGITL */
- CLUMP, /* CLUMP */
- BRANCH, /* BRANCH */
- BACK, /* BACK */
- EXACT, /* EXACT */
- EXACT, /* EXACTF */
- EXACT, /* EXACTFL */
- NOTHING, /* NOTHING */
- NOTHING, /* TAIL */
- STAR, /* STAR */
- PLUS, /* PLUS */
- CURLY, /* CURLY */
- CURLY, /* CURLYN */
- CURLY, /* CURLYM */
- CURLY, /* CURLYX */
- WHILEM, /* WHILEM */
- OPEN, /* OPEN */
- CLOSE, /* CLOSE */
- REF, /* REF */
- REF, /* REFF */
- REF, /* REFFL */
- BRANCHJ, /* IFMATCH */
- BRANCHJ, /* UNLESSM */
- BRANCHJ, /* SUSPEND */
- BRANCHJ, /* IFTHEN */
- GROUPP, /* GROUPP */
- LONGJMP, /* LONGJMP */
- BRANCHJ, /* BRANCHJ */
- EVAL, /* EVAL */
- MINMOD, /* MINMOD */
- LOGICAL, /* LOGICAL */
- BRANCHJ, /* RENUM */
- TRIE, /* TRIE */
- TRIE, /* TRIEC */
- TRIE, /* AHOCORASICK */
- TRIE, /* AHOCORASICKC */
- GOSUB, /* GOSUB */
- GOSTART, /* GOSTART */
- REF, /* NREF */
- REF, /* NREFF */
- REF, /* NREFFL */
- NGROUPP, /* NGROUPP */
- INSUBP, /* INSUBP */
- DEFINEP, /* DEFINEP */
- ENDLIKE, /* ENDLIKE */
- ENDLIKE, /* OPFAIL */
- ENDLIKE, /* ACCEPT */
- VERB, /* VERB */
- VERB, /* PRUNE */
- VERB, /* MARKPOINT */
- VERB, /* SKIP */
- VERB, /* COMMIT */
- VERB, /* CUTGROUP */
- KEEPS, /* KEEPS */
- LNBREAK, /* LNBREAK */
- VERTWS, /* VERTWS */
- NVERTWS, /* NVERTWS */
- HORIZWS, /* HORIZWS */
- NHORIZWS, /* NHORIZWS */
- FOLDCHAR, /* FOLDCHAR */
- NOTHING, /* OPTIMIZED */
- PSEUDO, /* PSEUDO */
- /* ------------ States ------------- */
- TRIE, /* TRIE_next */
- TRIE, /* TRIE_next_fail */
- EVAL, /* EVAL_AB */
- EVAL, /* EVAL_AB_fail */
- CURLYX, /* CURLYX_end */
- CURLYX, /* CURLYX_end_fail */
- WHILEM, /* WHILEM_A_pre */
- WHILEM, /* WHILEM_A_pre_fail */
- WHILEM, /* WHILEM_A_min */
- WHILEM, /* WHILEM_A_min_fail */
- WHILEM, /* WHILEM_A_max */
- WHILEM, /* WHILEM_A_max_fail */
- WHILEM, /* WHILEM_B_min */
- WHILEM, /* WHILEM_B_min_fail */
- WHILEM, /* WHILEM_B_max */
- WHILEM, /* WHILEM_B_max_fail */
- BRANCH, /* BRANCH_next */
- BRANCH, /* BRANCH_next_fail */
- CURLYM, /* CURLYM_A */
- CURLYM, /* CURLYM_A_fail */
- CURLYM, /* CURLYM_B */
- CURLYM, /* CURLYM_B_fail */
- IFMATCH, /* IFMATCH_A */
- IFMATCH, /* IFMATCH_A_fail */
- CURLY, /* CURLY_B_min_known */
- CURLY, /* CURLY_B_min_known_fail */
- CURLY, /* CURLY_B_min */
- CURLY, /* CURLY_B_min_fail */
- CURLY, /* CURLY_B_max */
- CURLY, /* CURLY_B_max_fail */
- COMMIT, /* COMMIT_next */
- COMMIT, /* COMMIT_next_fail */
- MARKPOINT, /* MARKPOINT_next */
- MARKPOINT, /* MARKPOINT_next_fail */
- SKIP, /* SKIP_next */
- SKIP, /* SKIP_next_fail */
- CUTGROUP, /* CUTGROUP_next */
- CUTGROUP, /* CUTGROUP_next_fail */
- KEEPS, /* KEEPS_next */
- KEEPS, /* KEEPS_next_fail */
-};
-#endif
-
-/* regarglen[] - How large is the argument part of the node (in regnodes) */
-
-#ifdef REG_COMP_C
-static const U8 regarglen[] = {
- 0, /* END */
- 0, /* SUCCEED */
- 0, /* BOL */
- 0, /* MBOL */
- 0, /* SBOL */
- 0, /* EOS */
- 0, /* EOL */
- 0, /* MEOL */
- 0, /* SEOL */
- 0, /* BOUND */
- 0, /* BOUNDL */
- 0, /* NBOUND */
- 0, /* NBOUNDL */
- 0, /* GPOS */
- 0, /* REG_ANY */
- 0, /* SANY */
- 0, /* CANY */
- 0, /* ANYOF */
- 0, /* ALNUM */
- 0, /* ALNUML */
- 0, /* NALNUM */
- 0, /* NALNUML */
- 0, /* SPACE */
- 0, /* SPACEL */
- 0, /* NSPACE */
- 0, /* NSPACEL */
- 0, /* DIGIT */
- 0, /* DIGITL */
- 0, /* NDIGIT */
- 0, /* NDIGITL */
- 0, /* CLUMP */
- 0, /* BRANCH */
- 0, /* BACK */
- 0, /* EXACT */
- 0, /* EXACTF */
- 0, /* EXACTFL */
- 0, /* NOTHING */
- 0, /* TAIL */
- 0, /* STAR */
- 0, /* PLUS */
- EXTRA_SIZE(struct regnode_2), /* CURLY */
- EXTRA_SIZE(struct regnode_2), /* CURLYN */
- EXTRA_SIZE(struct regnode_2), /* CURLYM */
- EXTRA_SIZE(struct regnode_2), /* CURLYX */
- 0, /* WHILEM */
- EXTRA_SIZE(struct regnode_1), /* OPEN */
- EXTRA_SIZE(struct regnode_1), /* CLOSE */
- EXTRA_SIZE(struct regnode_1), /* REF */
- EXTRA_SIZE(struct regnode_1), /* REFF */
- EXTRA_SIZE(struct regnode_1), /* REFFL */
- EXTRA_SIZE(struct regnode_1), /* IFMATCH */
- EXTRA_SIZE(struct regnode_1), /* UNLESSM */
- EXTRA_SIZE(struct regnode_1), /* SUSPEND */
- EXTRA_SIZE(struct regnode_1), /* IFTHEN */
- EXTRA_SIZE(struct regnode_1), /* GROUPP */
- EXTRA_SIZE(struct regnode_1), /* LONGJMP */
- EXTRA_SIZE(struct regnode_1), /* BRANCHJ */
- EXTRA_SIZE(struct regnode_1), /* EVAL */
- 0, /* MINMOD */
- 0, /* LOGICAL */
- EXTRA_SIZE(struct regnode_1), /* RENUM */
- EXTRA_SIZE(struct regnode_1), /* TRIE */
- EXTRA_SIZE(struct regnode_charclass), /* TRIEC */
- EXTRA_SIZE(struct regnode_1), /* AHOCORASICK */
- EXTRA_SIZE(struct regnode_charclass), /* AHOCORASICKC */
- EXTRA_SIZE(struct regnode_2L), /* GOSUB */
- 0, /* GOSTART */
- EXTRA_SIZE(struct regnode_1), /* NREF */
- EXTRA_SIZE(struct regnode_1), /* NREFF */
- EXTRA_SIZE(struct regnode_1), /* NREFFL */
- EXTRA_SIZE(struct regnode_1), /* NGROUPP */
- EXTRA_SIZE(struct regnode_1), /* INSUBP */
- EXTRA_SIZE(struct regnode_1), /* DEFINEP */
- 0, /* ENDLIKE */
- 0, /* OPFAIL */
- EXTRA_SIZE(struct regnode_1), /* ACCEPT */
- 0, /* VERB */
- EXTRA_SIZE(struct regnode_1), /* PRUNE */
- EXTRA_SIZE(struct regnode_1), /* MARKPOINT */
- EXTRA_SIZE(struct regnode_1), /* SKIP */
- EXTRA_SIZE(struct regnode_1), /* COMMIT */
- EXTRA_SIZE(struct regnode_1), /* CUTGROUP */
- 0, /* KEEPS */
- 0, /* LNBREAK */
- 0, /* VERTWS */
- 0, /* NVERTWS */
- 0, /* HORIZWS */
- 0, /* NHORIZWS */
- EXTRA_SIZE(struct regnode_1), /* FOLDCHAR */
- 0, /* OPTIMIZED */
- 0, /* PSEUDO */
-};
-
-/* reg_off_by_arg[] - Which argument holds the offset to the next node */
-
-static const char reg_off_by_arg[] = {
- 0, /* END */
- 0, /* SUCCEED */
- 0, /* BOL */
- 0, /* MBOL */
- 0, /* SBOL */
- 0, /* EOS */
- 0, /* EOL */
- 0, /* MEOL */
- 0, /* SEOL */
- 0, /* BOUND */
- 0, /* BOUNDL */
- 0, /* NBOUND */
- 0, /* NBOUNDL */
- 0, /* GPOS */
- 0, /* REG_ANY */
- 0, /* SANY */
- 0, /* CANY */
- 0, /* ANYOF */
- 0, /* ALNUM */
- 0, /* ALNUML */
- 0, /* NALNUM */
- 0, /* NALNUML */
- 0, /* SPACE */
- 0, /* SPACEL */
- 0, /* NSPACE */
- 0, /* NSPACEL */
- 0, /* DIGIT */
- 0, /* DIGITL */
- 0, /* NDIGIT */
- 0, /* NDIGITL */
- 0, /* CLUMP */
- 0, /* BRANCH */
- 0, /* BACK */
- 0, /* EXACT */
- 0, /* EXACTF */
- 0, /* EXACTFL */
- 0, /* NOTHING */
- 0, /* TAIL */
- 0, /* STAR */
- 0, /* PLUS */
- 0, /* CURLY */
- 0, /* CURLYN */
- 0, /* CURLYM */
- 0, /* CURLYX */
- 0, /* WHILEM */
- 0, /* OPEN */
- 0, /* CLOSE */
- 0, /* REF */
- 0, /* REFF */
- 0, /* REFFL */
- 2, /* IFMATCH */
- 2, /* UNLESSM */
- 1, /* SUSPEND */
- 1, /* IFTHEN */
- 0, /* GROUPP */
- 1, /* LONGJMP */
- 1, /* BRANCHJ */
- 0, /* EVAL */
- 0, /* MINMOD */
- 0, /* LOGICAL */
- 1, /* RENUM */
- 0, /* TRIE */
- 0, /* TRIEC */
- 0, /* AHOCORASICK */
- 0, /* AHOCORASICKC */
- 0, /* GOSUB */
- 0, /* GOSTART */
- 0, /* NREF */
- 0, /* NREFF */
- 0, /* NREFFL */
- 0, /* NGROUPP */
- 0, /* INSUBP */
- 0, /* DEFINEP */
- 0, /* ENDLIKE */
- 0, /* OPFAIL */
- 0, /* ACCEPT */
- 0, /* VERB */
- 0, /* PRUNE */
- 0, /* MARKPOINT */
- 0, /* SKIP */
- 0, /* COMMIT */
- 0, /* CUTGROUP */
- 0, /* KEEPS */
- 0, /* LNBREAK */
- 0, /* VERTWS */
- 0, /* NVERTWS */
- 0, /* HORIZWS */
- 0, /* NHORIZWS */
- 0, /* FOLDCHAR */
- 0, /* OPTIMIZED */
- 0, /* PSEUDO */
-};
-
-#endif /* REG_COMP_C */
-
-/* reg_name[] - Opcode/state names in string form, for debugging */
-
-#ifndef DOINIT
-EXTCONST char * PL_reg_name[];
-#else
-EXTCONST char * const PL_reg_name[] = {
- "END", /* 0000 */
- "SUCCEED", /* 0x01 */
- "BOL", /* 0x02 */
- "MBOL", /* 0x03 */
- "SBOL", /* 0x04 */
- "EOS", /* 0x05 */
- "EOL", /* 0x06 */
- "MEOL", /* 0x07 */
- "SEOL", /* 0x08 */
- "BOUND", /* 0x09 */
- "BOUNDL", /* 0x0a */
- "NBOUND", /* 0x0b */
- "NBOUNDL", /* 0x0c */
- "GPOS", /* 0x0d */
- "REG_ANY", /* 0x0e */
- "SANY", /* 0x0f */
- "CANY", /* 0x10 */
- "ANYOF", /* 0x11 */
- "ALNUM", /* 0x12 */
- "ALNUML", /* 0x13 */
- "NALNUM", /* 0x14 */
- "NALNUML", /* 0x15 */
- "SPACE", /* 0x16 */
- "SPACEL", /* 0x17 */
- "NSPACE", /* 0x18 */
- "NSPACEL", /* 0x19 */
- "DIGIT", /* 0x1a */
- "DIGITL", /* 0x1b */
- "NDIGIT", /* 0x1c */
- "NDIGITL", /* 0x1d */
- "CLUMP", /* 0x1e */
- "BRANCH", /* 0x1f */
- "BACK", /* 0x20 */
- "EXACT", /* 0x21 */
- "EXACTF", /* 0x22 */
- "EXACTFL", /* 0x23 */
- "NOTHING", /* 0x24 */
- "TAIL", /* 0x25 */
- "STAR", /* 0x26 */
- "PLUS", /* 0x27 */
- "CURLY", /* 0x28 */
- "CURLYN", /* 0x29 */
- "CURLYM", /* 0x2a */
- "CURLYX", /* 0x2b */
- "WHILEM", /* 0x2c */
- "OPEN", /* 0x2d */
- "CLOSE", /* 0x2e */
- "REF", /* 0x2f */
- "REFF", /* 0x30 */
- "REFFL", /* 0x31 */
- "IFMATCH", /* 0x32 */
- "UNLESSM", /* 0x33 */
- "SUSPEND", /* 0x34 */
- "IFTHEN", /* 0x35 */
- "GROUPP", /* 0x36 */
- "LONGJMP", /* 0x37 */
- "BRANCHJ", /* 0x38 */
- "EVAL", /* 0x39 */
- "MINMOD", /* 0x3a */
- "LOGICAL", /* 0x3b */
- "RENUM", /* 0x3c */
- "TRIE", /* 0x3d */
- "TRIEC", /* 0x3e */
- "AHOCORASICK", /* 0x3f */
- "AHOCORASICKC", /* 0x40 */
- "GOSUB", /* 0x41 */
- "GOSTART", /* 0x42 */
- "NREF", /* 0x43 */
- "NREFF", /* 0x44 */
- "NREFFL", /* 0x45 */
- "NGROUPP", /* 0x46 */
- "INSUBP", /* 0x47 */
- "DEFINEP", /* 0x48 */
- "ENDLIKE", /* 0x49 */
- "OPFAIL", /* 0x4a */
- "ACCEPT", /* 0x4b */
- "VERB", /* 0x4c */
- "PRUNE", /* 0x4d */
- "MARKPOINT", /* 0x4e */
- "SKIP", /* 0x4f */
- "COMMIT", /* 0x50 */
- "CUTGROUP", /* 0x51 */
- "KEEPS", /* 0x52 */
- "LNBREAK", /* 0x53 */
- "VERTWS", /* 0x54 */
- "NVERTWS", /* 0x55 */
- "HORIZWS", /* 0x56 */
- "NHORIZWS", /* 0x57 */
- "FOLDCHAR", /* 0x58 */
- "OPTIMIZED", /* 0x59 */
- "PSEUDO", /* 0x5a */
- /* ------------ States ------------- */
- "TRIE_next", /* REGNODE_MAX +0x01 */
- "TRIE_next_fail", /* REGNODE_MAX +0x02 */
- "EVAL_AB", /* REGNODE_MAX +0x03 */
- "EVAL_AB_fail", /* REGNODE_MAX +0x04 */
- "CURLYX_end", /* REGNODE_MAX +0x05 */
- "CURLYX_end_fail", /* REGNODE_MAX +0x06 */
- "WHILEM_A_pre", /* REGNODE_MAX +0x07 */
- "WHILEM_A_pre_fail", /* REGNODE_MAX +0x08 */
- "WHILEM_A_min", /* REGNODE_MAX +0x09 */
- "WHILEM_A_min_fail", /* REGNODE_MAX +0x0a */
- "WHILEM_A_max", /* REGNODE_MAX +0x0b */
- "WHILEM_A_max_fail", /* REGNODE_MAX +0x0c */
- "WHILEM_B_min", /* REGNODE_MAX +0x0d */
- "WHILEM_B_min_fail", /* REGNODE_MAX +0x0e */
- "WHILEM_B_max", /* REGNODE_MAX +0x0f */
- "WHILEM_B_max_fail", /* REGNODE_MAX +0x10 */
- "BRANCH_next", /* REGNODE_MAX +0x11 */
- "BRANCH_next_fail", /* REGNODE_MAX +0x12 */
- "CURLYM_A", /* REGNODE_MAX +0x13 */
- "CURLYM_A_fail", /* REGNODE_MAX +0x14 */
- "CURLYM_B", /* REGNODE_MAX +0x15 */
- "CURLYM_B_fail", /* REGNODE_MAX +0x16 */
- "IFMATCH_A", /* REGNODE_MAX +0x17 */
- "IFMATCH_A_fail", /* REGNODE_MAX +0x18 */
- "CURLY_B_min_known", /* REGNODE_MAX +0x19 */
- "CURLY_B_min_known_fail", /* REGNODE_MAX +0x1a */
- "CURLY_B_min", /* REGNODE_MAX +0x1b */
- "CURLY_B_min_fail", /* REGNODE_MAX +0x1c */
- "CURLY_B_max", /* REGNODE_MAX +0x1d */
- "CURLY_B_max_fail", /* REGNODE_MAX +0x1e */
- "COMMIT_next", /* REGNODE_MAX +0x1f */
- "COMMIT_next_fail", /* REGNODE_MAX +0x20 */
- "MARKPOINT_next", /* REGNODE_MAX +0x21 */
- "MARKPOINT_next_fail", /* REGNODE_MAX +0x22 */
- "SKIP_next", /* REGNODE_MAX +0x23 */
- "SKIP_next_fail", /* REGNODE_MAX +0x24 */
- "CUTGROUP_next", /* REGNODE_MAX +0x25 */
- "CUTGROUP_next_fail", /* REGNODE_MAX +0x26 */
- "KEEPS_next", /* REGNODE_MAX +0x27 */
- "KEEPS_next_fail", /* REGNODE_MAX +0x28 */
-};
-#endif /* DOINIT */
-
-/* PL_reg_extflags_name[] - Opcode/state names in string form, for debugging */
-
-#ifndef DOINIT
-EXTCONST char * PL_reg_extflags_name[];
-#else
-EXTCONST char * const PL_reg_extflags_name[] = {
- /* Bits in extflags defined: 11111111111111111111111100111111 */
- "ANCH_BOL", /* 0x00000001 */
- "ANCH_MBOL", /* 0x00000002 */
- "ANCH_SBOL", /* 0x00000004 */
- "ANCH_GPOS", /* 0x00000008 */
- "GPOS_SEEN", /* 0x00000010 */
- "GPOS_FLOAT", /* 0x00000020 */
- "UNUSED_BIT_6", /* 0x00000040 */
- "UNUSED_BIT_7", /* 0x00000080 */
- "SKIPWHITE", /* 0x00000100 */
- "START_ONLY", /* 0x00000200 */
- "WHITE", /* 0x00000400 */
- "LOCALE", /* 0x00000800 */
- "MULTILINE", /* 0x00001000 */
- "SINGLELINE", /* 0x00002000 */
- "FOLD", /* 0x00004000 */
- "EXTENDED", /* 0x00008000 */
- "KEEPCOPY", /* 0x00010000 */
- "LOOKBEHIND_SEEN", /* 0x00020000 */
- "EVAL_SEEN", /* 0x00040000 */
- "CANY_SEEN", /* 0x00080000 */
- "NOSCAN", /* 0x00100000 */
- "CHECK_ALL", /* 0x00200000 */
- "UTF8", /* 0x00400000 */
- "MATCH_UTF8", /* 0x00800000 */
- "USE_INTUIT_NOML", /* 0x01000000 */
- "USE_INTUIT_ML", /* 0x02000000 */
- "INTUIT_TAIL", /* 0x04000000 */
- "SPLIT", /* 0x08000000 */
- "COPY_DONE", /* 0x10000000 */
- "TAINTED_SEEN", /* 0x20000000 */
- "NULL", /* 0x40000000 */
- "TAINTED", /* 0x80000000 */
-};
-#endif /* DOINIT */
-
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/scope.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/scope.h
deleted file mode 100644
index 606fbc23d62..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/scope.h
+++ /dev/null
@@ -1,271 +0,0 @@
-/* scope.h
- *
- * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2004, 2005, 2006, 2007 by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#define SAVEt_ITEM 0
-#define SAVEt_SV 1
-#define SAVEt_AV 2
-#define SAVEt_HV 3
-#define SAVEt_INT 4
-#define SAVEt_LONG 5
-#define SAVEt_I32 6
-#define SAVEt_IV 7
-#define SAVEt_SPTR 8
-#define SAVEt_APTR 9
-#define SAVEt_HPTR 10
-#define SAVEt_PPTR 11
-#define SAVEt_NSTAB 12
-#define SAVEt_SVREF 13
-#define SAVEt_GP 14
-#define SAVEt_FREESV 15
-#define SAVEt_FREEOP 16
-#define SAVEt_FREEPV 17
-#define SAVEt_CLEARSV 18
-#define SAVEt_DELETE 19
-#define SAVEt_DESTRUCTOR 20
-#define SAVEt_REGCONTEXT 21
-#define SAVEt_STACK_POS 22
-#define SAVEt_I16 23
-#define SAVEt_AELEM 24
-#define SAVEt_HELEM 25
-#define SAVEt_OP 26
-#define SAVEt_HINTS 27
-#define SAVEt_ALLOC 28
-#define SAVEt_GENERIC_SVREF 29
-#define SAVEt_DESTRUCTOR_X 30
-#define SAVEt_VPTR 31
-#define SAVEt_I8 32
-#define SAVEt_COMPPAD 33
-#define SAVEt_GENERIC_PVREF 34
-#define SAVEt_PADSV 35
-#define SAVEt_MORTALIZESV 36
-#define SAVEt_SHARED_PVREF 37
-#define SAVEt_BOOL 38
-#define SAVEt_SET_SVFLAGS 39
-#define SAVEt_SAVESWITCHSTACK 40
-#define SAVEt_COP_ARYBASE 41
-#define SAVEt_RE_STATE 42
-#define SAVEt_COMPILE_WARNINGS 43
-#define SAVEt_STACK_CXPOS 44
-#define SAVEt_PARSER 45
-
-#ifndef SCOPE_SAVES_SIGNAL_MASK
-#define SCOPE_SAVES_SIGNAL_MASK 0
-#endif
-
-#define SSCHECK(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow()
-#define SSGROW(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow_cnt(need)
-#define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i))
-#define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i))
-#define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p))
-#define SSPUSHIV(i) (PL_savestack[PL_savestack_ix++].any_iv = (IV)(i))
-#define SSPUSHPTR(p) (PL_savestack[PL_savestack_ix++].any_ptr = (void*)(p))
-#define SSPUSHDPTR(p) (PL_savestack[PL_savestack_ix++].any_dptr = (p))
-#define SSPUSHDXPTR(p) (PL_savestack[PL_savestack_ix++].any_dxptr = (p))
-#define SSPOPINT (PL_savestack[--PL_savestack_ix].any_i32)
-#define SSPOPLONG (PL_savestack[--PL_savestack_ix].any_long)
-#define SSPOPBOOL (PL_savestack[--PL_savestack_ix].any_bool)
-#define SSPOPIV (PL_savestack[--PL_savestack_ix].any_iv)
-#define SSPOPPTR (PL_savestack[--PL_savestack_ix].any_ptr)
-#define SSPOPDPTR (PL_savestack[--PL_savestack_ix].any_dptr)
-#define SSPOPDXPTR (PL_savestack[--PL_savestack_ix].any_dxptr)
-
-/*
-=head1 Callback Functions
-
-=for apidoc Ams||SAVETMPS
-Opening bracket for temporaries on a callback. See C<FREETMPS> and
-L<perlcall>.
-
-=for apidoc Ams||FREETMPS
-Closing bracket for temporaries on a callback. See C<SAVETMPS> and
-L<perlcall>.
-
-=for apidoc Ams||ENTER
-Opening bracket on a callback. See C<LEAVE> and L<perlcall>.
-
-=for apidoc Ams||LEAVE
-Closing bracket on a callback. See C<ENTER> and L<perlcall>.
-
-=cut
-*/
-
-#define SAVETMPS save_int((int*)&PL_tmps_floor), PL_tmps_floor = PL_tmps_ix
-#define FREETMPS if (PL_tmps_ix > PL_tmps_floor) free_tmps()
-
-#ifdef DEBUGGING
-#define ENTER \
- STMT_START { \
- push_scope(); \
- DEBUG_SCOPE("ENTER") \
- } STMT_END
-#define LEAVE \
- STMT_START { \
- DEBUG_SCOPE("LEAVE") \
- pop_scope(); \
- } STMT_END
-#else
-#define ENTER push_scope()
-#define LEAVE pop_scope()
-#endif
-#define LEAVE_SCOPE(old) if (PL_savestack_ix > old) leave_scope(old)
-
-#define SAVEI8(i) save_I8((I8*)&(i))
-#define SAVEI16(i) save_I16((I16*)&(i))
-#define SAVEI32(i) save_I32((I32*)&(i))
-#define SAVEINT(i) save_int((int*)&(i))
-#define SAVEIV(i) save_iv((IV*)&(i))
-#define SAVELONG(l) save_long((long*)&(l))
-#define SAVEBOOL(b) save_bool((bool*)&(b))
-#define SAVESPTR(s) save_sptr((SV**)&(s))
-#define SAVEPPTR(s) save_pptr((char**)&(s))
-#define SAVEVPTR(s) save_vptr((void*)&(s))
-#define SAVEPADSV(s) save_padsv(s)
-#define SAVEFREESV(s) save_freesv((SV*)(s))
-#define SAVEMORTALIZESV(s) save_mortalizesv((SV*)(s))
-#define SAVEFREEOP(o) save_freeop((OP*)(o))
-#define SAVEFREEPV(p) save_freepv((char*)(p))
-#define SAVECLEARSV(sv) save_clearsv((SV**)&(sv))
-#define SAVEGENERICSV(s) save_generic_svref((SV**)&(s))
-#define SAVEGENERICPV(s) save_generic_pvref((char**)&(s))
-#define SAVESHAREDPV(s) save_shared_pvref((char**)&(s))
-#define SAVESETSVFLAGS(sv,mask,val) save_set_svflags(sv,mask,val)
-#define SAVEDELETE(h,k,l) \
- save_delete((HV*)(h), (char*)(k), (I32)(l))
-#define SAVEDESTRUCTOR(f,p) \
- save_destructor((DESTRUCTORFUNC_NOCONTEXT_t)(f), (void*)(p))
-
-#define SAVEDESTRUCTOR_X(f,p) \
- save_destructor_x((DESTRUCTORFUNC_t)(f), (void*)(p))
-
-#define SAVESTACK_POS() \
- STMT_START { \
- SSCHECK(2); \
- SSPUSHINT(PL_stack_sp - PL_stack_base); \
- SSPUSHINT(SAVEt_STACK_POS); \
- } STMT_END
-
-#define SAVEOP() save_op()
-
-#define SAVEHINTS() \
- STMT_START { \
- SSCHECK(4); \
- if (PL_hints & HINT_LOCALIZE_HH) { \
- SSPUSHPTR(GvHV(PL_hintgv)); \
- GvHV(PL_hintgv) = Perl_hv_copy_hints_hv(aTHX_ GvHV(PL_hintgv)); \
- } \
- if (PL_compiling.cop_hints_hash) { \
- HINTS_REFCNT_LOCK; \
- PL_compiling.cop_hints_hash->refcounted_he_refcnt++; \
- HINTS_REFCNT_UNLOCK; \
- } \
- SSPUSHPTR(PL_compiling.cop_hints_hash); \
- SSPUSHINT(PL_hints); \
- SSPUSHINT(SAVEt_HINTS); \
- } STMT_END
-
-#define SAVECOMPPAD() \
- STMT_START { \
- SSCHECK(2); \
- SSPUSHPTR((SV*)PL_comppad); \
- SSPUSHINT(SAVEt_COMPPAD); \
- } STMT_END
-
-#define SAVESWITCHSTACK(f,t) \
- STMT_START { \
- SSCHECK(3); \
- SSPUSHPTR((SV*)(f)); \
- SSPUSHPTR((SV*)(t)); \
- SSPUSHINT(SAVEt_SAVESWITCHSTACK); \
- SWITCHSTACK((f),(t)); \
- PL_curstackinfo->si_stack = (t); \
- } STMT_END
-
-#define SAVECOPARYBASE(c) \
- STMT_START { \
- SSCHECK(3); \
- SSPUSHINT(CopARYBASE_get(c)); \
- SSPUSHPTR(c); \
- SSPUSHINT(SAVEt_COP_ARYBASE); \
- } STMT_END
-
-/* Need to do the cop warnings like this, rather than a "SAVEFREESHAREDPV",
- because realloc() means that the value can actually change. Possibly
- could have done savefreesharedpvREF, but this way actually seems cleaner,
- as it simplifies the code that does the saves, and reduces the load on the
- save stack. */
-#define SAVECOMPILEWARNINGS() \
- STMT_START { \
- SSCHECK(2); \
- SSPUSHPTR(PL_compiling.cop_warnings); \
- SSPUSHINT(SAVEt_COMPILE_WARNINGS); \
- } STMT_END
-
-#define SAVESTACK_CXPOS() \
- STMT_START { \
- SSCHECK(3); \
- SSPUSHINT(cxstack[cxstack_ix].blk_oldsp); \
- SSPUSHINT(cxstack_ix); \
- SSPUSHINT(SAVEt_STACK_CXPOS); \
- } STMT_END
-
-#define SAVEPARSER(p) \
- STMT_START { \
- SSCHECK(2); \
- SSPUSHPTR(p); \
- SSPUSHINT(SAVEt_PARSER); \
- } STMT_END
-
-#ifdef USE_ITHREADS
-# define SAVECOPSTASH(c) SAVEPPTR(CopSTASHPV(c))
-# define SAVECOPSTASH_FREE(c) SAVESHAREDPV(CopSTASHPV(c))
-# define SAVECOPFILE(c) SAVEPPTR(CopFILE(c))
-# define SAVECOPFILE_FREE(c) SAVESHAREDPV(CopFILE(c))
-# define SAVECOPLABEL(c) SAVEPPTR(CopLABEL(c))
-# define SAVECOPLABEL_FREE(c) SAVESHAREDPV(CopLABEL(c))
-#else
-# define SAVECOPSTASH(c) SAVESPTR(CopSTASH(c))
-# define SAVECOPSTASH_FREE(c) SAVECOPSTASH(c) /* XXX not refcounted */
-# define SAVECOPFILE(c) SAVESPTR(CopFILEGV(c))
-# define SAVECOPFILE_FREE(c) SAVEGENERICSV(CopFILEGV(c))
-# define SAVECOPLABEL(c) SAVEPPTR(CopLABEL(c))
-# define SAVECOPLABEL_FREE(c) SAVEPPTR(CopLABEL(c))
-#endif
-
-#define SAVECOPLINE(c) SAVEI32(CopLINE(c))
-
-/* SSNEW() temporarily allocates a specified number of bytes of data on the
- * savestack. It returns an integer index into the savestack, because a
- * pointer would get broken if the savestack is moved on reallocation.
- * SSNEWa() works like SSNEW(), but also aligns the data to the specified
- * number of bytes. MEM_ALIGNBYTES is perhaps the most useful. The
- * alignment will be preserved therough savestack reallocation *only* if
- * realloc returns data aligned to a size divisible by "align"!
- *
- * SSPTR() converts the index returned by SSNEW/SSNEWa() into a pointer.
- */
-
-#define SSNEW(size) Perl_save_alloc(aTHX_ (size), 0)
-#define SSNEWt(n,t) SSNEW((n)*sizeof(t))
-#define SSNEWa(size,align) Perl_save_alloc(aTHX_ (size), \
- (align - ((int)((caddr_t)&PL_savestack[PL_savestack_ix]) % align)) % align)
-#define SSNEWat(n,t,align) SSNEWa((n)*sizeof(t), align)
-
-#define SSPTR(off,type) ((type) ((char*)PL_savestack + off))
-#define SSPTRt(off,type) ((type*) ((char*)PL_savestack + off))
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/sv.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/sv.h
deleted file mode 100644
index 7c9f95ed22d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/sv.h
+++ /dev/null
@@ -1,2109 +0,0 @@
-/* sv.h
- *
- * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifdef sv_flags
-#undef sv_flags /* Convex has this in <signal.h> for sigvec() */
-#endif
-
-/*
-=head1 SV Flags
-
-=for apidoc AmU||svtype
-An enum of flags for Perl types. These are found in the file B<sv.h>
-in the C<svtype> enum. Test these flags with the C<SvTYPE> macro.
-
-=for apidoc AmU||SVt_PV
-Pointer type flag for scalars. See C<svtype>.
-
-=for apidoc AmU||SVt_IV
-Integer type flag for scalars. See C<svtype>.
-
-=for apidoc AmU||SVt_NV
-Double type flag for scalars. See C<svtype>.
-
-=for apidoc AmU||SVt_PVMG
-Type flag for blessed scalars. See C<svtype>.
-
-=for apidoc AmU||SVt_PVAV
-Type flag for arrays. See C<svtype>.
-
-=for apidoc AmU||SVt_PVHV
-Type flag for hashes. See C<svtype>.
-
-=for apidoc AmU||SVt_PVCV
-Type flag for code refs. See C<svtype>.
-
-=cut
-*/
-
-typedef enum {
- SVt_NULL, /* 0 */
- SVt_BIND, /* 1 */
- SVt_IV, /* 2 */
- SVt_NV, /* 3 */
- SVt_RV, /* 4 */
- SVt_PV, /* 5 */
- SVt_PVIV, /* 6 */
- SVt_PVNV, /* 7 */
- SVt_PVMG, /* 8 */
- /* PVBM was here, before BIND replaced it. */
- SVt_PVGV, /* 9 */
- SVt_PVLV, /* 10 */
- SVt_PVAV, /* 11 */
- SVt_PVHV, /* 12 */
- SVt_PVCV, /* 13 */
- SVt_PVFM, /* 14 */
- SVt_PVIO, /* 15 */
- SVt_LAST /* keep last in enum. used to size arrays */
-} svtype;
-
-#ifndef PERL_CORE
-/* Although Fast Boyer Moore tables are now being stored in PVGVs, for most
- purposes eternal code wanting to consider PVBM probably needs to think of
- PVMG instead. */
-# define SVt_PVBM SVt_PVMG
-#endif
-
-/* There is collusion here with sv_clear - sv_clear exits early for SVt_NULL
- and SVt_IV, so never reaches the clause at the end that uses
- sv_type_details->body_size to determine whether to call safefree(). Hence
- body_size can be set no-zero to record the size of PTEs and HEs, without
- fear of bogus frees. */
-#ifdef PERL_IN_SV_C
-#define PTE_SVSLOT SVt_IV
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_XS_APITEST)
-#define HE_SVSLOT SVt_NULL
-#endif
-
-#define PERL_ARENA_ROOTS_SIZE (SVt_LAST)
-
-/* typedefs to eliminate some typing */
-typedef struct he HE;
-typedef struct hek HEK;
-
-/* Using C's structural equivalence to help emulate C++ inheritance here... */
-
-/* start with 2 sv-head building blocks */
-#define _SV_HEAD(ptrtype) \
- ptrtype sv_any; /* pointer to body */ \
- U32 sv_refcnt; /* how many references to us */ \
- U32 sv_flags /* what we are */
-
-#define _SV_HEAD_UNION \
- union { \
- IV svu_iv; \
- UV svu_uv; \
- SV* svu_rv; /* pointer to another SV */ \
- char* svu_pv; /* pointer to malloced string */ \
- SV** svu_array; \
- HE** svu_hash; \
- GP* svu_gp; \
- } sv_u
-
-
-struct STRUCT_SV { /* struct sv { */
- _SV_HEAD(void*);
- _SV_HEAD_UNION;
-#ifdef DEBUG_LEAKING_SCALARS
- unsigned sv_debug_optype:9; /* the type of OP that allocated us */
- unsigned sv_debug_inpad:1; /* was allocated in a pad for an OP */
- unsigned sv_debug_cloned:1; /* was cloned for an ithread */
- unsigned sv_debug_line:16; /* the line where we were allocated */
- char * sv_debug_file; /* the file where we were allocated */
-#endif
-};
-
-struct gv {
- _SV_HEAD(XPVGV*); /* pointer to xpvgv body */
- _SV_HEAD_UNION;
-};
-
-struct cv {
- _SV_HEAD(XPVCV*); /* pointer to xpvcv body */
- _SV_HEAD_UNION;
-};
-
-struct av {
- _SV_HEAD(XPVAV*); /* pointer to xpvav body */
- _SV_HEAD_UNION;
-};
-
-struct hv {
- _SV_HEAD(XPVHV*); /* pointer to xpvhv body */
- _SV_HEAD_UNION;
-};
-
-struct io {
- _SV_HEAD(XPVIO*); /* pointer to xpvio body */
- _SV_HEAD_UNION;
-};
-
-#undef _SV_HEAD
-#undef _SV_HEAD_UNION /* ensure no pollution */
-
-/*
-=head1 SV Manipulation Functions
-
-=for apidoc Am|U32|SvREFCNT|SV* sv
-Returns the value of the object's reference count.
-
-=for apidoc Am|SV*|SvREFCNT_inc|SV* sv
-Increments the reference count of the given SV.
-
-All of the following SvREFCNT_inc* macros are optimized versions of
-SvREFCNT_inc, and can be replaced with SvREFCNT_inc.
-
-=for apidoc Am|SV*|SvREFCNT_inc_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you know I<sv>
-is not NULL. Since we don't have to check the NULLness, it's faster
-and smaller.
-
-=for apidoc Am|void|SvREFCNT_inc_void|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the
-return value. The macro doesn't need to return a meaningful value.
-
-=for apidoc Am|void|SvREFCNT_inc_void_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the return
-value, and you know that I<sv> is not NULL. The macro doesn't need
-to return a meaningful value, or check for NULLness, so it's smaller
-and faster.
-
-=for apidoc Am|SV*|SvREFCNT_inc_simple|SV* sv
-Same as SvREFCNT_inc, but can only be used with expressions without side
-effects. Since we don't have to store a temporary value, it's faster.
-
-=for apidoc Am|SV*|SvREFCNT_inc_simple_NN|SV* sv
-Same as SvREFCNT_inc_simple, but can only be used if you know I<sv>
-is not NULL. Since we don't have to check the NULLness, it's faster
-and smaller.
-
-=for apidoc Am|void|SvREFCNT_inc_simple_void|SV* sv
-Same as SvREFCNT_inc_simple, but can only be used if you don't need the
-return value. The macro doesn't need to return a meaningful value.
-
-=for apidoc Am|void|SvREFCNT_inc_simple_void_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the return
-value, and you know that I<sv> is not NULL. The macro doesn't need
-to return a meaningful value, or check for NULLness, so it's smaller
-and faster.
-
-=for apidoc Am|void|SvREFCNT_dec|SV* sv
-Decrements the reference count of the given SV.
-
-=for apidoc Am|svtype|SvTYPE|SV* sv
-Returns the type of the SV. See C<svtype>.
-
-=for apidoc Am|void|SvUPGRADE|SV* sv|svtype type
-Used to upgrade an SV to a more complex form. Uses C<sv_upgrade> to
-perform the upgrade if necessary. See C<svtype>.
-
-=cut
-*/
-
-#define SvANY(sv) (sv)->sv_any
-#define SvFLAGS(sv) (sv)->sv_flags
-#define SvREFCNT(sv) (sv)->sv_refcnt
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define SvREFCNT_inc(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (SvREFCNT(_sv))++; \
- _sv; \
- })
-# define SvREFCNT_inc_simple(sv) \
- ({ \
- if (sv) \
- (SvREFCNT(sv))++; \
- (SV *)(sv); \
- })
-# define SvREFCNT_inc_NN(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- SvREFCNT(_sv)++; \
- _sv; \
- })
-# define SvREFCNT_inc_void(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (void)(SvREFCNT(_sv)++); \
- })
-#else
-# define SvREFCNT_inc(sv) \
- ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
-# define SvREFCNT_inc_simple(sv) \
- ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL)
-# define SvREFCNT_inc_NN(sv) \
- (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv)
-# define SvREFCNT_inc_void(sv) \
- (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
-#endif
-
-/* These guys don't need the curly blocks */
-#define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
-#define SvREFCNT_inc_simple_NN(sv) (++(SvREFCNT(sv)),(SV*)(sv))
-#define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
-#define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define SvREFCNT_dec(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) { \
- if (SvREFCNT(_sv)) { \
- if (--(SvREFCNT(_sv)) == 0) \
- Perl_sv_free2(aTHX_ _sv); \
- } else { \
- sv_free(_sv); \
- } \
- } \
- })
-#else
-#define SvREFCNT_dec(sv) sv_free((SV*)(sv))
-#endif
-
-#define SVTYPEMASK 0xff
-#define SvTYPE(sv) ((svtype)((sv)->sv_flags & SVTYPEMASK))
-
-/* Sadly there are some parts of the core that have pointers to already-freed
- SV heads, and rely on being able to tell that they are now free. So mark
- them all by using a consistent macro. */
-#define SvIS_FREED(sv) ((sv)->sv_flags == SVTYPEMASK)
-
-#define SvUPGRADE(sv, mt) (SvTYPE(sv) >= (mt) || (sv_upgrade(sv, mt), 1))
-
-#define SVf_IOK 0x00000100 /* has valid public integer value */
-#define SVf_NOK 0x00000200 /* has valid public numeric value */
-#define SVf_POK 0x00000400 /* has valid public pointer value */
-#define SVf_ROK 0x00000800 /* has a valid reference pointer */
-
-#define SVp_IOK 0x00001000 /* has valid non-public integer value */
-#define SVp_NOK 0x00002000 /* has valid non-public numeric value */
-#define SVp_POK 0x00004000 /* has valid non-public pointer value */
-#define SVp_SCREAM 0x00008000 /* has been studied? */
-#define SVphv_CLONEABLE SVp_SCREAM /* PVHV (stashes) clone its objects */
-#define SVpgv_GP SVp_SCREAM /* GV has a valid GP */
-#define SVprv_PCS_IMPORTED SVp_SCREAM /* RV is a proxy for a constant
- subroutine in another package. Set the
- CvIMPORTED_CV_ON() if it needs to be
- expanded to a real GV */
-
-#define SVs_PADSTALE 0x00010000 /* lexical has gone out of scope */
-#define SVpad_STATE 0x00010000 /* pad name is a "state" var */
-#define SVs_PADTMP 0x00020000 /* in use as tmp */
-#define SVpad_TYPED 0x00020000 /* pad name is a Typed Lexical */
-#define SVs_PADMY 0x00040000 /* in use a "my" variable */
-#define SVpad_OUR 0x00040000 /* pad name is "our" instead of "my" */
-#define SVs_TEMP 0x00080000 /* string is stealable? */
-#define SVs_OBJECT 0x00100000 /* is "blessed" */
-#define SVs_GMG 0x00200000 /* has magical get method */
-#define SVs_SMG 0x00400000 /* has magical set method */
-#define SVs_RMG 0x00800000 /* has random magical methods */
-
-#define SVf_FAKE 0x01000000 /* 0: glob or lexical is just a copy
- 1: SV head arena wasn't malloc()ed
- 2: in conjunction with SVf_READONLY
- marks a shared hash key scalar
- (SvLEN == 0) or a copy on write
- string (SvLEN != 0) [SvIsCOW(sv)]
- 3: For PVCV, whether CvUNIQUE(cv)
- refers to an eval or once only
- [CvEVAL(cv), CvSPECIAL(cv)]
- 4: Whether the regexp pointer is in
- fact an offset [SvREPADTMP(sv)]
- 5: On a pad name SV, that slot in the
- frame AV is a REFCNT'ed reference
- to a lexical from "outside". */
-#define SVphv_REHASH SVf_FAKE /* 6: On a PVHV, hash values are being
- recalculated */
-#define SVf_OOK 0x02000000 /* has valid offset value. For a PVHV this
- means that a hv_aux struct is present
- after the main array */
-#define SVf_BREAK 0x04000000 /* refcnt is artificially low - used by
- SVs in final arena cleanup.
- Set in S_regtry on PL_reg_curpm, so that
- perl_destruct will skip it. */
-#define SVf_READONLY 0x08000000 /* may not be modified */
-
-
-
-
-#define SVf_THINKFIRST (SVf_READONLY|SVf_ROK|SVf_FAKE)
-
-#define SVf_OK (SVf_IOK|SVf_NOK|SVf_POK|SVf_ROK| \
- SVp_IOK|SVp_NOK|SVp_POK|SVpgv_GP)
-
-#define PRIVSHIFT 4 /* (SVp_?OK >> PRIVSHIFT) == SVf_?OK */
-
-#define SVf_AMAGIC 0x10000000 /* has magical overloaded methods */
-
-/* Ensure this value does not clash with the GV_ADD* flags in gv.h: */
-#define SVf_UTF8 0x20000000 /* SvPV is UTF-8 encoded
- This is also set on RVs whose overloaded
- stringification is UTF-8. This might
- only happen as a side effect of SvPV() */
-
-
-/* Some private flags. */
-
-/* PVAV could probably use 0x2000000 without conflict. I assume that PVFM can
- be UTF-8 encoded, and PVCVs could well have UTF-8 prototypes. PVIOs haven't
- been restructured, so sometimes get used as string buffers. */
-
-/* PVHV */
-#define SVphv_SHAREKEYS 0x20000000 /* PVHV keys live on shared string table */
-/* PVNV, PVMG, presumably only inside pads */
-#define SVpad_NAME 0x40000000 /* This SV is a name in the PAD, so
- SVpad_TYPED, SVpad_OUR and SVpad_STATE
- apply */
-/* PVAV */
-#define SVpav_REAL 0x40000000 /* free old entries */
-/* PVHV */
-#define SVphv_LAZYDEL 0x40000000 /* entry in xhv_eiter must be deleted */
-/* This is only set true on a PVGV when it's playing "PVBM", but is tested for
- on any regular scalar (anything <= PVLV) */
-#define SVpbm_VALID 0x40000000
-/* ??? */
-#define SVrepl_EVAL 0x40000000 /* Replacement part of s///e */
-
-/* IV, PVIV, PVNV, PVMG, PVGV and (I assume) PVLV */
-/* Presumably IVs aren't stored in pads */
-#define SVf_IVisUV 0x80000000 /* use XPVUV instead of XPVIV */
-/* PVAV */
-#define SVpav_REIFY 0x80000000 /* can become real */
-/* PVHV */
-#define SVphv_HASKFLAGS 0x80000000 /* keys have flag byte after hash */
-/* PVFM */
-#define SVpfm_COMPILED 0x80000000 /* FORMLINE is compiled */
-/* PVGV when SVpbm_VALID is true */
-#define SVpbm_TAIL 0x80000000
-/* RV upwards. However, SVf_ROK and SVp_IOK are exclusive */
-#define SVprv_WEAKREF 0x80000000 /* Weak reference */
-
-
-struct xpv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
-};
-
-typedef struct {
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
-} xpv_allocated;
-
-struct xpviv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
-};
-
-typedef struct {
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
-} xpviv_allocated;
-
-#define xiv_iv xiv_u.xivu_iv
-
-struct xpvuv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xuvu_iv;
- UV xuvu_uv; /* unsigned value or pv offset */
- void * xuvu_p1;
- HEK * xivu_namehek;
- } xuv_u;
-};
-
-#define xuv_uv xuv_u.xuvu_uv
-
-struct xpvnv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
-};
-
-/* These structure must match the beginning of struct xpvhv in hv.h. */
-struct xpvmg {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-};
-
-struct xpvlv {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek; /* GvNAME */
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- STRLEN xlv_targoff;
- STRLEN xlv_targlen;
- SV* xlv_targ;
- char xlv_type; /* k=keys .=pos x=substr v=vec /=join/re
- * y=alem/helem/iter t=tie T=tied HE */
-};
-
-/* This structure works in 3 ways - regular scalar, GV with GP, or fast
- Boyer-Moore. */
-struct xpvgv {
- union {
- NV xnv_nv;
- HV * xgv_stash; /* The stash of this GV */
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* xgv_flags */
- STRLEN xpv_len; /* 0 */
- union {
- IV xivu_iv;
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32; /* is this constant pattern being useful? */
- HEK * xivu_namehek; /* GvNAME */
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
-};
-
-/* This structure must match XPVCV in cv.h */
-
-typedef U16 cv_flags_t;
-
-struct xpvfm {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* PVFMs use the pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- HV * xcv_stash;
- union {
- OP * xcv_start;
- ANY xcv_xsubany;
- } xcv_start_u;
- union {
- OP * xcv_root;
- void (*xcv_xsub) (pTHX_ CV*);
- } xcv_root_u;
- GV * xcv_gv;
- char * xcv_file;
- AV * xcv_padlist;
- CV * xcv_outside;
- U32 xcv_outside_seq; /* the COP sequence (at the point of our
- * compilation) in the lexically enclosing
- * sub */
- cv_flags_t xcv_flags;
- IV xfm_lines;
-};
-
-typedef struct {
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* PVFMs use the pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- HV * xcv_stash;
- union {
- OP * xcv_start;
- ANY xcv_xsubany;
- } xcv_start_u;
- union {
- OP * xcv_root;
- void (*xcv_xsub) (pTHX_ CV*);
- } xcv_root_u;
- GV * xcv_gv;
- char * xcv_file;
- AV * xcv_padlist;
- CV * xcv_outside;
- U32 xcv_outside_seq; /* the COP sequence (at the point of our
- * compilation) in the lexically enclosing
- * sub */
- cv_flags_t xcv_flags;
- IV xfm_lines;
-} xpvfm_allocated;
-
-struct xpvio {
- union {
- NV xnv_nv; /* numeric value, if any */
- HV * xgv_stash;
- struct {
- U32 xlow;
- U32 xhigh;
- } xpad_cop_seq; /* used by pad.c for cop_sequence */
- struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
- U8 xbm_rare; /* rarest character in string */
- } xbm_s; /* fields from PVBM */
- } xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- union {
- IV xivu_iv; /* integer value or pv offset */
- UV xivu_uv;
- void * xivu_p1;
- I32 xivu_i32;
- HEK * xivu_namehek;
- } xiv_u;
- union {
- MAGIC* xmg_magic; /* linked list of magicalness */
- HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
- } xmg_u;
- HV* xmg_stash; /* class package */
-
- PerlIO * xio_ifp; /* ifp and ofp are normally the same */
- PerlIO * xio_ofp; /* but sockets need separate streams */
- /* Cray addresses everything by word boundaries (64 bits) and
- * code and data pointers cannot be mixed (which is exactly what
- * Perl_filter_add() tries to do with the dirp), hence the following
- * union trick (as suggested by Gurusamy Sarathy).
- * For further information see Geir Johansen's problem report titled
- [ID 20000612.002] Perl problem on Cray system
- * The any pointer (known as IoANY()) will also be a good place
- * to hang any IO disciplines to.
- */
- union {
- DIR * xiou_dirp; /* for opendir, readdir, etc */
- void * xiou_any; /* for alignment */
- } xio_dirpu;
- IV xio_lines; /* $. */
- IV xio_page; /* $% */
- IV xio_page_len; /* $= */
- IV xio_lines_left; /* $- */
- char * xio_top_name; /* $^ */
- GV * xio_top_gv; /* $^ */
- char * xio_fmt_name; /* $~ */
- GV * xio_fmt_gv; /* $~ */
- char * xio_bottom_name;/* $^B */
- GV * xio_bottom_gv; /* $^B */
- char xio_type;
- U8 xio_flags;
-};
-#define xio_dirp xio_dirpu.xiou_dirp
-#define xio_any xio_dirpu.xiou_any
-
-#define IOf_ARGV 1 /* this fp iterates over ARGV */
-#define IOf_START 2 /* check for null ARGV and substitute '-' */
-#define IOf_FLUSH 4 /* this fp wants a flush after write op */
-#define IOf_DIDTOP 8 /* just did top of form */
-#define IOf_UNTAINT 16 /* consider this fp (and its data) "safe" */
-#define IOf_NOLINE 32 /* slurped a pseudo-line from empty file */
-#define IOf_FAKE_DIRP 64 /* xio_dirp is fake (source filters kludge) */
-
-/* The following macros define implementation-independent predicates on SVs. */
-
-/*
-=for apidoc Am|U32|SvNIOK|SV* sv
-Returns a U32 value indicating whether the SV contains a number, integer or
-double.
-
-=for apidoc Am|U32|SvNIOKp|SV* sv
-Returns a U32 value indicating whether the SV contains a number, integer or
-double. Checks the B<private> setting. Use C<SvNIOK>.
-
-=for apidoc Am|void|SvNIOK_off|SV* sv
-Unsets the NV/IV status of an SV.
-
-=for apidoc Am|U32|SvOK|SV* sv
-Returns a U32 value indicating whether the value is an SV. It also tells
-whether the value is defined or not.
-
-=for apidoc Am|U32|SvIOKp|SV* sv
-Returns a U32 value indicating whether the SV contains an integer. Checks
-the B<private> setting. Use C<SvIOK>.
-
-=for apidoc Am|U32|SvNOKp|SV* sv
-Returns a U32 value indicating whether the SV contains a double. Checks the
-B<private> setting. Use C<SvNOK>.
-
-=for apidoc Am|U32|SvPOKp|SV* sv
-Returns a U32 value indicating whether the SV contains a character string.
-Checks the B<private> setting. Use C<SvPOK>.
-
-=for apidoc Am|U32|SvIOK|SV* sv
-Returns a U32 value indicating whether the SV contains an integer.
-
-=for apidoc Am|void|SvIOK_on|SV* sv
-Tells an SV that it is an integer.
-
-=for apidoc Am|void|SvIOK_off|SV* sv
-Unsets the IV status of an SV.
-
-=for apidoc Am|void|SvIOK_only|SV* sv
-Tells an SV that it is an integer and disables all other OK bits.
-
-=for apidoc Am|void|SvIOK_only_UV|SV* sv
-Tells and SV that it is an unsigned integer and disables all other OK bits.
-
-=for apidoc Am|bool|SvIOK_UV|SV* sv
-Returns a boolean indicating whether the SV contains an unsigned integer.
-
-=for apidoc Am|bool|SvUOK|SV* sv
-Returns a boolean indicating whether the SV contains an unsigned integer.
-
-=for apidoc Am|bool|SvIOK_notUV|SV* sv
-Returns a boolean indicating whether the SV contains a signed integer.
-
-=for apidoc Am|U32|SvNOK|SV* sv
-Returns a U32 value indicating whether the SV contains a double.
-
-=for apidoc Am|void|SvNOK_on|SV* sv
-Tells an SV that it is a double.
-
-=for apidoc Am|void|SvNOK_off|SV* sv
-Unsets the NV status of an SV.
-
-=for apidoc Am|void|SvNOK_only|SV* sv
-Tells an SV that it is a double and disables all other OK bits.
-
-=for apidoc Am|U32|SvPOK|SV* sv
-Returns a U32 value indicating whether the SV contains a character
-string.
-
-=for apidoc Am|void|SvPOK_on|SV* sv
-Tells an SV that it is a string.
-
-=for apidoc Am|void|SvPOK_off|SV* sv
-Unsets the PV status of an SV.
-
-=for apidoc Am|void|SvPOK_only|SV* sv
-Tells an SV that it is a string and disables all other OK bits.
-Will also turn off the UTF-8 status.
-
-=for apidoc Am|bool|SvVOK|SV* sv
-Returns a boolean indicating whether the SV contains a v-string.
-
-=for apidoc Am|U32|SvOOK|SV* sv
-Returns a U32 indicating whether the SvIVX is a valid offset value for
-the SvPVX. This hack is used internally to speed up removal of characters
-from the beginning of a SvPV. When SvOOK is true, then the start of the
-allocated string buffer is really (SvPVX - SvIVX).
-
-=for apidoc Am|U32|SvROK|SV* sv
-Tests if the SV is an RV.
-
-=for apidoc Am|void|SvROK_on|SV* sv
-Tells an SV that it is an RV.
-
-=for apidoc Am|void|SvROK_off|SV* sv
-Unsets the RV status of an SV.
-
-=for apidoc Am|SV*|SvRV|SV* sv
-Dereferences an RV to return the SV.
-
-=for apidoc Am|IV|SvIVX|SV* sv
-Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvIV()>.
-
-=for apidoc Am|UV|SvUVX|SV* sv
-Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvUV()>.
-
-=for apidoc Am|NV|SvNVX|SV* sv
-Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true. See also C<SvNV()>.
-
-=for apidoc Am|char*|SvPVX|SV* sv
-Returns a pointer to the physical string in the SV. The SV must contain a
-string.
-
-=for apidoc Am|STRLEN|SvCUR|SV* sv
-Returns the length of the string which is in the SV. See C<SvLEN>.
-
-=for apidoc Am|STRLEN|SvLEN|SV* sv
-Returns the size of the string buffer in the SV, not including any part
-attributable to C<SvOOK>. See C<SvCUR>.
-
-=for apidoc Am|char*|SvEND|SV* sv
-Returns a pointer to the last character in the string which is in the SV.
-See C<SvCUR>. Access the character as *(SvEND(sv)).
-
-=for apidoc Am|HV*|SvSTASH|SV* sv
-Returns the stash of the SV.
-
-=for apidoc Am|void|SvIV_set|SV* sv|IV val
-Set the value of the IV pointer in sv to val. It is possible to perform
-the same function of this macro with an lvalue assignment to C<SvIVX>.
-With future Perls, however, it will be more efficient to use
-C<SvIV_set> instead of the lvalue assignment to C<SvIVX>.
-
-=for apidoc Am|void|SvNV_set|SV* sv|NV val
-Set the value of the NV pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvPV_set|SV* sv|char* val
-Set the value of the PV pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvUV_set|SV* sv|UV val
-Set the value of the UV pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvRV_set|SV* sv|SV* val
-Set the value of the RV pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvMAGIC_set|SV* sv|MAGIC* val
-Set the value of the MAGIC pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvSTASH_set|SV* sv|HV* val
-Set the value of the STASH pointer in sv to val. See C<SvIV_set>.
-
-=for apidoc Am|void|SvCUR_set|SV* sv|STRLEN len
-Set the current length of the string which is in the SV. See C<SvCUR>
-and C<SvIV_set>.
-
-=for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len
-Set the actual length of the string which is in the SV. See C<SvIV_set>.
-
-=cut
-*/
-
-#define SvNIOK(sv) (SvFLAGS(sv) & (SVf_IOK|SVf_NOK))
-#define SvNIOKp(sv) (SvFLAGS(sv) & (SVp_IOK|SVp_NOK))
-#define SvNIOK_off(sv) (SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK| \
- SVp_IOK|SVp_NOK|SVf_IVisUV))
-
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#define assert_not_ROK(sv) ({assert(!SvROK(sv) || !SvRV(sv));}),
-#define assert_not_glob(sv) ({assert(!isGV_with_GP(sv));}),
-#else
-#define assert_not_ROK(sv)
-#define assert_not_glob(sv)
-#endif
-
-#define SvOK(sv) ((SvTYPE(sv) == SVt_BIND) \
- ? (SvFLAGS(SvRV(sv)) & SVf_OK) \
- : (SvFLAGS(sv) & SVf_OK))
-#define SvOK_off(sv) (assert_not_ROK(sv) assert_not_glob(sv) \
- SvFLAGS(sv) &= ~(SVf_OK| \
- SVf_IVisUV|SVf_UTF8), \
- SvOOK_off(sv))
-#define SvOK_off_exc_UV(sv) (assert_not_ROK(sv) \
- SvFLAGS(sv) &= ~(SVf_OK| \
- SVf_UTF8), \
- SvOOK_off(sv))
-
-#define SvOKp(sv) (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK))
-#define SvIOKp(sv) (SvFLAGS(sv) & SVp_IOK)
-#define SvIOKp_on(sv) (assert_not_glob(sv) SvRELEASE_IVX(sv), \
- SvFLAGS(sv) |= SVp_IOK)
-#define SvNOKp(sv) (SvFLAGS(sv) & SVp_NOK)
-#define SvNOKp_on(sv) (assert_not_glob(sv) SvFLAGS(sv) |= SVp_NOK)
-#define SvPOKp(sv) (SvFLAGS(sv) & SVp_POK)
-#define SvPOKp_on(sv) (assert_not_ROK(sv) assert_not_glob(sv) \
- SvFLAGS(sv) |= SVp_POK)
-
-#define SvIOK(sv) (SvFLAGS(sv) & SVf_IOK)
-#define SvIOK_on(sv) (assert_not_glob(sv) SvRELEASE_IVX(sv), \
- SvFLAGS(sv) |= (SVf_IOK|SVp_IOK))
-#define SvIOK_off(sv) (SvFLAGS(sv) &= ~(SVf_IOK|SVp_IOK|SVf_IVisUV))
-#define SvIOK_only(sv) (SvOK_off(sv), \
- SvFLAGS(sv) |= (SVf_IOK|SVp_IOK))
-#define SvIOK_only_UV(sv) (assert_not_glob(sv) SvOK_off_exc_UV(sv), \
- SvFLAGS(sv) |= (SVf_IOK|SVp_IOK))
-
-#define SvIOK_UV(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) \
- == (SVf_IOK|SVf_IVisUV))
-#define SvUOK(sv) SvIOK_UV(sv)
-#define SvIOK_notUV(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) \
- == SVf_IOK)
-
-#define SvIsUV(sv) (SvFLAGS(sv) & SVf_IVisUV)
-#define SvIsUV_on(sv) (SvFLAGS(sv) |= SVf_IVisUV)
-#define SvIsUV_off(sv) (SvFLAGS(sv) &= ~SVf_IVisUV)
-
-#define SvNOK(sv) (SvFLAGS(sv) & SVf_NOK)
-#define SvNOK_on(sv) (assert_not_glob(sv) \
- SvFLAGS(sv) |= (SVf_NOK|SVp_NOK))
-#define SvNOK_off(sv) (SvFLAGS(sv) &= ~(SVf_NOK|SVp_NOK))
-#define SvNOK_only(sv) (SvOK_off(sv), \
- SvFLAGS(sv) |= (SVf_NOK|SVp_NOK))
-
-/*
-=for apidoc Am|U32|SvUTF8|SV* sv
-Returns a U32 value indicating whether the SV contains UTF-8 encoded data.
-Call this after SvPV() in case any call to string overloading updates the
-internal flag.
-
-=for apidoc Am|void|SvUTF8_on|SV *sv
-Turn on the UTF-8 status of an SV (the data is not changed, just the flag).
-Do not use frivolously.
-
-=for apidoc Am|void|SvUTF8_off|SV *sv
-Unsets the UTF-8 status of an SV.
-
-=for apidoc Am|void|SvPOK_only_UTF8|SV* sv
-Tells an SV that it is a string and disables all other OK bits,
-and leaves the UTF-8 status as it was.
-
-=cut
- */
-
-/* Ensure the return value of this macro does not clash with the GV_ADD* flags
-in gv.h: */
-#define SvUTF8(sv) (SvFLAGS(sv) & SVf_UTF8)
-#define SvUTF8_on(sv) (SvFLAGS(sv) |= (SVf_UTF8))
-#define SvUTF8_off(sv) (SvFLAGS(sv) &= ~(SVf_UTF8))
-
-#define SvPOK(sv) (SvFLAGS(sv) & SVf_POK)
-#define SvPOK_on(sv) (assert_not_ROK(sv) assert_not_glob(sv) \
- SvFLAGS(sv) |= (SVf_POK|SVp_POK))
-#define SvPOK_off(sv) (SvFLAGS(sv) &= ~(SVf_POK|SVp_POK))
-#define SvPOK_only(sv) (assert_not_ROK(sv) assert_not_glob(sv) \
- SvFLAGS(sv) &= ~(SVf_OK| \
- SVf_IVisUV|SVf_UTF8), \
- SvFLAGS(sv) |= (SVf_POK|SVp_POK))
-#define SvPOK_only_UTF8(sv) (assert_not_ROK(sv) assert_not_glob(sv) \
- SvFLAGS(sv) &= ~(SVf_OK| \
- SVf_IVisUV), \
- SvFLAGS(sv) |= (SVf_POK|SVp_POK))
-
-#define SvVOK(sv) (SvMAGICAL(sv) \
- && mg_find(sv,PERL_MAGIC_vstring))
-/* returns the vstring magic, if any */
-#define SvVSTRING_mg(sv) (SvMAGICAL(sv) \
- ? mg_find(sv,PERL_MAGIC_vstring) : NULL)
-
-#define SvOOK(sv) (SvFLAGS(sv) & SVf_OOK)
-#define SvOOK_on(sv) ((void)SvIOK_off(sv), SvFLAGS(sv) |= SVf_OOK)
-#define SvOOK_off(sv) ((void)(SvOOK(sv) && sv_backoff(sv)))
-
-#define SvFAKE(sv) (SvFLAGS(sv) & SVf_FAKE)
-#define SvFAKE_on(sv) (SvFLAGS(sv) |= SVf_FAKE)
-#define SvFAKE_off(sv) (SvFLAGS(sv) &= ~SVf_FAKE)
-
-#define SvROK(sv) (SvFLAGS(sv) & SVf_ROK)
-#define SvROK_on(sv) (SvFLAGS(sv) |= SVf_ROK)
-#define SvROK_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK))
-
-#define SvMAGICAL(sv) (SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG))
-#define SvMAGICAL_on(sv) (SvFLAGS(sv) |= (SVs_GMG|SVs_SMG|SVs_RMG))
-#define SvMAGICAL_off(sv) (SvFLAGS(sv) &= ~(SVs_GMG|SVs_SMG|SVs_RMG))
-
-#define SvGMAGICAL(sv) (SvFLAGS(sv) & SVs_GMG)
-#define SvGMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_GMG)
-#define SvGMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_GMG)
-
-#define SvSMAGICAL(sv) (SvFLAGS(sv) & SVs_SMG)
-#define SvSMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_SMG)
-#define SvSMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_SMG)
-
-#define SvRMAGICAL(sv) (SvFLAGS(sv) & SVs_RMG)
-#define SvRMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_RMG)
-#define SvRMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_RMG)
-
-#define SvAMAGIC(sv) (SvROK(sv) && (SvFLAGS(SvRV(sv)) & SVf_AMAGIC))
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define SvAMAGIC_on(sv) ({ SV * const kloink = sv; \
- assert(SvROK(kloink)); \
- SvFLAGS(SvRV(kloink)) |= SVf_AMAGIC; \
- })
-# define SvAMAGIC_off(sv) ({ SV * const kloink = sv; \
- if(SvROK(kloink)) \
- SvFLAGS(SvRV(kloink)) &= ~SVf_AMAGIC;\
- })
-#else
-# define SvAMAGIC_on(sv) (SvFLAGS(SvRV(sv)) |= SVf_AMAGIC)
-# define SvAMAGIC_off(sv) \
- (SvROK(sv) && (SvFLAGS(SvRV(sv)) &= ~SVf_AMAGIC))
-#endif
-
-/*
-=for apidoc Am|char*|SvGAMAGIC|SV* sv
-
-Returns true if the SV has get magic or overloading. If either is true then
-the scalar is active data, and has the potential to return a new value every
-time it is accessed. Hence you must be careful to only read it once per user
-logical operation and work with that returned value. If neither is true then
-the scalar's value cannot change unless written to.
-
-=cut
-*/
-
-#define SvGAMAGIC(sv) (SvGMAGICAL(sv) || SvAMAGIC(sv))
-
-#define Gv_AMG(stash) (PL_amagic_generation && Gv_AMupdate(stash))
-
-#define SvWEAKREF(sv) ((SvFLAGS(sv) & (SVf_ROK|SVprv_WEAKREF)) \
- == (SVf_ROK|SVprv_WEAKREF))
-#define SvWEAKREF_on(sv) (SvFLAGS(sv) |= (SVf_ROK|SVprv_WEAKREF))
-#define SvWEAKREF_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK|SVprv_WEAKREF))
-
-#define SvPCS_IMPORTED(sv) ((SvFLAGS(sv) & (SVf_ROK|SVprv_PCS_IMPORTED)) \
- == (SVf_ROK|SVprv_PCS_IMPORTED))
-#define SvPCS_IMPORTED_on(sv) (SvFLAGS(sv) |= (SVf_ROK|SVprv_PCS_IMPORTED))
-#define SvPCS_IMPORTED_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK|SVprv_PCS_IMPORTED))
-
-#define SvTHINKFIRST(sv) (SvFLAGS(sv) & SVf_THINKFIRST)
-
-#define SvPADSTALE(sv) (SvFLAGS(sv) & SVs_PADSTALE)
-#define SvPADSTALE_on(sv) (SvFLAGS(sv) |= SVs_PADSTALE)
-#define SvPADSTALE_off(sv) (SvFLAGS(sv) &= ~SVs_PADSTALE)
-
-#define SvPADTMP(sv) (SvFLAGS(sv) & SVs_PADTMP)
-#define SvPADTMP_on(sv) (SvFLAGS(sv) |= SVs_PADTMP)
-#define SvPADTMP_off(sv) (SvFLAGS(sv) &= ~SVs_PADTMP)
-
-#define SvPADMY(sv) (SvFLAGS(sv) & SVs_PADMY)
-#define SvPADMY_on(sv) (SvFLAGS(sv) |= SVs_PADMY)
-
-#define SvTEMP(sv) (SvFLAGS(sv) & SVs_TEMP)
-#define SvTEMP_on(sv) (SvFLAGS(sv) |= SVs_TEMP)
-#define SvTEMP_off(sv) (SvFLAGS(sv) &= ~SVs_TEMP)
-
-#define SvOBJECT(sv) (SvFLAGS(sv) & SVs_OBJECT)
-#define SvOBJECT_on(sv) (SvFLAGS(sv) |= SVs_OBJECT)
-#define SvOBJECT_off(sv) (SvFLAGS(sv) &= ~SVs_OBJECT)
-
-#define SvREADONLY(sv) (SvFLAGS(sv) & SVf_READONLY)
-#define SvREADONLY_on(sv) (SvFLAGS(sv) |= SVf_READONLY)
-#define SvREADONLY_off(sv) (SvFLAGS(sv) &= ~SVf_READONLY)
-
-#define SvSCREAM(sv) ((SvFLAGS(sv) & (SVp_SCREAM|SVp_POK)) == (SVp_SCREAM|SVp_POK))
-#define SvSCREAM_on(sv) (SvFLAGS(sv) |= SVp_SCREAM)
-#define SvSCREAM_off(sv) (SvFLAGS(sv) &= ~SVp_SCREAM)
-
-#define SvCOMPILED(sv) (SvFLAGS(sv) & SVpfm_COMPILED)
-#define SvCOMPILED_on(sv) (SvFLAGS(sv) |= SVpfm_COMPILED)
-#define SvCOMPILED_off(sv) (SvFLAGS(sv) &= ~SVpfm_COMPILED)
-
-#define SvEVALED(sv) (SvFLAGS(sv) & SVrepl_EVAL)
-#define SvEVALED_on(sv) (SvFLAGS(sv) |= SVrepl_EVAL)
-#define SvEVALED_off(sv) (SvFLAGS(sv) &= ~SVrepl_EVAL)
-
-#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define SvVALID(sv) ({ SV *const thwacke = (SV *) (sv); \
- if (SvFLAGS(thwacke) & SVpbm_VALID) \
- assert(!isGV_with_GP(thwacke)); \
- (SvFLAGS(thwacke) & SVpbm_VALID); \
- })
-# define SvVALID_on(sv) ({ SV *const thwacke = (SV *) (sv); \
- assert(!isGV_with_GP(thwacke)); \
- (SvFLAGS(thwacke) |= SVpbm_VALID); \
- })
-# define SvVALID_off(sv) ({ SV *const thwacke = (SV *) (sv); \
- assert(!isGV_with_GP(thwacke)); \
- (SvFLAGS(thwacke) &= ~SVpbm_VALID); \
- })
-
-# define SvTAIL(sv) ({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- (SvFLAGS(sv) & (SVpbm_TAIL|SVpbm_VALID)) \
- == (SVpbm_TAIL|SVpbm_VALID); \
- })
-#else
-# define SvVALID(sv) (SvFLAGS(sv) & SVpbm_VALID)
-# define SvVALID_on(sv) (SvFLAGS(sv) |= SVpbm_VALID)
-# define SvVALID_off(sv) (SvFLAGS(sv) &= ~SVpbm_VALID)
-# define SvTAIL(sv) ((SvFLAGS(sv) & (SVpbm_TAIL|SVpbm_VALID)) \
- == (SVpbm_TAIL|SVpbm_VALID))
-
-#endif
-#define SvTAIL_on(sv) (SvFLAGS(sv) |= SVpbm_TAIL)
-#define SvTAIL_off(sv) (SvFLAGS(sv) &= ~SVpbm_TAIL)
-
-
-#ifdef USE_ITHREADS
-/* The following uses the FAKE flag to show that a regex pointer is infact
- its own offset in the regexpad for ithreads */
-#define SvREPADTMP(sv) (SvFLAGS(sv) & SVf_FAKE)
-#define SvREPADTMP_on(sv) (SvFLAGS(sv) |= SVf_FAKE)
-#define SvREPADTMP_off(sv) (SvFLAGS(sv) &= ~SVf_FAKE)
-#endif
-
-#define SvPAD_TYPED(sv) \
- ((SvFLAGS(sv) & (SVpad_NAME|SVpad_TYPED)) == (SVpad_NAME|SVpad_TYPED))
-
-#define SvPAD_OUR(sv) \
- ((SvFLAGS(sv) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR))
-
-#define SvPAD_STATE(sv) \
- ((SvFLAGS(sv) & (SVpad_NAME|SVpad_STATE)) == (SVpad_NAME|SVpad_STATE))
-
-#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define SvPAD_TYPED_on(sv) ({ \
- SV *const whap = (SV *) (sv); \
- assert(SvTYPE(whap) == SVt_PVMG); \
- (SvFLAGS(whap) |= SVpad_NAME|SVpad_TYPED); \
- })
-#define SvPAD_OUR_on(sv) ({ \
- SV *const whap = (SV *) (sv); \
- assert(SvTYPE(whap) == SVt_PVMG); \
- (SvFLAGS(whap) |= SVpad_NAME|SVpad_OUR); \
- })
-#define SvPAD_STATE_on(sv) ({ \
- SV *const whap = (SV *) (sv); \
- assert(SvTYPE(whap) == SVt_PVNV || SvTYPE(whap) == SVt_PVMG); \
- (SvFLAGS(whap) |= SVpad_NAME|SVpad_STATE); \
- })
-#else
-# define SvPAD_TYPED_on(sv) (SvFLAGS(sv) |= SVpad_NAME|SVpad_TYPED)
-# define SvPAD_OUR_on(sv) (SvFLAGS(sv) |= SVpad_NAME|SVpad_OUR)
-# define SvPAD_STATE_on(sv) (SvFLAGS(sv) |= SVpad_NAME|SVpad_STATE)
-#endif
-
-#define SvOURSTASH(sv) \
- (SvPAD_OUR(sv) ? ((XPVMG*) SvANY(sv))->xmg_u.xmg_ourstash : NULL)
-#define SvOURSTASH_set(sv, st) \
- STMT_START { \
- assert(SvTYPE(sv) == SVt_PVMG); \
- ((XPVMG*) SvANY(sv))->xmg_u.xmg_ourstash = st; \
- } STMT_END
-
-#ifdef PERL_DEBUG_COW
-#else
-#endif
-#define SvRVx(sv) SvRV(sv)
-
-#ifdef PERL_DEBUG_COW
-/* Need -0.0 for SvNVX to preserve IEEE FP "negative zero" because
- +0.0 + -0.0 => +0.0 but -0.0 + -0.0 => -0.0 */
-# define SvIVX(sv) (0 + ((XPVIV*) SvANY(sv))->xiv_iv)
-# define SvUVX(sv) (0 + ((XPVUV*) SvANY(sv))->xuv_uv)
-# define SvNVX(sv) (-0.0 + ((XPVNV*) SvANY(sv))->xnv_u.xnv_nv)
-# define SvRV(sv) (0 + (sv)->sv_u.svu_rv)
-/* Don't test the core XS code yet. */
-# if defined (PERL_CORE) && PERL_DEBUG_COW > 1
-# define SvPVX(sv) (0 + (assert(!SvREADONLY(sv)), (sv)->sv_u.svu_pv))
-# else
-# define SvPVX(sv) SvPVX_mutable(sv)
-# endif
-# define SvCUR(sv) (0 + ((XPV*) SvANY(sv))->xpv_cur)
-# define SvLEN(sv) (0 + ((XPV*) SvANY(sv))->xpv_len)
-# define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur)
-
-# ifdef DEBUGGING
-# define SvMAGIC(sv) (0 + *(assert(SvTYPE(sv) >= SVt_PVMG), &((XPVMG*) SvANY(sv))->xmg_u.xmg_magic))
-# define SvSTASH(sv) (0 + *(assert(SvTYPE(sv) >= SVt_PVMG), &((XPVMG*) SvANY(sv))->xmg_stash))
-# else
-# define SvMAGIC(sv) (0 + ((XPVMG*) SvANY(sv))->xmg_u.xmg_magic)
-# define SvSTASH(sv) (0 + ((XPVMG*) SvANY(sv))->xmg_stash)
-# endif
-#else
-# define SvLEN(sv) ((XPV*) SvANY(sv))->xpv_len
-# define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur)
-
-# if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-/* These get expanded inside other macros that already use a variable _sv */
-# define SvPVX(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) >= SVt_PV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(!isGV_with_GP(_svi)); \
- &((_svi)->sv_u.svu_pv); \
- }))
-# define SvCUR(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) >= SVt_PV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(!isGV_with_GP(_svi)); \
- &(((XPV*) SvANY(_svi))->xpv_cur); \
- }))
-# define SvIVX(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_IV || SvTYPE(_svi) >= SVt_PVIV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(!isGV_with_GP(_svi)); \
- &(((XPVIV*) SvANY(_svi))->xiv_iv); \
- }))
-# define SvUVX(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_IV || SvTYPE(_svi) >= SVt_PVIV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(!isGV_with_GP(_svi)); \
- &(((XPVUV*) SvANY(_svi))->xuv_uv); \
- }))
-# define SvNVX(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) == SVt_NV || SvTYPE(_svi) >= SVt_PVNV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- &(((XPVNV*) SvANY(_svi))->xnv_u.xnv_nv); \
- }))
-# define SvRV(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) >= SVt_RV); \
- assert(SvTYPE(_svi) != SVt_PVAV); \
- assert(SvTYPE(_svi) != SVt_PVHV); \
- assert(SvTYPE(_svi) != SVt_PVCV); \
- assert(SvTYPE(_svi) != SVt_PVFM); \
- assert(!isGV_with_GP(_svi)); \
- &((_svi)->sv_u.svu_rv); \
- }))
-# define SvMAGIC(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) >= SVt_PVMG); \
- if(SvTYPE(_svi) == SVt_PVMG) \
- assert(!SvPAD_OUR(_svi)); \
- &(((XPVMG*) SvANY(_svi))->xmg_u.xmg_magic); \
- }))
-# define SvSTASH(sv) \
- (*({ SV *const _svi = (SV *) (sv); \
- assert(SvTYPE(_svi) >= SVt_PVMG); \
- &(((XPVMG*) SvANY(_svi))->xmg_stash); \
- }))
-# else
-# define SvPVX(sv) ((sv)->sv_u.svu_pv)
-# define SvCUR(sv) ((XPV*) SvANY(sv))->xpv_cur
-# define SvIVX(sv) ((XPVIV*) SvANY(sv))->xiv_iv
-# define SvUVX(sv) ((XPVUV*) SvANY(sv))->xuv_uv
-# define SvNVX(sv) ((XPVNV*) SvANY(sv))->xnv_u.xnv_nv
-# define SvRV(sv) ((sv)->sv_u.svu_rv)
-# define SvMAGIC(sv) ((XPVMG*) SvANY(sv))->xmg_u.xmg_magic
-# define SvSTASH(sv) ((XPVMG*) SvANY(sv))->xmg_stash
-# endif
-#endif
-
-#ifndef PERL_POISON
-/* Given that these two are new, there can't be any existing code using them
- * as LVALUEs */
-# define SvPVX_mutable(sv) (0 + (sv)->sv_u.svu_pv)
-# define SvPVX_const(sv) ((const char*)(0 + (sv)->sv_u.svu_pv))
-#else
-/* Except for the poison code, which uses & to scribble over the pointer after
- free() is called. */
-# define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv)
-# define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv))
-#endif
-
-#define SvIVXx(sv) SvIVX(sv)
-#define SvUVXx(sv) SvUVX(sv)
-#define SvNVXx(sv) SvNVX(sv)
-#define SvPVXx(sv) SvPVX(sv)
-#define SvLENx(sv) SvLEN(sv)
-#define SvENDx(sv) ((PL_Sv = (sv)), SvEND(PL_Sv))
-
-
-/* Ask a scalar nicely to try to become an IV, if possible.
- Not guaranteed to stay returning void */
-/* Macro won't actually call sv_2iv if already IOK */
-#define SvIV_please(sv) \
- STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
- (void) SvIV(sv); } STMT_END
-#define SvIV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
- assert(!isGV_with_GP(sv)); \
- (((XPVIV*) SvANY(sv))->xiv_iv = (val)); } STMT_END
-#define SvNV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
- assert(SvTYPE(sv) != SVt_PVAV); assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); assert(SvTYPE(sv) != SVt_PVFM); \
- assert(!isGV_with_GP(sv)); \
- (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
-#define SvPV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(!isGV_with_GP(sv)); \
- ((sv)->sv_u.svu_pv = (val)); } STMT_END
-#define SvUV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
- assert(!isGV_with_GP(sv)); \
- (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
-#define SvRV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_RV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
- assert(SvTYPE(sv) != SVt_PVFM); \
- assert(!isGV_with_GP(sv)); \
- ((sv)->sv_u.svu_rv = (val)); } STMT_END
-#define SvMAGIC_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
- (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
-#define SvSTASH_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
- (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END
-#define SvCUR_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(!isGV_with_GP(sv)); \
- (((XPV*) SvANY(sv))->xpv_cur = (val)); } STMT_END
-#define SvLEN_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(!isGV_with_GP(sv)); \
- (((XPV*) SvANY(sv))->xpv_len = (val)); } STMT_END
-#define SvEND_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- (SvCUR(sv) = (val) - SvPVX(sv)); } STMT_END
-
-#define SvPV_renew(sv,n) \
- STMT_START { SvLEN_set(sv, n); \
- SvPV_set((sv), (MEM_WRAP_CHECK_(n,char) \
- (char*)saferealloc((Malloc_t)SvPVX(sv), \
- (MEM_SIZE)((n))))); \
- } STMT_END
-
-#define SvPV_shrink_to_cur(sv) STMT_START { \
- const STRLEN _lEnGtH = SvCUR(sv) + 1; \
- SvPV_renew(sv, _lEnGtH); \
- } STMT_END
-
-#define SvPV_free(sv) \
- STMT_START { \
- assert(SvTYPE(sv) >= SVt_PV); \
- if (SvLEN(sv)) { \
- if(SvOOK(sv)) { \
- SvPV_set(sv, SvPVX_mutable(sv) - SvIVX(sv)); \
- SvFLAGS(sv) &= ~SVf_OOK; \
- } \
- Safefree(SvPVX(sv)); \
- } \
- } STMT_END
-
-
-#define PERL_FBM_TABLE_OFFSET 1 /* Number of bytes between EOS and table */
-
-/* SvPOKp not SvPOK in the assertion because the string can be tainted! eg
- perl -T -e '/$^X/'
-*/
-#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define BmFLAGS(sv) \
- (*({ SV *const uggh = (SV *) (sv); \
- assert(SvTYPE(uggh) == SVt_PVGV); \
- assert(SvVALID(uggh)); \
- &(((XPVGV*) SvANY(uggh))->xnv_u.xbm_s.xbm_flags); \
- }))
-# define BmRARE(sv) \
- (*({ SV *const uggh = (SV *) (sv); \
- assert(SvTYPE(uggh) == SVt_PVGV); \
- assert(SvVALID(uggh)); \
- &(((XPVGV*) SvANY(uggh))->xnv_u.xbm_s.xbm_rare); \
- }))
-# define BmUSEFUL(sv) \
- (*({ SV *const uggh = (SV *) (sv); \
- assert(SvTYPE(uggh) == SVt_PVGV); \
- assert(SvVALID(uggh)); \
- assert(!SvIOK(uggh)); \
- &(((XPVGV*) SvANY(uggh))->xiv_u.xivu_i32); \
- }))
-# define BmPREVIOUS(sv) \
- (*({ SV *const uggh = (SV *) (sv); \
- assert(SvTYPE(uggh) == SVt_PVGV); \
- assert(SvVALID(uggh)); \
- &(((XPVGV*) SvANY(uggh))->xnv_u.xbm_s.xbm_previous); \
- }))
-#else
-# define BmFLAGS(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_flags
-# define BmRARE(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
-# define BmUSEFUL(sv) ((XPVGV*) SvANY(sv))->xiv_u.xivu_i32
-# define BmPREVIOUS(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_previous
-
-#endif
-
-#define FmLINES(sv) ((XPVFM*) SvANY(sv))->xfm_lines
-
-#define LvTYPE(sv) ((XPVLV*) SvANY(sv))->xlv_type
-#define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ
-#define LvTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff
-#define LvTARGLEN(sv) ((XPVLV*) SvANY(sv))->xlv_targlen
-
-#define IoIFP(sv) ((XPVIO*) SvANY(sv))->xio_ifp
-#define IoOFP(sv) ((XPVIO*) SvANY(sv))->xio_ofp
-#define IoDIRP(sv) ((XPVIO*) SvANY(sv))->xio_dirp
-#define IoANY(sv) ((XPVIO*) SvANY(sv))->xio_any
-#define IoLINES(sv) ((XPVIO*) SvANY(sv))->xio_lines
-#define IoPAGE(sv) ((XPVIO*) SvANY(sv))->xio_page
-#define IoPAGE_LEN(sv) ((XPVIO*) SvANY(sv))->xio_page_len
-#define IoLINES_LEFT(sv)((XPVIO*) SvANY(sv))->xio_lines_left
-#define IoTOP_NAME(sv) ((XPVIO*) SvANY(sv))->xio_top_name
-#define IoTOP_GV(sv) ((XPVIO*) SvANY(sv))->xio_top_gv
-#define IoFMT_NAME(sv) ((XPVIO*) SvANY(sv))->xio_fmt_name
-#define IoFMT_GV(sv) ((XPVIO*) SvANY(sv))->xio_fmt_gv
-#define IoBOTTOM_NAME(sv)((XPVIO*) SvANY(sv))->xio_bottom_name
-#define IoBOTTOM_GV(sv) ((XPVIO*) SvANY(sv))->xio_bottom_gv
-#define IoTYPE(sv) ((XPVIO*) SvANY(sv))->xio_type
-#define IoFLAGS(sv) ((XPVIO*) SvANY(sv))->xio_flags
-
-/* IoTYPE(sv) is a single character telling the type of I/O connection. */
-#define IoTYPE_RDONLY '<'
-#define IoTYPE_WRONLY '>'
-#define IoTYPE_RDWR '+'
-#define IoTYPE_APPEND 'a'
-#define IoTYPE_PIPE '|'
-#define IoTYPE_STD '-' /* stdin or stdout */
-#define IoTYPE_SOCKET 's'
-#define IoTYPE_CLOSED ' '
-#define IoTYPE_IMPLICIT 'I' /* stdin or stdout or stderr */
-#define IoTYPE_NUMERIC '#' /* fdopen */
-
-/*
-=for apidoc Am|bool|SvTAINTED|SV* sv
-Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
-not.
-
-=for apidoc Am|void|SvTAINTED_on|SV* sv
-Marks an SV as tainted if tainting is enabled.
-
-=for apidoc Am|void|SvTAINTED_off|SV* sv
-Untaints an SV. Be I<very> careful with this routine, as it short-circuits
-some of Perl's fundamental security features. XS module authors should not
-use this function unless they fully understand all the implications of
-unconditionally untainting the value. Untainting should be done in the
-standard perl fashion, via a carefully crafted regexp, rather than directly
-untainting variables.
-
-=for apidoc Am|void|SvTAINT|SV* sv
-Taints an SV if tainting is enabled.
-
-=cut
-*/
-
-#define sv_taint(sv) sv_magic((sv), NULL, PERL_MAGIC_taint, NULL, 0)
-
-#define SvTAINTED(sv) (SvMAGICAL(sv) && sv_tainted(sv))
-#define SvTAINTED_on(sv) STMT_START{ if(PL_tainting){sv_taint(sv);} }STMT_END
-#define SvTAINTED_off(sv) STMT_START{ if(PL_tainting){sv_untaint(sv);} }STMT_END
-
-#define SvTAINT(sv) \
- STMT_START { \
- if (PL_tainting) { \
- if (PL_tainted) \
- SvTAINTED_on(sv); \
- } \
- } STMT_END
-
-/*
-=for apidoc Am|char*|SvPV_force|SV* sv|STRLEN len
-Like C<SvPV> but will force the SV into containing just a string
-(C<SvPOK_only>). You want force if you are going to update the C<SvPVX>
-directly.
-
-=for apidoc Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
-Like C<SvPV> but will force the SV into containing just a string
-(C<SvPOK_only>). You want force if you are going to update the C<SvPVX>
-directly. Doesn't process magic.
-
-=for apidoc Am|char*|SvPV|SV* sv|STRLEN len
-Returns a pointer to the string in the SV, or a stringified form of
-the SV if the SV does not contain a string. The SV may cache the
-stringified version becoming C<SvPOK>. Handles 'get' magic. See also
-C<SvPVx> for a version which guarantees to evaluate sv only once.
-
-=for apidoc Am|char*|SvPVx|SV* sv|STRLEN len
-A version of C<SvPV> which guarantees to evaluate C<sv> only once.
-Only use this if C<sv> is an expression with side effects, otherwise use the
-more efficient C<SvPVX>.
-
-=for apidoc Am|char*|SvPV_nomg|SV* sv|STRLEN len
-Like C<SvPV> but doesn't process magic.
-
-=for apidoc Am|char*|SvPV_nolen|SV* sv
-Returns a pointer to the string in the SV, or a stringified form of
-the SV if the SV does not contain a string. The SV may cache the
-stringified form becoming C<SvPOK>. Handles 'get' magic.
-
-=for apidoc Am|IV|SvIV|SV* sv
-Coerces the given SV to an integer and returns it. See C<SvIVx> for a
-version which guarantees to evaluate sv only once.
-
-=for apidoc Am|IV|SvIV_nomg|SV* sv
-Like C<SvIV> but doesn't process magic.
-
-=for apidoc Am|IV|SvIVx|SV* sv
-Coerces the given SV to an integer and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
-otherwise use the more efficient C<SvIV>.
-
-=for apidoc Am|NV|SvNV|SV* sv
-Coerce the given SV to a double and return it. See C<SvNVx> for a version
-which guarantees to evaluate sv only once.
-
-=for apidoc Am|NV|SvNVx|SV* sv
-Coerces the given SV to a double and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
-otherwise use the more efficient C<SvNV>.
-
-=for apidoc Am|UV|SvUV|SV* sv
-Coerces the given SV to an unsigned integer and returns it. See C<SvUVx>
-for a version which guarantees to evaluate sv only once.
-
-=for apidoc Am|UV|SvUV_nomg|SV* sv
-Like C<SvUV> but doesn't process magic.
-
-=for apidoc Am|UV|SvUVx|SV* sv
-Coerces the given SV to an unsigned integer and returns it. Guarantees to
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
-otherwise use the more efficient C<SvUV>.
-
-=for apidoc Am|bool|SvTRUE|SV* sv
-Returns a boolean indicating whether Perl would evaluate the SV as true or
-false, defined or undefined. Does not handle 'get' magic.
-
-=for apidoc Am|char*|SvPVutf8_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to utf8 first if necessary.
-
-=for apidoc Am|char*|SvPVutf8|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to utf8 first if necessary.
-
-=for apidoc Am|char*|SvPVutf8_nolen|SV* sv
-Like C<SvPV_nolen>, but converts sv to utf8 first if necessary.
-
-=for apidoc Am|char*|SvPVbyte_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to byte representation first if necessary.
-
-=for apidoc Am|char*|SvPVbyte|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to byte representation first if necessary.
-
-=for apidoc Am|char*|SvPVbyte_nolen|SV* sv
-Like C<SvPV_nolen>, but converts sv to byte representation first if necessary.
-
-=for apidoc Am|char*|SvPVutf8x_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to utf8 first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8_force>
-otherwise.
-
-=for apidoc Am|char*|SvPVutf8x|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to utf8 first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8>
-otherwise.
-
-=for apidoc Am|char*|SvPVbytex_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to byte representation first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte_force>
-otherwise.
-
-=for apidoc Am|char*|SvPVbytex|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to byte representation first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte>
-otherwise.
-
-=for apidoc Am|bool|SvIsCOW|SV* sv
-Returns a boolean indicating whether the SV is Copy-On-Write. (either shared
-hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for
-COW)
-
-=for apidoc Am|bool|SvIsCOW_shared_hash|SV* sv
-Returns a boolean indicating whether the SV is Copy-On-Write shared hash key
-scalar.
-
-=for apidoc Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len
-Like C<sv_catpvn> but doesn't process magic.
-
-=for apidoc Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
-Like C<sv_setsv> but doesn't process magic.
-
-=for apidoc Am|void|sv_catsv_nomg|SV* dsv|SV* ssv
-Like C<sv_catsv> but doesn't process magic.
-
-=cut
-*/
-
-/* Let us hope that bitmaps for UV and IV are the same */
-#define SvIV(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv))
-#define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
-#define SvNV(sv) (SvNOK(sv) ? SvNVX(sv) : sv_2nv(sv))
-
-#define SvIV_nomg(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv_flags(sv, 0))
-#define SvUV_nomg(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv_flags(sv, 0))
-
-/* ----*/
-
-#define SvPV(sv, lp) SvPV_flags(sv, lp, SV_GMAGIC)
-#define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
-#define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC)
-
-#define SvPV_flags(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
-#define SvPV_flags_const(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
- (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
-#define SvPV_flags_const_nolen(sv, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX_const(sv) : \
- (const char*) sv_2pv_flags(sv, 0, flags|SV_CONST_RETURN))
-#define SvPV_flags_mutable(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
- sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
-
-#define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC)
-#define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC)
-#define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
-
-#define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0)
-#define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
-
-#define SvPV_force_flags(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
-#define SvPV_force_flags_nolen(sv, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags))
-#define SvPV_force_flags_mutable(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
- : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
-
-#define SvPV_nolen(sv) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC))
-
-#define SvPV_nolen_const(sv) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN))
-
-#define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
-#define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0)
-#define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
-
-/* ----*/
-
-#define SvPVutf8(sv, lp) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK|SVf_UTF8) \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8(sv, &lp))
-
-#define SvPVutf8_force(sv, lp) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST)) == (SVf_POK|SVf_UTF8) \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvutf8n_force(sv, &lp))
-
-
-#define SvPVutf8_nolen(sv) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK|SVf_UTF8)\
- ? SvPVX(sv) : sv_2pvutf8(sv, 0))
-
-/* ----*/
-
-#define SvPVbyte(sv, lp) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
-
-#define SvPVbyte_force(sv, lp) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST)) == (SVf_POK) \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvbyten_force(sv, &lp))
-
-#define SvPVbyte_nolen(sv) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK)\
- ? SvPVX(sv) : sv_2pvbyte(sv, 0))
-
-
-
-/* define FOOx(): idempotent versions of FOO(). If possible, use a local
- * var to evaluate the arg once; failing that, use a global if possible;
- * failing that, call a function to do the work
- */
-
-#define SvPVx_force(sv, lp) sv_pvn_force(sv, &lp)
-#define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp)
-#define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp)
-
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-
-# define SvIVx(sv) ({SV *_sv = (SV*)(sv); SvIV(_sv); })
-# define SvUVx(sv) ({SV *_sv = (SV*)(sv); SvUV(_sv); })
-# define SvNVx(sv) ({SV *_sv = (SV*)(sv); SvNV(_sv); })
-# define SvPVx(sv, lp) ({SV *_sv = (sv); SvPV(_sv, lp); })
-# define SvPVx_const(sv, lp) ({SV *_sv = (sv); SvPV_const(_sv, lp); })
-# define SvPVx_nolen(sv) ({SV *_sv = (sv); SvPV_nolen(_sv); })
-# define SvPVx_nolen_const(sv) ({SV *_sv = (sv); SvPV_nolen_const(_sv); })
-# define SvPVutf8x(sv, lp) ({SV *_sv = (sv); SvPVutf8(_sv, lp); })
-# define SvPVbytex(sv, lp) ({SV *_sv = (sv); SvPVbyte(_sv, lp); })
-# define SvPVbytex_nolen(sv) ({SV *_sv = (sv); SvPVbyte_nolen(_sv); })
-# define SvTRUE(sv) ( \
- !sv \
- ? 0 \
- : SvPOK(sv) \
- ? (({XPV *nxpv = (XPV*)SvANY(sv); \
- nxpv && \
- (nxpv->xpv_cur > 1 || \
- (nxpv->xpv_cur && *(sv)->sv_u.svu_pv != '0')); }) \
- ? 1 \
- : 0) \
- : \
- SvIOK(sv) \
- ? SvIVX(sv) != 0 \
- : SvNOK(sv) \
- ? SvNVX(sv) != 0.0 \
- : sv_2bool(sv) )
-# define SvTRUEx(sv) ({SV *_sv = (sv); SvTRUE(_sv); })
-
-#else /* __GNUC__ */
-
-/* These inlined macros use globals, which will require a thread
- * declaration in user code, so we avoid them under threads */
-
-# define SvIVx(sv) ((PL_Sv = (sv)), SvIV(PL_Sv))
-# define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv))
-# define SvNVx(sv) ((PL_Sv = (sv)), SvNV(PL_Sv))
-# define SvPVx(sv, lp) ((PL_Sv = (sv)), SvPV(PL_Sv, lp))
-# define SvPVx_const(sv, lp) ((PL_Sv = (sv)), SvPV_const(PL_Sv, lp))
-# define SvPVx_nolen(sv) ((PL_Sv = (sv)), SvPV_nolen(PL_Sv))
-# define SvPVx_nolen_const(sv) ((PL_Sv = (sv)), SvPV_nolen_const(PL_Sv))
-# define SvPVutf8x(sv, lp) ((PL_Sv = (sv)), SvPVutf8(PL_Sv, lp))
-# define SvPVbytex(sv, lp) ((PL_Sv = (sv)), SvPVbyte(PL_Sv, lp))
-# define SvPVbytex_nolen(sv) ((PL_Sv = (sv)), SvPVbyte_nolen(PL_Sv))
-# define SvTRUE(sv) ( \
- !sv \
- ? 0 \
- : SvPOK(sv) \
- ? ((PL_Xpv = (XPV*)SvANY(PL_Sv = (sv))) && \
- (PL_Xpv->xpv_cur > 1 || \
- (PL_Xpv->xpv_cur && *PL_Sv->sv_u.svu_pv != '0')) \
- ? 1 \
- : 0) \
- : \
- SvIOK(sv) \
- ? SvIVX(sv) != 0 \
- : SvNOK(sv) \
- ? SvNVX(sv) != 0.0 \
- : sv_2bool(sv) )
-# define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv))
-#endif /* __GNU__ */
-
-#define SvIsCOW(sv) ((SvFLAGS(sv) & (SVf_FAKE | SVf_READONLY)) == \
- (SVf_FAKE | SVf_READONLY))
-#define SvIsCOW_shared_hash(sv) (SvIsCOW(sv) && SvLEN(sv) == 0)
-
-#define SvSHARED_HEK_FROM_PV(pvx) \
- ((struct hek*)(pvx - STRUCT_OFFSET(struct hek, hek_key)))
-#define SvSHARED_HASH(sv) (0 + SvSHARED_HEK_FROM_PV(SvPVX_const(sv))->hek_hash)
-
-/* flag values for sv_*_flags functions */
-#define SV_IMMEDIATE_UNREF 1
-#define SV_GMAGIC 2
-#define SV_COW_DROP_PV 4
-#define SV_UTF8_NO_ENCODING 8
-#define SV_NOSTEAL 16
-#define SV_CONST_RETURN 32
-#define SV_MUTABLE_RETURN 64
-#define SV_SMAGIC 128
-#define SV_HAS_TRAILING_NUL 256
-#define SV_COW_SHARED_HASH_KEYS 512
-/* This one is only enabled for PERL_OLD_COPY_ON_WRITE */
-#define SV_COW_OTHER_PVS 1024
-
-/* The core is safe for this COW optimisation. XS code on CPAN may not be.
- So only default to doing the COW setup if we're in the core.
- */
-#ifdef PERL_CORE
-# ifndef SV_DO_COW_SVSETSV
-# define SV_DO_COW_SVSETSV SV_COW_SHARED_HASH_KEYS|SV_COW_OTHER_PVS
-# endif
-#endif
-
-#ifndef SV_DO_COW_SVSETSV
-# define SV_DO_COW_SVSETSV 0
-#endif
-
-
-#define sv_unref(sv) sv_unref_flags(sv, 0)
-#define sv_force_normal(sv) sv_force_normal_flags(sv, 0)
-#define sv_usepvn(sv, p, l) sv_usepvn_flags(sv, p, l, 0)
-#define sv_usepvn_mg(sv, p, l) sv_usepvn_flags(sv, p, l, SV_SMAGIC)
-
-/* We are about to replace the SV's current value. So if it's copy on write
- we need to normalise it. Use the SV_COW_DROP_PV flag hint to say that
- the value is about to get thrown away, so drop the PV rather than go to
- the effort of making a read-write copy only for it to get immediately
- discarded. */
-
-#define SV_CHECK_THINKFIRST_COW_DROP(sv) if (SvTHINKFIRST(sv)) \
- sv_force_normal_flags(sv, SV_COW_DROP_PV)
-
-#ifdef PERL_OLD_COPY_ON_WRITE
-#define SvRELEASE_IVX(sv) \
- ((SvIsCOW(sv) ? sv_force_normal_flags(sv, 0) : (void) 0), SvOOK_off(sv))
-# define SvIsCOW_normal(sv) (SvIsCOW(sv) && SvLEN(sv))
-#else
-# define SvRELEASE_IVX(sv) SvOOK_off(sv)
-#endif /* PERL_OLD_COPY_ON_WRITE */
-
-#define CAN_COW_MASK (SVs_OBJECT|SVs_GMG|SVs_SMG|SVs_RMG|SVf_IOK|SVf_NOK| \
- SVf_POK|SVf_ROK|SVp_IOK|SVp_NOK|SVp_POK|SVf_FAKE| \
- SVf_OOK|SVf_BREAK|SVf_READONLY)
-#define CAN_COW_FLAGS (SVp_POK|SVf_POK)
-
-#define SV_CHECK_THINKFIRST(sv) if (SvTHINKFIRST(sv)) \
- sv_force_normal_flags(sv, 0)
-
-
-/* all these 'functions' are now just macros */
-
-#define sv_pv(sv) SvPV_nolen(sv)
-#define sv_pvutf8(sv) SvPVutf8_nolen(sv)
-#define sv_pvbyte(sv) SvPVbyte_nolen(sv)
-
-#define sv_pvn_force_nomg(sv, lp) sv_pvn_force_flags(sv, lp, 0)
-#define sv_utf8_upgrade_nomg(sv) sv_utf8_upgrade_flags(sv, 0)
-#define sv_catpvn_nomg(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, 0)
-#define sv_setsv(dsv, ssv) \
- sv_setsv_flags(dsv, ssv, SV_GMAGIC|SV_DO_COW_SVSETSV)
-#define sv_setsv_nomg(dsv, ssv) sv_setsv_flags(dsv, ssv, SV_DO_COW_SVSETSV)
-#define sv_catsv(dsv, ssv) sv_catsv_flags(dsv, ssv, SV_GMAGIC)
-#define sv_catsv_nomg(dsv, ssv) sv_catsv_flags(dsv, ssv, 0)
-#define sv_catsv_mg(dsv, ssv) sv_catsv_flags(dsv, ssv, SV_GMAGIC|SV_SMAGIC)
-#define sv_catpvn(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, SV_GMAGIC)
-#define sv_catpvn_mg(sv, sstr, slen) \
- sv_catpvn_flags(sv, sstr, slen, SV_GMAGIC|SV_SMAGIC);
-#define sv_2pv(sv, lp) sv_2pv_flags(sv, lp, SV_GMAGIC)
-#define sv_2pv_nolen(sv) sv_2pv(sv, 0)
-#define sv_2pvbyte_nolen(sv) sv_2pvbyte(sv, 0)
-#define sv_2pvutf8_nolen(sv) sv_2pvutf8(sv, 0)
-#define sv_2pv_nomg(sv, lp) sv_2pv_flags(sv, lp, 0)
-#define sv_pvn_force(sv, lp) sv_pvn_force_flags(sv, lp, SV_GMAGIC)
-#define sv_utf8_upgrade(sv) sv_utf8_upgrade_flags(sv, SV_GMAGIC)
-#define sv_2iv(sv) sv_2iv_flags(sv, SV_GMAGIC)
-#define sv_2uv(sv) sv_2uv_flags(sv, SV_GMAGIC)
-
-/* Should be named SvCatPVN_utf8_upgrade? */
-#define sv_catpvn_utf8_upgrade(dsv, sstr, slen, nsv) \
- STMT_START { \
- if (!(nsv)) \
- nsv = newSVpvn_flags(sstr, slen, SVs_TEMP); \
- else \
- sv_setpvn(nsv, sstr, slen); \
- SvUTF8_off(nsv); \
- sv_utf8_upgrade(nsv); \
- sv_catsv(dsv, nsv); \
- } STMT_END
-
-/*
-=for apidoc Am|SV*|newRV_inc|SV* sv
-
-Creates an RV wrapper for an SV. The reference count for the original SV is
-incremented.
-
-=cut
-*/
-
-#define newRV_inc(sv) newRV(sv)
-
-/* the following macros update any magic values this sv is associated with */
-
-/*
-=head1 Magical Functions
-
-=for apidoc Am|void|SvGETMAGIC|SV* sv
-Invokes C<mg_get> on an SV if it has 'get' magic. This macro evaluates its
-argument more than once.
-
-=for apidoc Am|void|SvSETMAGIC|SV* sv
-Invokes C<mg_set> on an SV if it has 'set' magic. This macro evaluates its
-argument more than once.
-
-=for apidoc Am|void|SvSetSV|SV* dsb|SV* ssv
-Calls C<sv_setsv> if dsv is not the same as ssv. May evaluate arguments
-more than once.
-
-=for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
-Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
-ssv. May evaluate arguments more than once.
-
-=for apidoc Am|void|SvSetMagicSV|SV* dsb|SV* ssv
-Like C<SvSetSV>, but does any set magic required afterwards.
-
-=for apidoc Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv
-Like C<SvSetSV_nosteal>, but does any set magic required afterwards.
-
-=for apidoc Am|void|SvSHARE|SV* sv
-Arranges for sv to be shared between threads if a suitable module
-has been loaded.
-
-=for apidoc Am|void|SvLOCK|SV* sv
-Arranges for a mutual exclusion lock to be obtained on sv if a suitable module
-has been loaded.
-
-=for apidoc Am|void|SvUNLOCK|SV* sv
-Releases a mutual exclusion lock on sv if a suitable module
-has been loaded.
-
-=head1 SV Manipulation Functions
-
-=for apidoc Am|char *|SvGROW|SV* sv|STRLEN len
-Expands the character buffer in the SV so that it has room for the
-indicated number of bytes (remember to reserve space for an extra trailing
-NUL character). Calls C<sv_grow> to perform the expansion if necessary.
-Returns a pointer to the character buffer.
-
-=cut
-*/
-
-#define SvSHARE(sv) CALL_FPTR(PL_sharehook)(aTHX_ sv)
-#define SvLOCK(sv) CALL_FPTR(PL_lockhook)(aTHX_ sv)
-#define SvUNLOCK(sv) CALL_FPTR(PL_unlockhook)(aTHX_ sv)
-#define SvDESTROYABLE(sv) CALL_FPTR(PL_destroyhook)(aTHX_ sv)
-
-#define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
-#define SvSETMAGIC(x) STMT_START { if (SvSMAGICAL(x)) mg_set(x); } STMT_END
-
-#define SvSetSV_and(dst,src,finally) \
- STMT_START { \
- if ((dst) != (src)) { \
- sv_setsv(dst, src); \
- finally; \
- } \
- } STMT_END
-#define SvSetSV_nosteal_and(dst,src,finally) \
- STMT_START { \
- if ((dst) != (src)) { \
- sv_setsv_flags(dst, src, SV_GMAGIC | SV_NOSTEAL | SV_DO_COW_SVSETSV); \
- finally; \
- } \
- } STMT_END
-
-#define SvSetSV(dst,src) \
- SvSetSV_and(dst,src,/*nothing*/;)
-#define SvSetSV_nosteal(dst,src) \
- SvSetSV_nosteal_and(dst,src,/*nothing*/;)
-
-#define SvSetMagicSV(dst,src) \
- SvSetSV_and(dst,src,SvSETMAGIC(dst))
-#define SvSetMagicSV_nosteal(dst,src) \
- SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
-
-
-#if !defined(SKIP_DEBUGGING)
-#define SvPEEK(sv) sv_peek(sv)
-#else
-#define SvPEEK(sv) ""
-#endif
-
-#define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || (sv)==&PL_sv_placeholder)
-
-#define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
-
-#define isGV(sv) (SvTYPE(sv) == SVt_PVGV)
-/* If I give every macro argument a different name, then there won't be bugs
- where nested macros get confused. Been there, done that. */
-#define isGV_with_GP(pwadak) \
- (((SvFLAGS(pwadak) & (SVp_POK|SVpgv_GP)) == SVpgv_GP) \
- && (SvTYPE(pwadak) == SVt_PVGV || SvTYPE(pwadak) == SVt_PVLV))
-#define isGV_with_GP_on(sv) STMT_START { \
- assert (SvTYPE(sv) == SVt_PVGV || SvTYPE(sv) == SVt_PVLV); \
- assert (!SvPOKp(sv)); \
- assert (!SvIOKp(sv)); \
- (SvFLAGS(sv) |= SVpgv_GP); \
- } STMT_END
-#define isGV_with_GP_off(sv) STMT_START { \
- assert (SvTYPE(sv) == SVt_PVGV || SvTYPE(sv) == SVt_PVLV); \
- assert (!SvPOKp(sv)); \
- assert (!SvIOKp(sv)); \
- (SvFLAGS(sv) &= ~SVpgv_GP); \
- } STMT_END
-
-
-#define SvGROW(sv,len) (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
-#define SvGROW_mutable(sv,len) \
- (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX_mutable(sv))
-#define Sv_Grow sv_grow
-
-#define CLONEf_COPY_STACKS 1
-#define CLONEf_KEEP_PTR_TABLE 2
-#define CLONEf_CLONE_HOST 4
-#define CLONEf_JOIN_IN 8
-
-struct clone_params {
- AV* stashes;
- UV flags;
- PerlInterpreter *proto_perl;
-};
-
-/*
-=for apidoc Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
-
-Creates a new SV and copies a string into it. If utf8 is true, calls
-C<SvUTF8_on> on the new SV. Implemented as a wrapper around C<newSVpvn_flags>.
-
-=cut
-*/
-
-#define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/thread.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/thread.h
deleted file mode 100644
index 655e827fae6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/thread.h
+++ /dev/null
@@ -1,484 +0,0 @@
-/* thread.h
- *
- * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- * by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#if defined(USE_ITHREADS)
-
-#if defined(VMS)
-#include <builtins.h>
-#endif
-
-#ifdef WIN32
-# include <win32thread.h>
-#else
-#ifdef NETWARE
-# include <nw5thread.h>
-#else
-# ifdef OLD_PTHREADS_API /* Here be dragons. */
-# define DETACH(t) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_detach(&(t)->self))) { \
- MUTEX_UNLOCK(&(t)->mutex); \
- Perl_croak_nocontext("panic: DETACH (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } \
- } STMT_END
-
-# define PERL_GET_CONTEXT Perl_get_context()
-# define PERL_SET_CONTEXT(t) Perl_set_context((void*)t)
-
-# define PTHREAD_GETSPECIFIC_INT
-# ifdef DJGPP
-# define pthread_addr_t any_t
-# define NEED_PTHREAD_INIT
-# define PTHREAD_CREATE_JOINABLE (1)
-# endif
-# ifdef __OPEN_VM
-# define pthread_addr_t void *
-# endif
-# ifdef OEMVS
-# define pthread_addr_t void *
-# define pthread_create(t,a,s,d) pthread_create(t,&(a),s,d)
-# define pthread_keycreate pthread_key_create
-# endif
-# ifdef VMS
-# define pthread_attr_init(a) pthread_attr_create(a)
-# define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_setdetach_np(a,s)
-# define PTHREAD_CREATE(t,a,s,d) pthread_create(t,a,s,d)
-# define pthread_key_create(k,d) pthread_keycreate(k,(pthread_destructor_t)(d))
-# define pthread_mutexattr_init(a) pthread_mutexattr_create(a)
-# define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t)
-# endif
-# if defined(__hpux) && defined(__ux_version) && __ux_version <= 1020
-# define pthread_attr_init(a) pthread_attr_create(a)
- /* XXX pthread_setdetach_np() missing in DCE threads on HP-UX 10.20 */
-# define PTHREAD_ATTR_SETDETACHSTATE(a,s) (0)
-# define PTHREAD_CREATE(t,a,s,d) pthread_create(t,a,s,d)
-# define pthread_key_create(k,d) pthread_keycreate(k,(pthread_destructor_t)(d))
-# define pthread_mutexattr_init(a) pthread_mutexattr_create(a)
-# define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t)
-# endif
-# if defined(DJGPP) || defined(__OPEN_VM) || defined(OEMVS)
-# define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,&(s))
-# define YIELD pthread_yield(NULL)
-# endif
-# endif
-# if !defined(__hpux) || !defined(__ux_version) || __ux_version > 1020
-# define pthread_mutexattr_default NULL
-# define pthread_condattr_default NULL
-# endif
-#endif /* NETWARE */
-#endif
-
-#ifndef PTHREAD_CREATE
-/* You are not supposed to pass NULL as the 2nd arg of PTHREAD_CREATE(). */
-# define PTHREAD_CREATE(t,a,s,d) pthread_create(t,&(a),s,d)
-#endif
-
-#ifndef PTHREAD_ATTR_SETDETACHSTATE
-# define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,s)
-#endif
-
-#ifndef PTHREAD_CREATE_JOINABLE
-# ifdef OLD_PTHREAD_CREATE_JOINABLE
-# define PTHREAD_CREATE_JOINABLE OLD_PTHREAD_CREATE_JOINABLE
-# else
-# define PTHREAD_CREATE_JOINABLE 0 /* Panic? No, guess. */
-# endif
-#endif
-
-#ifdef DGUX
-# define THREAD_CREATE_NEEDS_STACK (32*1024)
-#endif
-
-#ifdef __VMS
- /* Default is 1024 on VAX, 8192 otherwise */
-# define THREAD_CREATE_NEEDS_STACK (32*1024)
-#endif
-
-#ifdef I_MACH_CTHREADS
-
-/* cthreads interface */
-
-/* #include <mach/cthreads.h> is in perl.h #ifdef I_MACH_CTHREADS */
-
-#define MUTEX_INIT(m) \
- STMT_START { \
- *m = mutex_alloc(); \
- if (*m) { \
- mutex_init(*m); \
- } else { \
- Perl_croak_nocontext("panic: MUTEX_INIT [%s:%d]", \
- __FILE__, __LINE__); \
- } \
- } STMT_END
-
-#define MUTEX_LOCK(m) mutex_lock(*m)
-#define MUTEX_UNLOCK(m) mutex_unlock(*m)
-#define MUTEX_DESTROY(m) \
- STMT_START { \
- mutex_free(*m); \
- *m = 0; \
- } STMT_END
-
-#define COND_INIT(c) \
- STMT_START { \
- *c = condition_alloc(); \
- if (*c) { \
- condition_init(*c); \
- } \
- else { \
- Perl_croak_nocontext("panic: COND_INIT [%s:%d]", \
- __FILE__, __LINE__); \
- } \
- } STMT_END
-
-#define COND_SIGNAL(c) condition_signal(*c)
-#define COND_BROADCAST(c) condition_broadcast(*c)
-#define COND_WAIT(c, m) condition_wait(*c, *m)
-#define COND_DESTROY(c) \
- STMT_START { \
- condition_free(*c); \
- *c = 0; \
- } STMT_END
-
-#define THREAD_CREATE(thr, f) (thr->self = cthread_fork(f, thr), 0)
-#define THREAD_POST_CREATE(thr)
-
-#define THREAD_RET_TYPE any_t
-#define THREAD_RET_CAST(x) ((any_t) x)
-
-#define DETACH(t) cthread_detach(t->self)
-#define JOIN(t, avp) (*(avp) = (AV *)cthread_join(t->self))
-
-#define PERL_SET_CONTEXT(t) cthread_set_data(cthread_self(), t)
-#define PERL_GET_CONTEXT cthread_data(cthread_self())
-
-#define INIT_THREADS cthread_init()
-#define YIELD cthread_yield()
-#define ALLOC_THREAD_KEY NOOP
-#define FREE_THREAD_KEY NOOP
-#define SET_THREAD_SELF(thr) (thr->self = cthread_self())
-
-#endif /* I_MACH_CTHREADS */
-
-#ifndef YIELD
-# ifdef SCHED_YIELD
-# define YIELD SCHED_YIELD
-# else
-# ifdef HAS_SCHED_YIELD
-# define YIELD sched_yield()
-# else
-# ifdef HAS_PTHREAD_YIELD
- /* pthread_yield(NULL) platforms are expected
- * to have #defined YIELD for themselves. */
-# define YIELD pthread_yield()
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __hpux
-# define MUTEX_INIT_NEEDS_MUTEX_ZEROED
-#endif
-
-#ifndef MUTEX_INIT
-
-# ifdef MUTEX_INIT_NEEDS_MUTEX_ZEROED
- /* Temporary workaround, true bug is deeper. --jhi 1999-02-25 */
-# define MUTEX_INIT(m) \
- STMT_START { \
- int _eC_; \
- Zero((m), 1, perl_mutex); \
- if ((_eC_ = pthread_mutex_init((m), pthread_mutexattr_default))) \
- Perl_croak_nocontext("panic: MUTEX_INIT (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-# else
-# define MUTEX_INIT(m) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_mutex_init((m), pthread_mutexattr_default))) \
- Perl_croak_nocontext("panic: MUTEX_INIT (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-# endif
-
-# define MUTEX_LOCK(m) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_mutex_lock((m)))) \
- Perl_croak_nocontext("panic: MUTEX_LOCK (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define MUTEX_UNLOCK(m) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_mutex_unlock((m)))) \
- Perl_croak_nocontext("panic: MUTEX_UNLOCK (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define MUTEX_DESTROY(m) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_mutex_destroy((m)))) \
- Perl_croak_nocontext("panic: MUTEX_DESTROY (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-#endif /* MUTEX_INIT */
-
-#ifndef COND_INIT
-# define COND_INIT(c) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_cond_init((c), pthread_condattr_default))) \
- Perl_croak_nocontext("panic: COND_INIT (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define COND_SIGNAL(c) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_cond_signal((c)))) \
- Perl_croak_nocontext("panic: COND_SIGNAL (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define COND_BROADCAST(c) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_cond_broadcast((c)))) \
- Perl_croak_nocontext("panic: COND_BROADCAST (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define COND_WAIT(c, m) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_cond_wait((c), (m)))) \
- Perl_croak_nocontext("panic: COND_WAIT (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-
-# define COND_DESTROY(c) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_cond_destroy((c)))) \
- Perl_croak_nocontext("panic: COND_DESTROY (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-#endif /* COND_INIT */
-
-/* DETACH(t) must only be called while holding t->mutex */
-#ifndef DETACH
-# define DETACH(t) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_detach((t)->self))) { \
- MUTEX_UNLOCK(&(t)->mutex); \
- Perl_croak_nocontext("panic: DETACH (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } \
- } STMT_END
-#endif /* DETACH */
-
-#ifndef JOIN
-# define JOIN(t, avp) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_join((t)->self, (void**)(avp)))) \
- Perl_croak_nocontext("panic: pthread_join (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-#endif /* JOIN */
-
-/* Use an unchecked fetch of thread-specific data instead of a checked one.
- * It would fail if the key were bogus, but if the key were bogus then
- * Really Bad Things would be happening anyway. --dan */
-#if (defined(__ALPHA) && (__VMS_VER >= 70000000)) || \
- (defined(__alpha) && defined(__osf__) && !defined(__GNUC__)) /* Available only on >= 4.0 */
-# define HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP /* Configure test needed */
-#endif
-
-#ifdef HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP
-# define PTHREAD_GETSPECIFIC(key) pthread_unchecked_getspecific_np(key)
-#else
-# define PTHREAD_GETSPECIFIC(key) pthread_getspecific(key)
-#endif
-
-#ifndef PERL_GET_CONTEXT
-# define PERL_GET_CONTEXT PTHREAD_GETSPECIFIC(PL_thr_key)
-#endif
-
-#ifndef PERL_SET_CONTEXT
-# define PERL_SET_CONTEXT(t) \
- STMT_START { \
- int _eC_; \
- if ((_eC_ = pthread_setspecific(PL_thr_key, (void *)(t)))) \
- Perl_croak_nocontext("panic: pthread_setspecific (%d) [%s:%d]", \
- _eC_, __FILE__, __LINE__); \
- } STMT_END
-#endif /* PERL_SET_CONTEXT */
-
-#ifndef INIT_THREADS
-# ifdef NEED_PTHREAD_INIT
-# define INIT_THREADS pthread_init()
-# endif
-#endif
-
-#ifndef ALLOC_THREAD_KEY
-# define ALLOC_THREAD_KEY \
- STMT_START { \
- if (pthread_key_create(&PL_thr_key, 0)) { \
- write(2, STR_WITH_LEN("panic: pthread_key_create failed\n")); \
- exit(1); \
- } \
- } STMT_END
-#endif
-
-#ifndef FREE_THREAD_KEY
-# define FREE_THREAD_KEY \
- STMT_START { \
- pthread_key_delete(PL_thr_key); \
- } STMT_END
-#endif
-
-#ifndef PTHREAD_ATFORK
-# ifdef HAS_PTHREAD_ATFORK
-# define PTHREAD_ATFORK(prepare,parent,child) \
- pthread_atfork(prepare,parent,child)
-# else
-# define PTHREAD_ATFORK(prepare,parent,child) \
- NOOP
-# endif
-#endif
-
-#ifndef THREAD_RET_TYPE
-# define THREAD_RET_TYPE void *
-# define THREAD_RET_CAST(p) ((void *)(p))
-#endif /* THREAD_RET */
-
-# define LOCK_DOLLARZERO_MUTEX MUTEX_LOCK(&PL_dollarzero_mutex)
-# define UNLOCK_DOLLARZERO_MUTEX MUTEX_UNLOCK(&PL_dollarzero_mutex)
-
-#endif /* USE_ITHREADS */
-
-#ifndef MUTEX_LOCK
-# define MUTEX_LOCK(m)
-#endif
-
-#ifndef MUTEX_UNLOCK
-# define MUTEX_UNLOCK(m)
-#endif
-
-#ifndef MUTEX_INIT
-# define MUTEX_INIT(m)
-#endif
-
-#ifndef MUTEX_DESTROY
-# define MUTEX_DESTROY(m)
-#endif
-
-#ifndef COND_INIT
-# define COND_INIT(c)
-#endif
-
-#ifndef COND_SIGNAL
-# define COND_SIGNAL(c)
-#endif
-
-#ifndef COND_BROADCAST
-# define COND_BROADCAST(c)
-#endif
-
-#ifndef COND_WAIT
-# define COND_WAIT(c, m)
-#endif
-
-#ifndef COND_DESTROY
-# define COND_DESTROY(c)
-#endif
-
-#ifndef LOCK_SV_MUTEX
-# define LOCK_SV_MUTEX
-#endif
-
-#ifndef UNLOCK_SV_MUTEX
-# define UNLOCK_SV_MUTEX
-#endif
-
-#ifndef LOCK_STRTAB_MUTEX
-# define LOCK_STRTAB_MUTEX
-#endif
-
-#ifndef UNLOCK_STRTAB_MUTEX
-# define UNLOCK_STRTAB_MUTEX
-#endif
-
-#ifndef LOCK_CRED_MUTEX
-# define LOCK_CRED_MUTEX
-#endif
-
-#ifndef UNLOCK_CRED_MUTEX
-# define UNLOCK_CRED_MUTEX
-#endif
-
-#ifndef LOCK_FDPID_MUTEX
-# define LOCK_FDPID_MUTEX
-#endif
-
-#ifndef UNLOCK_FDPID_MUTEX
-# define UNLOCK_FDPID_MUTEX
-#endif
-
-#ifndef LOCK_SV_LOCK_MUTEX
-# define LOCK_SV_LOCK_MUTEX
-#endif
-
-#ifndef UNLOCK_SV_LOCK_MUTEX
-# define UNLOCK_SV_LOCK_MUTEX
-#endif
-
-#ifndef LOCK_DOLLARZERO_MUTEX
-# define LOCK_DOLLARZERO_MUTEX
-#endif
-
-#ifndef UNLOCK_DOLLARZERO_MUTEX
-# define UNLOCK_DOLLARZERO_MUTEX
-#endif
-
-/* THR, SET_THR, and dTHR are there for compatibility with old versions */
-#ifndef THR
-# define THR PERL_GET_THX
-#endif
-
-#ifndef SET_THR
-# define SET_THR(t) PERL_SET_THX(t)
-#endif
-
-#ifndef dTHR
-# define dTHR dNOOP
-#endif
-
-#ifndef INIT_THREADS
-# define INIT_THREADS NOOP
-#endif
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uconfig.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uconfig.h
deleted file mode 100644
index 10dcda66981..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uconfig.h
+++ /dev/null
@@ -1,4481 +0,0 @@
-/*
- * This file was produced by running the config_h.SH script, which
- * gets its values from uconfig.sh, which is generally produced by
- * running Configure.
- *
- * Feel free to modify any of this as the need arises. Note, however,
- * that running config_h.SH again will wipe out any changes you've made.
- * For a more permanent change edit uconfig.sh and rerun config_h.SH.
- *
- * $Id: Config_h.U 1 2006-08-24 12:32:52Z rmanfredi $
- */
-
-/*
- * Package name : perl5
- * Source directory : .
- * Configuration time: Thu Jan 1 00:00:00 GMT 1970
- * Configured by : root@localhost
- * Target system : unknown
- */
-
-#ifndef _config_h_
-#define _config_h_
-
-/* LOC_SED:
- * This symbol holds the complete pathname to the sed program.
- */
-#define LOC_SED "" /**/
-
-/* HAS_ALARM:
- * This symbol, if defined, indicates that the alarm routine is
- * available.
- */
-/*#define HAS_ALARM / **/
-
-/* HAS_BCMP:
- * This symbol is defined if the bcmp() routine is available to
- * compare blocks of memory.
- */
-/*#define HAS_BCMP / **/
-
-/* HAS_BCOPY:
- * This symbol is defined if the bcopy() routine is available to
- * copy blocks of memory.
- */
-/*#define HAS_BCOPY / **/
-
-/* HAS_BZERO:
- * This symbol is defined if the bzero() routine is available to
- * set a memory block to 0.
- */
-/*#define HAS_BZERO / **/
-
-/* HAS_CHOWN:
- * This symbol, if defined, indicates that the chown routine is
- * available.
- */
-/*#define HAS_CHOWN / **/
-
-/* HAS_CHROOT:
- * This symbol, if defined, indicates that the chroot routine is
- * available.
- */
-/*#define HAS_CHROOT / **/
-
-/* HAS_CHSIZE:
- * This symbol, if defined, indicates that the chsize routine is available
- * to truncate files. You might need a -lx to get this routine.
- */
-/*#define HAS_CHSIZE / **/
-
-/* HAS_CTERMID:
- * This symbol, if defined, indicates that the ctermid routine is
- * available to generate filename for terminal.
- */
-/*#define HAS_CTERMID / **/
-
-/* HAS_CUSERID:
- * This symbol, if defined, indicates that the cuserid routine is
- * available to get character login names.
- */
-/*#define HAS_CUSERID / **/
-
-/* HAS_DBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol DBL_DIG, which is the number
- * of significant digits in a double precision number. If this
- * symbol is not defined, a guess of 15 is usually pretty good.
- */
-/*#define HAS_DBL_DIG / * */
-
-/* HAS_DIFFTIME:
- * This symbol, if defined, indicates that the difftime routine is
- * available.
- */
-/*#define HAS_DIFFTIME / **/
-
-/* HAS_DLERROR:
- * This symbol, if defined, indicates that the dlerror routine is
- * available to return a string describing the last error that
- * occurred from a call to dlopen(), dlclose() or dlsym().
- */
-/*#define HAS_DLERROR / **/
-
-/* HAS_DUP2:
- * This symbol, if defined, indicates that the dup2 routine is
- * available to duplicate file descriptors.
- */
-/*#define HAS_DUP2 / **/
-
-/* HAS_FCHMOD:
- * This symbol, if defined, indicates that the fchmod routine is available
- * to change mode of opened files. If unavailable, use chmod().
- */
-/*#define HAS_FCHMOD / **/
-
-/* HAS_FCHOWN:
- * This symbol, if defined, indicates that the fchown routine is available
- * to change ownership of opened files. If unavailable, use chown().
- */
-/*#define HAS_FCHOWN / **/
-
-/* HAS_FCNTL:
- * This symbol, if defined, indicates to the C program that
- * the fcntl() function exists.
- */
-/*#define HAS_FCNTL / **/
-
-/* HAS_FGETPOS:
- * This symbol, if defined, indicates that the fgetpos routine is
- * available to get the file position indicator, similar to ftell().
- */
-/*#define HAS_FGETPOS / **/
-
-/* HAS_FLOCK:
- * This symbol, if defined, indicates that the flock routine is
- * available to do file locking.
- */
-/*#define HAS_FLOCK / **/
-
-/* HAS_FORK:
- * This symbol, if defined, indicates that the fork routine is
- * available.
- */
-#define HAS_FORK /**/
-
-/* HAS_FSETPOS:
- * This symbol, if defined, indicates that the fsetpos routine is
- * available to set the file position indicator, similar to fseek().
- */
-/*#define HAS_FSETPOS / **/
-
-/* HAS_GETTIMEOFDAY:
- * This symbol, if defined, indicates that the gettimeofday() system
- * call is available for a sub-second accuracy clock. Usually, the file
- * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
- * The type "Timeval" should be used to refer to "struct timeval".
- */
-/*#define HAS_GETTIMEOFDAY / **/
-#ifdef HAS_GETTIMEOFDAY
-#define Timeval struct timeval /* Structure used by gettimeofday() */
-#endif
-
-/* HAS_GETGROUPS:
- * This symbol, if defined, indicates that the getgroups() routine is
- * available to get the list of process groups. If unavailable, multiple
- * groups are probably not supported.
- */
-/*#define HAS_GETGROUPS / **/
-
-/* HAS_GETLOGIN:
- * This symbol, if defined, indicates that the getlogin routine is
- * available to get the login name.
- */
-/*#define HAS_GETLOGIN / **/
-
-/* HAS_GETPGID:
- * This symbol, if defined, indicates to the C program that
- * the getpgid(pid) function is available to get the
- * process group id.
- */
-/*#define HAS_GETPGID / **/
-
-/* HAS_GETPGRP2:
- * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
- * routine is available to get the current process group.
- */
-/*#define HAS_GETPGRP2 / **/
-
-/* HAS_GETPPID:
- * This symbol, if defined, indicates that the getppid routine is
- * available to get the parent process ID.
- */
-/*#define HAS_GETPPID / **/
-
-/* HAS_GETPRIORITY:
- * This symbol, if defined, indicates that the getpriority routine is
- * available to get a process's priority.
- */
-/*#define HAS_GETPRIORITY / **/
-
-/* HAS_INET_ATON:
- * This symbol, if defined, indicates to the C program that the
- * inet_aton() function is available to parse IP address "dotted-quad"
- * strings.
- */
-/*#define HAS_INET_ATON / **/
-
-/* HAS_KILLPG:
- * This symbol, if defined, indicates that the killpg routine is available
- * to kill process groups. If unavailable, you probably should use kill
- * with a negative process number.
- */
-/*#define HAS_KILLPG / **/
-
-/* HAS_LINK:
- * This symbol, if defined, indicates that the link routine is
- * available to create hard links.
- */
-/*#define HAS_LINK / **/
-
-/* HAS_LOCALECONV:
- * This symbol, if defined, indicates that the localeconv routine is
- * available for numeric and monetary formatting conventions.
- */
-/*#define HAS_LOCALECONV / **/
-
-/* HAS_LOCKF:
- * This symbol, if defined, indicates that the lockf routine is
- * available to do file locking.
- */
-/*#define HAS_LOCKF / **/
-
-/* HAS_LSTAT:
- * This symbol, if defined, indicates that the lstat routine is
- * available to do file stats on symbolic links.
- */
-/*#define HAS_LSTAT / **/
-
-/* HAS_MBLEN:
- * This symbol, if defined, indicates that the mblen routine is available
- * to find the number of bytes in a multibye character.
- */
-/*#define HAS_MBLEN / **/
-
-/* HAS_MBSTOWCS:
- * This symbol, if defined, indicates that the mbstowcs routine is
- * available to covert a multibyte string into a wide character string.
- */
-/*#define HAS_MBSTOWCS / **/
-
-/* HAS_MBTOWC:
- * This symbol, if defined, indicates that the mbtowc routine is available
- * to covert a multibyte to a wide character.
- */
-/*#define HAS_MBTOWC / **/
-
-/* HAS_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * to compare blocks of memory.
- */
-#define HAS_MEMCMP /**/
-
-/* HAS_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy blocks of memory.
- */
-#define HAS_MEMCPY /**/
-
-/* HAS_MEMMOVE:
- * This symbol, if defined, indicates that the memmove routine is available
- * to copy potentially overlapping blocks of memory. This should be used
- * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- * own version.
- */
-/*#define HAS_MEMMOVE / **/
-
-/* HAS_MEMSET:
- * This symbol, if defined, indicates that the memset routine is available
- * to set blocks of memory.
- */
-/*#define HAS_MEMSET / **/
-
-/* HAS_MKDIR:
- * This symbol, if defined, indicates that the mkdir routine is available
- * to create directories. Otherwise you should fork off a new process to
- * exec /bin/mkdir.
- */
-/*#define HAS_MKDIR / **/
-
-/* HAS_MKFIFO:
- * This symbol, if defined, indicates that the mkfifo routine is
- * available to create FIFOs. Otherwise, mknod should be able to
- * do it for you. However, if mkfifo is there, mknod might require
- * super-user privileges which mkfifo will not.
- */
-/*#define HAS_MKFIFO / **/
-
-/* HAS_MKTIME:
- * This symbol, if defined, indicates that the mktime routine is
- * available.
- */
-/*#define HAS_MKTIME / **/
-
-/* HAS_MSYNC:
- * This symbol, if defined, indicates that the msync system call is
- * available to synchronize a mapped file.
- */
-/*#define HAS_MSYNC / **/
-
-/* HAS_MUNMAP:
- * This symbol, if defined, indicates that the munmap system call is
- * available to unmap a region, usually mapped by mmap().
- */
-/*#define HAS_MUNMAP / **/
-
-/* HAS_NICE:
- * This symbol, if defined, indicates that the nice routine is
- * available.
- */
-/*#define HAS_NICE / **/
-
-/* HAS_PATHCONF:
- * This symbol, if defined, indicates that pathconf() is available
- * to determine file-system related limits and options associated
- * with a given filename.
- */
-/* HAS_FPATHCONF:
- * This symbol, if defined, indicates that pathconf() is available
- * to determine file-system related limits and options associated
- * with a given open file descriptor.
- */
-/*#define HAS_PATHCONF / **/
-/*#define HAS_FPATHCONF / **/
-
-/* HAS_PAUSE:
- * This symbol, if defined, indicates that the pause routine is
- * available to suspend a process until a signal is received.
- */
-/*#define HAS_PAUSE / **/
-
-/* HAS_PIPE:
- * This symbol, if defined, indicates that the pipe routine is
- * available to create an inter-process channel.
- */
-/*#define HAS_PIPE / **/
-
-/* HAS_READDIR:
- * This symbol, if defined, indicates that the readdir routine is
- * available to read directory entries. You may have to include
- * <dirent.h>. See I_DIRENT.
- */
-#define HAS_READDIR /**/
-
-/* HAS_SEEKDIR:
- * This symbol, if defined, indicates that the seekdir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-/*#define HAS_SEEKDIR / **/
-
-/* HAS_TELLDIR:
- * This symbol, if defined, indicates that the telldir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-/*#define HAS_TELLDIR / **/
-
-/* HAS_REWINDDIR:
- * This symbol, if defined, indicates that the rewinddir routine is
- * available. You may have to include <dirent.h>. See I_DIRENT.
- */
-/*#define HAS_REWINDDIR / **/
-
-/* HAS_READLINK:
- * This symbol, if defined, indicates that the readlink routine is
- * available to read the value of a symbolic link.
- */
-/*#define HAS_READLINK / **/
-
-/* HAS_RENAME:
- * This symbol, if defined, indicates that the rename routine is available
- * to rename files. Otherwise you should do the unlink(), link(), unlink()
- * trick.
- */
-#define HAS_RENAME /**/
-
-/* HAS_RMDIR:
- * This symbol, if defined, indicates that the rmdir routine is
- * available to remove directories. Otherwise you should fork off a
- * new process to exec /bin/rmdir.
- */
-/*#define HAS_RMDIR / **/
-
-/* HAS_SELECT:
- * This symbol, if defined, indicates that the select routine is
- * available to select active file descriptors. If the timeout field
- * is used, <sys/time.h> may need to be included.
- */
-/*#define HAS_SELECT / **/
-
-/* HAS_SETEGID:
- * This symbol, if defined, indicates that the setegid routine is available
- * to change the effective gid of the current program.
- */
-/*#define HAS_SETEGID / **/
-
-/* HAS_SETEUID:
- * This symbol, if defined, indicates that the seteuid routine is available
- * to change the effective uid of the current program.
- */
-/*#define HAS_SETEUID / **/
-
-/* HAS_SETLINEBUF:
- * This symbol, if defined, indicates that the setlinebuf routine is
- * available to change stderr or stdout from block-buffered or unbuffered
- * to a line-buffered mode.
- */
-/*#define HAS_SETLINEBUF / **/
-
-/* HAS_SETLOCALE:
- * This symbol, if defined, indicates that the setlocale routine is
- * available to handle locale-specific ctype implementations.
- */
-/*#define HAS_SETLOCALE / **/
-
-/* HAS_SETPGID:
- * This symbol, if defined, indicates that the setpgid(pid, gpid)
- * routine is available to set process group ID.
- */
-/*#define HAS_SETPGID / **/
-
-/* HAS_SETPGRP2:
- * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
- * routine is available to set the current process group.
- */
-/*#define HAS_SETPGRP2 / **/
-
-/* HAS_SETPRIORITY:
- * This symbol, if defined, indicates that the setpriority routine is
- * available to set a process's priority.
- */
-/*#define HAS_SETPRIORITY / **/
-
-/* HAS_SETREGID:
- * This symbol, if defined, indicates that the setregid routine is
- * available to change the real and effective gid of the current
- * process.
- */
-/* HAS_SETRESGID:
- * This symbol, if defined, indicates that the setresgid routine is
- * available to change the real, effective and saved gid of the current
- * process.
- */
-/*#define HAS_SETREGID / **/
-/*#define HAS_SETRESGID / **/
-
-/* HAS_SETREUID:
- * This symbol, if defined, indicates that the setreuid routine is
- * available to change the real and effective uid of the current
- * process.
- */
-/* HAS_SETRESUID:
- * This symbol, if defined, indicates that the setresuid routine is
- * available to change the real, effective and saved uid of the current
- * process.
- */
-/*#define HAS_SETREUID / **/
-/*#define HAS_SETRESUID / **/
-
-/* HAS_SETRGID:
- * This symbol, if defined, indicates that the setrgid routine is available
- * to change the real gid of the current program.
- */
-/*#define HAS_SETRGID / **/
-
-/* HAS_SETRUID:
- * This symbol, if defined, indicates that the setruid routine is available
- * to change the real uid of the current program.
- */
-/*#define HAS_SETRUID / **/
-
-/* HAS_SETSID:
- * This symbol, if defined, indicates that the setsid routine is
- * available to set the process group ID.
- */
-/*#define HAS_SETSID / **/
-
-/* HAS_STRCHR:
- * This symbol is defined to indicate that the strchr()/strrchr()
- * functions are available for string searching. If not, try the
- * index()/rindex() pair.
- */
-/* HAS_INDEX:
- * This symbol is defined to indicate that the index()/rindex()
- * functions are available for string searching.
- */
-/*#define HAS_STRCHR / **/
-/*#define HAS_INDEX / **/
-
-/* HAS_STRCOLL:
- * This symbol, if defined, indicates that the strcoll routine is
- * available to compare strings using collating information.
- */
-/*#define HAS_STRCOLL / **/
-
-/* HAS_STRTOD:
- * This symbol, if defined, indicates that the strtod routine is
- * available to provide better numeric string conversion than atof().
- */
-/*#define HAS_STRTOD / **/
-
-/* HAS_STRTOL:
- * This symbol, if defined, indicates that the strtol routine is available
- * to provide better numeric string conversion than atoi() and friends.
- */
-/*#define HAS_STRTOL / **/
-
-/* HAS_STRXFRM:
- * This symbol, if defined, indicates that the strxfrm() routine is
- * available to transform strings.
- */
-/*#define HAS_STRXFRM / **/
-
-/* HAS_SYMLINK:
- * This symbol, if defined, indicates that the symlink routine is available
- * to create symbolic links.
- */
-/*#define HAS_SYMLINK / **/
-
-/* HAS_SYSCALL:
- * This symbol, if defined, indicates that the syscall routine is
- * available to call arbitrary system calls. If undefined, that's tough.
- */
-/*#define HAS_SYSCALL / **/
-
-/* HAS_SYSCONF:
- * This symbol, if defined, indicates that sysconf() is available
- * to determine system related limits and options.
- */
-/*#define HAS_SYSCONF / **/
-
-/* HAS_SYSTEM:
- * This symbol, if defined, indicates that the system routine is
- * available to issue a shell command.
- */
-/*#define HAS_SYSTEM / **/
-
-/* HAS_TCGETPGRP:
- * This symbol, if defined, indicates that the tcgetpgrp routine is
- * available to get foreground process group ID.
- */
-/*#define HAS_TCGETPGRP / **/
-
-/* HAS_TCSETPGRP:
- * This symbol, if defined, indicates that the tcsetpgrp routine is
- * available to set foreground process group ID.
- */
-/*#define HAS_TCSETPGRP / **/
-
-/* HAS_TRUNCATE:
- * This symbol, if defined, indicates that the truncate routine is
- * available to truncate files.
- */
-/*#define HAS_TRUNCATE / **/
-
-/* HAS_TZNAME:
- * This symbol, if defined, indicates that the tzname[] array is
- * available to access timezone names.
- */
-/*#define HAS_TZNAME / **/
-
-/* HAS_UMASK:
- * This symbol, if defined, indicates that the umask routine is
- * available to set and get the value of the file creation mask.
- */
-/*#define HAS_UMASK / **/
-
-/* HAS_USLEEP:
- * This symbol, if defined, indicates that the usleep routine is
- * available to let the process sleep on a sub-second accuracy.
- */
-/*#define HAS_USLEEP / **/
-
-/* HAS_WAIT4:
- * This symbol, if defined, indicates that wait4() exists.
- */
-/*#define HAS_WAIT4 / **/
-
-/* HAS_WAITPID:
- * This symbol, if defined, indicates that the waitpid routine is
- * available to wait for child process.
- */
-/*#define HAS_WAITPID / **/
-
-/* HAS_WCSTOMBS:
- * This symbol, if defined, indicates that the wcstombs routine is
- * available to convert wide character strings to multibyte strings.
- */
-/*#define HAS_WCSTOMBS / **/
-
-/* HAS_WCTOMB:
- * This symbol, if defined, indicates that the wctomb routine is available
- * to covert a wide character to a multibyte.
- */
-/*#define HAS_WCTOMB / **/
-
-/* I_ARPA_INET:
- * This symbol, if defined, indicates to the C program that it should
- * include <arpa/inet.h> to get inet_addr and friends declarations.
- */
-/*#define I_ARPA_INET / **/
-
-/* I_DBM:
- * This symbol, if defined, indicates that <dbm.h> exists and should
- * be included.
- */
-/* I_RPCSVC_DBM:
- * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
- * should be included.
- */
-/*#define I_DBM / **/
-/*#define I_RPCSVC_DBM / **/
-
-/* I_DLFCN:
- * This symbol, if defined, indicates that <dlfcn.h> exists and should
- * be included.
- */
-/*#define I_DLFCN / **/
-
-/* I_FCNTL:
- * This manifest constant tells the C program to include <fcntl.h>.
- */
-/*#define I_FCNTL / **/
-
-/* I_FLOAT:
- * This symbol, if defined, indicates to the C program that it should
- * include <float.h> to get definition of symbols like DBL_MAX or
- * DBL_MIN, i.e. machine dependent floating point values.
- */
-/*#define I_FLOAT / **/
-
-/* I_GDBM:
- * This symbol, if defined, indicates that <gdbm.h> exists and should
- * be included.
- */
-/*#define I_GDBM / **/
-
-/* I_LIMITS:
- * This symbol, if defined, indicates to the C program that it should
- * include <limits.h> to get definition of symbols like WORD_BIT or
- * LONG_MAX, i.e. machine dependant limitations.
- */
-/*#define I_LIMITS / **/
-
-/* I_LOCALE:
- * This symbol, if defined, indicates to the C program that it should
- * include <locale.h>.
- */
-/*#define I_LOCALE / **/
-
-/* I_MATH:
- * This symbol, if defined, indicates to the C program that it should
- * include <math.h>.
- */
-#define I_MATH /**/
-
-/* I_MEMORY:
- * This symbol, if defined, indicates to the C program that it should
- * include <memory.h>.
- */
-/*#define I_MEMORY / **/
-
-/* I_NETINET_IN:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
- */
-/*#define I_NETINET_IN / **/
-
-/* I_SFIO:
- * This symbol, if defined, indicates to the C program that it should
- * include <sfio.h>.
- */
-/*#define I_SFIO / **/
-
-/* I_STDDEF:
- * This symbol, if defined, indicates that <stddef.h> exists and should
- * be included.
- */
-/*#define I_STDDEF / **/
-
-/* I_STDLIB:
- * This symbol, if defined, indicates that <stdlib.h> exists and should
- * be included.
- */
-#define I_STDLIB /**/
-
-/* I_STRING:
- * This symbol, if defined, indicates to the C program that it should
- * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING /**/
-
-/* I_SYS_DIR:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/dir.h>.
- */
-/*#define I_SYS_DIR / **/
-
-/* I_SYS_FILE:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/file.h> to get definition of R_OK and friends.
- */
-/*#define I_SYS_FILE / **/
-
-/* I_SYS_IOCTL:
- * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
- * be included. Otherwise, include <sgtty.h> or <termio.h>.
- */
-/* I_SYS_SOCKIO:
- * This symbol, if defined, indicates the <sys/sockio.h> should be included
- * to get socket ioctl options, like SIOCATMARK.
- */
-/*#define I_SYS_IOCTL / **/
-/*#define I_SYS_SOCKIO / **/
-
-/* I_SYS_NDIR:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/ndir.h>.
- */
-/*#define I_SYS_NDIR / **/
-
-/* I_SYS_PARAM:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/param.h>.
- */
-/*#define I_SYS_PARAM / **/
-
-/* I_SYS_RESOURCE:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/resource.h>.
- */
-/*#define I_SYS_RESOURCE / **/
-
-/* I_SYS_SELECT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/select.h> in order to get definition of struct timeval.
- */
-/*#define I_SYS_SELECT / **/
-
-/* I_SYS_STAT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/stat.h>.
- */
-#define I_SYS_STAT /**/
-
-/* I_SYS_TIMES:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/times.h>.
- */
-/*#define I_SYS_TIMES / **/
-
-/* I_SYS_TYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/types.h>.
- */
-/*#define I_SYS_TYPES / **/
-
-/* I_SYS_UN:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/un.h> to get UNIX domain socket definitions.
- */
-/*#define I_SYS_UN / **/
-
-/* I_SYS_WAIT:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/wait.h>.
- */
-/*#define I_SYS_WAIT / **/
-
-/* I_TERMIO:
- * This symbol, if defined, indicates that the program should include
- * <termio.h> rather than <sgtty.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- * This symbol, if defined, indicates that the program should include
- * the POSIX termios.h rather than sgtty.h or termio.h.
- * There are also differences in the ioctl() calls that depend on the
- * value of this symbol.
- */
-/* I_SGTTY:
- * This symbol, if defined, indicates that the program should include
- * <sgtty.h> rather than <termio.h>. There are also differences in
- * the ioctl() calls that depend on the value of this symbol.
- */
-/*#define I_TERMIO / **/
-/*#define I_TERMIOS / **/
-/*#define I_SGTTY / **/
-
-/* I_UNISTD:
- * This symbol, if defined, indicates to the C program that it should
- * include <unistd.h>.
- */
-/*#define I_UNISTD / **/
-
-/* I_UTIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <utime.h>.
- */
-/*#define I_UTIME / **/
-
-/* I_VALUES:
- * This symbol, if defined, indicates to the C program that it should
- * include <values.h> to get definition of symbols like MINFLOAT or
- * MAXLONG, i.e. machine dependant limitations. Probably, you
- * should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES / **/
-
-/* I_VFORK:
- * This symbol, if defined, indicates to the C program that it should
- * include vfork.h.
- */
-/*#define I_VFORK / **/
-
-/* INTSIZE:
- * This symbol contains the value of sizeof(int) so that the C
- * preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- * This symbol contains the value of sizeof(long) so that the C
- * preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- * This symbol contains the value of sizeof(short) so that the C
- * preprocessor can make decisions based on it.
- */
-#define INTSIZE 4 /**/
-#define LONGSIZE 4 /**/
-#define SHORTSIZE 2 /**/
-
-/* MULTIARCH:
- * This symbol, if defined, signifies that the build
- * process will produce some binary files that are going to be
- * used in a cross-platform environment. This is the case for
- * example with the NeXT "fat" binaries that contain executables
- * for several CPUs.
- */
-/*#define MULTIARCH / **/
-
-/* HAS_QUAD:
- * This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
- * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
- */
-/*#define HAS_QUAD / **/
-#ifdef HAS_QUAD
-# define Quad_t int64_t /**/
-# define Uquad_t uint64_t /**/
-# define QUADKIND 4 /**/
-# define QUAD_IS_INT 1
-# define QUAD_IS_LONG 2
-# define QUAD_IS_LONG_LONG 3
-# define QUAD_IS_INT64_T 4
-#endif
-
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-#define OSNAME "unknown" /**/
-#define OSVERS "unknown" /**/
-
-/* ARCHLIB:
- * This variable, if defined, holds the name of the directory in
- * which the user wants to put architecture-dependent public
- * library files for perl5. It is most often a local directory
- * such as /usr/local/lib. Programs using this variable must be
- * prepared to deal with filename expansion. If ARCHLIB is the
- * same as PRIVLIB, it is not defined, since presumably the
- * program already searches PRIVLIB.
- */
-/* ARCHLIB_EXP:
- * This symbol contains the ~name expanded version of ARCHLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define ARCHLIB "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
-
-/* ARCHNAME:
- * This symbol holds a string representing the architecture name.
- * It may be used to construct an architecture-dependant pathname
- * where library files may be held under a private library, for
- * instance.
- */
-#define ARCHNAME "unknown" /**/
-
-/* BIN:
- * This symbol holds the path of the bin directory where the package will
- * be installed. Program must be prepared to deal with ~name substitution.
- */
-/* BIN_EXP:
- * This symbol is the filename expanded version of the BIN symbol, for
- * programs that do not want to deal with that at run-time.
- */
-/* PERL_RELOCATABLE_INC:
- * This symbol, if defined, indicates that we'd like to relocate entries
- * in @INC at run time based on the location of the perl binary.
- */
-#define BIN "/usr/local/bin" /**/
-#define BIN_EXP "/usr/local/bin" /**/
-#define PERL_RELOCATABLE_INC "undef" /**/
-
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
- /* If you can get stringification with catify, tell me how! */
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-/* the additional level of indirection enables these macros to be
- * used as arguments to other macros. See K&R 2nd ed., page 231. */
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-# include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
-#define CPPRUN "cc -E"
-#define CPPLAST "-"
-
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
- */
-/*#define HAS_ACCESS / **/
-
-/* HAS_ACCESSX:
- * This symbol, if defined, indicates that the accessx routine is
- * available to do extended access checks.
- */
-/*#define HAS_ACCESSX / **/
-
-/* HAS_ASCTIME_R:
- * This symbol, if defined, indicates that the asctime_r routine
- * is available to asctime re-entrantly.
- */
-/* ASCTIME_R_PROTO:
- * This symbol encodes the prototype of asctime_r.
- * It is zero if d_asctime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
- * is defined.
- */
-/*#define HAS_ASCTIME_R / **/
-#define ASCTIME_R_PROTO 0 /**/
-
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
- */
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
-
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
- */
-/*#define HASCONST / **/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CRYPT:
- * This symbol, if defined, indicates that the crypt routine is available
- * to encrypt passwords and the like.
- */
-/*#define HAS_CRYPT / **/
-
-/* HAS_CRYPT_R:
- * This symbol, if defined, indicates that the crypt_r routine
- * is available to crypt re-entrantly.
- */
-/* CRYPT_R_PROTO:
- * This symbol encodes the prototype of crypt_r.
- * It is zero if d_crypt_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
- * is defined.
- */
-/*#define HAS_CRYPT_R / **/
-#define CRYPT_R_PROTO 0 /**/
-
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH / **/
-#ifdef HAS_CSH
-#define CSH "" /**/
-#endif
-
-/* HAS_CTERMID_R:
- * This symbol, if defined, indicates that the ctermid_r routine
- * is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- * This symbol encodes the prototype of ctermid_r.
- * It is zero if d_ctermid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- * is defined.
- */
-/*#define HAS_CTERMID_R / **/
-#define CTERMID_R_PROTO 0 /**/
-
-/* HAS_CTIME_R:
- * This symbol, if defined, indicates that the ctime_r routine
- * is available to ctime re-entrantly.
- */
-/* CTIME_R_PROTO:
- * This symbol encodes the prototype of ctime_r.
- * It is zero if d_ctime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
- * is defined.
- */
-/*#define HAS_CTIME_R / **/
-#define CTIME_R_PROTO 0 /**/
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
-/* HAS_DRAND48_R:
- * This symbol, if defined, indicates that the drand48_r routine
- * is available to drand48 re-entrantly.
- */
-/* DRAND48_R_PROTO:
- * This symbol encodes the prototype of drand48_r.
- * It is zero if d_drand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
- * is defined.
- */
-/*#define HAS_DRAND48_R / **/
-#define DRAND48_R_PROTO 0 /**/
-
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-/*#define HAS_DRAND48_PROTO / **/
-
-/* HAS_EACCESS:
- * This symbol, if defined, indicates that the eaccess routine is
- * available to do extended access checks.
- */
-/*#define HAS_EACCESS / **/
-
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT / **/
-
-/* HAS_ENDGRENT_R:
- * This symbol, if defined, indicates that the endgrent_r routine
- * is available to endgrent re-entrantly.
- */
-/* ENDGRENT_R_PROTO:
- * This symbol encodes the prototype of endgrent_r.
- * It is zero if d_endgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
- * is defined.
- */
-/*#define HAS_ENDGRENT_R / **/
-#define ENDGRENT_R_PROTO 0 /**/
-
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT / **/
-
-/* HAS_ENDHOSTENT_R:
- * This symbol, if defined, indicates that the endhostent_r routine
- * is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- * This symbol encodes the prototype of endhostent_r.
- * It is zero if d_endhostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- * is defined.
- */
-/*#define HAS_ENDHOSTENT_R / **/
-#define ENDHOSTENT_R_PROTO 0 /**/
-
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
-/* HAS_ENDNETENT_R:
- * This symbol, if defined, indicates that the endnetent_r routine
- * is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- * This symbol encodes the prototype of endnetent_r.
- * It is zero if d_endnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- * is defined.
- */
-/*#define HAS_ENDNETENT_R / **/
-#define ENDNETENT_R_PROTO 0 /**/
-
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT / **/
-
-/* HAS_ENDPROTOENT_R:
- * This symbol, if defined, indicates that the endprotoent_r routine
- * is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- * This symbol encodes the prototype of endprotoent_r.
- * It is zero if d_endprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- * is defined.
- */
-/*#define HAS_ENDPROTOENT_R / **/
-#define ENDPROTOENT_R_PROTO 0 /**/
-
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT / **/
-
-/* HAS_ENDPWENT_R:
- * This symbol, if defined, indicates that the endpwent_r routine
- * is available to endpwent re-entrantly.
- */
-/* ENDPWENT_R_PROTO:
- * This symbol encodes the prototype of endpwent_r.
- * It is zero if d_endpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
- * is defined.
- */
-/*#define HAS_ENDPWENT_R / **/
-#define ENDPWENT_R_PROTO 0 /**/
-
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT / **/
-
-/* HAS_ENDSERVENT_R:
- * This symbol, if defined, indicates that the endservent_r routine
- * is available to endservent re-entrantly.
- */
-/* ENDSERVENT_R_PROTO:
- * This symbol encodes the prototype of endservent_r.
- * It is zero if d_endservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- * is defined.
- */
-/*#define HAS_ENDSERVENT_R / **/
-#define ENDSERVENT_R_PROTO 0 /**/
-
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
- */
-/*#define FLEXFILENAMES / **/
-
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
- */
-/*#define HAS_GETGRENT / **/
-
-/* HAS_GETGRENT_R:
- * This symbol, if defined, indicates that the getgrent_r routine
- * is available to getgrent re-entrantly.
- */
-/* GETGRENT_R_PROTO:
- * This symbol encodes the prototype of getgrent_r.
- * It is zero if d_getgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
- * is defined.
- */
-/*#define HAS_GETGRENT_R / **/
-#define GETGRENT_R_PROTO 0 /**/
-
-/* HAS_GETGRGID_R:
- * This symbol, if defined, indicates that the getgrgid_r routine
- * is available to getgrgid re-entrantly.
- */
-/* GETGRGID_R_PROTO:
- * This symbol encodes the prototype of getgrgid_r.
- * It is zero if d_getgrgid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
- * is defined.
- */
-/*#define HAS_GETGRGID_R / **/
-#define GETGRGID_R_PROTO 0 /**/
-
-/* HAS_GETGRNAM_R:
- * This symbol, if defined, indicates that the getgrnam_r routine
- * is available to getgrnam re-entrantly.
- */
-/* GETGRNAM_R_PROTO:
- * This symbol encodes the prototype of getgrnam_r.
- * It is zero if d_getgrnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
- * is defined.
- */
-/*#define HAS_GETGRNAM_R / **/
-#define GETGRNAM_R_PROTO 0 /**/
-
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-/*#define HAS_GETHOSTBYADDR / **/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-/*#define HAS_GETHOSTBYNAME / **/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-/*#define HAS_GETHOSTNAME / **/
-/*#define HAS_UNAME / **/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname" /* How to get the host name */
-#endif
-
-/* HAS_GETHOSTBYADDR_R:
- * This symbol, if defined, indicates that the gethostbyaddr_r routine
- * is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- * This symbol encodes the prototype of gethostbyaddr_r.
- * It is zero if d_gethostbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R / **/
-#define GETHOSTBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETHOSTBYNAME_R:
- * This symbol, if defined, indicates that the gethostbyname_r routine
- * is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- * This symbol encodes the prototype of gethostbyname_r.
- * It is zero if d_gethostbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R / **/
-#define GETHOSTBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETHOSTENT_R:
- * This symbol, if defined, indicates that the gethostent_r routine
- * is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of gethostent_r.
- * It is zero if d_gethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- * is defined.
- */
-/*#define HAS_GETHOSTENT_R / **/
-#define GETHOSTENT_R_PROTO 0 /**/
-
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETHOST_PROTOS / **/
-
-/* HAS_GETLOGIN_R:
- * This symbol, if defined, indicates that the getlogin_r routine
- * is available to getlogin re-entrantly.
- */
-/* GETLOGIN_R_PROTO:
- * This symbol encodes the prototype of getlogin_r.
- * It is zero if d_getlogin_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
- * is defined.
- */
-/*#define HAS_GETLOGIN_R / **/
-#define GETLOGIN_R_PROTO 0 /**/
-
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
-/* HAS_GETNETBYADDR_R:
- * This symbol, if defined, indicates that the getnetbyaddr_r routine
- * is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- * This symbol encodes the prototype of getnetbyaddr_r.
- * It is zero if d_getnetbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- * is defined.
- */
-/*#define HAS_GETNETBYADDR_R / **/
-#define GETNETBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETNETBYNAME_R:
- * This symbol, if defined, indicates that the getnetbyname_r routine
- * is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- * This symbol encodes the prototype of getnetbyname_r.
- * It is zero if d_getnetbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- * is defined.
- */
-/*#define HAS_GETNETBYNAME_R / **/
-#define GETNETBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETNETENT_R:
- * This symbol, if defined, indicates that the getnetent_r routine
- * is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- * This symbol encodes the prototype of getnetent_r.
- * It is zero if d_getnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- * is defined.
- */
-/*#define HAS_GETNETENT_R / **/
-#define GETNETENT_R_PROTO 0 /**/
-
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETNET_PROTOS / **/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT / **/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP / **/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
- */
-/*#define HAS_GETPROTOBYNAME / **/
-/*#define HAS_GETPROTOBYNUMBER / **/
-
-/* HAS_GETPROTOBYNAME_R:
- * This symbol, if defined, indicates that the getprotobyname_r routine
- * is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- * This symbol encodes the prototype of getprotobyname_r.
- * It is zero if d_getprotobyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R / **/
-#define GETPROTOBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- * This symbol, if defined, indicates that the getprotobynumber_r routine
- * is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- * This symbol encodes the prototype of getprotobynumber_r.
- * It is zero if d_getprotobynumber_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R / **/
-#define GETPROTOBYNUMBER_R_PROTO 0 /**/
-
-/* HAS_GETPROTOENT_R:
- * This symbol, if defined, indicates that the getprotoent_r routine
- * is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of getprotoent_r.
- * It is zero if d_getprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- * is defined.
- */
-/*#define HAS_GETPROTOENT_R / **/
-#define GETPROTOENT_R_PROTO 0 /**/
-
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETPROTO_PROTOS / **/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT / **/
-
-/* HAS_GETPWENT_R:
- * This symbol, if defined, indicates that the getpwent_r routine
- * is available to getpwent re-entrantly.
- */
-/* GETPWENT_R_PROTO:
- * This symbol encodes the prototype of getpwent_r.
- * It is zero if d_getpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
- * is defined.
- */
-/*#define HAS_GETPWENT_R / **/
-#define GETPWENT_R_PROTO 0 /**/
-
-/* HAS_GETPWNAM_R:
- * This symbol, if defined, indicates that the getpwnam_r routine
- * is available to getpwnam re-entrantly.
- */
-/* GETPWNAM_R_PROTO:
- * This symbol encodes the prototype of getpwnam_r.
- * It is zero if d_getpwnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
- * is defined.
- */
-/*#define HAS_GETPWNAM_R / **/
-#define GETPWNAM_R_PROTO 0 /**/
-
-/* HAS_GETPWUID_R:
- * This symbol, if defined, indicates that the getpwuid_r routine
- * is available to getpwuid re-entrantly.
- */
-/* GETPWUID_R_PROTO:
- * This symbol encodes the prototype of getpwuid_r.
- * It is zero if d_getpwuid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
- * is defined.
- */
-/*#define HAS_GETPWUID_R / **/
-#define GETPWUID_R_PROTO 0 /**/
-
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT / **/
-
-/* HAS_GETSERVBYNAME_R:
- * This symbol, if defined, indicates that the getservbyname_r routine
- * is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- * This symbol encodes the prototype of getservbyname_r.
- * It is zero if d_getservbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- * is defined.
- */
-/*#define HAS_GETSERVBYNAME_R / **/
-#define GETSERVBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETSERVBYPORT_R:
- * This symbol, if defined, indicates that the getservbyport_r routine
- * is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- * This symbol encodes the prototype of getservbyport_r.
- * It is zero if d_getservbyport_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- * is defined.
- */
-/*#define HAS_GETSERVBYPORT_R / **/
-#define GETSERVBYPORT_R_PROTO 0 /**/
-
-/* HAS_GETSERVENT_R:
- * This symbol, if defined, indicates that the getservent_r routine
- * is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- * This symbol encodes the prototype of getservent_r.
- * It is zero if d_getservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- * is defined.
- */
-/*#define HAS_GETSERVENT_R / **/
-#define GETSERVENT_R_PROTO 0 /**/
-
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETSERV_PROTOS / **/
-
-/* HAS_GETSPNAM_R:
- * This symbol, if defined, indicates that the getspnam_r routine
- * is available to getspnam re-entrantly.
- */
-/* GETSPNAM_R_PROTO:
- * This symbol encodes the prototype of getspnam_r.
- * It is zero if d_getspnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
- * is defined.
- */
-/*#define HAS_GETSPNAM_R / **/
-#define GETSPNAM_R_PROTO 0 /**/
-
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-/*#define HAS_GETSERVBYNAME / **/
-/*#define HAS_GETSERVBYPORT / **/
-
-/* HAS_GMTIME_R:
- * This symbol, if defined, indicates that the gmtime_r routine
- * is available to gmtime re-entrantly.
- */
-/* GMTIME_R_PROTO:
- * This symbol encodes the prototype of gmtime_r.
- * It is zero if d_gmtime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
- * is defined.
- */
-/*#define HAS_GMTIME_R / **/
-#define GMTIME_R_PROTO 0 /**/
-
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
- */
-/*#define HAS_HTONL / **/
-/*#define HAS_HTONS / **/
-/*#define HAS_NTOHL / **/
-/*#define HAS_NTOHS / **/
-
-/* HAS_LOCALTIME_R:
- * This symbol, if defined, indicates that the localtime_r routine
- * is available to localtime re-entrantly.
- */
-/* LOCALTIME_R_NEEDS_TZSET:
- * Many libc's localtime_r implementations do not call tzset,
- * making them differ from localtime(), and making timezone
- * changes using $ENV{TZ} without explicitly calling tzset
- * impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
-/* LOCALTIME_R_PROTO:
- * This symbol encodes the prototype of localtime_r.
- * It is zero if d_localtime_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
- * is defined.
- */
-/*#define HAS_LOCALTIME_R / **/
-#define LOCALTIME_R_PROTO 0 /**/
-
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-/*#define HAS_LONG_DOUBLE / **/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 8 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG / **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-/*#define HAS_LSEEK_PROTO / **/
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-/*#define HAS_MKSTEMP / **/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG / **/
-
-/* HAS_POLL:
- * This symbol, if defined, indicates that the poll routine is
- * available to poll active file descriptors. Please check I_POLL and
- * I_SYS_POLL to know which header should be included as well.
- */
-/*#define HAS_POLL / **/
-
-/* OLD_PTHREAD_CREATE_JOINABLE:
- * This symbol, if defined, indicates how to create pthread
- * in joinable (aka undetached) state. NOTE: not defined
- * if pthread.h already has defined PTHREAD_CREATE_JOINABLE
- * (the new version of the constant).
- * If defined, known values are PTHREAD_CREATE_UNDETACHED
- * and __UNDETACHED.
- */
-/*#define OLD_PTHREAD_CREATE_JOINABLE / **/
-
-/* HAS_PTHREAD_ATFORK:
- * This symbol, if defined, indicates that the pthread_atfork routine
- * is available to setup fork handlers.
- */
-/*#define HAS_PTHREAD_ATFORK / **/
-
-/* HAS_PTHREAD_YIELD:
- * This symbol, if defined, indicates that the pthread_yield
- * routine is available to yield the execution of the current
- * thread. sched_yield is preferable to pthread_yield.
- */
-/* SCHED_YIELD:
- * This symbol defines the way to yield the execution of
- * the current thread. Known ways are sched_yield,
- * pthread_yield, and pthread_yield with NULL.
- */
-/* HAS_SCHED_YIELD:
- * This symbol, if defined, indicates that the sched_yield
- * routine is available to yield the execution of the current
- * thread. sched_yield is preferable to pthread_yield.
- */
-/*#define HAS_PTHREAD_YIELD / **/
-#define SCHED_YIELD sched_yield() /**/
-/*#define HAS_SCHED_YIELD / **/
-
-/* HAS_RANDOM_R:
- * This symbol, if defined, indicates that the random_r routine
- * is available to random re-entrantly.
- */
-/* RANDOM_R_PROTO:
- * This symbol encodes the prototype of random_r.
- * It is zero if d_random_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
- * is defined.
- */
-/*#define HAS_RANDOM_R / **/
-#define RANDOM_R_PROTO 0 /**/
-
-/* HAS_READDIR64_R:
- * This symbol, if defined, indicates that the readdir64_r routine
- * is available to readdir64 re-entrantly.
- */
-/* READDIR64_R_PROTO:
- * This symbol encodes the prototype of readdir64_r.
- * It is zero if d_readdir64_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- * is defined.
- */
-/*#define HAS_READDIR64_R / **/
-#define READDIR64_R_PROTO 0 /**/
-
-/* HAS_READDIR_R:
- * This symbol, if defined, indicates that the readdir_r routine
- * is available to readdir re-entrantly.
- */
-/* READDIR_R_PROTO:
- * This symbol encodes the prototype of readdir_r.
- * It is zero if d_readdir_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
- * is defined.
- */
-/*#define HAS_READDIR_R / **/
-#define READDIR_R_PROTO 0 /**/
-
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
- */
-/*#define HAS_SEM / **/
-
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
- */
-/*#define HAS_SETGRENT / **/
-
-/* HAS_SETGRENT_R:
- * This symbol, if defined, indicates that the setgrent_r routine
- * is available to setgrent re-entrantly.
- */
-/* SETGRENT_R_PROTO:
- * This symbol encodes the prototype of setgrent_r.
- * It is zero if d_setgrent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
- * is defined.
- */
-/*#define HAS_SETGRENT_R / **/
-#define SETGRENT_R_PROTO 0 /**/
-
-/* HAS_SETGROUPS:
- * This symbol, if defined, indicates that the setgroups() routine is
- * available to set the list of process groups. If unavailable, multiple
- * groups are probably not supported.
- */
-/*#define HAS_SETGROUPS / **/
-
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-/*#define HAS_SETHOSTENT / **/
-
-/* HAS_SETHOSTENT_R:
- * This symbol, if defined, indicates that the sethostent_r routine
- * is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of sethostent_r.
- * It is zero if d_sethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- * is defined.
- */
-/*#define HAS_SETHOSTENT_R / **/
-#define SETHOSTENT_R_PROTO 0 /**/
-
-/* HAS_SETLOCALE_R:
- * This symbol, if defined, indicates that the setlocale_r routine
- * is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- * This symbol encodes the prototype of setlocale_r.
- * It is zero if d_setlocale_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- * is defined.
- */
-/*#define HAS_SETLOCALE_R / **/
-#define SETLOCALE_R_PROTO 0 /**/
-
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
-/* HAS_SETNETENT_R:
- * This symbol, if defined, indicates that the setnetent_r routine
- * is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- * This symbol encodes the prototype of setnetent_r.
- * It is zero if d_setnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- * is defined.
- */
-/*#define HAS_SETNETENT_R / **/
-#define SETNETENT_R_PROTO 0 /**/
-
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-/*#define HAS_SETPROTOENT / **/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-/*#define HAS_SETPGRP / **/
-/*#define USE_BSD_SETPGRP / **/
-
-/* HAS_SETPROTOENT_R:
- * This symbol, if defined, indicates that the setprotoent_r routine
- * is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of setprotoent_r.
- * It is zero if d_setprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- * is defined.
- */
-/*#define HAS_SETPROTOENT_R / **/
-#define SETPROTOENT_R_PROTO 0 /**/
-
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT / **/
-
-/* HAS_SETPWENT_R:
- * This symbol, if defined, indicates that the setpwent_r routine
- * is available to setpwent re-entrantly.
- */
-/* SETPWENT_R_PROTO:
- * This symbol encodes the prototype of setpwent_r.
- * It is zero if d_setpwent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
- * is defined.
- */
-/*#define HAS_SETPWENT_R / **/
-#define SETPWENT_R_PROTO 0 /**/
-
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-/*#define HAS_SETSERVENT / **/
-
-/* HAS_SETSERVENT_R:
- * This symbol, if defined, indicates that the setservent_r routine
- * is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- * This symbol encodes the prototype of setservent_r.
- * It is zero if d_setservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- * is defined.
- */
-/*#define HAS_SETSERVENT_R / **/
-#define SETSERVENT_R_PROTO 0 /**/
-
-/* HAS_SETVBUF:
- * This symbol, if defined, indicates that the setvbuf routine is
- * available to change buffering on an open stdio stream.
- * to a line-buffered mode.
- */
-/*#define HAS_SETVBUF / **/
-
-/* HAS_SHM:
- * This symbol, if defined, indicates that the entire shm*(2) library is
- * supported.
- */
-/*#define HAS_SHM / **/
-
-/* Shmat_t:
- * This symbol holds the return type of the shmat() system call.
- * Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- * This symbol, if defined, indicates that the sys/shm.h includes
- * a prototype for shmat(). Otherwise, it is up to the program to
- * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
- * but not always right so it should be emitted by the program only
- * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void * /**/
-/*#define HAS_SHMAT_PROTOTYPE / **/
-
-/* HAS_SOCKET:
- * This symbol, if defined, indicates that the BSD socket interface is
- * supported.
- */
-/* HAS_SOCKETPAIR:
- * This symbol, if defined, indicates that the BSD socketpair() call is
- * supported.
- */
-/* HAS_MSG_CTRUNC:
- * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- * This symbol, if defined, indicates that the MSG_OOB is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- * This symbol, if defined, indicates that the MSG_PEEK is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- * This symbol, if defined, indicates that the MSG_PROXY is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/*#define HAS_SOCKET / **/
-/*#define HAS_SOCKETPAIR / **/
-/*#define HAS_MSG_CTRUNC / **/
-/*#define HAS_MSG_DONTROUTE / **/
-/*#define HAS_MSG_OOB / **/
-/*#define HAS_MSG_PEEK / **/
-/*#define HAS_MSG_PROXY / **/
-/*#define HAS_SCM_RIGHTS / **/
-
-/* HAS_SRAND48_R:
- * This symbol, if defined, indicates that the srand48_r routine
- * is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- * This symbol encodes the prototype of srand48_r.
- * It is zero if d_srand48_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- * is defined.
- */
-/*#define HAS_SRAND48_R / **/
-#define SRAND48_R_PROTO 0 /**/
-
-/* HAS_SRANDOM_R:
- * This symbol, if defined, indicates that the srandom_r routine
- * is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- * This symbol encodes the prototype of srandom_r.
- * It is zero if d_srandom_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- * is defined.
- */
-/*#define HAS_SRANDOM_R / **/
-#define SRANDOM_R_PROTO 0 /**/
-
-/* USE_STAT_BLOCKS:
- * This symbol is defined if this system has a stat structure declaring
- * st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-/*#define USE_STAT_BLOCKS / **/
-#endif
-
-/* USE_STRUCT_COPY:
- * This symbol, if defined, indicates that this C compiler knows how
- * to copy structures. If undefined, you'll need to use a block copy
- * routine of some sort instead.
- */
-/*#define USE_STRUCT_COPY / **/
-
-/* HAS_STRERROR:
- * This symbol, if defined, indicates that the strerror routine is
- * available to translate error numbers to strings. See the writeup
- * of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- * This symbol, if defined, indicates that the sys_errlist array is
- * available to translate error numbers to strings. The extern int
- * sys_nerr gives the size of that table.
- */
-/* Strerror:
- * This preprocessor symbol is defined as a macro if strerror() is
- * not available to translate error numbers to strings but sys_errlist[]
- * array is there.
- */
-/*#define HAS_STRERROR / **/
-/*#define HAS_SYS_ERRLIST / **/
-#define Strerror(e) strerror(e)
-
-/* HAS_STRERROR_R:
- * This symbol, if defined, indicates that the strerror_r routine
- * is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- * This symbol encodes the prototype of strerror_r.
- * It is zero if d_strerror_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- * is defined.
- */
-/*#define HAS_STRERROR_R / **/
-#define STRERROR_R_PROTO 0 /**/
-
-/* HAS_STRTOUL:
- * This symbol, if defined, indicates that the strtoul routine is
- * available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL /**/
-
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-/*#define HAS_TIMES / **/
-
-/* HAS_TMPNAM_R:
- * This symbol, if defined, indicates that the tmpnam_r routine
- * is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- * This symbol encodes the prototype of tmpnam_r.
- * It is zero if d_tmpnam_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- * is defined.
- */
-/*#define HAS_TMPNAM_R / **/
-#define TMPNAM_R_PROTO 0 /**/
-
-/* HAS_TTYNAME_R:
- * This symbol, if defined, indicates that the ttyname_r routine
- * is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- * This symbol encodes the prototype of ttyname_r.
- * It is zero if d_ttyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- * is defined.
- */
-/*#define HAS_TTYNAME_R / **/
-#define TTYNAME_R_PROTO 0 /**/
-
-/* HAS_UNION_SEMUN:
- * This symbol, if defined, indicates that the union semun is
- * defined by including <sys/sem.h>. If not, the user code
- * probably needs to define it as:
- * union semun {
- * int val;
- * struct semid_ds *buf;
- * unsigned short *array;
- * }
- */
-/* USE_SEMCTL_SEMUN:
- * This symbol, if defined, indicates that union semun is
- * used for semctl IPC_STAT.
- */
-/* USE_SEMCTL_SEMID_DS:
- * This symbol, if defined, indicates that struct semid_ds * is
- * used for semctl IPC_STAT.
- */
-/*#define HAS_UNION_SEMUN / **/
-/*#define USE_SEMCTL_SEMUN / **/
-/*#define USE_SEMCTL_SEMID_DS / **/
-
-/* HAS_VFORK:
- * This symbol, if defined, indicates that vfork() exists.
- */
-/*#define HAS_VFORK / **/
-
-/* HAS_PSEUDOFORK:
- * This symbol, if defined, indicates that an emulation of the
- * fork routine is available.
- */
-/*#define HAS_PSEUDOFORK / **/
-
-/* Signal_t:
- * This symbol's value is either "void" or "int", corresponding to the
- * appropriate return type of a signal handler. Thus, you can declare
- * a signal handler using "Signal_t (*handler)()", and define the
- * handler using "Signal_t handler(sig)".
- */
-#define Signal_t int /* Signal handler's return type */
-
-/* HASVOLATILE:
- * This symbol, if defined, indicates that this C compiler knows about
- * the volatile declaration.
- */
-/*#define HASVOLATILE / **/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t int /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "lu" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign 1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t int /* Type for getgid(), etc... */
-
-/* Groups_t:
- * This symbol holds the type used for the second argument to
- * getgroups() and setgroups(). Usually, this is the same as
- * gidtype (gid_t) , but sometimes it isn't.
- * It can be int, ushort, gid_t, etc...
- * It may be necessary to include <sys/types.h> to get any
- * typedef'ed information. This is only required if you have
- * getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t int /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
-/* I_DIRENT:
- * This symbol, if defined, indicates to the C program that it should
- * include <dirent.h>. Using this symbol also triggers the definition
- * of the Direntry_t define which ends up being 'struct dirent' or
- * 'struct direct' depending on the availability of <dirent.h>.
- */
-/* DIRNAMLEN:
- * This symbol, if defined, indicates to the C program that the length
- * of directory entry names is provided by a d_namlen field. Otherwise
- * you need to do strlen() on the d_name field.
- */
-/* Direntry_t:
- * This symbol is set to 'struct direct' or 'struct dirent' depending on
- * whether dirent is available or not. You should use this pseudo type to
- * portably declare your directory entries.
- */
-#define I_DIRENT /**/
-/*#define DIRNAMLEN / **/
-#define Direntry_t struct dirent
-
-/* I_GRP:
- * This symbol, if defined, indicates to the C program that it should
- * include <grp.h>.
- */
-/* GRPASSWD:
- * This symbol, if defined, indicates to the C program that struct group
- * in <grp.h> contains gr_passwd.
- */
-/*#define I_GRP / **/
-/*#define GRPASSWD / **/
-
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
-/* I_NDBM:
- * This symbol, if defined, indicates that <ndbm.h> exists and should
- * be included.
- */
-/*#define I_NDBM / **/
-
-/* I_NETDB:
- * This symbol, if defined, indicates that <netdb.h> exists and
- * should be included.
- */
-/*#define I_NETDB / **/
-
-/* I_NET_ERRNO:
- * This symbol, if defined, indicates that <net/errno.h> exists and
- * should be included.
- */
-/*#define I_NET_ERRNO / **/
-
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-/*#define I_PTHREAD / **/
-
-/* I_PWD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pwd.h>.
- */
-/* PWQUOTA:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_quota.
- */
-/* PWAGE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_age.
- */
-/* PWCHANGE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_change.
- */
-/* PWCLASS:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_class.
- */
-/* PWEXPIRE:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_expire.
- */
-/* PWCOMMENT:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_comment.
- */
-/* PWGECOS:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_gecos.
- */
-/* PWPASSWD:
- * This symbol, if defined, indicates to the C program that struct passwd
- * contains pw_passwd.
- */
-/*#define I_PWD / **/
-/*#define PWQUOTA / **/
-/*#define PWAGE / **/
-/*#define PWCHANGE / **/
-/*#define PWCLASS / **/
-/*#define PWEXPIRE / **/
-/*#define PWCOMMENT / **/
-/*#define PWGECOS / **/
-/*#define PWPASSWD / **/
-
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
-/* I_SYSUIO:
- * This symbol, if defined, indicates that <sys/uio.h> exists and
- * should be included.
- */
-/*#define I_SYSUIO / **/
-
-/* I_STDARG:
- * This symbol, if defined, indicates that <stdarg.h> exists and should
- * be included.
- */
-/* I_VARARGS:
- * This symbol, if defined, indicates to the C program that it should
- * include <varargs.h>.
- */
-#define I_STDARG /**/
-/*#define I_VARARGS / **/
-
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST NULL / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t int /* <offset> type */
-#define LSEEKSIZE 4 /* <offset> size */
-#define Off_t_size 4 /* <offset> size */
-
-/* Free_t:
- * This variable contains the return type of free(). It is usually
- * void, but occasionally int.
- */
-/* Malloc_t:
- * This symbol is the type of pointer returned by malloc and realloc.
- */
-#define Malloc_t void * /**/
-#define Free_t void /**/
-
-/* PERL_MALLOC_WRAP:
- * This symbol, if defined, indicates that we'd like malloc wrap checks.
- */
-/*#define PERL_MALLOC_WRAP / **/
-
-/* MYMALLOC:
- * This symbol, if defined, indicates that we're using our own malloc.
- */
-/*#define MYMALLOC / **/
-
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t int /* file mode parameter for system calls */
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t const char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t const char * /**/
-#define Netdb_net_t unsigned long /**/
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-/*#define PERL_OTHERLIBDIRS " " / **/
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int /* PID type */
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/usr/local/lib/perl5/5.11" /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.11" /**/
-
-/* CAN_PROTOTYPE:
- * If defined, this macro indicates that the C compiler can handle
- * function prototypes.
- */
-/* _:
- * This macro is used to declare function parameters for folks who want
- * to make declarations with prototypes using a different style than
- * the above macros. Use double parentheses. For example:
- *
- * int main _((int argc, char *argv[]));
- */
-/*#define CAN_PROTOTYPE / **/
-#ifdef CAN_PROTOTYPE
-#define _(args) args
-#else
-#define _(args) ()
-#endif
-
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t int /**/
-
-/* SH_PATH:
- * This symbol contains the full pathname to the shell used on this
- * on this system to execute Bourne shell scripts. Usually, this will be
- * /bin/sh, though it's possible that some systems will have /bin/ksh,
- * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
- * D:/bin/sh.exe.
- */
-#define SH_PATH "/bin/sh" /**/
-
-/* SIG_NAME:
- * This symbol contains a list of signal names in order of
- * signal number. This is intended
- * to be used as a static array initialization, like this:
- * char *sig_name[] = { SIG_NAME };
- * The signals in the list are separated with commas, and each signal
- * is surrounded by double quotes. There is no leading SIG in the signal
- * name, i.e. SIGQUIT is known as "QUIT".
- * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
- * etc., where nn is the actual signal number (e.g. NUM37).
- * The signal number for sig_name[i] is stored in sig_num[i].
- * The last element is 0 to terminate the list with a NULL. This
- * corresponds to the 0 at the end of the sig_name_init list.
- * Note that this variable is initialized from the sig_name_init,
- * not from sig_name (which is unused).
- */
-/* SIG_NUM:
- * This symbol contains a list of signal numbers, in the same order as the
- * SIG_NAME list. It is suitable for static array initialization, as in:
- * int sig_num[] = { SIG_NUM };
- * The signals in the list are separated with commas, and the indices
- * within that list and the SIG_NAME list match, so it's easy to compute
- * the signal name from a number or vice versa at the price of a small
- * dynamic linear lookup.
- * Duplicates are allowed, but are moved to the end of the list.
- * The signal number corresponding to sig_name[i] is sig_number[i].
- * if (i < NSIG) then sig_number[i] == i.
- * The last element is 0, corresponding to the 0 at the end of
- * the sig_name_init list.
- * Note that this variable is initialized from the sig_num_init,
- * not from sig_num (which is unused).
- */
-/* SIG_SIZE:
- * This variable contains the number of elements of the SIG_NAME
- * and SIG_NUM arrays, excluding the final NULL entry.
- */
-#define SIG_NAME 0 /**/
-#define SIG_NUM 0 /**/
-#define SIG_SIZE 1 /**/
-
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define SITEARCH "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_STEM "/usr/local/lib/perl5" /**/
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /* */
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length paramater for string functions */
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t int /**/
-
-/* STDCHAR:
- * This symbol is defined to be the type of char used in stdio.h.
- * It has the values "unsigned char" or "char".
- */
-#define STDCHAR char /**/
-
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "lu" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign 1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t int /* UID type */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-/*#define USE_ITHREADS / **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH "" / **/
-/*#define PERL_VENDORARCH_EXP "" / **/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP "" / **/
-/*#define PERL_VENDORLIB_STEM "" / **/
-
-/* VOIDFLAGS:
- * This symbol indicates how much support of the void type is given by this
- * compiler. What various bits mean:
- *
- * 1 = supports declaration of void
- * 2 = supports arrays of pointers to functions returning void
- * 4 = supports comparisons between pointers to void functions and
- * addresses of void functions
- * 8 = suports declaration of generic void pointers
- *
- * The package designer should define VOIDUSED to indicate the requirements
- * of the package. This can be done either by #defining VOIDUSED before
- * including config.h, or by defining defvoidused in Myinit.U. If the
- * latter approach is taken, only those flags will be tested. If the
- * level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 1
-#endif
-#define VOIDFLAGS 1
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int /* is void to be avoided? */
-#define M_VOID /* Xenix strikes again */
-#endif
-
-/* USE_CROSS_COMPILE:
- * This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- * This symbol, if defined, indicates the target architecture
- * Perl has been cross-compiled to. Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define USE_CROSS_COMPILE / **/
-#define PERL_TARGETARCH "" /**/
-#endif
-
-/* MEM_ALIGNBYTES:
- * This symbol contains the number of bytes required to align a
- * double, or a long double when applicable. Usual values are 2,
- * 4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 4
-#endif
-
-/* BYTEORDER:
- * This symbol holds the hexadecimal constant defined in byteorder,
- * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- * If the compiler supports cross-compiling or multiple-architecture
- * binaries (eg. on NeXT systems), use compiler-defined macros to
- * determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# ifdef __LITTLE_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x1234
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x12345678
-# endif
-# endif
-# else
-# ifdef __BIG_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x4321
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
-#else
-#define BYTEORDER 0x1234 /* large digits for MSB */
-#endif /* NeXT */
-
-/* CASTI32:
- * This symbol is defined if the C compiler can cast negative
- * or large floating point numbers to 32-bit ints.
- */
-/*#define CASTI32 / **/
-
-/* CASTNEGFLOAT:
- * This symbol is defined if the C compiler can cast negative
- * numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- * This symbol contains flags that say what difficulties the compiler
- * has casting odd floating values to unsigned long:
- * 0 = ok
- * 1 = couldn't cast < 0
- * 2 = couldn't cast >= 0x80000000
- * 4 = couldn't cast in argument expression list
- */
-/*#define CASTNEGFLOAT / **/
-#define CASTFLAGS 0 /**/
-
-/* VOID_CLOSEDIR:
- * This symbol, if defined, indicates that the closedir() routine
- * does not return a value.
- */
-/*#define VOID_CLOSEDIR / **/
-
-/* HAS_FD_SET:
- * This symbol, when defined, indicates presence of the fd_set typedef
- * in <sys/types.h>
- */
-/*#define HAS_FD_SET / **/
-
-/* Gconvert:
- * This preprocessor macro is defined to convert a floating point
- * number to a string without a trailing decimal point. This
- * emulates the behavior of sprintf("%g"), but is sometimes much more
- * efficient. If gconvert() is not available, but gcvt() drops the
- * trailing decimal point, then gcvt() is used. If all else fails,
- * a macro using sprintf("%g") is used. Arguments for the Gconvert
- * macro are: value, number of digits, whether trailing zeros should
- * be retained, and the output buffer.
- * The usual values are:
- * d_Gconvert='gconvert((x),(n),(t),(b))'
- * d_Gconvert='gcvt((x),(n),(b))'
- * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- * The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- * This symbol, if defined, indicates that the getpagesize system call
- * is available to get system page size, which is the granularity of
- * many memory management calls.
- */
-/*#define HAS_GETPAGESIZE / **/
-
-/* HAS_GNULIBC:
- * This symbol, if defined, indicates to the C program that
- * the GNU C library is being used. A better check is to use
- * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC / **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-# define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- * This manifest constant lets the C program know that isascii
- * is available.
- */
-/*#define HAS_ISASCII / **/
-
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
- */
-/*#define HAS_LCHOWN / **/
-
-/* HAS_OPEN3:
- * This manifest constant lets the C program know that the three
- * argument form of open(2) is available.
- */
-/*#define HAS_OPEN3 / **/
-
-/* HAS_SAFE_BCOPY:
- * This symbol, if defined, indicates that the bcopy routine is available
- * to copy potentially overlapping memory blocks. Normally, you should
- * probably use memmove() or memcpy(). If neither is defined, roll your
- * own version.
- */
-/*#define HAS_SAFE_BCOPY / **/
-
-/* HAS_SAFE_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy potentially overlapping memory blocks. If you need to
- * copy overlapping memory blocks, you should check HAS_MEMMOVE and
- * use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY / **/
-
-/* HAS_SANE_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * and can be used to compare relative magnitudes of chars with their high
- * bits set. If it is not defined, roll your own version.
- */
-/*#define HAS_SANE_MEMCMP / **/
-
-/* HAS_SIGACTION:
- * This symbol, if defined, indicates that Vr4's sigaction() routine
- * is available.
- */
-/*#define HAS_SIGACTION / **/
-
-/* HAS_SIGSETJMP:
- * This variable indicates to the C program that the sigsetjmp()
- * routine is available to save the calling process's registers
- * and stack environment for later use by siglongjmp(), and
- * to optionally save the process's signal mask. See
- * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
- * See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP / **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* USE_STDIO_PTR:
- * This symbol is defined if the _ptr and _cnt fields (or similar)
- * of the stdio FILE structure can be used to access the stdio buffer
- * for a file handle. If this is defined, then the FILE_ptr(fp)
- * and FILE_cnt(fp) macros will also be defined and should be used
- * to access these fields.
- */
-/* FILE_ptr:
- * This macro is used to access the _ptr field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- * This symbol is defined if the FILE_ptr macro can be used as an
- * lvalue.
- */
-/* FILE_cnt:
- * This macro is used to access the _cnt field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- * This symbol is defined if the FILE_cnt macro can be used as an
- * lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n has the side effect of decreasing the
- * value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-/*#define USE_STDIO_PTR / **/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp) ((fp)->_IO_read_ptr)
-/*#define STDIO_PTR_LVALUE / **/
-#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
-/*#define STDIO_CNT_LVALUE / **/
-/*#define STDIO_PTR_LVAL_SETS_CNT / **/
-/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
-#endif
-
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- * This macro is used to access the _base field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- * This macro is used to determine the number of bytes in the I/O
- * buffer pointed to by _base field (or equivalent) of the FILE
- * structure pointed to its argument. This macro will always be defined
- * if USE_STDIO_BASE is defined.
- */
-/*#define USE_STDIO_BASE / **/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp) ((fp)->_IO_read_base)
-#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
-#endif
-
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#undef EOF_NONBLOCK
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
-#define Rand_seed_t int /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 48 /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* HAS_ATOLF:
- * This symbol, if defined, indicates that the atolf routine is
- * available to convert strings into long doubles.
- */
-/*#define HAS_ATOLF / **/
-
-/* HAS_ATOLL:
- * This symbol, if defined, indicates that the atoll routine is
- * available to convert strings into long longs.
- */
-/*#define HAS_ATOLL / **/
-
-/* HAS__FWALK:
- * This symbol, if defined, indicates that the _fwalk system call is
- * available to apply a function to all the file handles.
- */
-/*#define HAS__FWALK / **/
-
-/* HAS_AINTL:
- * This symbol, if defined, indicates that the aintl routine is
- * available. If copysignl is also present we can emulate modfl.
- */
-/*#define HAS_AINTL / **/
-
-/* HAS_BUILTIN_CHOOSE_EXPR:
- * Can we handle GCC builtin for compile-time ternary-like expressions
- */
-/* HAS_BUILTIN_EXPECT:
- * Can we handle GCC builtin for telling that certain values are more
- * likely
- */
-/*#define HAS_BUILTIN_EXPECT / **/
-/*#define HAS_BUILTIN_CHOOSE_EXPR / **/
-
-/* HAS_C99_VARIADIC_MACROS:
- * If defined, the compiler supports C99 variadic macros.
- */
-/*#define HAS_C99_VARIADIC_MACROS / **/
-
-/* HAS_CLASS:
- * This symbol, if defined, indicates that the class routine is
- * available to classify doubles. Available for example in AIX.
- * The returned values are defined in <float.h> and are:
- *
- * FP_PLUS_NORM Positive normalized, nonzero
- * FP_MINUS_NORM Negative normalized, nonzero
- * FP_PLUS_DENORM Positive denormalized, nonzero
- * FP_MINUS_DENORM Negative denormalized, nonzero
- * FP_PLUS_ZERO +0.0
- * FP_MINUS_ZERO -0.0
- * FP_PLUS_INF +INF
- * FP_MINUS_INF -INF
- * FP_NANS Signaling Not a Number (NaNS)
- * FP_NANQ Quiet Not a Number (NaNQ)
- */
-/*#define HAS_CLASS / **/
-
-/* HAS_CLEARENV:
- * This symbol, if defined, indicates that the clearenv () routine is
- * available for use.
- */
-/*#define HAS_CLEARENV / **/
-
-/* HAS_STRUCT_CMSGHDR:
- * This symbol, if defined, indicates that the struct cmsghdr
- * is supported.
- */
-/*#define HAS_STRUCT_CMSGHDR / **/
-
-/* HAS_COPYSIGNL:
- * This symbol, if defined, indicates that the copysignl routine is
- * available. If aintl is also present we can emulate modfl.
- */
-/*#define HAS_COPYSIGNL / **/
-
-/* USE_CPLUSPLUS:
- * This symbol, if defined, indicates that a C++ compiler was
- * used to compiled Perl and will be used to compile extensions.
- */
-/*#define USE_CPLUSPLUS / **/
-
-/* HAS_DBMINIT_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the dbminit() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int dbminit(char *);
- */
-/*#define HAS_DBMINIT_PROTO / **/
-
-/* HAS_DIR_DD_FD:
- * This symbol, if defined, indicates that the the DIR* dirstream
- * structure contains a member variable named dd_fd.
- */
-/*#define HAS_DIR_DD_FD / **/
-
-/* HAS_DIRFD:
- * This manifest constant lets the C program know that dirfd
- * is available.
- */
-/*#define HAS_DIRFD / **/
-
-/* DLSYM_NEEDS_UNDERSCORE:
- * This symbol, if defined, indicates that we need to prepend an
- * underscore to the symbol name before calling dlsym(). This only
- * makes sense if you *have* dlsym, which we will presume is the
- * case if you're using dl_dlopen.xs.
- */
-/*#define DLSYM_NEEDS_UNDERSCORE / **/
-
-/* HAS_FAST_STDIO:
- * This symbol, if defined, indicates that the "fast stdio"
- * is available to manipulate the stdio buffers directly.
- */
-/*#define HAS_FAST_STDIO / **/
-
-/* HAS_FCHDIR:
- * This symbol, if defined, indicates that the fchdir routine is
- * available to change directory using a file descriptor.
- */
-/*#define HAS_FCHDIR / **/
-
-/* FCNTL_CAN_LOCK:
- * This symbol, if defined, indicates that fcntl() can be used
- * for file locking. Normally on Unix systems this is defined.
- * It may be undefined on VMS.
- */
-/*#define FCNTL_CAN_LOCK / **/
-
-/* HAS_FINITE:
- * This symbol, if defined, indicates that the finite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-/*#define HAS_FINITE / **/
-
-/* HAS_FINITEL:
- * This symbol, if defined, indicates that the finitel routine is
- * available to check whether a long double is finite
- * (non-infinity non-NaN).
- */
-/*#define HAS_FINITEL / **/
-
-/* HAS_FLOCK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the flock() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int flock(int, int);
- */
-/*#define HAS_FLOCK_PROTO / **/
-
-/* HAS_FP_CLASS:
- * This symbol, if defined, indicates that the fp_class routine is
- * available to classify doubles. Available for example in Digital UNIX.
- * The returned values are defined in <math.h> and are:
- *
- * FP_SNAN Signaling NaN (Not-a-Number)
- * FP_QNAN Quiet NaN (Not-a-Number)
- * FP_POS_INF +infinity
- * FP_NEG_INF -infinity
- * FP_POS_NORM Positive normalized
- * FP_NEG_NORM Negative normalized
- * FP_POS_DENORM Positive denormalized
- * FP_NEG_DENORM Negative denormalized
- * FP_POS_ZERO +0.0 (positive zero)
- * FP_NEG_ZERO -0.0 (negative zero)
- */
-/*#define HAS_FP_CLASS / **/
-
-/* HAS_FPCLASS:
- * This symbol, if defined, indicates that the fpclass routine is
- * available to classify doubles. Available for example in Solaris/SVR4.
- * The returned values are defined in <ieeefp.h> and are:
- *
- * FP_SNAN signaling NaN
- * FP_QNAN quiet NaN
- * FP_NINF negative infinity
- * FP_PINF positive infinity
- * FP_NDENORM negative denormalized non-zero
- * FP_PDENORM positive denormalized non-zero
- * FP_NZERO negative zero
- * FP_PZERO positive zero
- * FP_NNORM negative normalized non-zero
- * FP_PNORM positive normalized non-zero
- */
-/*#define HAS_FPCLASS / **/
-
-/* HAS_FPCLASSIFY:
- * This symbol, if defined, indicates that the fpclassify routine is
- * available to classify doubles. Available for example in HP-UX.
- * The returned values are defined in <math.h> and are
- *
- * FP_NORMAL Normalized
- * FP_ZERO Zero
- * FP_INFINITE Infinity
- * FP_SUBNORMAL Denormalized
- * FP_NAN NaN
- *
- */
-/*#define HAS_FPCLASSIFY / **/
-
-/* HAS_FPCLASSL:
- * This symbol, if defined, indicates that the fpclassl routine is
- * available to classify long doubles. Available for example in IRIX.
- * The returned values are defined in <ieeefp.h> and are:
- *
- * FP_SNAN signaling NaN
- * FP_QNAN quiet NaN
- * FP_NINF negative infinity
- * FP_PINF positive infinity
- * FP_NDENORM negative denormalized non-zero
- * FP_PDENORM positive denormalized non-zero
- * FP_NZERO negative zero
- * FP_PZERO positive zero
- * FP_NNORM negative normalized non-zero
- * FP_PNORM positive normalized non-zero
- */
-/*#define HAS_FPCLASSL / **/
-
-/* HAS_FPOS64_T:
- * This symbol will be defined if the C compiler supports fpos64_t.
- */
-/*#define HAS_FPOS64_T / **/
-
-/* HAS_FREXPL:
- * This symbol, if defined, indicates that the frexpl routine is
- * available to break a long double floating-point number into
- * a normalized fraction and an integral power of 2.
- */
-/*#define HAS_FREXPL / **/
-
-/* HAS_STRUCT_FS_DATA:
- * This symbol, if defined, indicates that the struct fs_data
- * to do statfs() is supported.
- */
-/*#define HAS_STRUCT_FS_DATA / **/
-
-/* HAS_FSEEKO:
- * This symbol, if defined, indicates that the fseeko routine is
- * available to fseek beyond 32 bits (useful for ILP32 hosts).
- */
-/*#define HAS_FSEEKO / **/
-
-/* HAS_FSTATFS:
- * This symbol, if defined, indicates that the fstatfs routine is
- * available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATFS / **/
-
-/* HAS_FSYNC:
- * This symbol, if defined, indicates that the fsync routine is
- * available to write a file's modified data and attributes to
- * permanent storage.
- */
-/*#define HAS_FSYNC / **/
-
-/* HAS_FTELLO:
- * This symbol, if defined, indicates that the ftello routine is
- * available to ftell beyond 32 bits (useful for ILP32 hosts).
- */
-/*#define HAS_FTELLO / **/
-
-/* HAS_FUTIMES:
- * This symbol, if defined, indicates that the futimes routine is
- * available to change file descriptor time stamps with struct timevals.
- */
-/*#define HAS_FUTIMES / **/
-
-/* HAS_GETCWD:
- * This symbol, if defined, indicates that the getcwd routine is
- * available to get the current working directory.
- */
-/*#define HAS_GETCWD / **/
-
-/* HAS_GETESPWNAM:
- * This symbol, if defined, indicates that the getespwnam system call is
- * available to retrieve enchanced (shadow) password entries by name.
- */
-/*#define HAS_GETESPWNAM / **/
-
-/* HAS_GETFSSTAT:
- * This symbol, if defined, indicates that the getfsstat routine is
- * available to stat filesystems in bulk.
- */
-/*#define HAS_GETFSSTAT / **/
-
-/* HAS_GETITIMER:
- * This symbol, if defined, indicates that the getitimer routine is
- * available to return interval timers.
- */
-/*#define HAS_GETITIMER / **/
-
-/* HAS_GETMNT:
- * This symbol, if defined, indicates that the getmnt routine is
- * available to get filesystem mount info by filename.
- */
-/*#define HAS_GETMNT / **/
-
-/* HAS_GETMNTENT:
- * This symbol, if defined, indicates that the getmntent routine is
- * available to iterate through mounted file systems to get their info.
- */
-/*#define HAS_GETMNTENT / **/
-
-/* HAS_GETPRPWNAM:
- * This symbol, if defined, indicates that the getprpwnam system call is
- * available to retrieve protected (shadow) password entries by name.
- */
-/*#define HAS_GETPRPWNAM / **/
-
-/* HAS_GETSPNAM:
- * This symbol, if defined, indicates that the getspnam system call is
- * available to retrieve SysV shadow password entries by name.
- */
-/*#define HAS_GETSPNAM / **/
-
-/* HAS_HASMNTOPT:
- * This symbol, if defined, indicates that the hasmntopt routine is
- * available to query the mount options of file systems.
- */
-/*#define HAS_HASMNTOPT / **/
-
-/* HAS_ILOGBL:
- * This symbol, if defined, indicates that the ilogbl routine is
- * available. If scalbnl is also present we can emulate frexpl.
- */
-/*#define HAS_ILOGBL / **/
-
-/* HAS_INT64_T:
- * This symbol will defined if the C compiler supports int64_t.
- * Usually the <inttypes.h> needs to be included, but sometimes
- * <sys/types.h> is enough.
- */
-/*#define HAS_INT64_T / **/
-
-/* HAS_ISFINITE:
- * This symbol, if defined, indicates that the isfinite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-/*#define HAS_ISFINITE / **/
-
-/* HAS_ISINF:
- * This symbol, if defined, indicates that the isinf routine is
- * available to check whether a double is an infinity.
- */
-/*#define HAS_ISINF / **/
-
-/* HAS_ISNAN:
- * This symbol, if defined, indicates that the isnan routine is
- * available to check whether a double is a NaN.
- */
-/*#define HAS_ISNAN / **/
-
-/* HAS_ISNANL:
- * This symbol, if defined, indicates that the isnanl routine is
- * available to check whether a long double is a NaN.
- */
-/*#define HAS_ISNANL / **/
-
-/* HAS_LDBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol LDBL_DIG, which is the number
- * of significant digits in a long double precision number. Unlike
- * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
- */
-/*#define HAS_LDBL_DIG / * */
-
-/* LIBM_LIB_VERSION:
- * This symbol, if defined, indicates that libm exports _LIB_VERSION
- * and that math.h defines the enum to manipulate it.
- */
-/*#define LIBM_LIB_VERSION / **/
-
-/* HAS_MADVISE:
- * This symbol, if defined, indicates that the madvise system call is
- * available to map a file into memory.
- */
-/*#define HAS_MADVISE / **/
-
-/* HAS_MALLOC_SIZE:
- * This symbol, if defined, indicates that the malloc_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_SIZE / **/
-
-/* HAS_MALLOC_GOOD_SIZE:
- * This symbol, if defined, indicates that the malloc_good_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_GOOD_SIZE / **/
-
-/* HAS_MKDTEMP:
- * This symbol, if defined, indicates that the mkdtemp routine is
- * available to exclusively create a uniquely named temporary directory.
- */
-/*#define HAS_MKDTEMP / **/
-
-/* HAS_MKSTEMPS:
- * This symbol, if defined, indicates that the mkstemps routine is
- * available to excluslvely create and open a uniquely named
- * (with a suffix) temporary file.
- */
-/*#define HAS_MKSTEMPS / **/
-
-/* HAS_MODFL:
- * This symbol, if defined, indicates that the modfl routine is
- * available to split a long double x into a fractional part f and
- * an integer part i such that |f| < 1.0 and (f + i) = x.
- */
-/* HAS_MODFL_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the modfl() function. Otherwise, it is up
- * to the program to supply one.
- */
-/* HAS_MODFL_POW32_BUG:
- * This symbol, if defined, indicates that the modfl routine is
- * broken for long doubles >= pow(2, 32).
- * For example from 4294967303.150000 one would get 4294967302.000000
- * and 1.150000. The bug has been seen in certain versions of glibc,
- * release 2.2.2 is known to be okay.
- */
-/*#define HAS_MODFL / **/
-/*#define HAS_MODFL_PROTO / **/
-/*#define HAS_MODFL_POW32_BUG / **/
-
-/* HAS_MPROTECT:
- * This symbol, if defined, indicates that the mprotect system call is
- * available to modify the access protection of a memory mapped file.
- */
-/*#define HAS_MPROTECT / **/
-
-/* HAS_STRUCT_MSGHDR:
- * This symbol, if defined, indicates that the struct msghdr
- * is supported.
- */
-/*#define HAS_STRUCT_MSGHDR / **/
-
-/* HAS_NL_LANGINFO:
- * This symbol, if defined, indicates that the nl_langinfo routine is
- * available to return local data. You will also need <langinfo.h>
- * and therefore I_LANGINFO.
- */
-/*#define HAS_NL_LANGINFO / **/
-
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
- */
-/*#define HAS_OFF64_T / **/
-
-/* HAS_PROCSELFEXE:
- * This symbol is defined if PROCSELFEXE_PATH is a symlink
- * to the absolute pathname of the executing program.
- */
-/* PROCSELFEXE_PATH:
- * If HAS_PROCSELFEXE is defined this symbol is the filename
- * of the symbolic link pointing to the absolute pathname of
- * the executing program.
- */
-/*#define HAS_PROCSELFEXE / **/
-#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
-#define PROCSELFEXE_PATH /**/
-#endif
-
-/* HAS_PTHREAD_ATTR_SETSCOPE:
- * This symbol, if defined, indicates that the pthread_attr_setscope
- * system call is available to set the contention scope attribute of
- * a thread attribute object.
- */
-/*#define HAS_PTHREAD_ATTR_SETSCOPE / **/
-
-/* HAS_READV:
- * This symbol, if defined, indicates that the readv routine is
- * available to do gather reads. You will also need <sys/uio.h>
- * and there I_SYSUIO.
- */
-/*#define HAS_READV / **/
-
-/* HAS_RECVMSG:
- * This symbol, if defined, indicates that the recvmsg routine is
- * available to send structured socket messages.
- */
-/*#define HAS_RECVMSG / **/
-
-/* HAS_SBRK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the sbrk() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern void* sbrk(int);
- * extern void* sbrk(size_t);
- */
-/*#define HAS_SBRK_PROTO / **/
-
-/* HAS_SCALBNL:
- * This symbol, if defined, indicates that the scalbnl routine is
- * available. If ilogbl is also present we can emulate frexpl.
- */
-/*#define HAS_SCALBNL / **/
-
-/* HAS_SENDMSG:
- * This symbol, if defined, indicates that the sendmsg routine is
- * available to send structured socket messages.
- */
-/*#define HAS_SENDMSG / **/
-
-/* HAS_SETITIMER:
- * This symbol, if defined, indicates that the setitimer routine is
- * available to set interval timers.
- */
-/*#define HAS_SETITIMER / **/
-
-/* HAS_SETPROCTITLE:
- * This symbol, if defined, indicates that the setproctitle routine is
- * available to set process title.
- */
-/*#define HAS_SETPROCTITLE / **/
-
-/* USE_SFIO:
- * This symbol, if defined, indicates that sfio should
- * be used.
- */
-/*#define USE_SFIO / **/
-
-/* HAS_SIGNBIT:
- * This symbol, if defined, indicates that the signbit routine is
- * available to check if the given number has the sign bit set.
- * This should include correct testing of -0.0. This will only be set
- * if the signbit() routine is safe to use with the NV type used internally
- * in perl. Users should call Perl_signbit(), which will be #defined to
- * the system's signbit() function or macro if this symbol is defined.
- */
-/*#define HAS_SIGNBIT / **/
-
-/* HAS_SIGPROCMASK:
- * This symbol, if defined, indicates that the sigprocmask
- * system call is available to examine or change the signal mask
- * of the calling process.
- */
-/*#define HAS_SIGPROCMASK / **/
-
-/* USE_SITECUSTOMIZE:
- * This symbol, if defined, indicates that sitecustomize should
- * be used.
- */
-#ifndef USE_SITECUSTOMIZE
-/*#define USE_SITECUSTOMIZE / **/
-#endif
-
-/* HAS_SNPRINTF:
- * This symbol, if defined, indicates that the snprintf () library
- * function is available for use.
- */
-/* HAS_VSNPRINTF:
- * This symbol, if defined, indicates that the vsnprintf () library
- * function is available for use.
- */
-/*#define HAS_SNPRINTF / **/
-/*#define HAS_VSNPRINTF / **/
-
-/* HAS_SOCKATMARK:
- * This symbol, if defined, indicates that the sockatmark routine is
- * available to test whether a socket is at the out-of-band mark.
- */
-/*#define HAS_SOCKATMARK / **/
-
-/* HAS_SOCKATMARK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the sockatmark() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int sockatmark(int);
- */
-/*#define HAS_SOCKATMARK_PROTO / **/
-
-/* HAS_SOCKS5_INIT:
- * This symbol, if defined, indicates that the socks5_init routine is
- * available to initialize SOCKS 5.
- */
-/*#define HAS_SOCKS5_INIT / **/
-
-/* SPRINTF_RETURNS_STRLEN:
- * This variable defines whether sprintf returns the length of the string
- * (as per the ANSI spec). Some C libraries retain compatibility with
- * pre-ANSI C and return a pointer to the passed in buffer; for these
- * this variable will be undef.
- */
-/*#define SPRINTF_RETURNS_STRLEN / **/
-
-/* HAS_SQRTL:
- * This symbol, if defined, indicates that the sqrtl routine is
- * available to do long double square roots.
- */
-/*#define HAS_SQRTL / **/
-
-/* HAS_SETRESGID_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the setresgid() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);
- */
-/*#define HAS_SETRESGID_PROTO / **/
-
-/* HAS_SETRESUID_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the setresuid() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
- */
-/*#define HAS_SETRESUID_PROTO / **/
-
-/* HAS_STRUCT_STATFS_F_FLAGS:
- * This symbol, if defined, indicates that the struct statfs
- * does have the f_flags member containing the mount flags of
- * the filesystem containing the file.
- * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
- * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
- * have statfs() and struct statfs, they have ustat() and getmnt()
- * with struct ustat and struct fs_data.
- */
-/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
-
-/* HAS_STRUCT_STATFS:
- * This symbol, if defined, indicates that the struct statfs
- * to do statfs() is supported.
- */
-/*#define HAS_STRUCT_STATFS / **/
-
-/* HAS_FSTATVFS:
- * This symbol, if defined, indicates that the fstatvfs routine is
- * available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATVFS / **/
-
-/* HAS_STRFTIME:
- * This symbol, if defined, indicates that the strftime routine is
- * available to do time formatting.
- */
-/*#define HAS_STRFTIME / **/
-
-/* HAS_STRLCAT:
- * This symbol, if defined, indicates that the strlcat () routine is
- * available to do string concatenation.
- */
-/*#define HAS_STRLCAT / **/
-
-/* HAS_STRLCPY:
- * This symbol, if defined, indicates that the strlcpy () routine is
- * available to do string copying.
- */
-/*#define HAS_STRLCPY / **/
-
-/* HAS_STRTOLD:
- * This symbol, if defined, indicates that the strtold routine is
- * available to convert strings to long doubles.
- */
-/*#define HAS_STRTOLD / **/
-
-/* HAS_STRTOLL:
- * This symbol, if defined, indicates that the strtoll routine is
- * available to convert strings to long longs.
- */
-/*#define HAS_STRTOLL / **/
-
-/* HAS_STRTOQ:
- * This symbol, if defined, indicates that the strtoq routine is
- * available to convert strings to long longs (quads).
- */
-/*#define HAS_STRTOQ / **/
-
-/* HAS_STRTOULL:
- * This symbol, if defined, indicates that the strtoull routine is
- * available to convert strings to unsigned long longs.
- */
-/*#define HAS_STRTOULL / **/
-
-/* HAS_STRTOUQ:
- * This symbol, if defined, indicates that the strtouq routine is
- * available to convert strings to unsigned long longs (quads).
- */
-/*#define HAS_STRTOUQ / **/
-
-/* HAS_SYSCALL_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the syscall() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern int syscall(int, ...);
- * extern int syscall(long, ...);
- */
-/*#define HAS_SYSCALL_PROTO / **/
-
-/* HAS_TELLDIR_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the telldir() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern long telldir(DIR*);
- */
-/*#define HAS_TELLDIR_PROTO / **/
-
-/* U32_ALIGNMENT_REQUIRED:
- * This symbol, if defined, indicates that you must access
- * character data through U32-aligned pointers.
- */
-#ifndef U32_ALIGNMENT_REQUIRED
-#define U32_ALIGNMENT_REQUIRED /**/
-#endif
-
-/* HAS_UALARM:
- * This symbol, if defined, indicates that the ualarm routine is
- * available to do alarms with microsecond granularity.
- */
-/*#define HAS_UALARM / **/
-
-/* HAS_UNORDERED:
- * This symbol, if defined, indicates that the unordered routine is
- * available to check whether two doubles are unordered
- * (effectively: whether either of them is NaN)
- */
-/*#define HAS_UNORDERED / **/
-
-/* HAS_UNSETENV:
- * This symbol, if defined, indicates that the unsetenv () routine is
- * available for use.
- */
-/*#define HAS_UNSETENV / **/
-
-/* HAS_USLEEP_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the usleep() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern int usleep(useconds_t);
- */
-/*#define HAS_USLEEP_PROTO / **/
-
-/* HAS_USTAT:
- * This symbol, if defined, indicates that the ustat system call is
- * available to query file system statistics by dev_t.
- */
-/*#define HAS_USTAT / **/
-
-/* HAS_WRITEV:
- * This symbol, if defined, indicates that the writev routine is
- * available to do scatter writes.
- */
-/*#define HAS_WRITEV / **/
-
-/* USE_DYNAMIC_LOADING:
- * This symbol, if defined, indicates that dynamic loading of
- * some sort is available.
- */
-/*#define USE_DYNAMIC_LOADING / **/
-
-/* FFLUSH_NULL:
- * This symbol, if defined, tells that fflush(NULL) does flush
- * all pending stdio output.
- */
-/* FFLUSH_ALL:
- * This symbol, if defined, tells that to flush
- * all pending stdio output one must loop through all
- * the stdio file handles stored in an array and fflush them.
- * Note that if fflushNULL is defined, fflushall will not
- * even be probed for and will be left undefined.
- */
-/*#define FFLUSH_NULL / **/
-/*#define FFLUSH_ALL / **/
-
-/* I_ASSERT:
- * This symbol, if defined, indicates that <assert.h> exists and
- * could be included by the C program to get the assert() macro.
- */
-#define I_ASSERT /**/
-
-/* I_CRYPT:
- * This symbol, if defined, indicates that <crypt.h> exists and
- * should be included.
- */
-/*#define I_CRYPT / **/
-
-/* DB_Prefix_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is u_int32_t.
- */
-/* DB_Hash_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is size_t.
- */
-/* DB_VERSION_MAJOR_CFG:
- * This symbol, if defined, defines the major version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- */
-/* DB_VERSION_MINOR_CFG:
- * This symbol, if defined, defines the minor version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-/* DB_VERSION_PATCH_CFG:
- * This symbol, if defined, defines the patch version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-#define DB_Hash_t u_int32_t /**/
-#define DB_Prefix_t size_t /**/
-#define DB_VERSION_MAJOR_CFG 0 /**/
-#define DB_VERSION_MINOR_CFG 0 /**/
-#define DB_VERSION_PATCH_CFG 0 /**/
-
-/* I_FP:
- * This symbol, if defined, indicates that <fp.h> exists and
- * should be included.
- */
-/*#define I_FP / **/
-
-/* I_FP_CLASS:
- * This symbol, if defined, indicates that <fp_class.h> exists and
- * should be included.
- */
-/*#define I_FP_CLASS / **/
-
-/* I_IEEEFP:
- * This symbol, if defined, indicates that <ieeefp.h> exists and
- * should be included.
- */
-/*#define I_IEEEFP / **/
-
-/* I_INTTYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <inttypes.h>.
- */
-/*#define I_INTTYPES / **/
-
-/* I_LANGINFO:
- * This symbol, if defined, indicates that <langinfo.h> exists and
- * should be included.
- */
-/*#define I_LANGINFO / **/
-
-/* I_LIBUTIL:
- * This symbol, if defined, indicates that <libutil.h> exists and
- * should be included.
- */
-/*#define I_LIBUTIL / **/
-
-/* I_MNTENT:
- * This symbol, if defined, indicates that <mntent.h> exists and
- * should be included.
- */
-/*#define I_MNTENT / **/
-
-/* I_NETINET_TCP:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/tcp.h>.
- */
-/*#define I_NETINET_TCP / **/
-
-/* I_POLL:
- * This symbol, if defined, indicates that <poll.h> exists and
- * should be included. (see also HAS_POLL)
- */
-/*#define I_POLL / **/
-
-/* I_PROT:
- * This symbol, if defined, indicates that <prot.h> exists and
- * should be included.
- */
-/*#define I_PROT / **/
-
-/* I_SHADOW:
- * This symbol, if defined, indicates that <shadow.h> exists and
- * should be included.
- */
-/*#define I_SHADOW / **/
-
-/* I_SOCKS:
- * This symbol, if defined, indicates that <socks.h> exists and
- * should be included.
- */
-/*#define I_SOCKS / **/
-
-/* I_SUNMATH:
- * This symbol, if defined, indicates that <sunmath.h> exists and
- * should be included.
- */
-/*#define I_SUNMATH / **/
-
-/* I_SYSLOG:
- * This symbol, if defined, indicates that <syslog.h> exists and
- * should be included.
- */
-/*#define I_SYSLOG / **/
-
-/* I_SYSMODE:
- * This symbol, if defined, indicates that <sys/mode.h> exists and
- * should be included.
- */
-/*#define I_SYSMODE / **/
-
-/* I_SYS_MOUNT:
- * This symbol, if defined, indicates that <sys/mount.h> exists and
- * should be included.
- */
-/*#define I_SYS_MOUNT / **/
-
-/* I_SYS_STATFS:
- * This symbol, if defined, indicates that <sys/statfs.h> exists.
- */
-/*#define I_SYS_STATFS / **/
-
-/* I_SYS_STATVFS:
- * This symbol, if defined, indicates that <sys/statvfs.h> exists and
- * should be included.
- */
-/*#define I_SYS_STATVFS / **/
-
-/* I_SYSUTSNAME:
- * This symbol, if defined, indicates that <sys/utsname.h> exists and
- * should be included.
- */
-/*#define I_SYSUTSNAME / **/
-
-/* I_SYS_VFS:
- * This symbol, if defined, indicates that <sys/vfs.h> exists and
- * should be included.
- */
-/*#define I_SYS_VFS / **/
-
-/* I_USTAT:
- * This symbol, if defined, indicates that <ustat.h> exists and
- * should be included.
- */
-/*#define I_USTAT / **/
-
-/* PERL_PRIfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for output.
- */
-/* PERL_PRIgldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'g') for output.
- */
-/* PERL_PRIeldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'e') for output.
- */
-/* PERL_SCNfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for input.
- */
-/*#define PERL_PRIfldbl "llf" / **/
-/*#define PERL_PRIgldbl "llg" / **/
-/*#define PERL_PRIeldbl "lle" / **/
-/*#define PERL_SCNfldbl "llf" / **/
-
-/* PERL_MAD:
- * This symbol, if defined, indicates that the Misc Attribution
- * Declaration code should be conditionally compiled.
- */
-/*#define PERL_MAD / **/
-
-/* NEED_VA_COPY:
- * This symbol, if defined, indicates that the system stores
- * the variable argument list datatype, va_list, in a format
- * that cannot be copied by simple assignment, so that some
- * other means must be used when copying is required.
- * As such systems vary in their provision (or non-provision)
- * of copying mechanisms, handy.h defines a platform-
- * independent macro, Perl_va_copy(src, dst), to do the job.
- */
-/*#define NEED_VA_COPY / **/
-
-/* IVTYPE:
- * This symbol defines the C type used for Perl's IV.
- */
-/* UVTYPE:
- * This symbol defines the C type used for Perl's UV.
- */
-/* I8TYPE:
- * This symbol defines the C type used for Perl's I8.
- */
-/* U8TYPE:
- * This symbol defines the C type used for Perl's U8.
- */
-/* I16TYPE:
- * This symbol defines the C type used for Perl's I16.
- */
-/* U16TYPE:
- * This symbol defines the C type used for Perl's U16.
- */
-/* I32TYPE:
- * This symbol defines the C type used for Perl's I32.
- */
-/* U32TYPE:
- * This symbol defines the C type used for Perl's U32.
- */
-/* I64TYPE:
- * This symbol defines the C type used for Perl's I64.
- */
-/* U64TYPE:
- * This symbol defines the C type used for Perl's U64.
- */
-/* NVTYPE:
- * This symbol defines the C type used for Perl's NV.
- */
-/* IVSIZE:
- * This symbol contains the sizeof(IV).
- */
-/* UVSIZE:
- * This symbol contains the sizeof(UV).
- */
-/* I8SIZE:
- * This symbol contains the sizeof(I8).
- */
-/* U8SIZE:
- * This symbol contains the sizeof(U8).
- */
-/* I16SIZE:
- * This symbol contains the sizeof(I16).
- */
-/* U16SIZE:
- * This symbol contains the sizeof(U16).
- */
-/* I32SIZE:
- * This symbol contains the sizeof(I32).
- */
-/* U32SIZE:
- * This symbol contains the sizeof(U32).
- */
-/* I64SIZE:
- * This symbol contains the sizeof(I64).
- */
-/* U64SIZE:
- * This symbol contains the sizeof(U64).
- */
-/* NVSIZE:
- * This symbol contains the sizeof(NV).
- */
-/* NV_PRESERVES_UV:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bits of a variable of type UVTYPE.
- */
-/* NV_PRESERVES_UV_BITS:
- * This symbol contains the number of bits a variable of type NVTYPE
- * can preserve of a variable of type UVTYPE.
- */
-/* NV_OVERFLOWS_INTEGERS_AT
- * This symbol gives the largest integer value that NVs can hold. This
- * value + 1.0 cannot be stored accurately. It is expressed as constant
- * floating point expression to reduce the chance of decimale/binary
- * conversion issues. If it can not be determined, the value 0 is given.
- */
-/* NV_ZERO_IS_ALLBITS_ZERO:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * stores 0.0 in memory as all bits zero.
- */
-#define IVTYPE long /**/
-#define UVTYPE unsigned long /**/
-#define I8TYPE char /**/
-#define U8TYPE unsigned char /**/
-#define I16TYPE short /**/
-#define U16TYPE unsigned short /**/
-#define I32TYPE long /**/
-#define U32TYPE unsigned long /**/
-#ifdef HAS_QUAD
-#define I64TYPE int64_t /**/
-#define U64TYPE uint64_t /**/
-#endif
-#define NVTYPE double /**/
-#define IVSIZE 4 /**/
-#define UVSIZE 4 /**/
-#define I8SIZE 1 /**/
-#define U8SIZE 1 /**/
-#define I16SIZE 2 /**/
-#define U16SIZE 2 /**/
-#define I32SIZE 4 /**/
-#define U32SIZE 4 /**/
-#ifdef HAS_QUAD
-#define I64SIZE 8 /**/
-#define U64SIZE 8 /**/
-#endif
-#define NVSIZE 8 /**/
-#undef NV_PRESERVES_UV
-#define NV_PRESERVES_UV_BITS 0
-#define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
-#undef NV_ZERO_IS_ALLBITS_ZERO
-#if UVSIZE == 8
-# ifdef BYTEORDER
-# if BYTEORDER == 0x1234
-# undef BYTEORDER
-# define BYTEORDER 0x12345678
-# else
-# if BYTEORDER == 0x4321
-# undef BYTEORDER
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-#endif
-
-/* IVdf:
- * This symbol defines the format string used for printing a Perl IV
- * as a signed decimal integer.
- */
-/* UVuf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned decimal integer.
- */
-/* UVof:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned octal integer.
- */
-/* UVxf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in lowercase abcdef.
- */
-/* UVXf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in uppercase ABCDEF.
- */
-/* NVef:
- * This symbol defines the format string used for printing a Perl NV
- * using %e-ish floating point format.
- */
-/* NVff:
- * This symbol defines the format string used for printing a Perl NV
- * using %f-ish floating point format.
- */
-/* NVgf:
- * This symbol defines the format string used for printing a Perl NV
- * using %g-ish floating point format.
- */
-#define IVdf "ld" /**/
-#define UVuf "lu" /**/
-#define UVof "lo" /**/
-#define UVxf "lx" /**/
-#define UVXf "lX" /**/
-#define NVef "e" /**/
-#define NVff "f" /**/
-#define NVgf "g" /**/
-
-/* SELECT_MIN_BITS:
- * This symbol holds the minimum number of bits operated by select.
- * That is, if you do select(n, ...), how many bits at least will be
- * cleared in the masks if some activity is detected. Usually this
- * is either n or 32*ceil(n/32), especially many little-endians do
- * the latter. This is only useful if you have select(), naturally.
- */
-#define SELECT_MIN_BITS 32 /**/
-
-/* STARTPERL:
- * This variable contains the string to put in front of a perl
- * script to make sure (one hopes) that it runs with perl and not
- * some shell.
- */
-#define STARTPERL "#!perl" /**/
-
-/* HAS_STDIO_STREAM_ARRAY:
- * This symbol, if defined, tells that there is an array
- * holding the stdio streams.
- */
-/* STDIO_STREAM_ARRAY:
- * This symbol tells the name of the array holding the stdio streams.
- * Usual values include _iob, __iob, and __sF.
- */
-/*#define HAS_STDIO_STREAM_ARRAY / **/
-#define STDIO_STREAM_ARRAY
-
-/* USE_64_BIT_INT:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be employed (be they 32 or 64 bits). The minimal possible
- * 64-bitness is used, just enough to get 64-bit integers into Perl.
- * This may mean using for example "long longs", while your memory
- * may still be limited to 2 gigabytes.
- */
-/* USE_64_BIT_ALL:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits). The maximal possible
- * 64-bitness is employed: LP64 or ILP64, meaning that you will
- * be able to use more than 2 gigabytes of memory. This mode is
- * even more binary incompatible than USE_64_BIT_INT. You may not
- * be able to run the resulting executable in a 32-bit CPU at all or
- * you may need at least to reboot your OS to 64-bit mode.
- */
-#ifndef USE_64_BIT_INT
-/*#define USE_64_BIT_INT / **/
-#endif
-#ifndef USE_64_BIT_ALL
-/*#define USE_64_BIT_ALL / **/
-#endif
-
-/* USE_DTRACE:
- * This symbol, if defined, indicates that Perl should
- * be built with support for DTrace.
- */
-/*#define USE_DTRACE / **/
-
-/* USE_FAST_STDIO:
- * This symbol, if defined, indicates that Perl should
- * be built to use 'fast stdio'.
- * Defaults to define in Perls 5.8 and earlier, to undef later.
- */
-#ifndef USE_FAST_STDIO
-/*#define USE_FAST_STDIO / **/
-#endif
-
-/* USE_LARGE_FILES:
- * This symbol, if defined, indicates that large file support
- * should be used when available.
- */
-#ifndef USE_LARGE_FILES
-/*#define USE_LARGE_FILES / **/
-#endif
-
-/* USE_LONG_DOUBLE:
- * This symbol, if defined, indicates that long doubles should
- * be used when available.
- */
-#ifndef USE_LONG_DOUBLE
-/*#define USE_LONG_DOUBLE / **/
-#endif
-
-/* USE_MORE_BITS:
- * This symbol, if defined, indicates that 64-bit interfaces and
- * long doubles should be used when available.
- */
-#ifndef USE_MORE_BITS
-/*#define USE_MORE_BITS / **/
-#endif
-
-/* MULTIPLICITY:
- * This symbol, if defined, indicates that Perl should
- * be built to use multiplicity.
- */
-#ifndef MULTIPLICITY
-/*#define MULTIPLICITY / **/
-#endif
-
-/* USE_PERLIO:
- * This symbol, if defined, indicates that the PerlIO abstraction should
- * be used throughout. If not defined, stdio should be
- * used in a fully backward compatible manner.
- */
-#ifndef USE_PERLIO
-/*#define USE_PERLIO / **/
-#endif
-
-/* USE_SOCKS:
- * This symbol, if defined, indicates that Perl should
- * be built to use socks.
- */
-#ifndef USE_SOCKS
-/*#define USE_SOCKS / **/
-#endif
-
-#endif
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/unixish.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/unixish.h
deleted file mode 100644
index 6ad95c2dc8c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/unixish.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* unixish.h
- *
- * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- * 2003, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * The following symbols are defined if your operating system supports
- * functions by that name. All Unixes I know of support them, thus they
- * are not checked by the configuration script, but are directly defined
- * here.
- */
-
-#ifndef PERL_MICRO
-
-/* HAS_IOCTL:
- * This symbol, if defined, indicates that the ioctl() routine is
- * available to set I/O characteristics
- */
-#define HAS_IOCTL /**/
-
-/* HAS_UTIME:
- * This symbol, if defined, indicates that the routine utime() is
- * available to update the access and modification times of files.
- */
-#define HAS_UTIME /**/
-
-/* HAS_GROUP
- * This symbol, if defined, indicates that the getgrnam() and
- * getgrgid() routines are available to get group entries.
- * The getgrent() has a separate definition, HAS_GETGRENT.
- */
-#define HAS_GROUP /**/
-
-/* HAS_PASSWD
- * This symbol, if defined, indicates that the getpwnam() and
- * getpwuid() routines are available to get password entries.
- * The getpwent() has a separate definition, HAS_GETPWENT.
- */
-#define HAS_PASSWD /**/
-
-#define HAS_KILL
-#define HAS_WAIT
-
-#endif /* !PERL_MICRO */
-
-/* USEMYBINMODE
- * This symbol, if defined, indicates that the program should
- * use the routine my_binmode(FILE *fp, char iotype) to insure
- * that a file is in "binary" mode -- that is, that no translation
- * of bytes occurs on read or write operations.
- */
-#undef USEMYBINMODE
-
-/* Stat_t:
- * This symbol holds the type used to declare buffers for information
- * returned by stat(). It's usually just struct stat. It may be necessary
- * to include <sys/stat.h> and <sys/types.h> to get any typedef'ed
- * information.
- */
-#define Stat_t struct stat
-
-/* USE_STAT_RDEV:
- * This symbol is defined if this system has a stat structure declaring
- * st_rdev
- */
-#define USE_STAT_RDEV /**/
-
-/* ACME_MESS:
- * This symbol, if defined, indicates that error messages should be
- * should be generated in a format that allows the use of the Acme
- * GUI/editor's autofind feature.
- */
-#undef ACME_MESS /**/
-
-/* UNLINK_ALL_VERSIONS:
- * This symbol, if defined, indicates that the program should arrange
- * to remove all versions of a file if unlink() is called. This is
- * probably only relevant for VMS.
- */
-/* #define UNLINK_ALL_VERSIONS / **/
-
-/* VMS:
- * This symbol, if defined, indicates that the program is running under
- * VMS. It is currently automatically set by cpps running under VMS,
- * and is included here for completeness only.
- */
-/* #define VMS / **/
-
-/* ALTERNATE_SHEBANG:
- * This symbol, if defined, contains a "magic" string which may be used
- * as the first line of a Perl program designed to be executed directly
- * by name, instead of the standard Unix #!. If ALTERNATE_SHEBANG
- * begins with a character other then #, then Perl will only treat
- * it as a command line if it finds the string "perl" in the first
- * word; otherwise it's treated as the first line of code in the script.
- * (IOW, Perl won't hand off to another interpreter via an alternate
- * shebang sequence that might be legal Perl code.)
- */
-/* #define ALTERNATE_SHEBANG "#!" / **/
-
-# include <signal.h>
-
-#ifndef SIGABRT
-# define SIGABRT SIGILL
-#endif
-#ifndef SIGILL
-# define SIGILL 6 /* blech */
-#endif
-#define ABORT() kill(PerlProc_getpid(),SIGABRT);
-
-/*
- * fwrite1() should be a routine with the same calling sequence as fwrite(),
- * but which outputs all of the bytes requested as a single stream (unlike
- * fwrite() itself, which on some systems outputs several distinct records
- * if the number_of_items parameter is >1).
- */
-#define fwrite1 fwrite
-
-#define Stat(fname,bufptr) stat((fname),(bufptr))
-#define Fstat(fd,bufptr) fstat((fd),(bufptr))
-#define Fflush(fp) fflush(fp)
-#define Mkdir(path,mode) mkdir((path),(mode))
-
-#ifndef PERL_SYS_INIT_BODY
-# define PERL_SYS_INIT_BODY(c,v) \
- MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
-#endif
-
-#ifndef PERL_SYS_TERM_BODY
-# define PERL_SYS_TERM_BODY() \
- HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;
-
-#endif
-
-#define BIT_BUCKET "/dev/null"
-
-#define dXSUB_SYS
-
-#ifndef NO_ENVIRON_ARRAY
-#define USE_ENVIRON_ARRAY
-#endif
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utf8.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utf8.h
deleted file mode 100644
index e8efd142ea4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utf8.h
+++ /dev/null
@@ -1,352 +0,0 @@
-/* utf8.h
- *
- * Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-/* Use UTF-8 as the default script encoding?
- * Turning this on will break scripts having non-UTF-8 binary
- * data (such as Latin-1) in string literals. */
-#ifdef USE_UTF8_SCRIPTS
-# define USE_UTF8_IN_NAMES (!IN_BYTES)
-#else
-# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
-#endif
-
-/* Source backward compatibility. */
-#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0)
-#define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0)
-
-#ifdef EBCDIC
-/* The equivalent of these macros but implementing UTF-EBCDIC
- are in the following header file:
- */
-
-#include "utfebcdic.h"
-
-#else
-START_EXTERN_C
-
-#ifdef DOINIT
-EXTCONST unsigned char PL_utf8skip[] = {
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* scripts */
-3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6, /* cjk etc. */
-7,13, /* Perl extended (not UTF-8). Up to 72bit allowed (64-bit + reserved). */
-};
-#else
-EXTCONST unsigned char PL_utf8skip[];
-#endif
-
-END_EXTERN_C
-#define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)]
-
-/* Native character to iso-8859-1 */
-#define NATIVE_TO_ASCII(ch) (ch)
-#define ASCII_TO_NATIVE(ch) (ch)
-/* Transform after encoding */
-#define NATIVE_TO_UTF(ch) (ch)
-#define UTF_TO_NATIVE(ch) (ch)
-/* Transforms in wide UV chars */
-#define UNI_TO_NATIVE(ch) (ch)
-#define NATIVE_TO_UNI(ch) (ch)
-/* Transforms in invariant space */
-#define NATIVE_TO_NEED(enc,ch) (ch)
-#define ASCII_TO_NEED(enc,ch) (ch)
-
-/* As there are no translations avoid the function wrapper */
-#define utf8n_to_uvchr utf8n_to_uvuni
-#define uvchr_to_utf8 uvuni_to_utf8
-
-/*
-
- The following table is from Unicode 3.2.
-
- Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
-
- U+0000..U+007F 00..7F
- U+0080..U+07FF C2..DF 80..BF
- U+0800..U+0FFF E0 A0..BF 80..BF
- U+1000..U+CFFF E1..EC 80..BF 80..BF
- U+D000..U+D7FF ED 80..9F 80..BF
- U+D800..U+DFFF ******* ill-formed *******
- U+E000..U+FFFF EE..EF 80..BF 80..BF
- U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
- U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
- U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
-
-Note the A0..BF in U+0800..U+0FFF, the 80..9F in U+D000...U+D7FF,
-the 90..BF in U+10000..U+3FFFF, and the 80...8F in U+100000..U+10FFFF.
-The "gaps" are caused by legal UTF-8 avoiding non-shortest encodings:
-it is technically possible to UTF-8-encode a single code point in different
-ways, but that is explicitly forbidden, and the shortest possible encoding
-should always be used (and that is what Perl does).
-
- */
-
-/*
- Another way to look at it, as bits:
-
- Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
-
- 0aaaaaaa 0aaaaaaa
- 00000bbbbbaaaaaa 110bbbbb 10aaaaaa
- ccccbbbbbbaaaaaa 1110cccc 10bbbbbb 10aaaaaa
- 00000dddccccccbbbbbbaaaaaa 11110ddd 10cccccc 10bbbbbb 10aaaaaa
-
-As you can see, the continuation bytes all begin with C<10>, and the
-leading bits of the start byte tell how many bytes the are in the
-encoded character.
-
-*/
-
-
-#define UNI_IS_INVARIANT(c) (((UV)c) < 0x80)
-#define UTF8_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_UTF(c))
-#define NATIVE_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_ASCII(c))
-#define UTF8_IS_START(c) (((U8)c) >= 0xc0 && (((U8)c) <= 0xfd))
-#define UTF8_IS_CONTINUATION(c) (((U8)c) >= 0x80 && (((U8)c) <= 0xbf))
-#define UTF8_IS_CONTINUED(c) (((U8)c) & 0x80)
-#define UTF8_IS_DOWNGRADEABLE_START(c) (((U8)c & 0xfc) == 0xc0)
-
-#define UTF_START_MARK(len) ((len > 7) ? 0xFF : (0xFE << (7-len)))
-#define UTF_START_MASK(len) ((len >= 7) ? 0x00 : (0x1F >> (len-2)))
-
-#define UTF_CONTINUATION_MARK 0x80
-#define UTF_ACCUMULATION_SHIFT 6
-#define UTF_CONTINUATION_MASK ((U8)0x3f)
-#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT) | (((U8)new) & UTF_CONTINUATION_MASK))
-
-#define UTF8_EIGHT_BIT_HI(c) ((((U8)(c))>>UTF_ACCUMULATION_SHIFT)|UTF_START_MARK(2))
-#define UTF8_EIGHT_BIT_LO(c) (((((U8)(c)))&UTF_CONTINUATION_MASK)|UTF_CONTINUATION_MARK)
-
-#ifdef HAS_QUAD
-#define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \
- (uv) < 0x800 ? 2 : \
- (uv) < 0x10000 ? 3 : \
- (uv) < 0x200000 ? 4 : \
- (uv) < 0x4000000 ? 5 : \
- (uv) < 0x80000000 ? 6 : \
- (uv) < UTF8_QUAD_MAX ? 7 : 13 )
-#else
-/* No, I'm not even going to *TRY* putting #ifdef inside a #define */
-#define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \
- (uv) < 0x800 ? 2 : \
- (uv) < 0x10000 ? 3 : \
- (uv) < 0x200000 ? 4 : \
- (uv) < 0x4000000 ? 5 : \
- (uv) < 0x80000000 ? 6 : 7 )
-#endif
-
-/*
- * Note: we try to be careful never to call the isXXX_utf8() functions
- * unless we're pretty sure we've seen the beginning of a UTF-8 character
- * (that is, the two high bits are set). Otherwise we risk loading in the
- * heavy-duty swash_init and swash_fetch routines unnecessarily.
- */
-#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || (*((const U8*)p) < 0xc0))) \
- ? isIDFIRST(*(p)) \
- : isIDFIRST_utf8((const U8*)p))
-#define isALNUM_lazy_if(p,c) ((IN_BYTES || (!c || (*((const U8*)p) < 0xc0))) \
- ? isALNUM(*(p)) \
- : isALNUM_utf8((const U8*)p))
-
-
-#endif /* EBCDIC vs ASCII */
-
-/* Rest of these are attributes of Unicode and perl's internals rather than the encoding */
-
-#define isIDFIRST_lazy(p) isIDFIRST_lazy_if(p,1)
-#define isALNUM_lazy(p) isALNUM_lazy_if(p,1)
-
-#define UTF8_MAXBYTES 13
-/* How wide can a single UTF-8 encoded character become in bytes.
- * NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8
- * since UTF-8 is an encoding of Unicode and given Unicode's current
- * upper limit only four bytes is possible. Perl thinks of UTF-8
- * as a way to encode non-negative integers in a binary format. */
-#define UTF8_MAXLEN UTF8_MAXBYTES
-
-#define UTF8_MAXLEN_UCLC 3 /* Obsolete, do not use. */
-#define UTF8_MAXLEN_UCLC_MULT 39 /* Obsolete, do not use. */
-#define UTF8_MAXLEN_FOLD 3 /* Obsolete, do not use. */
-#define UTF8_MAXLEN_FOLD_MULT 39 /* Obsolete, do not use. */
-
-/* The maximum number of UTF-8 bytes a single Unicode character can
- * uppercase/lowercase/fold into; this number depends on the Unicode
- * version. An example of maximal expansion is the U+03B0 which
- * uppercases to U+03C5 U+0308 U+0301. The Unicode databases that
- * tell these things are UnicodeDatabase.txt, CaseFolding.txt, and
- * SpecialCasing.txt. */
-#define UTF8_MAXBYTES_CASE 6
-
-#define IN_BYTES (CopHINTS_get(PL_curcop) & HINT_BYTES)
-#define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
-
-#define UTF8_ALLOW_EMPTY 0x0001
-#define UTF8_ALLOW_CONTINUATION 0x0002
-#define UTF8_ALLOW_NON_CONTINUATION 0x0004
-#define UTF8_ALLOW_FE_FF 0x0008 /* Allow above 0x7fffFFFF */
-#define UTF8_ALLOW_SHORT 0x0010
-#define UTF8_ALLOW_SURROGATE 0x0020
-#define UTF8_ALLOW_FFFF 0x0040 /* Allow UNICODE_ILLEGAL */
-#define UTF8_ALLOW_LONG 0x0080
-#define UTF8_ALLOW_ANYUV (UTF8_ALLOW_EMPTY|UTF8_ALLOW_FE_FF|\
- UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
-#define UTF8_ALLOW_ANY 0x00FF
-#define UTF8_CHECK_ONLY 0x0200
-#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
- UTF8_ALLOW_ANYUV)
-
-#define UNICODE_SURROGATE_FIRST 0xD800
-#define UNICODE_SURROGATE_LAST 0xDFFF
-#define UNICODE_REPLACEMENT 0xFFFD
-#define UNICODE_BYTE_ORDER_MARK 0xFEFF
-#define UNICODE_ILLEGAL 0xFFFF
-
-/* Though our UTF-8 encoding can go beyond this,
- * let's be conservative and do as Unicode 3.2 says. */
-#define PERL_UNICODE_MAX 0x10FFFF
-
-#define UNICODE_ALLOW_SURROGATE 0x0001 /* Allow UTF-16 surrogates (EVIL) */
-#define UNICODE_ALLOW_FDD0 0x0002 /* Allow the U+FDD0...U+FDEF */
-#define UNICODE_ALLOW_FFFF 0x0004 /* Allow U+FFF[EF], U+1FFF[EF], ... */
-#define UNICODE_ALLOW_SUPER 0x0008 /* Allow past 0x10FFFF */
-#define UNICODE_ALLOW_ANY 0x000F
-
-#define UNICODE_IS_SURROGATE(c) ((c) >= UNICODE_SURROGATE_FIRST && \
- (c) <= UNICODE_SURROGATE_LAST)
-#define UNICODE_IS_REPLACEMENT(c) ((c) == UNICODE_REPLACEMENT)
-#define UNICODE_IS_BYTE_ORDER_MARK(c) ((c) == UNICODE_BYTE_ORDER_MARK)
-#define UNICODE_IS_ILLEGAL(c) ((c) == UNICODE_ILLEGAL)
-
-#ifdef HAS_QUAD
-# define UTF8_QUAD_MAX UINT64_C(0x1000000000)
-#endif
-
-#define UTF8_IS_ASCII(c) UTF8_IS_INVARIANT(c)
-
-#define UNICODE_LATIN_SMALL_LETTER_SHARP_S 0x00DF
-#define UNICODE_GREEK_CAPITAL_LETTER_SIGMA 0x03A3
-#define UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA 0x03C2
-#define UNICODE_GREEK_SMALL_LETTER_SIGMA 0x03C3
-
-#define EBCDIC_LATIN_SMALL_LETTER_SHARP_S 0x0059
-
-#define UNI_DISPLAY_ISPRINT 0x0001
-#define UNI_DISPLAY_BACKSLASH 0x0002
-#define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
-#define UNI_DISPLAY_REGEX (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
-
-#ifdef EBCDIC
-# define ANYOF_FOLD_SHARP_S(node, input, end) \
- (ANYOF_BITMAP_TEST(node, EBCDIC_LATIN_SMALL_LETTER_SHARP_S) && \
- (ANYOF_FLAGS(node) & ANYOF_UNICODE) && \
- (ANYOF_FLAGS(node) & ANYOF_FOLD) && \
- ((end) > (input) + 1) && \
- toLOWER((input)[0]) == 's' && \
- toLOWER((input)[1]) == 's')
-#else
-# define ANYOF_FOLD_SHARP_S(node, input, end) \
- (ANYOF_BITMAP_TEST(node, UNICODE_LATIN_SMALL_LETTER_SHARP_S) && \
- (ANYOF_FLAGS(node) & ANYOF_UNICODE) && \
- (ANYOF_FLAGS(node) & ANYOF_FOLD) && \
- ((end) > (input) + 1) && \
- toLOWER((input)[0]) == 's' && \
- toLOWER((input)[1]) == 's')
-#endif
-#define SHARP_S_SKIP 2
-
-#ifdef EBCDIC
-/* IS_UTF8_CHAR() is not ported to EBCDIC */
-#else
-#define IS_UTF8_CHAR_1(p) \
- ((p)[0] <= 0x7F)
-#define IS_UTF8_CHAR_2(p) \
- ((p)[0] >= 0xC2 && (p)[0] <= 0xDF && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF)
-#define IS_UTF8_CHAR_3a(p) \
- ((p)[0] == 0xE0 && \
- (p)[1] >= 0xA0 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3b(p) \
- ((p)[0] >= 0xE1 && (p)[0] <= 0xEC && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3c(p) \
- ((p)[0] == 0xED && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-/* In IS_UTF8_CHAR_3c(p) one could use
- * (p)[1] >= 0x80 && (p)[1] <= 0x9F
- * if one wanted to exclude surrogates. */
-#define IS_UTF8_CHAR_3d(p) \
- ((p)[0] >= 0xEE && (p)[0] <= 0xEF && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_4a(p) \
- ((p)[0] == 0xF0 && \
- (p)[1] >= 0x90 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
- (p)[3] >= 0x80 && (p)[3] <= 0xBF)
-#define IS_UTF8_CHAR_4b(p) \
- ((p)[0] >= 0xF1 && (p)[0] <= 0xF3 && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
- (p)[3] >= 0x80 && (p)[3] <= 0xBF)
-/* In IS_UTF8_CHAR_4c(p) one could use
- * (p)[0] == 0xF4
- * if one wanted to stop at the Unicode limit U+10FFFF.
- * The 0xF7 allows us to go to 0x1fffff (0x200000 would
- * require five bytes). Not doing any further code points
- * since that is not needed (and that would not be strict
- * UTF-8, anyway). The "slow path" in Perl_is_utf8_char()
- * will take care of the "extended UTF-8". */
-#define IS_UTF8_CHAR_4c(p) \
- ((p)[0] == 0xF4 && (p)[0] <= 0xF7 && \
- (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
- (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
- (p)[3] >= 0x80 && (p)[3] <= 0xBF)
-
-#define IS_UTF8_CHAR_3(p) \
- (IS_UTF8_CHAR_3a(p) || \
- IS_UTF8_CHAR_3b(p) || \
- IS_UTF8_CHAR_3c(p) || \
- IS_UTF8_CHAR_3d(p))
-#define IS_UTF8_CHAR_4(p) \
- (IS_UTF8_CHAR_4a(p) || \
- IS_UTF8_CHAR_4b(p) || \
- IS_UTF8_CHAR_4c(p))
-
-/* IS_UTF8_CHAR(p) is strictly speaking wrong (not UTF-8) because it
- * (1) allows UTF-8 encoded UTF-16 surrogates
- * (2) it allows code points past U+10FFFF.
- * The Perl_is_utf8_char() full "slow" code will handle the Perl
- * "extended UTF-8". */
-#define IS_UTF8_CHAR(p, n) \
- ((n) == 1 ? IS_UTF8_CHAR_1(p) : \
- (n) == 2 ? IS_UTF8_CHAR_2(p) : \
- (n) == 3 ? IS_UTF8_CHAR_3(p) : \
- (n) == 4 ? IS_UTF8_CHAR_4(p) : 0)
-
-#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
-
-#endif /* IS_UTF8_CHAR() for UTF-8 */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utfebcdic.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utfebcdic.h
deleted file mode 100644
index 8659b19c1d8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/utfebcdic.h
+++ /dev/null
@@ -1,429 +0,0 @@
-/* utfebcdic.h
- *
- * Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, by Larry Wall, Nick
- * Ing-Simmons, and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * Macros to implement UTF-EBCDIC as perl's internal encoding
- * Taken from version 7.1 of Unicode Techical Report #16:
- * http://www.unicode.org/unicode/reports/tr16
- */
-
-START_EXTERN_C
-
-#ifdef DOINIT
-/* Indexed by encoded byte this table gives the length of the sequence.
- Adapted from the shadow flags table in tr16.
- The entries marked 9 in tr6 are continuation bytes and are marked
- as length 1 here so that we can recover.
-*/
-#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_utf8skip[] = {
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,1,1,1,1,1,1,1,1,1,2,2,2,1,2,2,
-2,2,2,2,2,2,2,3,3,3,3,3,3,1,3,3,
-1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,
-1,1,1,1,1,1,1,1,1,1,3,3,4,4,4,4,
-1,4,1,1,1,1,1,1,1,1,4,4,4,5,5,5,
-1,1,1,1,1,1,1,1,1,1,5,6,6,7,7,1
-};
-#endif
-
-#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-unsigned char PL_utf8skip[] = {
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,3,1,1,1,1,1,1,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,3,1,1,1,1,1,1,1,1,2,2,2,3,2,2,
-1,2,2,2,2,2,2,3,3,3,2,1,1,1,3,3,
-4,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,
-1,1,1,1,1,1,1,1,1,1,3,3,4,6,4,4,
-7,4,1,1,1,1,1,1,1,1,4,4,4,5,5,5,
-1,1,1,1,1,1,1,1,1,1,5,1,6,1,7,1
-};
-#endif
-
-#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-unsigned char PL_utf8skip[] = {
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,1,1,1,1,1,1,1,1,1,2,2,2,3,2,2,
-1,2,2,2,2,2,2,3,3,3,1,1,3,3,3,3,
-1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,
-1,1,1,1,1,1,1,1,1,1,3,3,4,4,4,4,
-1,4,1,1,1,1,1,1,1,1,4,4,4,5,5,5,
-1,1,1,1,1,1,1,1,1,1,5,6,6,7,7,1
-};
-#endif
-
-/* Transform tables from tr16 applied after encoding to render encoding EBCDIC like */
-
-#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_utf2e[] = { /* UTF-8-mod to EBCDIC (IBM-1047) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D,
- 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0xFF,
- 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
- 0x57, 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x70, 0x71, 0x72, 0x73,
- 0x74, 0x75, 0x76, 0x77, 0x78, 0x80, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x9A, 0x9B, 0x9C,
- 0x9D, 0x9E, 0x9F, 0xA0, 0xAA, 0xAB, 0xAC, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
- 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBE, 0xBF, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xDA, 0xDB,
- 0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,
-};
-
-EXTCONST unsigned char PL_e2utf[] = { /* EBCDIC (IBM-1047) to UTF-8-mod */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
- 0x2D, 0x2F, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xC5, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB,
- 0xCC, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2,
- 0xD3, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xD4, 0xD5, 0xD6, 0x5B, 0xD7, 0xD8,
- 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0x5D, 0xE6, 0xE7,
- 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED,
- 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3,
- 0x5C, 0xF4, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x9F,
-};
-#endif /* 1047 */
-
-#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-unsigned char PL_utf2e[] = { /* UTF-8-mod to EBCDIC (POSIX-BC) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xBB, 0xBC, 0xBD, 0x6A, 0x6D,
- 0x4A, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xFB, 0x4F, 0xFD, 0xFF, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0x5F,
- 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xB0, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
- 0x57, 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xD0, 0x70, 0x71, 0x72, 0x73,
- 0x74, 0x75, 0x76, 0x77, 0x78, 0x80, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x9A, 0x9B, 0x9C,
- 0x9D, 0x9E, 0x9F, 0xA0, 0xAA, 0xAB, 0xAC, 0xAE, 0xAF, 0xBA, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
- 0xB7, 0xB8, 0xB9, 0xAD, 0x79, 0xA1, 0xBE, 0xBF, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xDA, 0xDB,
- 0xDC, 0xC0, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xDD, 0xFC, 0xE0, 0xFE,
-};
-
-unsigned char PL_e2utf[] = { /* EBCDIC (POSIX-BC) to UTF-8-mod */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x60, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x9F,
- 0x2D, 0x2F, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0x5E, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xE4, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xC5, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB,
- 0xCC, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2,
- 0xD3, 0xE5, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xD4, 0xD5, 0xD6, 0xE3, 0xD7, 0xD8,
- 0xA9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xD9, 0x5B, 0x5C, 0x5D, 0xE6, 0xE7,
- 0xF1, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED,
- 0xBB, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xEE, 0xEF, 0xF0, 0xFC, 0xF2, 0xF3,
- 0xFE, 0xF4, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xFB, 0x7B, 0xFD, 0x7D, 0xFF, 0x7E,
-};
-#endif /* POSIX-BC */
-
-#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-unsigned char PL_utf2e[] = { /* UTF-8-mod to EBCDIC (IBM-037) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
- 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0xFF,
- 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
- 0x57, 0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x70, 0x71, 0x72, 0x73,
- 0x74, 0x75, 0x76, 0x77, 0x78, 0x80, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x9A, 0x9B, 0x9C,
- 0x9D, 0x9E, 0x9F, 0xA0, 0xAA, 0xAB, 0xAC, 0xAE, 0xAF, 0x5F, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6,
- 0xB7, 0xB8, 0xB9, 0xAD, 0xBD, 0xBC, 0xBE, 0xBF, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xDA, 0xDB,
- 0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,
-};
-
-unsigned char PL_e2utf[] = { /* EBCDIC (IBM-037) to UTF-8-mod */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x0A, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xD9,
- 0x2D, 0x2F, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xC5, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB,
- 0xCC, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2,
- 0xD3, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xD4, 0xD5, 0xD6, 0xE3, 0xD7, 0xD8,
- 0x5E, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0x5B, 0x5D, 0xE5, 0xE4, 0xE6, 0xE7,
- 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED,
- 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3,
- 0x5C, 0xF4, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x9F,
-};
-#endif /* 037 */
-
-/* These tables moved from perl.h and converted to hex.
- They map platfrom code page from/to bottom 256 codes of Unicode (i.e. iso-8859-1).
-*/
-
-#if '^' == 95 /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (iso-8859-1) to EBCDIC (IBM-1047) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D,
- 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0xFF,
- 0x41, 0xAA, 0x4A, 0xB1, 0x9F, 0xB2, 0x6A, 0xB5, 0xBB, 0xB4, 0x9A, 0x8A, 0xB0, 0xCA, 0xAF, 0xBC,
- 0x90, 0x8F, 0xEA, 0xFA, 0xBE, 0xA0, 0xB6, 0xB3, 0x9D, 0xDA, 0x9B, 0x8B, 0xB7, 0xB8, 0xB9, 0xAB,
- 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9E, 0x68, 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
- 0xAC, 0x69, 0xED, 0xEE, 0xEB, 0xEF, 0xEC, 0xBF, 0x80, 0xFD, 0xFE, 0xFB, 0xFC, 0xBA, 0xAE, 0x59,
- 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9C, 0x48, 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
- 0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
-};
-
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xE2, 0xE4, 0xE0, 0xE1, 0xE3, 0xE5, 0xE7, 0xF1, 0xA2, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xE9, 0xEA, 0xEB, 0xE8, 0xED, 0xEE, 0xEF, 0xEC, 0xDF, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
- 0x2D, 0x2F, 0xC2, 0xC4, 0xC0, 0xC1, 0xC3, 0xC5, 0xC7, 0xD1, 0xA6, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xF8, 0xC9, 0xCA, 0xCB, 0xC8, 0xCD, 0xCE, 0xCF, 0xCC, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xD8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xAB, 0xBB, 0xF0, 0xFD, 0xFE, 0xB1,
- 0xB0, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xAA, 0xBA, 0xE6, 0xB8, 0xC6, 0xA4,
- 0xB5, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0xBF, 0xD0, 0x5B, 0xDE, 0xAE,
- 0xAC, 0xA3, 0xA5, 0xB7, 0xA9, 0xA7, 0xB6, 0xBC, 0xBD, 0xBE, 0xDD, 0xA8, 0xAF, 0x5D, 0xB4, 0xD7,
- 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xAD, 0xF4, 0xF6, 0xF2, 0xF3, 0xF5,
- 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xB9, 0xFB, 0xFC, 0xF9, 0xFA, 0xFF,
- 0x5C, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0xDB, 0xDC, 0xD9, 0xDA, 0x9F
-};
-#endif /* 1047 */
-
-#if '^' == 106 /* if defined(_OSD_POSIX) POSIX-BC */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (POSIX-BC) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xBB, 0xBC, 0xBD, 0x6A, 0x6D,
- 0x4A, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xFB, 0x4F, 0xFD, 0xFF, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0x5F,
- 0x41, 0xAA, 0xB0, 0xB1, 0x9F, 0xB2, 0xD0, 0xB5, 0x79, 0xB4, 0x9A, 0x8A, 0xBA, 0xCA, 0xAF, 0xA1,
- 0x90, 0x8F, 0xEA, 0xFA, 0xBE, 0xA0, 0xB6, 0xB3, 0x9D, 0xDA, 0x9B, 0x8B, 0xB7, 0xB8, 0xB9, 0xAB,
- 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9E, 0x68, 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
- 0xAC, 0x69, 0xED, 0xEE, 0xEB, 0xEF, 0xEC, 0xBF, 0x80, 0xE0, 0xFE, 0xDD, 0xFC, 0xAD, 0xAE, 0x59,
- 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9C, 0x48, 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
- 0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xC0, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
-};
-
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xE2, 0xE4, 0xE0, 0xE1, 0xE3, 0xE5, 0xE7, 0xF1, 0x60, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xE9, 0xEA, 0xEB, 0xE8, 0xED, 0xEE, 0xEF, 0xEC, 0xDF, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x9F,
- 0x2D, 0x2F, 0xC2, 0xC4, 0xC0, 0xC1, 0xC3, 0xC5, 0xC7, 0xD1, 0x5E, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xF8, 0xC9, 0xCA, 0xCB, 0xC8, 0xCD, 0xCE, 0xCF, 0xCC, 0xA8, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xD8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xAB, 0xBB, 0xF0, 0xFD, 0xFE, 0xB1,
- 0xB0, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xAA, 0xBA, 0xE6, 0xB8, 0xC6, 0xA4,
- 0xB5, 0xAF, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0xBF, 0xD0, 0xDD, 0xDE, 0xAE,
- 0xA2, 0xA3, 0xA5, 0xB7, 0xA9, 0xA7, 0xB6, 0xBC, 0xBD, 0xBE, 0xAC, 0x5B, 0x5C, 0x5D, 0xB4, 0xD7,
- 0xF9, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xAD, 0xF4, 0xF6, 0xF2, 0xF3, 0xF5,
- 0xA6, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xB9, 0xFB, 0xFC, 0xDB, 0xFA, 0xFF,
- 0xD9, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0x7B, 0xDC, 0x7D, 0xDA, 0x7E
-};
-#endif /* POSIX-BC */
-
-#if '^' == 176 /* if defined(??) (OS/400?) 037 */
-EXTCONST unsigned char PL_a2e[] = { /* ASCII (ISO8859-1) to EBCDIC (IBM-037) */
- 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
- 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
- 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xBA, 0xE0, 0xBB, 0xB0, 0x6D,
- 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
- 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
- 0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0xFF,
- 0x41, 0xAA, 0x4A, 0xB1, 0x9F, 0xB2, 0x6A, 0xB5, 0xBD, 0xB4, 0x9A, 0x8A, 0x5F, 0xCA, 0xAF, 0xBC,
- 0x90, 0x8F, 0xEA, 0xFA, 0xBE, 0xA0, 0xB6, 0xB3, 0x9D, 0xDA, 0x9B, 0x8B, 0xB7, 0xB8, 0xB9, 0xAB,
- 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9E, 0x68, 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
- 0xAC, 0x69, 0xED, 0xEE, 0xEB, 0xEF, 0xEC, 0xBF, 0x80, 0xFD, 0xFE, 0xFB, 0xFC, 0xAD, 0xAE, 0x59,
- 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9C, 0x48, 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
- 0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
-};
-
-EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
- 0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x0A, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
- 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
- 0x20, 0xA0, 0xE2, 0xE4, 0xE0, 0xE1, 0xE3, 0xE5, 0xE7, 0xF1, 0xA2, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
- 0x26, 0xE9, 0xEA, 0xEB, 0xE8, 0xED, 0xEE, 0xEF, 0xEC, 0xDF, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0xAC,
- 0x2D, 0x2F, 0xC2, 0xC4, 0xC0, 0xC1, 0xC3, 0xC5, 0xC7, 0xD1, 0xA6, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
- 0xF8, 0xC9, 0xCA, 0xCB, 0xC8, 0xCD, 0xCE, 0xCF, 0xCC, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
- 0xD8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xAB, 0xBB, 0xF0, 0xFD, 0xFE, 0xB1,
- 0xB0, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0xAA, 0xBA, 0xE6, 0xB8, 0xC6, 0xA4,
- 0xB5, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0xBF, 0xD0, 0xDD, 0xDE, 0xAE,
- 0x5E, 0xA3, 0xA5, 0xB7, 0xA9, 0xA7, 0xB6, 0xBC, 0xBD, 0xBE, 0x5B, 0x5D, 0xAF, 0xA8, 0xB4, 0xD7,
- 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xAD, 0xF4, 0xF6, 0xF2, 0xF3, 0xF5,
- 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0xB9, 0xFB, 0xFC, 0xF9, 0xFA, 0xFF,
- 0x5C, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xB3, 0xDB, 0xDC, 0xD9, 0xDA, 0x9F
-};
-#endif /* 037 */
-
-#else
-EXTCONST unsigned char PL_utf8skip[];
-EXTCONST unsigned char PL_e2utf[];
-EXTCONST unsigned char PL_utf2e[];
-EXTCONST unsigned char PL_e2a[];
-EXTCONST unsigned char PL_a2e[];
-#endif
-
-END_EXTERN_C
-
-#define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)]
-
-/* EBCDIC-happy ways of converting native code to UTF-8 */
-
-/* Native to iso-8859-1 */
-#define NATIVE_TO_ASCII(ch) PL_e2a[(U8)(ch)]
-#define ASCII_TO_NATIVE(ch) PL_a2e[(U8)(ch)]
-/* Transform after encoding */
-#define NATIVE_TO_UTF(ch) PL_e2utf[(U8)(ch)]
-#define UTF_TO_NATIVE(ch) PL_utf2e[(U8)(ch)]
-/* Transform in wide UV char space */
-#define NATIVE_TO_UNI(ch) (((ch) > 255) ? (ch) : NATIVE_TO_ASCII(ch))
-#define UNI_TO_NATIVE(ch) (((ch) > 255) ? (ch) : ASCII_TO_NATIVE(ch))
-/* Transform in invariant..byte space */
-#define NATIVE_TO_NEED(enc,ch) ((enc) ? UTF_TO_NATIVE(NATIVE_TO_ASCII(ch)) : (ch))
-#define ASCII_TO_NEED(enc,ch) ((enc) ? UTF_TO_NATIVE(ch) : ASCII_TO_NATIVE(ch))
-
-/*
- * Note: we should try and be careful never to call the isXXX_utf8() functions
- * unless we're pretty sure we've seen the beginning of a UTF-EBCDIC character
- * Otherwise we risk loading in the heavy-duty swash_init and swash_fetch
- * routines unnecessarily.
- */
-
-#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || UTF8_IS_INVARIANT(*p))) \
- ? isIDFIRST(*(p)) \
- : isIDFIRST_utf8((const U8*)p))
-#define isALNUM_lazy_if(p,c) ((IN_BYTES || (!c || UTF8_IS_INVARIANT(*p))) \
- ? isALNUM(*(p)) \
- : isALNUM_utf8((const U8*)p))
-
-/*
- The following table is adapted from tr16, it shows UTF-8-mod encoding of Unicode code points.
-
- Unicode Bit pattern 1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th byte
- U+0000..U+007F 000000000xxxxxxx 0xxxxxxx
- U+0080..U+009F 00000000100xxxxx 100xxxxx
- U+00A0..U+00FF 00000000yyyxxxxx 11000yyy 101xxxxx
-
- U+00A0..U+03FF 000000yyyyyxxxxx 110yyyyy 101xxxxx
- U+0400..U+3FFF 00zzzzyyyyyxxxxx 1110zzzz 101yyyyy 101xxxxx
- U+4000..U+3FFFF 0wwwzzzzzyyyyyxxxxx 11110www 101zzzzz 101yyyyy 101xxxxx
- U+40000..U+3FFFFF 0vvwwwwwzzzzzyyyyyxxxxx 111110vv 101wwwww 101zzzzz 101yyyyy 101xxxxx
- U+400000..U+3FFFFFF 0uvvvvvwwwwwzzzzzyyyyyxxxxx 1111110u 101vvvvv 101wwwww 101zzzzz 101yyyyy 101xxxxx
- U+4000000..U+7FFFFFFF 0tuuuuuvvvvvwwwwwzzzzzyyyyyxxxxx 1111111t 101uuuuu 101vvvvv 101wwwww 101zzzzz 101yyyyy 101xxxxx
-
- Note: The UTF-8-Mod transformation is valid for UCS-4 values X'0' to
- X'7FFFFFFF' (the full extent of ISO/IEC 10646 coding space).
-
- */
-
-#define UNISKIP(uv) ( (uv) < 0xA0 ? 1 : \
- (uv) < 0x400 ? 2 : \
- (uv) < 0x4000 ? 3 : \
- (uv) < 0x40000 ? 4 : \
- (uv) < 0x400000 ? 5 : \
- (uv) < 0x4000000 ? 6 : 7 )
-
-
-#define UNI_IS_INVARIANT(c) ((c) < 0xA0)
-/* UTF-EBCDIC sematic macros - transform back into UTF-8-Mod and then compare */
-#define NATIVE_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_ASCII(c))
-#define UTF8_IS_INVARIANT(c) UNI_IS_INVARIANT(NATIVE_TO_UTF(c))
-#define UTF8_IS_START(c) (NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xE0) != 0xA0)
-#define UTF8_IS_CONTINUATION(c) ((NATIVE_TO_UTF(c) & 0xE0) == 0xA0)
-#define UTF8_IS_CONTINUED(c) (NATIVE_TO_UTF(c) >= 0xA0)
-#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xF8) == 0xC0)
-
-#define UTF_START_MARK(len) ((len > 7) ? 0xFF : (0xFE << (7-len)))
-#define UTF_START_MASK(len) ((len >= 6) ? 0x01 : (0x1F >> (len-2)))
-#define UTF_CONTINUATION_MARK 0xA0
-#define UTF_CONTINUATION_MASK ((U8)0x1f)
-#define UTF_ACCUMULATION_SHIFT 5
-
-#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT)|(NATIVE_TO_UTF(new) & UTF_CONTINUATION_MASK))
-
-/* UTF-EBCDIC encode a downgradeable value */
-#define UTF8_EIGHT_BIT_HI(c) UTF_TO_NATIVE((((U8)(c))>>UTF_ACCUMULATION_SHIFT)|UTF_START_MARK(2))
-#define UTF8_EIGHT_BIT_LO(c) UTF_TO_NATIVE(((((U8)(c)))&UTF_CONTINUATION_MASK)|UTF_CONTINUATION_MARK)
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/util.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/util.h
deleted file mode 100644
index db91c18ee8d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/util.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* util.h
- *
- * Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, 2005,
- * 2007, by Larry Wall and others
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- */
-
-#ifdef VMS
-# define PERL_FILE_IS_ABSOLUTE(f) \
- (*(f) == '/' \
- || (strchr(f,':') \
- || ((*(f) == '[' || *(f) == '<') \
- && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
-
-#else /* !VMS */
-# if defined(WIN32) || defined(__CYGWIN__)
-# define PERL_FILE_IS_ABSOLUTE(f) \
- (*(f) == '/' || *(f) == '\\' /* UNC/rooted path */ \
- || ((f)[0] && (f)[1] == ':')) /* drive name */
-# else /* !WIN32 */
-# ifdef NETWARE
-# define PERL_FILE_IS_ABSOLUTE(f) \
- (((f)[0] && (f)[1] == ':') /* drive name */ \
- || ((f)[0] == '\\' && (f)[1] == '\\') /* UNC path */ \
- || ((f)[3] == ':')) /* volume name, currently only sys */
-# else /* !NETWARE */
-# if defined(DOSISH) || defined(EPOC) || defined(__SYMBIAN32__)
-# define PERL_FILE_IS_ABSOLUTE(f) \
- (*(f) == '/' \
- || ((f)[0] && (f)[1] == ':')) /* drive name */
-# else /* NEITHER DOSISH NOR EPOCISH NOR SYMBIANISH */
-# ifdef MACOS_TRADITIONAL
-# define PERL_FILE_IS_ABSOLUTE(f) (strchr(f, ':') && *(f) != ':')
-# else /* !MACOS_TRADITIONAL */
-# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/')
-# endif /* MACOS_TRADITIONAL */
-# endif /* DOSISH */
-# endif /* NETWARE */
-# endif /* WIN32 */
-#endif /* VMS */
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uudmap.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uudmap.h
deleted file mode 100644
index 41341665dd2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/uudmap.h
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-}
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/warnings.h b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/warnings.h
deleted file mode 100644
index 66a9a0a65df..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/CORE/warnings.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- buffer-read-only: t -*-
- !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by warnings.pl
- Any changes made here will be lost!
-*/
-
-
-#define Off(x) ((x) / 8)
-#define Bit(x) (1 << ((x) % 8))
-#define IsSet(a, x) ((a)[Off(x)] & Bit(x))
-
-
-#define G_WARN_OFF 0 /* $^W == 0 */
-#define G_WARN_ON 1 /* -w flag and $^W != 0 */
-#define G_WARN_ALL_ON 2 /* -W flag */
-#define G_WARN_ALL_OFF 4 /* -X flag */
-#define G_WARN_ONCE 8 /* set if 'once' ever enabled */
-#define G_WARN_ALL_MASK (G_WARN_ALL_ON|G_WARN_ALL_OFF)
-
-#define pWARN_STD NULL
-#define pWARN_ALL (((STRLEN*)0)+1) /* use warnings 'all' */
-#define pWARN_NONE (((STRLEN*)0)+2) /* no warnings 'all' */
-
-#define specialWARN(x) ((x) == pWARN_STD || (x) == pWARN_ALL || \
- (x) == pWARN_NONE)
-
-/* if PL_warnhook is set to this value, then warnings die */
-#define PERL_WARNHOOK_FATAL (&PL_sv_placeholder)
-
-/* Warnings Categories added in Perl 5.008 */
-
-#define WARN_ALL 0
-#define WARN_CLOSURE 1
-#define WARN_DEPRECATED 2
-#define WARN_EXITING 3
-#define WARN_GLOB 4
-#define WARN_IO 5
-#define WARN_CLOSED 6
-#define WARN_EXEC 7
-#define WARN_LAYER 8
-#define WARN_NEWLINE 9
-#define WARN_PIPE 10
-#define WARN_UNOPENED 11
-#define WARN_MISC 12
-#define WARN_NUMERIC 13
-#define WARN_ONCE 14
-#define WARN_OVERFLOW 15
-#define WARN_PACK 16
-#define WARN_PORTABLE 17
-#define WARN_RECURSION 18
-#define WARN_REDEFINE 19
-#define WARN_REGEXP 20
-#define WARN_SEVERE 21
-#define WARN_DEBUGGING 22
-#define WARN_INPLACE 23
-#define WARN_INTERNAL 24
-#define WARN_MALLOC 25
-#define WARN_SIGNAL 26
-#define WARN_SUBSTR 27
-#define WARN_SYNTAX 28
-#define WARN_AMBIGUOUS 29
-#define WARN_BAREWORD 30
-#define WARN_DIGIT 31
-#define WARN_PARENTHESIS 32
-#define WARN_PRECEDENCE 33
-#define WARN_PRINTF 34
-#define WARN_PROTOTYPE 35
-#define WARN_QW 36
-#define WARN_RESERVED 37
-#define WARN_SEMICOLON 38
-#define WARN_TAINT 39
-#define WARN_THREADS 40
-#define WARN_UNINITIALIZED 41
-#define WARN_UNPACK 42
-#define WARN_UNTIE 43
-#define WARN_UTF8 44
-#define WARN_VOID 45
-
-#define WARNsize 12
-#define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125"
-#define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0"
-
-#define isLEXWARN_on (PL_curcop->cop_warnings != pWARN_STD)
-#define isLEXWARN_off (PL_curcop->cop_warnings == pWARN_STD)
-#define isWARN_ONCE (PL_dowarn & (G_WARN_ON|G_WARN_ONCE))
-#define isWARN_on(c,x) (IsSet((U8 *)(c + 1), 2*(x)))
-#define isWARNf_on(c,x) (IsSet((U8 *)(c + 1), 2*(x)+1))
-
-#define DUP_WARNINGS(p) \
- (specialWARN(p) ? (STRLEN*)(p) \
- : (STRLEN*)CopyD(p, PerlMemShared_malloc(sizeof(*p)+*p), sizeof(*p)+*p, \
- char))
-
-#define ckWARN(w) Perl_ckwarn(aTHX_ packWARN(w))
-#define ckWARN2(w1,w2) Perl_ckwarn(aTHX_ packWARN2(w1,w2))
-#define ckWARN3(w1,w2,w3) Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3))
-#define ckWARN4(w1,w2,w3,w4) Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4))
-
-#define ckWARN_d(w) Perl_ckwarn_d(aTHX_ packWARN(w))
-#define ckWARN2_d(w1,w2) Perl_ckwarn_d(aTHX_ packWARN2(w1,w2))
-#define ckWARN3_d(w1,w2,w3) Perl_ckwarn_d(aTHX_ packWARN3(w1,w2,w3))
-#define ckWARN4_d(w1,w2,w3,w4) Perl_ckwarn_d(aTHX_ packWARN4(w1,w2,w3,w4))
-
-#define packWARN(a) (a )
-#define packWARN2(a,b) ((a) | ((b)<<8) )
-#define packWARN3(a,b,c) ((a) | ((b)<<8) | ((c)<<16) )
-#define packWARN4(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d) <<24))
-
-#define unpackWARN1(x) ((x) & 0xFF)
-#define unpackWARN2(x) (((x) >>8) & 0xFF)
-#define unpackWARN3(x) (((x) >>16) & 0xFF)
-#define unpackWARN4(x) (((x) >>24) & 0xFF)
-
-#define ckDEAD(x) \
- ( ! specialWARN(PL_curcop->cop_warnings) && \
- ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) || \
- isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) || \
- isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) || \
- isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) || \
- isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
-
-/* end of file warnings.h */
-/* ex: set ro: */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Raw/Zlib.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Raw/Zlib.pm
deleted file mode 100644
index 77cb86ede7e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Raw/Zlib.pm
+++ /dev/null
@@ -1,1175 +0,0 @@
-
-package Compress::Raw::Zlib;
-
-require 5.004 ;
-require Exporter;
-use AutoLoader;
-use Carp ;
-
-#use Parse::Parameters;
-
-use strict ;
-use warnings ;
-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(
- adler32 crc32
-
- ZLIB_VERSION
- ZLIB_VERNUM
-
- DEF_WBITS
- OS_CODE
-
- MAX_MEM_LEVEL
- MAX_WBITS
-
- Z_ASCII
- Z_BEST_COMPRESSION
- Z_BEST_SPEED
- Z_BINARY
- Z_BLOCK
- Z_BUF_ERROR
- Z_DATA_ERROR
- Z_DEFAULT_COMPRESSION
- Z_DEFAULT_STRATEGY
- Z_DEFLATED
- Z_ERRNO
- Z_FILTERED
- Z_FIXED
- Z_FINISH
- Z_FULL_FLUSH
- Z_HUFFMAN_ONLY
- Z_MEM_ERROR
- Z_NEED_DICT
- Z_NO_COMPRESSION
- Z_NO_FLUSH
- Z_NULL
- Z_OK
- Z_PARTIAL_FLUSH
- Z_RLE
- Z_STREAM_END
- Z_STREAM_ERROR
- Z_SYNC_FLUSH
- Z_UNKNOWN
- Z_VERSION_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::Zlib', $XS_VERSION);
- 1;
-}
-or do {
- require DynaLoader;
- local @ISA = qw(DynaLoader);
- bootstrap Compress::Raw::Zlib $XS_VERSION ;
-};
-
-
-use constant Parse_any => 0x01;
-use constant Parse_unsigned => 0x02;
-use constant Parse_signed => 0x04;
-use constant Parse_boolean => 0x08;
-use constant Parse_string => 0x10;
-use constant Parse_custom => 0x12;
-
-use constant Parse_store_ref => 0x100 ;
-
-use constant OFF_PARSED => 0 ;
-use constant OFF_TYPE => 1 ;
-use constant OFF_DEFAULT => 2 ;
-use constant OFF_FIXED => 3 ;
-use constant OFF_FIRST_ONLY => 4 ;
-use constant OFF_STICKY => 5 ;
-
-
-
-sub ParseParameters
-{
- my $level = shift || 0 ;
-
- my $sub = (caller($level + 1))[3] ;
- #local $Carp::CarpLevel = 1 ;
- my $p = new Compress::Raw::Zlib::Parameters() ;
- $p->parse(@_)
- or croak "$sub: $p->{Error}" ;
-
- return $p;
-}
-
-
-sub Compress::Raw::Zlib::Parameters::new
-{
- my $class = shift ;
-
- my $obj = { Error => '',
- Got => {},
- } ;
-
- #return bless $obj, ref($class) || $class || __PACKAGE__ ;
- return bless $obj, 'Compress::Raw::Zlib::Parameters' ;
-}
-
-sub Compress::Raw::Zlib::Parameters::setError
-{
- my $self = shift ;
- my $error = shift ;
- my $retval = @_ ? shift : undef ;
-
- $self->{Error} = $error ;
- return $retval;
-}
-
-#sub getError
-#{
-# my $self = shift ;
-# return $self->{Error} ;
-#}
-
-sub Compress::Raw::Zlib::Parameters::parse
-{
- my $self = shift ;
-
- my $default = shift ;
-
- my $got = $self->{Got} ;
- my $firstTime = keys %{ $got } == 0 ;
-
- my (@Bad) ;
- my @entered = () ;
-
- # Allow the options to be passed as a hash reference or
- # as the complete hash.
- if (@_ == 0) {
- @entered = () ;
- }
- elsif (@_ == 1) {
- my $href = $_[0] ;
- return $self->setError("Expected even number of parameters, got 1")
- if ! defined $href or ! ref $href or ref $href ne "HASH" ;
-
- foreach my $key (keys %$href) {
- push @entered, $key ;
- push @entered, \$href->{$key} ;
- }
- }
- else {
- my $count = @_;
- return $self->setError("Expected even number of parameters, got $count")
- if $count % 2 != 0 ;
-
- for my $i (0.. $count / 2 - 1) {
- push @entered, $_[2* $i] ;
- push @entered, \$_[2* $i+1] ;
- }
- }
-
-
- while (my ($key, $v) = each %$default)
- {
- croak "need 4 params [@$v]"
- if @$v != 4 ;
-
- my ($first_only, $sticky, $type, $value) = @$v ;
- my $x ;
- $self->_checkType($key, \$value, $type, 0, \$x)
- or return undef ;
-
- $key = lc $key;
-
- if ($firstTime || ! $sticky) {
- $got->{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
- }
-
- $got->{$key}[OFF_PARSED] = 0 ;
- }
-
- for my $i (0.. @entered / 2 - 1) {
- my $key = $entered[2* $i] ;
- my $value = $entered[2* $i+1] ;
-
- #print "Key [$key] Value [$value]" ;
- #print defined $$value ? "[$$value]\n" : "[undef]\n";
-
- $key =~ s/^-// ;
- my $canonkey = lc $key;
-
- if ($got->{$canonkey} && ($firstTime ||
- ! $got->{$canonkey}[OFF_FIRST_ONLY] ))
- {
- my $type = $got->{$canonkey}[OFF_TYPE] ;
- my $s ;
- $self->_checkType($key, $value, $type, 1, \$s)
- or return undef ;
- #$value = $$value unless $type & Parse_store_ref ;
- $value = $$value ;
- $got->{$canonkey} = [1, $type, $value, $s] ;
- }
- else
- { push (@Bad, $key) }
- }
-
- if (@Bad) {
- my ($bad) = join(", ", @Bad) ;
- return $self->setError("unknown key value(s) @Bad") ;
- }
-
- return 1;
-}
-
-sub Compress::Raw::Zlib::Parameters::_checkType
-{
- my $self = shift ;
-
- my $key = shift ;
- my $value = shift ;
- my $type = shift ;
- my $validate = shift ;
- my $output = shift;
-
- #local $Carp::CarpLevel = $level ;
- #print "PARSE $type $key $value $validate $sub\n" ;
- if ( $type & Parse_store_ref)
- {
- #$value = $$value
- # if ref ${ $value } ;
-
- $$output = $value ;
- return 1;
- }
-
- $value = $$value ;
-
- if ($type & Parse_any)
- {
- $$output = $value ;
- return 1;
- }
- elsif ($type & Parse_unsigned)
- {
- return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'")
- if $validate && ! defined $value ;
- return $self->setError("Parameter '$key' must be an unsigned int, got '$value'")
- if $validate && $value !~ /^\d+$/;
-
- $$output = defined $value ? $value : 0 ;
- return 1;
- }
- elsif ($type & Parse_signed)
- {
- return $self->setError("Parameter '$key' must be a signed int, got 'undef'")
- if $validate && ! defined $value ;
- return $self->setError("Parameter '$key' must be a signed int, got '$value'")
- if $validate && $value !~ /^-?\d+$/;
-
- $$output = defined $value ? $value : 0 ;
- return 1 ;
- }
- elsif ($type & Parse_boolean)
- {
- return $self->setError("Parameter '$key' must be an int, got '$value'")
- if $validate && defined $value && $value !~ /^\d*$/;
- $$output = defined $value ? $value != 0 : 0 ;
- return 1;
- }
- elsif ($type & Parse_string)
- {
- $$output = defined $value ? $value : "" ;
- return 1;
- }
-
- $$output = $value ;
- return 1;
-}
-
-
-
-sub Compress::Raw::Zlib::Parameters::parsed
-{
- my $self = shift ;
- my $name = shift ;
-
- return $self->{Got}{lc $name}[OFF_PARSED] ;
-}
-
-sub Compress::Raw::Zlib::Parameters::value
-{
- my $self = shift ;
- my $name = shift ;
-
- if (@_)
- {
- $self->{Got}{lc $name}[OFF_PARSED] = 1;
- $self->{Got}{lc $name}[OFF_DEFAULT] = $_[0] ;
- $self->{Got}{lc $name}[OFF_FIXED] = $_[0] ;
- }
-
- return $self->{Got}{lc $name}[OFF_FIXED] ;
-}
-
-sub Compress::Raw::Zlib::Deflate::new
-{
- my $pkg = shift ;
- my ($got) = ParseParameters(0,
- {
- 'AppendOutput' => [1, 1, Parse_boolean, 0],
- 'CRC32' => [1, 1, Parse_boolean, 0],
- 'ADLER32' => [1, 1, Parse_boolean, 0],
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
-
- 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()],
- 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()],
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
- 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
- 'Dictionary' => [1, 1, Parse_any, ""],
- }, @_) ;
-
-
- croak "Compress::Raw::Zlib::Deflate::new: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $flags = 0 ;
- $flags |= FLAG_APPEND if $got->value('AppendOutput') ;
- $flags |= FLAG_CRC if $got->value('CRC32') ;
- $flags |= FLAG_ADLER if $got->value('ADLER32') ;
-
- _deflateInit($flags,
- $got->value('Level'),
- $got->value('Method'),
- $got->value('WindowBits'),
- $got->value('MemLevel'),
- $got->value('Strategy'),
- $got->value('Bufsize'),
- $got->value('Dictionary')) ;
-
-}
-
-sub Compress::Raw::Zlib::Inflate::new
-{
- my $pkg = shift ;
- my ($got) = ParseParameters(0,
- {
- 'AppendOutput' => [1, 1, Parse_boolean, 0],
- 'CRC32' => [1, 1, Parse_boolean, 0],
- 'ADLER32' => [1, 1, Parse_boolean, 0],
- 'ConsumeInput' => [1, 1, Parse_boolean, 1],
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
-
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'Dictionary' => [1, 1, Parse_any, ""],
- }, @_) ;
-
-
- croak "Compress::Raw::Zlib::Inflate::new: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $flags = 0 ;
- $flags |= FLAG_APPEND if $got->value('AppendOutput') ;
- $flags |= FLAG_CRC if $got->value('CRC32') ;
- $flags |= FLAG_ADLER if $got->value('ADLER32') ;
- $flags |= FLAG_CONSUME_INPUT if $got->value('ConsumeInput') ;
-
- _inflateInit($flags, $got->value('WindowBits'), $got->value('Bufsize'),
- $got->value('Dictionary')) ;
-}
-
-sub Compress::Raw::Zlib::InflateScan::new
-{
- my $pkg = shift ;
- my ($got) = ParseParameters(0,
- {
- 'CRC32' => [1, 1, Parse_boolean, 0],
- 'ADLER32' => [1, 1, Parse_boolean, 0],
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
-
- 'WindowBits' => [1, 1, Parse_signed, -MAX_WBITS()],
- 'Dictionary' => [1, 1, Parse_any, ""],
- }, @_) ;
-
-
- croak "Compress::Raw::Zlib::InflateScan::new: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $flags = 0 ;
- #$flags |= FLAG_APPEND if $got->value('AppendOutput') ;
- $flags |= FLAG_CRC if $got->value('CRC32') ;
- $flags |= FLAG_ADLER if $got->value('ADLER32') ;
- #$flags |= FLAG_CONSUME_INPUT if $got->value('ConsumeInput') ;
-
- _inflateScanInit($flags, $got->value('WindowBits'), $got->value('Bufsize'),
- '') ;
-}
-
-sub Compress::Raw::Zlib::inflateScanStream::createDeflateStream
-{
- my $pkg = shift ;
- my ($got) = ParseParameters(0,
- {
- 'AppendOutput' => [1, 1, Parse_boolean, 0],
- 'CRC32' => [1, 1, Parse_boolean, 0],
- 'ADLER32' => [1, 1, Parse_boolean, 0],
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
-
- 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()],
- 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()],
- 'WindowBits' => [1, 1, Parse_signed, - MAX_WBITS()],
- 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
- 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
- }, @_) ;
-
- croak "Compress::Raw::Zlib::InflateScan::createDeflateStream: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $flags = 0 ;
- $flags |= FLAG_APPEND if $got->value('AppendOutput') ;
- $flags |= FLAG_CRC if $got->value('CRC32') ;
- $flags |= FLAG_ADLER if $got->value('ADLER32') ;
-
- $pkg->_createDeflateStream($flags,
- $got->value('Level'),
- $got->value('Method'),
- $got->value('WindowBits'),
- $got->value('MemLevel'),
- $got->value('Strategy'),
- $got->value('Bufsize'),
- ) ;
-
-}
-
-sub Compress::Raw::Zlib::inflateScanStream::inflate
-{
- my $self = shift ;
- my $buffer = $_[1];
- my $eof = $_[2];
-
- my $status = $self->scan(@_);
-
- if ($status == Z_OK() && $_[2]) {
- my $byte = ' ';
-
- $status = $self->scan(\$byte, $_[1]) ;
- }
-
- return $status ;
-}
-
-sub Compress::Raw::Zlib::deflateStream::deflateParams
-{
- my $self = shift ;
- my ($got) = ParseParameters(0, {
- 'Level' => [1, 1, Parse_signed, undef],
- 'Strategy' => [1, 1, Parse_unsigned, undef],
- 'Bufsize' => [1, 1, Parse_unsigned, undef],
- },
- @_) ;
-
- croak "Compress::Raw::Zlib::deflateParams needs Level and/or Strategy"
- unless $got->parsed('Level') + $got->parsed('Strategy') +
- $got->parsed('Bufsize');
-
- croak "Compress::Raw::Zlib::Inflate::deflateParams: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- if $got->parsed('Bufsize') && $got->value('Bufsize') <= 1;
-
- my $flags = 0;
- $flags |= 1 if $got->parsed('Level') ;
- $flags |= 2 if $got->parsed('Strategy') ;
- $flags |= 4 if $got->parsed('Bufsize') ;
-
- $self->_deflateParams($flags, $got->value('Level'),
- $got->value('Strategy'), $got->value('Bufsize'));
-
-}
-
-
-# Autoload methods go after __END__, and are processed by the autosplit program.
-
-1;
-__END__
-
-
-=head1 NAME
-
-Compress::Raw::Zlib - Low-Level Interface to zlib compression library
-
-=head1 SYNOPSIS
-
- use Compress::Raw::Zlib ;
-
- ($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) ;
- $status = $d->deflate($input, $output) ;
- $status = $d->flush($output [, $flush_type]) ;
- $d->deflateParams(OPTS) ;
- $d->deflateTune(OPTS) ;
- $d->dict_adler() ;
- $d->crc32() ;
- $d->adler32() ;
- $d->total_in() ;
- $d->total_out() ;
- $d->msg() ;
- $d->get_Strategy();
- $d->get_Level();
- $d->get_BufSize();
-
- ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) ;
- $status = $i->inflate($input, $output [, $eof]) ;
- $status = $i->inflateSync($input) ;
- $i->dict_adler() ;
- $d->crc32() ;
- $d->adler32() ;
- $i->total_in() ;
- $i->total_out() ;
- $i->msg() ;
- $d->get_BufSize();
-
- $crc = adler32($buffer [,$crc]) ;
- $crc = crc32($buffer [,$crc]) ;
-
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
-
- ZLIB_VERSION
- ZLIB_VERNUM
-
-=head1 DESCRIPTION
-
-The I<Compress::Raw::Zlib> module provides a Perl interface to the I<zlib>
-compression library (see L</AUTHOR> for details about where to get
-I<zlib>).
-
-=head1 Compress::Raw::Zlib::Deflate
-
-This section defines an interface that allows in-memory compression using
-the I<deflate> interface provided by zlib.
-
-Here is a definition of the interface available:
-
-=head2 B<($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) >
-
-Initialises a deflation object.
-
-If you are familiar with the I<zlib> library, it combines the
-features of the I<zlib> functions C<deflateInit>, C<deflateInit2>
-and C<deflateSetDictionary>.
-
-If successful, it will return the initialised deflation object, C<$d>
-and a C<$status> of C<Z_OK> in a list context. In scalar context it
-returns the deflation object, C<$d>, only.
-
-If not successful, the returned deflation object, C<$d>, will be
-I<undef> and C<$status> will hold the a I<zlib> error code.
-
-The function optionally takes a number of named options specified as
-C<< Name => 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.
-
-Below is a list of the valid options:
-
-=over 5
-
-=item B<-Level>
-
-Defines the compression level. Valid values are 0 through 9,
-C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>, C<Z_BEST_COMPRESSION>, and
-C<Z_DEFAULT_COMPRESSION>.
-
-The default is Z_DEFAULT_COMPRESSION.
-
-=item B<-Method>
-
-Defines the compression method. The only valid value at present (and
-the default) is Z_DEFLATED.
-
-=item B<-WindowBits>
-
-For a definition of the meaning and valid values for C<WindowBits>
-refer to the I<zlib> documentation for I<deflateInit2>.
-
-Defaults to MAX_WBITS.
-
-=item B<-MemLevel>
-
-For a definition of the meaning and valid values for C<MemLevel>
-refer to the I<zlib> documentation for I<deflateInit2>.
-
-Defaults to MAX_MEM_LEVEL.
-
-=item B<-Strategy>
-
-Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED>, C<Z_RLE>, C<Z_FIXED> and
-C<Z_HUFFMAN_ONLY>.
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item B<-Dictionary>
-
-When a dictionary is specified I<Compress::Raw::Zlib> will automatically
-call C<deflateSetDictionary> directly after calling C<deflateInit>. The
-Adler32 value for the dictionary can be obtained by calling the method
-C<$d-E<gt>dict_adler()>.
-
-The default is no dictionary.
-
-=item B<-Bufsize>
-
-Sets the initial size for the output buffer used by the C<$d-E<gt>deflate>
-and C<$d-E<gt>flush> methods. If the buffer has to be
-reallocated to increase the size, it will grow in increments of
-C<Bufsize>.
-
-The default buffer size is 4096.
-
-=item B<-AppendOutput>
-
-This option controls how data is written to the output buffer by the
-C<$d-E<gt>deflate> and C<$d-E<gt>flush> methods.
-
-If the C<AppendOutput> option is set to false, the output buffers in the
-C<$d-E<gt>deflate> and C<$d-E<gt>flush> methods will be truncated before
-uncompressed data is written to them.
-
-If the option is set to true, uncompressed data will be appended to the
-output buffer in the C<$d-E<gt>deflate> and C<$d-E<gt>flush> methods.
-
-This option defaults to false.
-
-=item B<-CRC32>
-
-If set to true, a crc32 checksum of the uncompressed data will be
-calculated. Use the C<$d-E<gt>crc32> method to retrieve this value.
-
-This option defaults to false.
-
-=item B<-ADLER32>
-
-If set to true, an adler32 checksum of the uncompressed data will be
-calculated. Use the C<$d-E<gt>adler32> method to retrieve this value.
-
-This option defaults to false.
-
-=back
-
-Here is an example of using the C<Compress::Raw::Zlib::Deflate> optional
-parameter list to override the default buffer size and compression
-level. All other options will take their default values.
-
- my $d = new Compress::Raw::Zlib::Deflate ( -Bufsize => 300,
- -Level => Z_BEST_SPEED ) ;
-
-=head2 B<$status = $d-E<gt>deflate($input, $output)>
-
-Deflates the contents of C<$input> and writes the compressed data to
-C<$output>.
-
-The C<$input> and C<$output> parameters can be either scalars or scalar
-references.
-
-When finished, C<$input> will be completely processed (assuming there
-were no errors). If the deflation was successful it writes the deflated
-data to C<$output> and returns a status value of C<Z_OK>.
-
-On error, it returns a I<zlib> error code.
-
-If the C<AppendOutput> option is set to true in the constructor for
-the C<$d> object, the compressed data will be appended to C<$output>. If
-it is false, C<$output> will be truncated before any compressed data is
-written to it.
-
-B<Note>: This method will not necessarily write compressed data to
-C<$output> every time it is called. So do not assume that there has been
-an error if the contents of C<$output> is empty on returning from
-this method. As long as the return code from the method is C<Z_OK>,
-the deflate has succeeded.
-
-=head2 B<$status = $d-E<gt>flush($output [, $flush_type]) >
-
-Typically used to finish the deflation. Any pending output will be
-written to C<$output>.
-
-Returns C<Z_OK> if successful.
-
-Note that flushing can seriously degrade the compression ratio, so it
-should only be used to terminate a decompression (using C<Z_FINISH>) or
-when you want to create a I<full flush point> (using C<Z_FULL_FLUSH>).
-
-By default the C<flush_type> used is C<Z_FINISH>. Other valid values
-for C<flush_type> are C<Z_NO_FLUSH>, C<Z_PARTIAL_FLUSH>, C<Z_SYNC_FLUSH>
-and C<Z_FULL_FLUSH>. 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<zlib> documentation for details.
-
-If the C<AppendOutput> option is set to true in the constructor for
-the C<$d> object, the compressed data will be appended to C<$output>. If
-it is false, C<$output> will be truncated before any compressed data is
-written to it.
-
-=head2 B<$status = $d-E<gt>deflateParams([OPT])>
-
-Change settings for the deflate object C<$d>.
-
-The list of the valid options is shown below. Options not specified
-will remain unchanged.
-
-=over 5
-
-=item B<-Level>
-
-Defines the compression level. Valid values are 0 through 9,
-C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>, C<Z_BEST_COMPRESSION>, and
-C<Z_DEFAULT_COMPRESSION>.
-
-=item B<-Strategy>
-
-Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
-
-=item B<-BufSize>
-
-Sets the initial size for the output buffer used by the C<$d-E<gt>deflate>
-and C<$d-E<gt>flush> methods. If the buffer has to be
-reallocated to increase the size, it will grow in increments of
-C<Bufsize>.
-
-=back
-
-=head2 B<$status = $d-E<gt>deflateTune($good_length, $max_lazy, $nice_length, $max_chain)>
-
-Tune the internal settings for the deflate object C<$d>. This option is
-only available if you are running zlib 1.2.2.3 or better.
-
-Refer to the documentation in zlib.h for instructions on how to fly
-C<deflateTune>.
-
-=head2 B<$d-E<gt>dict_adler()>
-
-Returns the adler32 value for the dictionary.
-
-=head2 B<$d-E<gt>crc32()>
-
-Returns the crc32 value for the uncompressed data to date.
-
-If the C<CRC32> option is not enabled in the constructor for this object,
-this method will always return 0;
-
-=head2 B<$d-E<gt>adler32()>
-
-Returns the adler32 value for the uncompressed data to date.
-
-=head2 B<$d-E<gt>msg()>
-
-Returns the last error message generated by zlib.
-
-=head2 B<$d-E<gt>total_in()>
-
-Returns the total number of bytes uncompressed bytes input to deflate.
-
-=head2 B<$d-E<gt>total_out()>
-
-Returns the total number of compressed bytes output from deflate.
-
-=head2 B<$d-E<gt>get_Strategy()>
-
-Returns the deflation strategy currently used. Valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
-
-=head2 B<$d-E<gt>get_Level()>
-
-Returns the compression level being used.
-
-=head2 B<$d-E<gt>get_BufSize()>
-
-Returns the buffer size used to carry out the compression.
-
-=head2 Example
-
-Here is a trivial example of using C<deflate>. It simply reads standard
-input, deflates it and writes it to standard output.
-
- use strict ;
- use warnings ;
-
- use Compress::Raw::Zlib ;
-
- binmode STDIN;
- binmode STDOUT;
- my $x = new Compress::Raw::Zlib::Deflate
- or die "Cannot create a deflation stream\n" ;
-
- my ($output, $status) ;
- while (<>)
- {
- $status = $x->deflate($_, $output) ;
-
- $status == Z_OK
- or die "deflation failed\n" ;
-
- print $output ;
- }
-
- $status = $x->flush($output) ;
-
- $status == Z_OK
- or die "deflation failed\n" ;
-
- print $output ;
-
-=head1 Compress::Raw::Zlib::Inflate
-
-This section defines an interface that allows in-memory uncompression using
-the I<inflate> interface provided by zlib.
-
-Here is a definition of the interface:
-
-=head2 B< ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) >
-
-Initialises an inflation object.
-
-In a list context it returns the inflation object, C<$i>, and the
-I<zlib> status code (C<$status>). In a scalar context it returns the
-inflation object only.
-
-If successful, C<$i> will hold the inflation object and C<$status> will
-be C<Z_OK>.
-
-If not successful, C<$i> will be I<undef> and C<$status> will hold the
-I<zlib> error code.
-
-The function optionally takes a number of named options specified as
-C<< -Name => 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 C<< name=>value >> pairs.
-
-Here is a list of the valid options:
-
-=over 5
-
-=item B<-WindowBits>
-
-To uncompress an RFC 1950 data stream, set C<WindowBits> to a positive
-number.
-
-To uncompress an RFC 1951 data stream, set C<WindowBits> to C<-MAX_WBITS>.
-
-For a full definition of the meaning and valid values for C<WindowBits>
-refer to the I<zlib> documentation for I<inflateInit2>.
-
-Defaults to MAX_WBITS.
-
-=item B<-Bufsize>
-
-Sets the initial size for the output buffer used by the C<$i-E<gt>inflate>
-method. If the output buffer in this method has to be reallocated to
-increase the size, it will grow in increments of C<Bufsize>.
-
-Default is 4096.
-
-=item B<-Dictionary>
-
-The default is no dictionary.
-
-=item B<-AppendOutput>
-
-This option controls how data is written to the output buffer by the
-C<$i-E<gt>inflate> method.
-
-If the option is set to false, the output buffer in the C<$i-E<gt>inflate>
-method will be truncated before uncompressed data is written to it.
-
-If the option is set to true, uncompressed data will be appended to the
-output buffer by the C<$i-E<gt>inflate> method.
-
-This option defaults to false.
-
-=item B<-CRC32>
-
-If set to true, a crc32 checksum of the uncompressed data will be
-calculated. Use the C<$i-E<gt>crc32> method to retrieve this value.
-
-This option defaults to false.
-
-=item B<-ADLER32>
-
-If set to true, an adler32 checksum of the uncompressed data will be
-calculated. Use the C<$i-E<gt>adler32> method to retrieve this value.
-
-This option defaults to false.
-
-=item B<-ConsumeInput>
-
-If set to true, this option will remove compressed data from the input
-buffer of the the C< $i-E<gt>inflate > method as the inflate progresses.
-
-This option can be useful when you are processing compressed data that is
-embedded in another file/buffer. In this case the data that immediately
-follows the compressed stream will be left in the input buffer.
-
-This option defaults to true.
-
-=back
-
-Here is an example of using an optional parameter to override the default
-buffer size.
-
- my ($i, $status) = new Compress::Raw::Zlib::Inflate( -Bufsize => 300 ) ;
-
-=head2 B< $status = $i-E<gt>inflate($input, $output [,$eof]) >
-
-Inflates the complete contents of C<$input> and writes the uncompressed
-data to C<$output>. The C<$input> and C<$output> parameters can either be
-scalars or scalar references.
-
-Returns C<Z_OK> if successful and C<Z_STREAM_END> if the end of the
-compressed data has been successfully reached.
-
-If not successful C<$status> will hold the I<zlib> error code.
-
-If the C<ConsumeInput> option has been set to true when the
-C<Compress::Raw::Zlib::Inflate> object is created, the C<$input> parameter
-is modified by C<inflate>. On completion it will contain what remains
-of the input buffer after inflation. In practice, this means that when
-the return status is C<Z_OK> the C<$input> parameter will contain an
-empty string, and when the return status is C<Z_STREAM_END> the C<$input>
-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 (e.g. gzip, zip) and there is useful data
-immediately after the deflation stream.
-
-If the C<AppendOutput> option is set to true in the constructor for
-this object, the uncompressed data will be appended to C<$output>. If
-it is false, C<$output> will be truncated before any uncompressed data
-is written to it.
-
-The C<$eof> parameter needs a bit of explanation.
-
-Prior to version 1.2.0, zlib assumed that there was at least one trailing
-byte immediately after the compressed data stream when it was carrying out
-decompression. This normally isn't a problem because the majority of zlib
-applications guarantee that there will be data directly after the
-compressed data stream. For example, both gzip (RFC 1950) and zip both
-define trailing data that follows the compressed data stream.
-
-The C<$eof> parameter only needs to be used if B<all> of the following
-conditions apply
-
-=over 5
-
-=item 1
-
-You are either using a copy of zlib that is older than version 1.2.0 or you
-want your application code to be able to run with as many different
-versions of zlib as possible.
-
-=item 2
-
-You have set the C<WindowBits> parameter to C<-MAX_WBITS> in the constructor
-for this object, i.e. you are uncompressing a raw deflated data stream
-(RFC 1951).
-
-=item 3
-
-There is no data immediately after the compressed data stream.
-
-=back
-
-If B<all> of these are the case, then you need to set the C<$eof> parameter
-to true on the final call (and only the final call) to C<$i-E<gt>inflate>.
-
-If you have built this module with zlib >= 1.2.0, the C<$eof> parameter is
-ignored. You can still set it if you want, but it won't be used behind the
-scenes.
-
-=head2 B<$status = $i-E<gt>inflateSync($input)>
-
-This method can be used to attempt to recover good data from a compressed
-data stream that is partially corrupt.
-It scans C<$input> until it reaches either a I<full flush point> or the
-end of the buffer.
-
-If a I<full flush point> is found, C<Z_OK> is returned and C<$input>
-will be have all data up to the flush point removed. This data can then be
-passed to the C<$i-E<gt>inflate> method to be uncompressed.
-
-Any other return code means that a flush point was not found. If more
-data is available, C<inflateSync> can be called repeatedly with more
-compressed data until the flush point is found.
-
-Note I<full flush points> are not present by default in compressed
-data streams. They must have been added explicitly when the data stream
-was created by calling C<Compress::Deflate::flush> with C<Z_FULL_FLUSH>.
-
-=head2 B<$i-E<gt>dict_adler()>
-
-Returns the adler32 value for the dictionary.
-
-=head2 B<$i-E<gt>crc32()>
-
-Returns the crc32 value for the uncompressed data to date.
-
-If the C<CRC32> option is not enabled in the constructor for this object,
-this method will always return 0;
-
-=head2 B<$i-E<gt>adler32()>
-
-Returns the adler32 value for the uncompressed data to date.
-
-If the C<ADLER32> option is not enabled in the constructor for this object,
-this method will always return 0;
-
-=head2 B<$i-E<gt>msg()>
-
-Returns the last error message generated by zlib.
-
-=head2 B<$i-E<gt>total_in()>
-
-Returns the total number of bytes compressed bytes input to inflate.
-
-=head2 B<$i-E<gt>total_out()>
-
-Returns the total number of uncompressed bytes output from inflate.
-
-=head2 B<$d-E<gt>get_BufSize()>
-
-Returns the buffer size used to carry out the decompression.
-
-=head2 Example
-
-Here is an example of using C<inflate>.
-
- use strict ;
- use warnings ;
-
- use Compress::Raw::Zlib;
-
- my $x = new Compress::Raw::Zlib::Inflate()
- or die "Cannot create a inflation stream\n" ;
-
- my $input = '' ;
- binmode STDIN;
- binmode STDOUT;
-
- my ($output, $status) ;
- while (read(STDIN, $input, 4096))
- {
- $status = $x->inflate(\$input, $output) ;
-
- print $output
- if $status == Z_OK or $status == Z_STREAM_END ;
-
- last if $status != Z_OK ;
- }
-
- die "inflation failed\n"
- unless $status == Z_STREAM_END ;
-
-=head1 CHECKSUM FUNCTIONS
-
-Two functions are provided by I<zlib> to calculate checksums. For the
-Perl interface, the order of the two parameters in both functions has
-been reversed. This allows both running checksums and one off
-calculations to be done.
-
- $crc = adler32($buffer [,$crc]) ;
- $crc = crc32($buffer [,$crc]) ;
-
-The buffer parameters can either be a scalar or a scalar reference.
-
-If the $crc parameters is C<undef>, the crc value will be reset.
-
-If you have built this module with zlib 1.2.3 or better, two more
-CRC-related functions are available.
-
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
-
-These functions allow checksums to be merged.
-
-=head1 ACCESSING ZIP FILES
-
-Although it is possible (with some effort on your part) to use this
-module to access .zip files, there is a module on CPAN that will do all
-the hard work for you. Check out the C<Archive::Zip> module on CPAN at
-
- http://www.cpan.org/modules/by-module/Archive/Archive-Zip-*.tar.gz
-
-=head1 CONSTANTS
-
-All the I<zlib> constants are automatically imported when you make use
-of I<Compress::Raw::Zlib>.
-
-=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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/Compress/Zlib.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Zlib.pm
deleted file mode 100644
index d662afced13..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Compress/Zlib.pm
+++ /dev/null
@@ -1,1451 +0,0 @@
-
-package Compress::Zlib;
-
-require 5.004 ;
-require Exporter;
-use AutoLoader;
-use Carp ;
-use IO::Handle ;
-use Scalar::Util qw(dualvar);
-
-use IO::Compress::Base::Common 2.011 ;
-use Compress::Raw::Zlib 2.011 ;
-use IO::Compress::Gzip 2.011 ;
-use IO::Uncompress::Gunzip 2.011 ;
-
-use strict ;
-use warnings ;
-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(
- deflateInit inflateInit
-
- compress uncompress
-
- gzopen $gzerrno
- );
-
-push @EXPORT, @Compress::Raw::Zlib::EXPORT ;
-
-BEGIN
-{
- *zlib_version = \&Compress::Raw::Zlib::zlib_version;
-}
-
-sub AUTOLOAD {
- my($constname);
- ($constname = $AUTOLOAD) =~ s/.*:://;
- my ($error, $val) = Compress::Raw::Zlib::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 ;
-
-our (@my_z_errmsg);
-
-@my_z_errmsg = (
- "need dictionary", # Z_NEED_DICT 2
- "stream end", # Z_STREAM_END 1
- "", # Z_OK 0
- "file error", # Z_ERRNO (-1)
- "stream error", # Z_STREAM_ERROR (-2)
- "data error", # Z_DATA_ERROR (-3)
- "insufficient memory", # Z_MEM_ERROR (-4)
- "buffer error", # Z_BUF_ERROR (-5)
- "incompatible version",# Z_VERSION_ERROR(-6)
- );
-
-
-sub _set_gzerr
-{
- my $value = shift ;
-
- if ($value == 0) {
- $Compress::Zlib::gzerrno = 0 ;
- }
- elsif ($value == Z_ERRNO() || $value > 2) {
- $Compress::Zlib::gzerrno = $! ;
- }
- else {
- $Compress::Zlib::gzerrno = dualvar($value+0, $my_z_errmsg[2 - $value]);
- }
-
- return $value ;
-}
-
-sub _save_gzerr
-{
- my $gz = shift ;
- my $test_eof = shift ;
-
- my $value = $gz->errorNo() || 0 ;
-
- if ($test_eof) {
- #my $gz = $self->[0] ;
- # gzread uses Z_STREAM_END to denote a successful end
- $value = Z_STREAM_END() if $gz->eof() && $value == 0 ;
- }
-
- _set_gzerr($value) ;
-}
-
-sub gzopen($$)
-{
- my ($file, $mode) = @_ ;
-
- my $gz ;
- my %defOpts = (Level => Z_DEFAULT_COMPRESSION(),
- Strategy => Z_DEFAULT_STRATEGY(),
- );
-
- my $writing ;
- $writing = ! ($mode =~ /r/i) ;
- $writing = ($mode =~ /[wa]/i) ;
-
- $defOpts{Level} = $1 if $mode =~ /(\d)/;
- $defOpts{Strategy} = Z_FILTERED() if $mode =~ /f/i;
- $defOpts{Strategy} = Z_HUFFMAN_ONLY() if $mode =~ /h/i;
- $defOpts{Append} = 1 if $mode =~ /a/i;
-
- my $infDef = $writing ? 'deflate' : 'inflate';
- my @params = () ;
-
- croak "gzopen: file parameter is not a filehandle or filename"
- unless isaFilehandle $file || isaFilename $file ||
- (ref $file && ref $file eq 'SCALAR');
-
- return undef unless $mode =~ /[rwa]/i ;
-
- _set_gzerr(0) ;
-
- if ($writing) {
- $gz = new IO::Compress::Gzip($file, Minimal => 1, AutoClose => 1,
- %defOpts)
- or $Compress::Zlib::gzerrno = $IO::Compress::Gzip::GzipError;
- }
- else {
- $gz = new IO::Uncompress::Gunzip($file,
- Transparent => 1,
- Append => 0,
- AutoClose => 1,
- MultiStream => 1,
- Strict => 0)
- or $Compress::Zlib::gzerrno = $IO::Uncompress::Gunzip::GunzipError;
- }
-
- return undef
- if ! defined $gz ;
-
- bless [$gz, $infDef], 'Compress::Zlib::gzFile';
-}
-
-sub Compress::Zlib::gzFile::gzread
-{
- my $self = shift ;
-
- return _set_gzerr(Z_STREAM_ERROR())
- if $self->[1] ne 'inflate';
-
- my $len = defined $_[1] ? $_[1] : 4096 ;
-
- if ($self->gzeof() || $len == 0) {
- # Zap the output buffer to match ver 1 behaviour.
- $_[0] = "" ;
- return 0 ;
- }
-
- my $gz = $self->[0] ;
- my $status = $gz->read($_[0], $len) ;
- _save_gzerr($gz, 1);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gzreadline
-{
- my $self = shift ;
-
- my $gz = $self->[0] ;
- {
- # Maintain backward compatibility with 1.x behaviour
- # It didn't support $/, so this can't either.
- local $/ = "\n" ;
- $_[0] = $gz->getline() ;
- }
- _save_gzerr($gz, 1);
- return defined $_[0] ? length $_[0] : 0 ;
-}
-
-sub Compress::Zlib::gzFile::gzwrite
-{
- my $self = shift ;
- my $gz = $self->[0] ;
-
- return _set_gzerr(Z_STREAM_ERROR())
- if $self->[1] ne 'deflate';
-
- $] >= 5.008 and (utf8::downgrade($_[0], 1)
- or croak "Wide character in gzwrite");
-
- my $status = $gz->write($_[0]) ;
- _save_gzerr($gz);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gztell
-{
- my $self = shift ;
- my $gz = $self->[0] ;
- my $status = $gz->tell() ;
- _save_gzerr($gz);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gzseek
-{
- my $self = shift ;
- my $offset = shift ;
- my $whence = shift ;
-
- my $gz = $self->[0] ;
- my $status ;
- eval { $status = $gz->seek($offset, $whence) ; };
- if ($@)
- {
- my $error = $@;
- $error =~ s/^.*: /gzseek: /;
- $error =~ s/ at .* line \d+\s*$//;
- croak $error;
- }
- _save_gzerr($gz);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gzflush
-{
- my $self = shift ;
- my $f = shift ;
-
- my $gz = $self->[0] ;
- my $status = $gz->flush($f) ;
- my $err = _save_gzerr($gz);
- return $status ? 0 : $err;
-}
-
-sub Compress::Zlib::gzFile::gzclose
-{
- my $self = shift ;
- my $gz = $self->[0] ;
-
- my $status = $gz->close() ;
- my $err = _save_gzerr($gz);
- return $status ? 0 : $err;
-}
-
-sub Compress::Zlib::gzFile::gzeof
-{
- my $self = shift ;
- my $gz = $self->[0] ;
-
- return 0
- if $self->[1] ne 'inflate';
-
- my $status = $gz->eof() ;
- _save_gzerr($gz);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gzsetparams
-{
- my $self = shift ;
- croak "Usage: Compress::Zlib::gzFile::gzsetparams(file, level, strategy)"
- unless @_ eq 2 ;
-
- my $gz = $self->[0] ;
- my $level = shift ;
- my $strategy = shift;
-
- return _set_gzerr(Z_STREAM_ERROR())
- if $self->[1] ne 'deflate';
-
- my $status = *$gz->{Compress}->deflateParams(-Level => $level,
- -Strategy => $strategy);
- _save_gzerr($gz);
- return $status ;
-}
-
-sub Compress::Zlib::gzFile::gzerror
-{
- my $self = shift ;
- my $gz = $self->[0] ;
-
- return $Compress::Zlib::gzerrno ;
-}
-
-
-sub compress($;$)
-{
- my ($x, $output, $err, $in) =('', '', '', '') ;
-
- if (ref $_[0] ) {
- $in = $_[0] ;
- croak "not a scalar reference" unless ref $in eq 'SCALAR' ;
- }
- else {
- $in = \$_[0] ;
- }
-
- $] >= 5.008 and (utf8::downgrade($$in, 1)
- or croak "Wide character in compress");
-
- my $level = (@_ == 2 ? $_[1] : Z_DEFAULT_COMPRESSION() );
-
- $x = new Compress::Raw::Zlib::Deflate -AppendOutput => 1, -Level => $level
- or return undef ;
-
- $err = $x->deflate($in, $output) ;
- return undef unless $err == Z_OK() ;
-
- $err = $x->flush($output) ;
- return undef unless $err == Z_OK() ;
-
- return $output ;
-
-}
-
-sub uncompress($)
-{
- my ($x, $output, $err, $in) =('', '', '', '') ;
-
- if (ref $_[0] ) {
- $in = $_[0] ;
- croak "not a scalar reference" unless ref $in eq 'SCALAR' ;
- }
- else {
- $in = \$_[0] ;
- }
-
- $] >= 5.008 and (utf8::downgrade($$in, 1)
- or croak "Wide character in uncompress");
-
- $x = new Compress::Raw::Zlib::Inflate -ConsumeInput => 0 or return undef ;
-
- $err = $x->inflate($in, $output) ;
- return undef unless $err == Z_STREAM_END() ;
-
- return $output ;
-}
-
-
-
-sub deflateInit(@)
-{
- my ($got) = ParseParameters(0,
- {
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
- 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()],
- 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()],
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
- 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
- 'Dictionary' => [1, 1, Parse_any, ""],
- }, @_ ) ;
-
- croak "Compress::Zlib::deflateInit: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $obj ;
-
- my $status = 0 ;
- ($obj, $status) =
- Compress::Raw::Zlib::_deflateInit(0,
- $got->value('Level'),
- $got->value('Method'),
- $got->value('WindowBits'),
- $got->value('MemLevel'),
- $got->value('Strategy'),
- $got->value('Bufsize'),
- $got->value('Dictionary')) ;
-
- my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldDeflate" : undef) ;
- return wantarray ? ($x, $status) : $x ;
-}
-
-sub inflateInit(@)
-{
- my ($got) = ParseParameters(0,
- {
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'Dictionary' => [1, 1, Parse_any, ""],
- }, @_) ;
-
-
- croak "Compress::Zlib::inflateInit: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
-
- my $status = 0 ;
- my $obj ;
- ($obj, $status) = Compress::Raw::Zlib::_inflateInit(FLAG_CONSUME_INPUT,
- $got->value('WindowBits'),
- $got->value('Bufsize'),
- $got->value('Dictionary')) ;
-
- my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldInflate" : undef) ;
-
- wantarray ? ($x, $status) : $x ;
-}
-
-package Zlib::OldDeflate ;
-
-our (@ISA);
-@ISA = qw(Compress::Raw::Zlib::deflateStream);
-
-
-sub deflate
-{
- my $self = shift ;
- my $output ;
-
- my $status = $self->SUPER::deflate($_[0], $output) ;
- wantarray ? ($output, $status) : $output ;
-}
-
-sub flush
-{
- my $self = shift ;
- my $output ;
- my $flag = shift || Compress::Zlib::Z_FINISH();
- my $status = $self->SUPER::flush($output, $flag) ;
-
- wantarray ? ($output, $status) : $output ;
-}
-
-package Zlib::OldInflate ;
-
-our (@ISA);
-@ISA = qw(Compress::Raw::Zlib::inflateStream);
-
-sub inflate
-{
- my $self = shift ;
- my $output ;
- my $status = $self->SUPER::inflate($_[0], $output) ;
- wantarray ? ($output, $status) : $output ;
-}
-
-package Compress::Zlib ;
-
-use IO::Compress::Gzip::Constants 2.011 ;
-
-sub memGzip($)
-{
- my $out;
-
- # if the deflation buffer isn't a reference, make it one
- my $string = (ref $_[0] ? $_[0] : \$_[0]) ;
-
- $] >= 5.008 and (utf8::downgrade($$string, 1)
- or croak "Wide character in memGzip");
-
- IO::Compress::Gzip::gzip($string, \$out, Minimal => 1)
- or return undef ;
-
- return $out;
-}
-
-
-sub _removeGzipHeader($)
-{
- my $string = shift ;
-
- return Z_DATA_ERROR()
- if length($$string) < GZIP_MIN_HEADER_SIZE ;
-
- my ($magic1, $magic2, $method, $flags, $time, $xflags, $oscode) =
- unpack ('CCCCVCC', $$string);
-
- return Z_DATA_ERROR()
- unless $magic1 == GZIP_ID1 and $magic2 == GZIP_ID2 and
- $method == Z_DEFLATED() and !($flags & GZIP_FLG_RESERVED) ;
- substr($$string, 0, GZIP_MIN_HEADER_SIZE) = '' ;
-
- # skip extra field
- if ($flags & GZIP_FLG_FEXTRA)
- {
- return Z_DATA_ERROR()
- if length($$string) < GZIP_FEXTRA_HEADER_SIZE ;
-
- my ($extra_len) = unpack ('v', $$string);
- $extra_len += GZIP_FEXTRA_HEADER_SIZE;
- return Z_DATA_ERROR()
- if length($$string) < $extra_len ;
-
- substr($$string, 0, $extra_len) = '';
- }
-
- # skip orig name
- if ($flags & GZIP_FLG_FNAME)
- {
- my $name_end = index ($$string, GZIP_NULL_BYTE);
- return Z_DATA_ERROR()
- if $name_end == -1 ;
- substr($$string, 0, $name_end + 1) = '';
- }
-
- # skip comment
- if ($flags & GZIP_FLG_FCOMMENT)
- {
- my $comment_end = index ($$string, GZIP_NULL_BYTE);
- return Z_DATA_ERROR()
- if $comment_end == -1 ;
- substr($$string, 0, $comment_end + 1) = '';
- }
-
- # skip header crc
- if ($flags & GZIP_FLG_FHCRC)
- {
- return Z_DATA_ERROR()
- if length ($$string) < GZIP_FHCRC_SIZE ;
- substr($$string, 0, GZIP_FHCRC_SIZE) = '';
- }
-
- return Z_OK();
-}
-
-
-sub memGunzip($)
-{
- # if the buffer isn't a reference, make it one
- my $string = (ref $_[0] ? $_[0] : \$_[0]);
-
- $] >= 5.008 and (utf8::downgrade($$string, 1)
- or croak "Wide character in memGunzip");
-
- _removeGzipHeader($string) == Z_OK()
- or return undef;
-
- my $bufsize = length $$string > 4096 ? length $$string : 4096 ;
- my $x = new Compress::Raw::Zlib::Inflate({-WindowBits => - MAX_WBITS(),
- -Bufsize => $bufsize})
-
- or return undef;
-
- my $output = "" ;
- my $status = $x->inflate($string, $output);
- return undef
- unless $status == Z_STREAM_END();
-
- if (length $$string >= 8)
- {
- my ($crc, $len) = unpack ("VV", substr($$string, 0, 8));
- substr($$string, 0, 8) = '';
- return undef
- unless $len == length($output) and
- $crc == crc32($output);
- }
- else
- {
- $$string = '';
- }
- return $output;
-}
-
-# Autoload methods go after __END__, and are processed by the autosplit program.
-
-1;
-__END__
-
-
-=head1 NAME
-
-Compress::Zlib - Interface to zlib compression library
-
-=head1 SYNOPSIS
-
- use Compress::Zlib ;
-
- ($d, $status) = deflateInit( [OPT] ) ;
- $status = $d->deflate($input, $output) ;
- $status = $d->flush([$flush_type]) ;
- $d->deflateParams(OPTS) ;
- $d->deflateTune(OPTS) ;
- $d->dict_adler() ;
- $d->crc32() ;
- $d->adler32() ;
- $d->total_in() ;
- $d->total_out() ;
- $d->msg() ;
- $d->get_Strategy();
- $d->get_Level();
- $d->get_BufSize();
-
- ($i, $status) = inflateInit( [OPT] ) ;
- $status = $i->inflate($input, $output [, $eof]) ;
- $status = $i->inflateSync($input) ;
- $i->dict_adler() ;
- $d->crc32() ;
- $d->adler32() ;
- $i->total_in() ;
- $i->total_out() ;
- $i->msg() ;
- $d->get_BufSize();
-
- $dest = compress($source) ;
- $dest = uncompress($source) ;
-
- $gz = gzopen($filename or filehandle, $mode) ;
- $bytesread = $gz->gzread($buffer [,$size]) ;
- $bytesread = $gz->gzreadline($line) ;
- $byteswritten = $gz->gzwrite($buffer) ;
- $status = $gz->gzflush($flush) ;
- $offset = $gz->gztell() ;
- $status = $gz->gzseek($offset, $whence) ;
- $status = $gz->gzclose() ;
- $status = $gz->gzeof() ;
- $status = $gz->gzsetparams($level, $strategy) ;
- $errstring = $gz->gzerror() ;
- $gzerrno
-
- $dest = Compress::Zlib::memGzip($buffer) ;
- $dest = Compress::Zlib::memGunzip($buffer) ;
-
- $crc = adler32($buffer [,$crc]) ;
- $crc = crc32($buffer [,$crc]) ;
-
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
-
- ZLIB_VERSION
- ZLIB_VERNUM
-
-=head1 DESCRIPTION
-
-The I<Compress::Zlib> module provides a Perl interface to the I<zlib>
-compression library (see L</AUTHOR> for details about where to get
-I<zlib>).
-
-The C<Compress::Zlib> module can be split into two general areas of
-functionality, namely a simple read/write interface to I<gzip> files
-and a low-level in-memory compression/decompression interface.
-
-Each of these areas will be discussed in the following sections.
-
-=head2 Notes for users of Compress::Zlib version 1
-
-The main change in C<Compress::Zlib> version 2.x is that it does not now
-interface directly to the zlib library. Instead it uses the
-C<IO::Compress::Gzip> and C<IO::Uncompress::Gunzip> modules for
-reading/writing gzip files, and the C<Compress::Raw::Zlib> module for some
-low-level zlib access.
-
-The interface provided by version 2 of this module should be 100% backward
-compatible with version 1. If you find a difference in the expected
-behaviour please contact the author (See L</AUTHOR>). See L<GZIP INTERFACE>
-
-With the creation of the C<IO::Compress> and C<IO::Uncompress> modules no
-new features are planned for C<Compress::Zlib> - the new modules do
-everything that C<Compress::Zlib> does and then some. Development on
-C<Compress::Zlib> will be limited to bug fixes only.
-
-If you are writing new code, your first port of call should be one of the
-new C<IO::Compress> or C<IO::Uncompress> modules.
-
-=head1 GZIP INTERFACE
-
-A number of functions are supplied in I<zlib> for reading and writing
-I<gzip> files that conform to RFC 1952. This module provides an interface
-to most of them.
-
-If you have previously used C<Compress::Zlib> 1.x, the following
-enhancements/changes have been made to the C<gzopen> interface:
-
-=over 5
-
-=item 1
-
-If you want to to open either STDIN or STDOUT with C<gzopen>, you can now
-optionally use the special filename "C<->" as a synonym for C<\*STDIN> and
-C<\*STDOUT>.
-
-=item 2
-
-In C<Compress::Zlib> version 1.x, C<gzopen> used the zlib library to open
-the underlying file. This made things especially tricky when a Perl
-filehandle was passed to C<gzopen>. Behind the scenes the numeric C file
-descriptor had to be extracted from the Perl filehandle and this passed to
-the zlib library.
-
-Apart from being non-portable to some operating systems, this made it
-difficult to use C<gzopen> in situations where you wanted to extract/create
-a gzip data stream that is embedded in a larger file, without having to
-resort to opening and closing the file multiple times.
-
-It also made it impossible to pass a perl filehandle that wasn't associated
-with a real filesystem file, like, say, an C<IO::String>.
-
-In C<Compress::Zlib> version 2.x, the C<gzopen> interface has been
-completely rewritten to use the L<IO::Compress::Gzip|IO::Compress::Gzip>
-for writing gzip files and L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip>
-for reading gzip files. None of the limitations mentioned above apply.
-
-=item 3
-
-Addition of C<gzseek> to provide a restricted C<seek> interface.
-
-=item 4.
-
-Added C<gztell>.
-
-=back
-
-A more complete and flexible interface for reading/writing gzip
-files/buffers is included with the module C<IO-Compress-Zlib>. See
-L<IO::Compress::Gzip|IO::Compress::Gzip> and
-L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip> for more details.
-
-=over 5
-
-=item B<$gz = gzopen($filename, $mode)>
-
-=item B<$gz = gzopen($filehandle, $mode)>
-
-This function opens either the I<gzip> file C<$filename> for reading or
-writing or attaches to the opened filehandle, C<$filehandle>.
-It returns an object on success and C<undef> on failure.
-
-When writing a gzip file this interface will I<always> create the smallest
-possible gzip header (exactly 10 bytes). If you want greater control over
-what gets stored in the gzip header (like the original filename or a
-comment) use L<IO::Compress::Gzip|IO::Compress::Gzip> instead. Similarly if
-you want to read the contents of the gzip header use
-L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip>.
-
-The second parameter, C<$mode>, is used to specify whether the file is
-opened for reading or writing and to optionally specify a compression
-level and compression strategy when writing. The format of the C<$mode>
-parameter is similar to the mode parameter to the 'C' function C<fopen>,
-so "rb" is used to open for reading, "wb" for writing and "ab" for
-appending (writing at the end of the file).
-
-To specify a compression level when writing, append a digit between 0
-and 9 to the mode string -- 0 means no compression and 9 means maximum
-compression.
-If no compression level is specified Z_DEFAULT_COMPRESSION is used.
-
-To specify the compression strategy when writing, append 'f' for filtered
-data, 'h' for Huffman only compression, or 'R' for run-length encoding.
-If no strategy is specified Z_DEFAULT_STRATEGY is used.
-
-So, for example, "wb9" means open for writing with the maximum compression
-using the default strategy and "wb4R" means open for writing with compression
-level 4 and run-length encoding.
-
-Refer to the I<zlib> documentation for the exact format of the C<$mode>
-parameter.
-
-=item B<$bytesread = $gz-E<gt>gzread($buffer [, $size]) ;>
-
-Reads C<$size> bytes from the compressed file into C<$buffer>. If
-C<$size> is not specified, it will default to 4096. If the scalar
-C<$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.
-
-=item B<$bytesread = $gz-E<gt>gzreadline($line) ;>
-
-Reads the next line from the compressed file into C<$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 C<gzread> and C<gzreadline>.
-
-To maintain backward compatibility with version 1.x of this module
-C<gzreadline> ignores the C<$/> variable - it I<always> uses the string
-C<"\n"> as the line delimiter.
-
-If you want to read a gzip file a line at a time and have it respect the
-C<$/> variable (or C<$INPUT_RECORD_SEPARATOR>, or C<$RS> when C<English> is
-in use) see L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip>.
-
-=item B<$byteswritten = $gz-E<gt>gzwrite($buffer) ;>
-
-Writes the contents of C<$buffer> to the compressed file. Returns the
-number of bytes actually written, or 0 on error.
-
-=item B<$status = $gz-E<gt>gzflush($flush_type) ;>
-
-Flushes all pending output into the compressed file.
-
-This method takes an optional parameter, C<$flush_type>, that controls
-how the flushing will be carried out. By default the C<$flush_type>
-used is C<Z_FINISH>. Other valid values for C<$flush_type> are
-C<Z_NO_FLUSH>, C<Z_SYNC_FLUSH>, C<Z_FULL_FLUSH> and C<Z_BLOCK>. It is
-strongly recommended that you only set the C<flush_type> parameter if
-you fully understand the implications of what it does - overuse of C<flush>
-can seriously degrade the level of compression achieved. See the C<zlib>
-documentation for details.
-
-Returns 0 on success.
-
-=item B<$offset = $gz-E<gt>gztell() ;>
-
-Returns the uncompressed file offset.
-
-=item B<$status = $gz-E<gt>gzseek($offset, $whence) ;>
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the compressed file.
-It is a fatal error to attempt to seek backward.
-
-When opened for writing, empty parts of the file will have NULL (0x00)
-bytes written to them.
-
-The C<$whence> parameter should be one of SEEK_SET, SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=item B<$gz-E<gt>gzclose>
-
-Closes the compressed file. Any pending data is flushed to the file
-before it is closed.
-
-Returns 0 on success.
-
-=item B<$gz-E<gt>gzsetparams($level, $strategy>
-
-Change settings for the deflate stream C<$gz>.
-
-The list of the valid options is shown below. Options not specified
-will remain unchanged.
-
-Note: This method is only available if you are running zlib 1.0.6 or better.
-
-=over 5
-
-=item B<$level>
-
-Defines the compression level. Valid values are 0 through 9,
-C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>, C<Z_BEST_COMPRESSION>, and
-C<Z_DEFAULT_COMPRESSION>.
-
-=item B<$strategy>
-
-Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
-
-=back
-
-=item B<$gz-E<gt>gzerror>
-
-Returns the I<zlib> error message or number for the last operation
-associated with C<$gz>. The return value will be the I<zlib> error
-number when used in a numeric context and the I<zlib> error message
-when used in a string context. The I<zlib> error number constants,
-shown below, are available for use.
-
- Z_OK
- Z_STREAM_END
- Z_ERRNO
- Z_STREAM_ERROR
- Z_DATA_ERROR
- Z_MEM_ERROR
- Z_BUF_ERROR
-
-=item B<$gzerrno>
-
-The C<$gzerrno> scalar holds the error code associated with the most
-recent I<gzip> routine. Note that unlike C<gzerror()>, the error is
-I<not> associated with a particular file.
-
-As with C<gzerror()> it returns an error number in numeric context and
-an error message in string context. Unlike C<gzerror()> though, the
-error message will correspond to the I<zlib> message when the error is
-associated with I<zlib> itself, or the UNIX error message when it is
-not (i.e. I<zlib> returned C<Z_ERRORNO>).
-
-As there is an overlap between the error numbers used by I<zlib> and
-UNIX, C<$gzerrno> should only be used to check for the presence of
-I<an> error in numeric context. Use C<gzerror()> to check for specific
-I<zlib> errors. The I<gzcat> example below shows how the variable can
-be used safely.
-
-=back
-
-=head2 Examples
-
-Here is an example script which uses the interface. It implements a
-I<gzcat> function.
-
- use strict ;
- use warnings ;
-
- use Compress::Zlib ;
-
- # use stdin if no files supplied
- @ARGV = '-' unless @ARGV ;
-
- foreach my $file (@ARGV) {
- my $buffer ;
-
- my $gz = gzopen($file, "rb")
- or die "Cannot open $file: $gzerrno\n" ;
-
- print $buffer while $gz->gzread($buffer) > 0 ;
-
- die "Error reading from $file: $gzerrno" . ($gzerrno+0) . "\n"
- if $gzerrno != Z_STREAM_END ;
-
- $gz->gzclose() ;
- }
-
-Below is a script which makes use of C<gzreadline>. It implements a
-very simple I<grep> like script.
-
- use strict ;
- use warnings ;
-
- use Compress::Zlib ;
-
- die "Usage: gzgrep pattern [file...]\n"
- unless @ARGV >= 1;
-
- my $pattern = shift ;
-
- # use stdin if no files supplied
- @ARGV = '-' unless @ARGV ;
-
- foreach my $file (@ARGV) {
- my $gz = gzopen($file, "rb")
- or die "Cannot open $file: $gzerrno\n" ;
-
- while ($gz->gzreadline($_) > 0) {
- print if /$pattern/ ;
- }
-
- die "Error reading from $file: $gzerrno\n"
- if $gzerrno != Z_STREAM_END ;
-
- $gz->gzclose() ;
- }
-
-This script, I<gzstream>, does the opposite of the I<gzcat> script
-above. It reads from standard input and writes a gzip data stream to
-standard output.
-
- use strict ;
- use warnings ;
-
- use Compress::Zlib ;
-
- binmode STDOUT; # gzopen only sets it on the fd
-
- my $gz = gzopen(\*STDOUT, "wb")
- or die "Cannot open stdout: $gzerrno\n" ;
-
- while (<>) {
- $gz->gzwrite($_)
- or die "error writing: $gzerrno\n" ;
- }
-
- $gz->gzclose ;
-
-=head2 Compress::Zlib::memGzip
-
-This function is used to create an in-memory gzip file with the minimum
-possible gzip header (exactly 10 bytes).
-
- $dest = Compress::Zlib::memGzip($buffer) ;
-
-If successful, it returns the in-memory gzip file, otherwise it returns
-undef.
-
-The C<$buffer> parameter can either be a scalar or a scalar reference.
-
-See L<IO::Compress::Gzip|IO::Compress::Gzip> for an alternative way to
-carry out in-memory gzip compression.
-
-=head2 Compress::Zlib::memGunzip
-
-This function is used to uncompress an in-memory gzip file.
-
- $dest = Compress::Zlib::memGunzip($buffer) ;
-
-If successful, it returns the uncompressed gzip file, otherwise it
-returns undef.
-
-The C<$buffer> parameter can either be a scalar or a scalar reference. The
-contents of the C<$buffer> parameter are destroyed after calling this function.
-
-See L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip> for an alternative way
-to carry out in-memory gzip uncompression.
-
-=head1 COMPRESS/UNCOMPRESS
-
-Two functions are provided to perform in-memory compression/uncompression of
-RFC 1950 data streams. They are called C<compress> and C<uncompress>.
-
-=over 5
-
-=item B<$dest = compress($source [, $level] ) ;>
-
-Compresses C<$source>. If successful it returns the compressed
-data. Otherwise it returns I<undef>.
-
-The source buffer, C<$source>, can either be a scalar or a scalar
-reference.
-
-The C<$level> parameter defines the compression level. Valid values are
-0 through 9, C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>,
-C<Z_BEST_COMPRESSION>, and C<Z_DEFAULT_COMPRESSION>.
-If C<$level> is not specified C<Z_DEFAULT_COMPRESSION> will be used.
-
-=item B<$dest = uncompress($source) ;>
-
-Uncompresses C<$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.
-
-=back
-
-Please note: the two functions defined above are I<not> compatible with
-the Unix commands of the same name.
-
-See L<IO::Deflate|IO::Deflate> and L<IO::Inflate|IO::Inflate> included with
-this distribution for an alternative interface for reading/writing RFC 1950
-files/buffers.
-
-=head1 Deflate Interface
-
-This section defines an interface that allows in-memory compression using
-the I<deflate> interface provided by zlib.
-
-Here is a definition of the interface available:
-
-=head2 B<($d, $status) = deflateInit( [OPT] )>
-
-Initialises a deflation stream.
-
-It combines the features of the I<zlib> functions C<deflateInit>,
-C<deflateInit2> and C<deflateSetDictionary>.
-
-If successful, it will return the initialised deflation stream, C<$d>
-and C<$status> of C<Z_OK> in a list context. In scalar context it
-returns the deflation stream, C<$d>, only.
-
-If not successful, the returned deflation stream (C<$d>) will be
-I<undef> and C<$status> will hold the exact I<zlib> error code.
-
-The function optionally takes a number of named options specified as
-C<< -Name=>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<-Level>
-
-Defines the compression level. Valid values are 0 through 9,
-C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>, C<Z_BEST_COMPRESSION>, and
-C<Z_DEFAULT_COMPRESSION>.
-
-The default is Z_DEFAULT_COMPRESSION.
-
-=item B<-Method>
-
-Defines the compression method. The only valid value at present (and
-the default) is Z_DEFLATED.
-
-=item B<-WindowBits>
-
-To create an RFC 1950 data stream, set C<WindowBits> to a positive number.
-
-To create an RFC 1951 data stream, set C<WindowBits> to C<-MAX_WBITS>.
-
-For a full definition of the meaning and valid values for C<WindowBits> refer
-to the I<zlib> documentation for I<deflateInit2>.
-
-Defaults to MAX_WBITS.
-
-=item B<-MemLevel>
-
-For a definition of the meaning and valid values for C<MemLevel>
-refer to the I<zlib> documentation for I<deflateInit2>.
-
-Defaults to MAX_MEM_LEVEL.
-
-=item B<-Strategy>
-
-Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item B<-Dictionary>
-
-When a dictionary is specified I<Compress::Zlib> will automatically
-call C<deflateSetDictionary> directly after calling C<deflateInit>. The
-Adler32 value for the dictionary can be obtained by calling the method
-C<$d->dict_adler()>.
-
-The default is no dictionary.
-
-=item B<-Bufsize>
-
-Sets the initial size for the deflation buffer. If the buffer has to be
-reallocated to increase the size, it will grow in increments of
-C<Bufsize>.
-
-The default is 4096.
-
-=back
-
-Here is an example of using the C<deflateInit> optional parameter list
-to override the default buffer size and compression level. All other
-options will take their default values.
-
- deflateInit( -Bufsize => 300,
- -Level => Z_BEST_SPEED ) ;
-
-=head2 B<($out, $status) = $d-E<gt>deflate($buffer)>
-
-Deflates the contents of C<$buffer>. The buffer can either be a scalar
-or a scalar reference. When finished, C<$buffer> will be
-completely processed (assuming there were no errors). If the deflation
-was successful it returns the deflated output, C<$out>, and a status
-value, C<$status>, of C<Z_OK>.
-
-On error, C<$out> will be I<undef> and C<$status> will contain the
-I<zlib> error code.
-
-In a scalar context C<deflate> will return C<$out> only.
-
-As with the I<deflate> function in I<zlib>, it is not necessarily the
-case that any output will be produced by this method. So don't rely on
-the fact that C<$out> is empty for an error test.
-
-=head2 B<($out, $status) = $d-E<gt>flush()>
-=head2 B<($out, $status) = $d-E<gt>flush($flush_type)>
-
-Typically used to finish the deflation. Any pending output will be
-returned via C<$out>.
-C<$status> will have a value C<Z_OK> if successful.
-
-In a scalar context C<flush> will return C<$out> only.
-
-Note that flushing can seriously degrade the compression ratio, so it
-should only be used to terminate a decompression (using C<Z_FINISH>) or
-when you want to create a I<full flush point> (using C<Z_FULL_FLUSH>).
-
-By default the C<flush_type> used is C<Z_FINISH>. Other valid values
-for C<flush_type> are C<Z_NO_FLUSH>, C<Z_PARTIAL_FLUSH>, C<Z_SYNC_FLUSH>
-and C<Z_FULL_FLUSH>. 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<zlib> documentation for details.
-
-=head2 B<$status = $d-E<gt>deflateParams([OPT])>
-
-Change settings for the deflate stream C<$d>.
-
-The list of the valid options is shown below. Options not specified
-will remain unchanged.
-
-=over 5
-
-=item B<-Level>
-
-Defines the compression level. Valid values are 0 through 9,
-C<Z_NO_COMPRESSION>, C<Z_BEST_SPEED>, C<Z_BEST_COMPRESSION>, and
-C<Z_DEFAULT_COMPRESSION>.
-
-=item B<-Strategy>
-
-Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
-
-=back
-
-=head2 B<$d-E<gt>dict_adler()>
-
-Returns the adler32 value for the dictionary.
-
-=head2 B<$d-E<gt>msg()>
-
-Returns the last error message generated by zlib.
-
-=head2 B<$d-E<gt>total_in()>
-
-Returns the total number of bytes uncompressed bytes input to deflate.
-
-=head2 B<$d-E<gt>total_out()>
-
-Returns the total number of compressed bytes output from deflate.
-
-=head2 Example
-
-Here is a trivial example of using C<deflate>. It simply reads standard
-input, deflates it and writes it to standard output.
-
- use strict ;
- use warnings ;
-
- use Compress::Zlib ;
-
- binmode STDIN;
- binmode STDOUT;
- my $x = deflateInit()
- or die "Cannot create a deflation stream\n" ;
-
- my ($output, $status) ;
- while (<>)
- {
- ($output, $status) = $x->deflate($_) ;
-
- $status == Z_OK
- or die "deflation failed\n" ;
-
- print $output ;
- }
-
- ($output, $status) = $x->flush() ;
-
- $status == Z_OK
- or die "deflation failed\n" ;
-
- print $output ;
-
-=head1 Inflate Interface
-
-This section defines the interface available that allows in-memory
-uncompression using the I<deflate> interface provided by zlib.
-
-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, C<$i>, and the
-I<zlib> status code in C<$status>. In a scalar context it returns the
-inflation stream only.
-
-If successful, C<$i> will hold the inflation stream and C<$status> will
-be C<Z_OK>.
-
-If not successful, C<$i> will be I<undef> and C<$status> will hold the
-I<zlib> error code.
-
-The function optionally takes a number of named options specified as
-C<< -Name=>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<-WindowBits>
-
-To uncompress an RFC 1950 data stream, set C<WindowBits> to a positive number.
-
-To uncompress an RFC 1951 data stream, set C<WindowBits> to C<-MAX_WBITS>.
-
-For a full definition of the meaning and valid values for C<WindowBits> refer
-to the I<zlib> documentation for I<inflateInit2>.
-
-Defaults to MAX_WBITS.
-
-=item B<-Bufsize>
-
-Sets the initial size for the inflation buffer. If the buffer has to be
-reallocated to increase the size, it will grow in increments of
-C<Bufsize>.
-
-Default is 4096.
-
-=item B<-Dictionary>
-
-The default is no dictionary.
-
-=back
-
-Here is an example of using the C<inflateInit> optional parameter to
-override the default buffer size.
-
- inflateInit( -Bufsize => 300 ) ;
-
-=head2 B<($out, $status) = $i-E<gt>inflate($buffer)>
-
-Inflates the complete contents of C<$buffer>. The buffer can either be
-a scalar or a scalar reference.
-
-Returns C<Z_OK> if successful and C<Z_STREAM_END> if the end of the
-compressed data has been successfully reached.
-If not successful, C<$out> will be I<undef> and C<$status> will hold
-the I<zlib> error code.
-
-The C<$buffer> parameter is modified by C<inflate>. 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<Z_OK>. When the return status is C<Z_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 (e.g. gzip, zip).
-
-=head2 B<$status = $i-E<gt>inflateSync($buffer)>
-
-Scans C<$buffer> until it reaches either a I<full flush point> or the
-end of the buffer.
-
-If a I<full flush point> is found, C<Z_OK> is returned and C<$buffer>
-will be have all data up to the flush point removed. This can then be
-passed to the C<deflate> method.
-
-Any other return code means that a flush point was not found. If more
-data is available, C<inflateSync> can be called repeatedly with more
-compressed data until the flush point is found.
-
-=head2 B<$i-E<gt>dict_adler()>
-
-Returns the adler32 value for the dictionary.
-
-=head2 B<$i-E<gt>msg()>
-
-Returns the last error message generated by zlib.
-
-=head2 B<$i-E<gt>total_in()>
-
-Returns the total number of bytes compressed bytes input to inflate.
-
-=head2 B<$i-E<gt>total_out()>
-
-Returns the total number of uncompressed bytes output from inflate.
-
-=head2 Example
-
-Here is an example of using C<inflate>.
-
- use strict ;
- use warnings ;
-
- use Compress::Zlib ;
-
- my $x = inflateInit()
- 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->inflate(\$input) ;
-
- print $output
- if $status == Z_OK or $status == Z_STREAM_END ;
-
- last if $status != Z_OK ;
- }
-
- die "inflation failed\n"
- unless $status == Z_STREAM_END ;
-
-=head1 CHECKSUM FUNCTIONS
-
-Two functions are provided by I<zlib> to calculate checksums. For the
-Perl interface, the order of the two parameters in both functions has
-been reversed. This allows both running checksums and one off
-calculations to be done.
-
- $crc = adler32($buffer [,$crc]) ;
- $crc = crc32($buffer [,$crc]) ;
-
-The buffer parameters can either be a scalar or a scalar reference.
-
-If the $crc parameters is C<undef>, the crc value will be reset.
-
-If you have built this module with zlib 1.2.3 or better, two more
-CRC-related functions are available.
-
- $crc = adler32_combine($crc1, $crc2, $len2)l
- $crc = crc32_combine($adler1, $adler2, $len2)
-
-These functions allow checksums to be merged.
-
-=head1 CONSTANTS
-
-All the I<zlib> constants are automatically imported when you make use
-of I<Compress::Zlib>.
-
-=head1 SEE ALSO
-
-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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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) 1995-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/5.10/i686-cygwin/Config.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pm
deleted file mode 100644
index 6dd32dab560..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pm
+++ /dev/null
@@ -1,95 +0,0 @@
-# This file was created by configpm when Perl was built. Any changes
-# made to this file will be lost the next time perl is built.
-
-package Config;
-use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
-@Config::EXPORT = qw(%Config);
-@Config::EXPORT_OK = qw(myconfig config_sh config_vars config_re);
-
-# Need to stub all the functions to make code such as print Config::config_sh
-# keep working
-
-sub myconfig;
-sub config_sh;
-sub config_vars;
-sub config_re;
-
-my %Export_Cache = map {($_ => 1)} (@Config::EXPORT, @Config::EXPORT_OK);
-
-our %Config;
-
-# Define our own import method to avoid pulling in the full Exporter:
-sub import {
- my $pkg = shift;
- @_ = @Config::EXPORT unless @_;
-
- my @funcs = grep $_ ne '%Config', @_;
- my $export_Config = @funcs < @_ ? 1 : 0;
-
- no strict 'refs';
- my $callpkg = caller(0);
- foreach my $func (@funcs) {
- die sprintf qq{"%s" is not exported by the %s module\n},
- $func, __PACKAGE__ unless $Export_Cache{$func};
- *{$callpkg.'::'.$func} = \&{$func};
- }
-
- *{"$callpkg\::Config"} = \%Config if $export_Config;
- return;
-}
-
-die "Perl lib version (5.10.0) doesn't match executable version ($])"
- unless $^V;
-
-$^V eq 5.10.0
- or die "Perl lib version (5.10.0) doesn't match executable version (" .
- sprintf("v%vd",$^V) . ")";
-
-
-sub FETCH {
- my($self, $key) = @_;
-
- # check for cached value (which may be undef so we use exists not defined)
- return $self->{$key} if exists $self->{$key};
-
- return $self->fetch_string($key);
-}
-sub TIEHASH {
- bless $_[1], $_[0];
-}
-
-sub DESTROY { }
-
-sub AUTOLOAD {
- require 'Config_heavy.pl';
- goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
- die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
-}
-
-# tie returns the object, so the value returned to require will be true.
-tie %Config, 'Config', {
- archlibexp => '/usr/lib/perl5/5.10/i686-cygwin',
- archname => 'cygwin-thread-multi-64int',
- cc => 'gcc',
- d_readlink => 'define',
- d_symlink => 'define',
- dlsrc => 'dl_dlopen.xs',
- dont_use_nlink => undef,
- exe_ext => '.exe',
- inc_version_list => '',
- intsize => '4',
- ldlibpthname => 'PATH',
- libpth => '/usr/local/lib /usr/lib /lib',
- osname => 'cygwin',
- osvers => '1.5.25(0.15642)',
- path_sep => ':',
- privlibexp => '/usr/lib/perl5/5.10',
- scriptdir => '/usr/bin',
- sitearchexp => '/usr/lib/perl5/site_perl/5.10/i686-cygwin',
- sitelibexp => '/usr/lib/perl5/site_perl/5.10',
- useithreads => 'define',
- usevendorprefix => 'define',
- version => '5.10.0',
-};
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pod b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pod
deleted file mode 100644
index 3a768e8a99d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config.pod
+++ /dev/null
@@ -1,8638 +0,0 @@
-=head1 NAME
-
-Config - access Perl configuration information
-
-=head1 SYNOPSIS
-
- use Config;
- if ($Config{usethreads}) {
- print "has thread support\n"
- }
-
- use Config qw(myconfig config_sh config_vars config_re);
-
- print myconfig();
-
- print config_sh();
-
- print config_re();
-
- config_vars(qw(osname archname));
-
-
-=head1 DESCRIPTION
-
-The Config module contains all the information that was available to
-the C<Configure> program at Perl build time (over 900 values).
-
-Shell variables from the F<config.sh> file (written by Configure) are
-stored in the readonly-variable C<%Config>, indexed by their names.
-
-Values stored in config.sh as 'undef' are returned as undefined
-values. The perl C<exists> function can be used to check if a
-named variable exists.
-
-=over 4
-
-=item myconfig()
-
-Returns a textual summary of the major perl configuration values.
-See also C<-V> in L<perlrun/Switches>.
-
-=item config_sh()
-
-Returns the entire perl configuration information in the form of the
-original config.sh shell variable assignment script.
-
-=item config_re($regex)
-
-Like config_sh() but returns, as a list, only the config entries who's
-names match the $regex.
-
-=item config_vars(@names)
-
-Prints to STDOUT the values of the named configuration variable. Each is
-printed on a separate line in the form:
-
- name='value';
-
-Names which are unknown are output as C<name='UNKNOWN';>.
-See also C<-V:name> in L<perlrun/Switches>.
-
-=back
-
-=head1 EXAMPLE
-
-Here's a more sophisticated example of using %Config:
-
- use Config;
- use strict;
-
- my %sig_num;
- my @sig_name;
- unless($Config{sig_name} && $Config{sig_num}) {
- die "No sigs?";
- } else {
- my @names = split ' ', $Config{sig_name};
- @sig_num{@names} = split ' ', $Config{sig_num};
- foreach (@names) {
- $sig_name[$sig_num{$_}] ||= $_;
- }
- }
-
- print "signal #17 = $sig_name[17]\n";
- if ($sig_num{ALRM}) {
- print "SIGALRM is $sig_num{ALRM}\n";
- }
-
-=head1 WARNING
-
-Because this information is not stored within the perl executable
-itself it is possible (but unlikely) that the information does not
-relate to the actual perl binary which is being used to access it.
-
-The Config module is installed into the architecture and version
-specific library directory ($Config{installarchlib}) and it checks the
-perl version number when loaded.
-
-The values stored in config.sh may be either single-quoted or
-double-quoted. Double-quoted strings are handy for those cases where you
-need to include escape sequences in the strings. To avoid runtime variable
-interpolation, any C<$> and C<@> characters are replaced by C<\$> and
-C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
-or C<\@> in double-quoted strings unless you're willing to deal with the
-consequences. (The slashes will end up escaped and the C<$> or C<@> will
-trigger variable interpolation)
-
-=head1 GLOSSARY
-
-Most C<Config> variables are determined by the C<Configure> script
-on platforms supported by it (which is most UNIX platforms). Some
-platforms have custom-made C<Config> variables, and may thus not have
-some of the variables described below, or may have extraneous variables
-specific to that particular port. See the port specific documentation
-in such cases.
-
-=cut
-
-=head2 _
-
-=over 4
-
-=cut
-
-=item C<_a>
-
-From F<Unix.U>:
-
-This variable defines the extension used for ordinary library files.
-For unix, it is F<.a>. The F<.> is included. Other possible
-values include F<.lib>.
-
-=item C<_exe>
-
-From F<Unix.U>:
-
-This variable defines the extension used for executable files.
-C<DJGPP>, Cygwin and F<OS/2> use F<.exe>. Stratus C<VOS> uses F<.pm>.
-On operating systems which do not require a specific extension
-for executable files, this variable is empty.
-
-=item C<_o>
-
-From F<Unix.U>:
-
-This variable defines the extension used for object files.
-For unix, it is F<.o>. The F<.> is included. Other possible
-values include F<.obj>.
-
-=back
-
-=cut
-
-=head2 a
-
-=over 4
-
-=cut
-
-=item C<afs>
-
-From F<afs.U>:
-
-This variable is set to C<true> if C<AFS> (Andrew File System) is used
-on the system, C<false> otherwise. It is possible to override this
-with a hint value or command line option, but you'd better know
-what you are doing.
-
-=item C<afsroot>
-
-From F<afs.U>:
-
-This variable is by default set to F</afs>. In the unlikely case
-this is not the correct root, it is possible to override this with
-a hint value or command line option. This will be used in subsequent
-tests for AFSness in the configure and test process.
-
-=item C<alignbytes>
-
-From F<alignbytes.U>:
-
-This variable holds the number of bytes required to align a
-double-- or a long double when applicable. Usual values are
-2, 4 and 8. The default is eight, for safety.
-
-=item C<ansi2knr>
-
-From F<ansi2knr.U>:
-
-This variable is set if the user needs to run ansi2knr.
-Currently, this is not supported, so we just abort.
-
-=item C<aphostname>
-
-From F<d_gethname.U>:
-
-This variable contains the command which can be used to compute the
-host name. The command is fully qualified by its absolute path, to make
-it safe when used by a process with super-user privileges.
-
-=item C<api_revision>
-
-From F<patchlevel.U>:
-
-The three variables, api_revision, api_version, and
-api_subversion, specify the version of the oldest perl binary
-compatible with the present perl. In a full version string
-such as F<5.6.1>, api_revision is the C<5>.
-Prior to 5.5.640, the format was a floating point number,
-like 5.00563.
-
-F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
-F<$sitelib/.>. for older directories back to the limit specified
-by these api_ variables. This is only useful if you have a
-perl library directory tree structured like the default one.
-See C<INSTALL> for how this works. The versioned site_perl
-directory was introduced in 5.005, so that is the lowest
-possible value. The version list appropriate for the current
-system is determined in F<inc_version_list.U>.
-
-C<XXX> To do: Since compatibility can depend on compile time
-options (such as bincompat, longlong, etc.) it should
-(perhaps) be set by Configure, but currently it isn't.
-Currently, we read a hard-wired value from F<patchlevel.h>.
-Perhaps what we ought to do is take the hard-wired value from
-F<patchlevel.h> but then modify it if the current Configure
-options warrant. F<patchlevel.h> then would use an #ifdef guard.
-
-=item C<api_subversion>
-
-From F<patchlevel.U>:
-
-The three variables, api_revision, api_version, and
-api_subversion, specify the version of the oldest perl binary
-compatible with the present perl. In a full version string
-such as F<5.6.1>, api_subversion is the C<1>. See api_revision for
-full details.
-
-=item C<api_version>
-
-From F<patchlevel.U>:
-
-The three variables, api_revision, api_version, and
-api_subversion, specify the version of the oldest perl binary
-compatible with the present perl. In a full version string
-such as F<5.6.1>, api_version is the C<6>. See api_revision for
-full details. As a special case, 5.5.0 is rendered in the
-old-style as 5.005. (In the 5.005_0x maintenance series,
-this was the only versioned directory in $sitelib.)
-
-=item C<api_versionstring>
-
-From F<patchlevel.U>:
-
-This variable combines api_revision, api_version, and
-api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
-for use as a directory name. This is filesystem dependent.
-
-=item C<ar>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the ar program. After Configure runs,
-the value is reset to a plain C<ar> and is not useful.
-
-=item C<archlib>
-
-From F<archlib.U>:
-
-This variable holds the name of the directory in which the user wants
-to put architecture-dependent public library files for $package.
-It is most often a local directory such as F</usr/local/lib>.
-Programs using this variable must be prepared to deal
-with filename expansion.
-
-=item C<archlibexp>
-
-From F<archlib.U>:
-
-This variable is the same as the archlib variable, but is
-filename expanded at configuration time, for convenient use.
-
-=item C<archname>
-
-From F<archname.U>:
-
-This variable is a short name to characterize the current
-architecture. It is used mainly to construct the default archlib.
-
-=item C<archname64>
-
-From F<use64bits.U>:
-
-This variable is used for the 64-bitness part of $archname.
-
-=item C<archobjs>
-
-From F<Unix.U>:
-
-This variable defines any additional objects that must be linked
-in with the program on this architecture. On unix, it is usually
-empty. It is typically used to include emulations of unix calls
-or other facilities. For perl on F<OS/2>, for example, this would
-include F<os2/os2.obj>.
-
-=item C<asctime_r_proto>
-
-From F<d_asctime_r.U>:
-
-This variable encodes the prototype of asctime_r.
-It is zero if d_asctime_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_asctime_r
-is defined.
-
-=item C<awk>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the awk program. After Configure runs,
-the value is reset to a plain C<awk> and is not useful.
-
-=back
-
-=cut
-
-=head2 b
-
-=over 4
-
-=cut
-
-=item C<baserev>
-
-From F<baserev.U>:
-
-The base revision level of this package, from the F<.package> file.
-
-=item C<bash>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<bin>
-
-From F<bin.U>:
-
-This variable holds the name of the directory in which the user wants
-to put publicly executable images for the package in question. It
-is most often a local directory such as F</usr/local/bin>. Programs using
-this variable must be prepared to deal with F<~name> substitution.
-
-=item C<binexp>
-
-From F<bin.U>:
-
-This is the same as the bin variable, but is filename expanded at
-configuration time, for use in your makefiles.
-
-=item C<bison>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the bison program. After Configure runs,
-the value is reset to a plain C<bison> and is not useful.
-
-=item C<byacc>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the byacc program. After Configure runs,
-the value is reset to a plain C<byacc> and is not useful.
-
-=item C<byteorder>
-
-From F<byteorder.U>:
-
-This variable holds the byte order in a C<UV>. In the following,
-larger digits indicate more significance. The variable byteorder
-is either 4321 on a big-endian machine, or 1234 on a little-endian,
-or 87654321 on a Cray ... or 3412 with weird order !
-
-=back
-
-=cut
-
-=head2 c
-
-=over 4
-
-=cut
-
-=item C<c>
-
-From F<n.U>:
-
-This variable contains the \c string if that is what causes the echo
-command to suppress newline. Otherwise it is null. Correct usage is
-$echo $n "prompt for a question: $c".
-
-=item C<castflags>
-
-From F<d_castneg.U>:
-
-This variable contains a flag that precise difficulties the
-compiler has casting odd floating values to unsigned long:
-0 = ok
-1 = couldn't cast < 0
-2 = couldn't cast >= 0x80000000
-4 = couldn't cast in argument expression list
-
-=item C<cat>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the cat program. After Configure runs,
-the value is reset to a plain C<cat> and is not useful.
-
-=item C<cc>
-
-From F<cc.U>:
-
-This variable holds the name of a command to execute a C compiler which
-can resolve multiple global references that happen to have the same
-name. Usual values are C<cc> and C<gcc>.
-Fervent C<ANSI> compilers may be called C<c89>. C<AIX> has xlc.
-
-=item C<cccdlflags>
-
-From F<dlsrc.U>:
-
-This variable contains any special flags that might need to be
-passed with C<cc -c> to compile modules to be used to create a shared
-library that will be used for dynamic loading. For hpux, this
-should be +z. It is up to the makefile to use it.
-
-=item C<ccdlflags>
-
-From F<dlsrc.U>:
-
-This variable contains any special flags that might need to be
-passed to cc to link with a shared library for dynamic loading.
-It is up to the makefile to use it. For sunos 4.1, it should
-be empty.
-
-=item C<ccflags>
-
-From F<ccflags.U>:
-
-This variable contains any additional C compiler flags desired by
-the user. It is up to the Makefile to use this.
-
-=item C<ccflags_uselargefiles>
-
-From F<uselfs.U>:
-
-This variable contains the compiler flags needed by large file builds
-and added to ccflags by hints files.
-
-=item C<ccname>
-
-From F<Checkcc.U>:
-
-This can set either by hints files or by Configure. If using
-gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
-Some platforms, however, make good use of this by storing the
-flavor of the C compiler being used here. For example if using
-the Sun WorkShop suite, ccname will be C<workshop>.
-
-=item C<ccsymbols>
-
-From F<Cppsym.U>:
-
-The variable contains the symbols defined by the C compiler alone.
-The symbols defined by cpp or by cc when it calls cpp are not in
-this list, see cppsymbols and cppccsymbols.
-The list is a space-separated list of symbol=value tokens.
-
-=item C<ccversion>
-
-From F<Checkcc.U>:
-
-This can set either by hints files or by Configure. If using
-a (non-gcc) vendor cc, this variable may contain a version for
-the compiler.
-
-=item C<cf_by>
-
-From F<cf_who.U>:
-
-Login name of the person who ran the Configure script and answered the
-questions. This is used to tag both F<config.sh> and F<config_h.SH>.
-
-=item C<cf_email>
-
-From F<cf_email.U>:
-
-Electronic mail address of the person who ran Configure. This can be
-used by units that require the user's e-mail, like F<MailList.U>.
-
-=item C<cf_time>
-
-From F<cf_who.U>:
-
-Holds the output of the C<date> command when the configuration file was
-produced. This is used to tag both F<config.sh> and F<config_h.SH>.
-
-=item C<chgrp>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<chmod>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the chmod program. After Configure runs,
-the value is reset to a plain C<chmod> and is not useful.
-
-=item C<chown>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<clocktype>
-
-From F<d_times.U>:
-
-This variable holds the type returned by times(). It can be long,
-or clock_t on C<BSD> sites (in which case <sys/types.h> should be
-included).
-
-=item C<comm>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the comm program. After Configure runs,
-the value is reset to a plain C<comm> and is not useful.
-
-=item C<compress>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<contains>
-
-From F<contains.U>:
-
-This variable holds the command to do a grep with a proper return
-status. On most sane systems it is simply C<grep>. On insane systems
-it is a grep followed by a cat followed by a test. This variable
-is primarily for the use of other Configure units.
-
-=item C<cp>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the cp program. After Configure runs,
-the value is reset to a plain C<cp> and is not useful.
-
-=item C<cpio>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<cpp>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the cpp program. After Configure runs,
-the value is reset to a plain C<cpp> and is not useful.
-
-=item C<cpp_stuff>
-
-From F<cpp_stuff.U>:
-
-This variable contains an identification of the concatenation mechanism
-used by the C preprocessor.
-
-=item C<cppccsymbols>
-
-From F<Cppsym.U>:
-
-The variable contains the symbols defined by the C compiler
-when it calls cpp. The symbols defined by the cc alone or cpp
-alone are not in this list, see ccsymbols and cppsymbols.
-The list is a space-separated list of symbol=value tokens.
-
-=item C<cppflags>
-
-From F<ccflags.U>:
-
-This variable holds the flags that will be passed to the C pre-
-processor. It is up to the Makefile to use it.
-
-=item C<cpplast>
-
-From F<cppstdin.U>:
-
-This variable has the same functionality as cppminus, only it applies
-to cpprun and not cppstdin.
-
-=item C<cppminus>
-
-From F<cppstdin.U>:
-
-This variable contains the second part of the string which will invoke
-the C preprocessor on the standard input and produce to standard
-output. This variable will have the value C<-> if cppstdin needs
-a minus to specify standard input, otherwise the value is "".
-
-=item C<cpprun>
-
-From F<cppstdin.U>:
-
-This variable contains the command which will invoke a C preprocessor
-on standard input and put the output to stdout. It is guaranteed not
-to be a wrapper and may be a null string if no preprocessor can be
-made directly available. This preprocessor might be different from the
-one used by the C compiler. Don't forget to append cpplast after the
-preprocessor options.
-
-=item C<cppstdin>
-
-From F<cppstdin.U>:
-
-This variable contains the command which will invoke the C
-preprocessor on standard input and put the output to stdout.
-It is primarily used by other Configure units that ask about
-preprocessor symbols.
-
-=item C<cppsymbols>
-
-From F<Cppsym.U>:
-
-The variable contains the symbols defined by the C preprocessor
-alone. The symbols defined by cc or by cc when it calls cpp are
-not in this list, see ccsymbols and cppccsymbols.
-The list is a space-separated list of symbol=value tokens.
-
-=item C<crypt_r_proto>
-
-From F<d_crypt_r.U>:
-
-This variable encodes the prototype of crypt_r.
-It is zero if d_crypt_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_crypt_r
-is defined.
-
-=item C<cryptlib>
-
-From F<d_crypt.U>:
-
-This variable holds -lcrypt or the path to a F<libcrypt.a> archive if
-the crypt() function is not defined in the standard C library. It is
-up to the Makefile to use this.
-
-=item C<csh>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the csh program. After Configure runs,
-the value is reset to a plain C<csh> and is not useful.
-
-=item C<ctermid_r_proto>
-
-From F<d_ctermid_r.U>:
-
-This variable encodes the prototype of ctermid_r.
-It is zero if d_ctermid_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctermid_r
-is defined.
-
-=item C<ctime_r_proto>
-
-From F<d_ctime_r.U>:
-
-This variable encodes the prototype of ctime_r.
-It is zero if d_ctime_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctime_r
-is defined.
-
-=back
-
-=cut
-
-=head2 d
-
-=over 4
-
-=cut
-
-=item C<d__fwalk>
-
-From F<d__fwalk.U>:
-
-This variable conditionally defines C<HAS__FWALK> if _fwalk() is
-available to apply a function to all the file handles.
-
-=item C<d_access>
-
-From F<d_access.U>:
-
-This variable conditionally defines C<HAS_ACCESS> if the access() system
-call is available to check for access permissions using real IDs.
-
-=item C<d_accessx>
-
-From F<d_accessx.U>:
-
-This variable conditionally defines the C<HAS_ACCESSX> symbol, which
-indicates to the C program that the accessx() routine is available.
-
-=item C<d_aintl>
-
-From F<d_aintl.U>:
-
-This variable conditionally defines the C<HAS_AINTL> symbol, which
-indicates to the C program that the aintl() routine is available.
-If copysignl is also present we can emulate modfl.
-
-=item C<d_alarm>
-
-From F<d_alarm.U>:
-
-This variable conditionally defines the C<HAS_ALARM> symbol, which
-indicates to the C program that the alarm() routine is available.
-
-=item C<d_archlib>
-
-From F<archlib.U>:
-
-This variable conditionally defines C<ARCHLIB> to hold the pathname
-of architecture-dependent library files for $package. If
-$archlib is the same as $privlib, then this is set to undef.
-
-=item C<d_asctime_r>
-
-From F<d_asctime_r.U>:
-
-This variable conditionally defines the C<HAS_ASCTIME_R> symbol,
-which indicates to the C program that the asctime_r()
-routine is available.
-
-=item C<d_atolf>
-
-From F<atolf.U>:
-
-This variable conditionally defines the C<HAS_ATOLF> symbol, which
-indicates to the C program that the atolf() routine is available.
-
-=item C<d_atoll>
-
-From F<atoll.U>:
-
-This variable conditionally defines the C<HAS_ATOLL> symbol, which
-indicates to the C program that the atoll() routine is available.
-
-=item C<d_attribute_format>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_FORMAT>, which
-indicates the C compiler can check for printf-like formats.
-
-=item C<d_attribute_malloc>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_MALLOC>, which
-indicates the C compiler can understand functions as having
-malloc-like semantics.
-
-=item C<d_attribute_nonnull>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_NONNULL>, which
-indicates that the C compiler can know that certain arguments
-must not be C<NULL>, and will check accordingly at compile time.
-
-=item C<d_attribute_noreturn>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_NORETURN>, which
-indicates that the C compiler can know that certain functions
-are guaranteed never to return.
-
-=item C<d_attribute_pure>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_PURE>, which
-indicates that the C compiler can know that certain functions
-are C<pure> functions, meaning that they have no side effects, and
-only rely on function input F<and/or> global data for their results.
-
-=item C<d_attribute_unused>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<HASATTRIBUTE_UNUSED>, which
-indicates that the C compiler can know that certain variables
-and arguments may not always be used, and to not throw warnings
-if they don't get used.
-
-=item C<d_attribute_warn_unused_result>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines
-C<HASATTRIBUTE_WARN_UNUSED_RESULT>, which indicates that the C
-compiler can know that certain functions have a return values
-that must not be ignored, such as malloc() or open().
-
-=item C<d_bcmp>
-
-From F<d_bcmp.U>:
-
-This variable conditionally defines the C<HAS_BCMP> symbol if
-the bcmp() routine is available to compare strings.
-
-=item C<d_bcopy>
-
-From F<d_bcopy.U>:
-
-This variable conditionally defines the C<HAS_BCOPY> symbol if
-the bcopy() routine is available to copy strings.
-
-=item C<d_bsd>
-
-From F<Guess.U>:
-
-This symbol conditionally defines the symbol C<BSD> when running on a
-C<BSD> system.
-
-=item C<d_bsdgetpgrp>
-
-From F<d_getpgrp.U>:
-
-This variable conditionally defines C<USE_BSD_GETPGRP> if
-getpgrp needs one arguments whereas C<USG> one needs none.
-
-=item C<d_bsdsetpgrp>
-
-From F<d_setpgrp.U>:
-
-This variable conditionally defines C<USE_BSD_SETPGRP> if
-setpgrp needs two arguments whereas C<USG> one needs none.
-See also d_setpgid for a C<POSIX> interface.
-
-=item C<d_builtin_choose_expr>
-
-From F<d_builtin.U>:
-
-This conditionally defines C<HAS_BUILTIN_CHOOSE_EXPR>, which
-indicates that the compiler supports __builtin_choose_expr(x,y,z).
-This built-in function is analogous to the C<x?y:z> operator in C,
-except that the expression returned has its type unaltered by
-promotion rules. Also, the built-in function does not evaluate
-the expression that was not chosen.
-
-=item C<d_builtin_expect>
-
-From F<d_builtin.U>:
-
-This conditionally defines C<HAS_BUILTIN_EXPECT>, which indicates
-that the compiler supports __builtin_expect(exp,c). You may use
-__builtin_expect to provide the compiler with branch prediction
-information.
-
-=item C<d_bzero>
-
-From F<d_bzero.U>:
-
-This variable conditionally defines the C<HAS_BZERO> symbol if
-the bzero() routine is available to set memory to 0.
-
-=item C<d_c99_variadic_macros>
-
-From F<d_c99_variadic.U>:
-
-This variable conditionally defines the HAS_C99_VARIADIC_MACROS
-symbol, which indicates to the C program that C99 variadic macros
-are available.
-
-=item C<d_casti32>
-
-From F<d_casti32.U>:
-
-This variable conditionally defines CASTI32, which indicates
-whether the C compiler can cast large floats to 32-bit ints.
-
-=item C<d_castneg>
-
-From F<d_castneg.U>:
-
-This variable conditionally defines C<CASTNEG>, which indicates
-wether the C compiler can cast negative float to unsigned.
-
-=item C<d_charvspr>
-
-From F<d_vprintf.U>:
-
-This variable conditionally defines C<CHARVSPRINTF> if this system
-has vsprintf returning type (char*). The trend seems to be to
-declare it as "int vsprintf()".
-
-=item C<d_chown>
-
-From F<d_chown.U>:
-
-This variable conditionally defines the C<HAS_CHOWN> symbol, which
-indicates to the C program that the chown() routine is available.
-
-=item C<d_chroot>
-
-From F<d_chroot.U>:
-
-This variable conditionally defines the C<HAS_CHROOT> symbol, which
-indicates to the C program that the chroot() routine is available.
-
-=item C<d_chsize>
-
-From F<d_chsize.U>:
-
-This variable conditionally defines the C<CHSIZE> symbol, which
-indicates to the C program that the chsize() routine is available
-to truncate files. You might need a -lx to get this routine.
-
-=item C<d_class>
-
-From F<d_class.U>:
-
-This variable conditionally defines the C<HAS_CLASS> symbol, which
-indicates to the C program that the class() routine is available.
-
-=item C<d_clearenv>
-
-From F<d_clearenv.U>:
-
-This variable conditionally defines the C<HAS_CLEARENV> symbol, which
-indicates to the C program that the clearenv () routine is available.
-
-=item C<d_closedir>
-
-From F<d_closedir.U>:
-
-This variable conditionally defines C<HAS_CLOSEDIR> if closedir() is
-available.
-
-=item C<d_cmsghdr_s>
-
-From F<d_cmsghdr_s.U>:
-
-This variable conditionally defines the C<HAS_STRUCT_CMSGHDR> symbol,
-which indicates that the struct cmsghdr is supported.
-
-=item C<d_const>
-
-From F<d_const.U>:
-
-This variable conditionally defines the C<HASCONST> symbol, which
-indicates to the C program that this C compiler knows about the
-const type.
-
-=item C<d_copysignl>
-
-From F<d_copysignl.U>:
-
-This variable conditionally defines the C<HAS_COPYSIGNL> symbol, which
-indicates to the C program that the copysignl() routine is available.
-If aintl is also present we can emulate modfl.
-
-=item C<d_cplusplus>
-
-From F<d_cplusplus.U>:
-
-This variable conditionally defines the C<USE_CPLUSPLUS> symbol, which
-indicates that a C++ compiler was used to compiled Perl and will be
-used to compile extensions.
-
-=item C<d_crypt>
-
-From F<d_crypt.U>:
-
-This variable conditionally defines the C<CRYPT> symbol, which
-indicates to the C program that the crypt() routine is available
-to encrypt passwords and the like.
-
-=item C<d_crypt_r>
-
-From F<d_crypt_r.U>:
-
-This variable conditionally defines the C<HAS_CRYPT_R> symbol,
-which indicates to the C program that the crypt_r()
-routine is available.
-
-=item C<d_csh>
-
-From F<d_csh.U>:
-
-This variable conditionally defines the C<CSH> symbol, which
-indicates to the C program that the C-shell exists.
-
-=item C<d_ctermid>
-
-From F<d_ctermid.U>:
-
-This variable conditionally defines C<CTERMID> if ctermid() is
-available to generate filename for terminal.
-
-=item C<d_ctermid_r>
-
-From F<d_ctermid_r.U>:
-
-This variable conditionally defines the C<HAS_CTERMID_R> symbol,
-which indicates to the C program that the ctermid_r()
-routine is available.
-
-=item C<d_ctime_r>
-
-From F<d_ctime_r.U>:
-
-This variable conditionally defines the C<HAS_CTIME_R> symbol,
-which indicates to the C program that the ctime_r()
-routine is available.
-
-=item C<d_cuserid>
-
-From F<d_cuserid.U>:
-
-This variable conditionally defines the C<HAS_CUSERID> symbol, which
-indicates to the C program that the cuserid() routine is available
-to get character login names.
-
-=item C<d_dbl_dig>
-
-From F<d_dbl_dig.U>:
-
-This variable conditionally defines d_dbl_dig if this system's
-header files provide C<DBL_DIG>, which is the number of significant
-digits in a double precision number.
-
-=item C<d_dbminitproto>
-
-From F<d_dbminitproto.U>:
-
-This variable conditionally defines the C<HAS_DBMINIT_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the dbminit() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_difftime>
-
-From F<d_difftime.U>:
-
-This variable conditionally defines the C<HAS_DIFFTIME> symbol, which
-indicates to the C program that the difftime() routine is available.
-
-=item C<d_dir_dd_fd>
-
-From F<d_dir_dd_fd.U>:
-
-This variable conditionally defines the C<HAS_DIR_DD_FD> symbol, which
-indicates that the C<DIR> directory stream type contains a member
-variable called dd_fd.
-
-=item C<d_dirfd>
-
-From F<d_dirfd.U>:
-
-This variable conditionally defines the C<HAS_DIRFD> constant,
-which indicates to the C program that dirfd() is available
-to return the file descriptor of a directory stream.
-
-=item C<d_dirnamlen>
-
-From F<i_dirent.U>:
-
-This variable conditionally defines C<DIRNAMLEN>, which indicates
-to the C program that the length of directory entry names is
-provided by a d_namelen field.
-
-=item C<d_dlerror>
-
-From F<d_dlerror.U>:
-
-This variable conditionally defines the C<HAS_DLERROR> symbol, which
-indicates to the C program that the dlerror() routine is available.
-
-=item C<d_dlopen>
-
-From F<d_dlopen.U>:
-
-This variable conditionally defines the C<HAS_DLOPEN> symbol, which
-indicates to the C program that the dlopen() routine is available.
-
-=item C<d_dlsymun>
-
-From F<d_dlsymun.U>:
-
-This variable conditionally defines C<DLSYM_NEEDS_UNDERSCORE>, which
-indicates that we need to prepend an underscore to the symbol
-name before calling dlsym().
-
-=item C<d_dosuid>
-
-From F<d_dosuid.U>:
-
-This variable conditionally defines the symbol C<DOSUID>, which
-tells the C program that it should insert setuid emulation code
-on hosts which have setuid #! scripts disabled.
-
-=item C<d_drand48_r>
-
-From F<d_drand48_r.U>:
-
-This variable conditionally defines the HAS_DRAND48_R symbol,
-which indicates to the C program that the drand48_r()
-routine is available.
-
-=item C<d_drand48proto>
-
-From F<d_drand48proto.U>:
-
-This variable conditionally defines the HAS_DRAND48_PROTO symbol,
-which indicates to the C program that the system provides
-a prototype for the drand48() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_dup2>
-
-From F<d_dup2.U>:
-
-This variable conditionally defines HAS_DUP2 if dup2() is
-available to duplicate file descriptors.
-
-=item C<d_eaccess>
-
-From F<d_eaccess.U>:
-
-This variable conditionally defines the C<HAS_EACCESS> symbol, which
-indicates to the C program that the eaccess() routine is available.
-
-=item C<d_endgrent>
-
-From F<d_endgrent.U>:
-
-This variable conditionally defines the C<HAS_ENDGRENT> symbol, which
-indicates to the C program that the endgrent() routine is available
-for sequential access of the group database.
-
-=item C<d_endgrent_r>
-
-From F<d_endgrent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDGRENT_R> symbol,
-which indicates to the C program that the endgrent_r()
-routine is available.
-
-=item C<d_endhent>
-
-From F<d_endhent.U>:
-
-This variable conditionally defines C<HAS_ENDHOSTENT> if endhostent() is
-available to close whatever was being used for host queries.
-
-=item C<d_endhostent_r>
-
-From F<d_endhostent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDHOSTENT_R> symbol,
-which indicates to the C program that the endhostent_r()
-routine is available.
-
-=item C<d_endnent>
-
-From F<d_endnent.U>:
-
-This variable conditionally defines C<HAS_ENDNETENT> if endnetent() is
-available to close whatever was being used for network queries.
-
-=item C<d_endnetent_r>
-
-From F<d_endnetent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDNETENT_R> symbol,
-which indicates to the C program that the endnetent_r()
-routine is available.
-
-=item C<d_endpent>
-
-From F<d_endpent.U>:
-
-This variable conditionally defines C<HAS_ENDPROTOENT> if endprotoent() is
-available to close whatever was being used for protocol queries.
-
-=item C<d_endprotoent_r>
-
-From F<d_endprotoent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDPROTOENT_R> symbol,
-which indicates to the C program that the endprotoent_r()
-routine is available.
-
-=item C<d_endpwent>
-
-From F<d_endpwent.U>:
-
-This variable conditionally defines the C<HAS_ENDPWENT> symbol, which
-indicates to the C program that the endpwent() routine is available
-for sequential access of the passwd database.
-
-=item C<d_endpwent_r>
-
-From F<d_endpwent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDPWENT_R> symbol,
-which indicates to the C program that the endpwent_r()
-routine is available.
-
-=item C<d_endsent>
-
-From F<d_endsent.U>:
-
-This variable conditionally defines C<HAS_ENDSERVENT> if endservent() is
-available to close whatever was being used for service queries.
-
-=item C<d_endservent_r>
-
-From F<d_endservent_r.U>:
-
-This variable conditionally defines the C<HAS_ENDSERVENT_R> symbol,
-which indicates to the C program that the endservent_r()
-routine is available.
-
-=item C<d_eofnblk>
-
-From F<nblock_io.U>:
-
-This variable conditionally defines C<EOF_NONBLOCK> if C<EOF> can be seen
-when reading from a non-blocking I/O source.
-
-=item C<d_eunice>
-
-From F<Guess.U>:
-
-This variable conditionally defines the symbols C<EUNICE> and C<VAX>, which
-alerts the C program that it must deal with ideosyncracies of C<VMS>.
-
-=item C<d_faststdio>
-
-From F<d_faststdio.U>:
-
-This variable conditionally defines the C<HAS_FAST_STDIO> symbol,
-which indicates to the C program that the "fast stdio" is available
-to manipulate the stdio buffers directly.
-
-=item C<d_fchdir>
-
-From F<d_fchdir.U>:
-
-This variable conditionally defines the C<HAS_FCHDIR> symbol, which
-indicates to the C program that the fchdir() routine is available.
-
-=item C<d_fchmod>
-
-From F<d_fchmod.U>:
-
-This variable conditionally defines the C<HAS_FCHMOD> symbol, which
-indicates to the C program that the fchmod() routine is available
-to change mode of opened files.
-
-=item C<d_fchown>
-
-From F<d_fchown.U>:
-
-This variable conditionally defines the C<HAS_FCHOWN> symbol, which
-indicates to the C program that the fchown() routine is available
-to change ownership of opened files.
-
-=item C<d_fcntl>
-
-From F<d_fcntl.U>:
-
-This variable conditionally defines the C<HAS_FCNTL> symbol, and indicates
-whether the fcntl() function exists
-
-=item C<d_fcntl_can_lock>
-
-From F<d_fcntl_can_lock.U>:
-
-This variable conditionally defines the C<FCNTL_CAN_LOCK> symbol
-and indicates whether file locking with fcntl() works.
-
-=item C<d_fd_macros>
-
-From F<d_fd_set.U>:
-
-This variable contains the eventual value of the C<HAS_FD_MACROS> symbol,
-which indicates if your C compiler knows about the macros which
-manipulate an fd_set.
-
-=item C<d_fd_set>
-
-From F<d_fd_set.U>:
-
-This variable contains the eventual value of the C<HAS_FD_SET> symbol,
-which indicates if your C compiler knows about the fd_set typedef.
-
-=item C<d_fds_bits>
-
-From F<d_fd_set.U>:
-
-This variable contains the eventual value of the C<HAS_FDS_BITS> symbol,
-which indicates if your fd_set typedef contains the fds_bits member.
-If you have an fd_set typedef, but the dweebs who installed it did
-a half-fast job and neglected to provide the macros to manipulate
-an fd_set, C<HAS_FDS_BITS> will let us know how to fix the gaffe.
-
-=item C<d_fgetpos>
-
-From F<d_fgetpos.U>:
-
-This variable conditionally defines C<HAS_FGETPOS> if fgetpos() is
-available to get the file position indicator.
-
-=item C<d_finite>
-
-From F<d_finite.U>:
-
-This variable conditionally defines the C<HAS_FINITE> symbol, which
-indicates to the C program that the finite() routine is available.
-
-=item C<d_finitel>
-
-From F<d_finitel.U>:
-
-This variable conditionally defines the C<HAS_FINITEL> symbol, which
-indicates to the C program that the finitel() routine is available.
-
-=item C<d_flexfnam>
-
-From F<d_flexfnam.U>:
-
-This variable conditionally defines the C<FLEXFILENAMES> symbol, which
-indicates that the system supports filenames longer than 14 characters.
-
-=item C<d_flock>
-
-From F<d_flock.U>:
-
-This variable conditionally defines C<HAS_FLOCK> if flock() is
-available to do file locking.
-
-=item C<d_flockproto>
-
-From F<d_flockproto.U>:
-
-This variable conditionally defines the C<HAS_FLOCK_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the flock() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_fork>
-
-From F<d_fork.U>:
-
-This variable conditionally defines the C<HAS_FORK> symbol, which
-indicates to the C program that the fork() routine is available.
-
-=item C<d_fp_class>
-
-From F<d_fp_class.U>:
-
-This variable conditionally defines the C<HAS_FP_CLASS> symbol, which
-indicates to the C program that the fp_class() routine is available.
-
-=item C<d_fpathconf>
-
-From F<d_pathconf.U>:
-
-This variable conditionally defines the C<HAS_FPATHCONF> symbol, which
-indicates to the C program that the pathconf() routine is available
-to determine file-system related limits and options associated
-with a given open file descriptor.
-
-=item C<d_fpclass>
-
-From F<d_fpclass.U>:
-
-This variable conditionally defines the C<HAS_FPCLASS> symbol, which
-indicates to the C program that the fpclass() routine is available.
-
-=item C<d_fpclassify>
-
-From F<d_fpclassify.U>:
-
-This variable conditionally defines the C<HAS_FPCLASSIFY> symbol, which
-indicates to the C program that the fpclassify() routine is available.
-
-=item C<d_fpclassl>
-
-From F<d_fpclassl.U>:
-
-This variable conditionally defines the C<HAS_FPCLASSL> symbol, which
-indicates to the C program that the fpclassl() routine is available.
-
-=item C<d_fpos64_t>
-
-From F<d_fpos64_t.U>:
-
-This symbol will be defined if the C compiler supports fpos64_t.
-
-=item C<d_frexpl>
-
-From F<d_frexpl.U>:
-
-This variable conditionally defines the C<HAS_FREXPL> symbol, which
-indicates to the C program that the frexpl() routine is available.
-
-=item C<d_fs_data_s>
-
-From F<d_fs_data_s.U>:
-
-This variable conditionally defines the C<HAS_STRUCT_FS_DATA> symbol,
-which indicates that the struct fs_data is supported.
-
-=item C<d_fseeko>
-
-From F<d_fseeko.U>:
-
-This variable conditionally defines the C<HAS_FSEEKO> symbol, which
-indicates to the C program that the fseeko() routine is available.
-
-=item C<d_fsetpos>
-
-From F<d_fsetpos.U>:
-
-This variable conditionally defines C<HAS_FSETPOS> if fsetpos() is
-available to set the file position indicator.
-
-=item C<d_fstatfs>
-
-From F<d_fstatfs.U>:
-
-This variable conditionally defines the C<HAS_FSTATFS> symbol, which
-indicates to the C program that the fstatfs() routine is available.
-
-=item C<d_fstatvfs>
-
-From F<d_statvfs.U>:
-
-This variable conditionally defines the C<HAS_FSTATVFS> symbol, which
-indicates to the C program that the fstatvfs() routine is available.
-
-=item C<d_fsync>
-
-From F<d_fsync.U>:
-
-This variable conditionally defines the C<HAS_FSYNC> symbol, which
-indicates to the C program that the fsync() routine is available.
-
-=item C<d_ftello>
-
-From F<d_ftello.U>:
-
-This variable conditionally defines the C<HAS_FTELLO> symbol, which
-indicates to the C program that the ftello() routine is available.
-
-=item C<d_ftime>
-
-From F<d_ftime.U>:
-
-This variable conditionally defines the C<HAS_FTIME> symbol, which indicates
-that the ftime() routine exists. The ftime() routine is basically
-a sub-second accuracy clock.
-
-=item C<d_futimes>
-
-From F<d_futimes.U>:
-
-This variable conditionally defines the C<HAS_FUTIMES> symbol, which
-indicates to the C program that the futimes() routine is available.
-
-=item C<d_Gconvert>
-
-From F<d_gconvert.U>:
-
-This variable holds what Gconvert is defined as to convert
-floating point numbers into strings. By default, Configure
-sets C<this> macro to use the first of gconvert, gcvt, or sprintf
-that pass sprintf-%g-like behaviour tests. If perl is using
-long doubles, the macro uses the first of the following
-functions that pass Configure's tests: qgcvt, sprintf (if
-Configure knows how to make sprintf format long doubles--see
-sPRIgldbl), gconvert, gcvt, and sprintf (casting to double).
-The gconvert_preference and gconvert_ld_preference variables
-can be used to alter Configure's preferences, for doubles and
-long doubles, respectively. If present, they contain a
-space-separated list of one or more of the above function
-names in the order they should be tried.
-
-d_Gconvert may be set to override Configure with a platform-
-specific function. If this function expects a double, a
-different value may need to be set by the F<uselongdouble.cbu>
-call-back unit so that long doubles can be formatted without
-loss of precision.
-
-=item C<d_getcwd>
-
-From F<d_getcwd.U>:
-
-This variable conditionally defines the C<HAS_GETCWD> symbol, which
-indicates to the C program that the getcwd() routine is available
-to get the current working directory.
-
-=item C<d_getespwnam>
-
-From F<d_getespwnam.U>:
-
-This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
-available to retrieve enchanced (shadow) password entries by name.
-
-=item C<d_getfsstat>
-
-From F<d_getfsstat.U>:
-
-This variable conditionally defines the C<HAS_GETFSSTAT> symbol, which
-indicates to the C program that the getfsstat() routine is available.
-
-=item C<d_getgrent>
-
-From F<d_getgrent.U>:
-
-This variable conditionally defines the C<HAS_GETGRENT> symbol, which
-indicates to the C program that the getgrent() routine is available
-for sequential access of the group database.
-
-=item C<d_getgrent_r>
-
-From F<d_getgrent_r.U>:
-
-This variable conditionally defines the C<HAS_GETGRENT_R> symbol,
-which indicates to the C program that the getgrent_r()
-routine is available.
-
-=item C<d_getgrgid_r>
-
-From F<d_getgrgid_r.U>:
-
-This variable conditionally defines the C<HAS_GETGRGID_R> symbol,
-which indicates to the C program that the getgrgid_r()
-routine is available.
-
-=item C<d_getgrnam_r>
-
-From F<d_getgrnam_r.U>:
-
-This variable conditionally defines the C<HAS_GETGRNAM_R> symbol,
-which indicates to the C program that the getgrnam_r()
-routine is available.
-
-=item C<d_getgrps>
-
-From F<d_getgrps.U>:
-
-This variable conditionally defines the C<HAS_GETGROUPS> symbol, which
-indicates to the C program that the getgroups() routine is available
-to get the list of process groups.
-
-=item C<d_gethbyaddr>
-
-From F<d_gethbyad.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTBYADDR> symbol, which
-indicates to the C program that the gethostbyaddr() routine is available
-to look up hosts by their C<IP> addresses.
-
-=item C<d_gethbyname>
-
-From F<d_gethbynm.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTBYNAME> symbol, which
-indicates to the C program that the gethostbyname() routine is available
-to look up host names in some data base or other.
-
-=item C<d_gethent>
-
-From F<d_gethent.U>:
-
-This variable conditionally defines C<HAS_GETHOSTENT> if gethostent() is
-available to look up host names in some data base or another.
-
-=item C<d_gethname>
-
-From F<d_gethname.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTNAME> symbol, which
-indicates to the C program that the gethostname() routine may be
-used to derive the host name.
-
-=item C<d_gethostbyaddr_r>
-
-From F<d_gethostbyaddr_r.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTBYADDR_R> symbol,
-which indicates to the C program that the gethostbyaddr_r()
-routine is available.
-
-=item C<d_gethostbyname_r>
-
-From F<d_gethostbyname_r.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTBYNAME_R> symbol,
-which indicates to the C program that the gethostbyname_r()
-routine is available.
-
-=item C<d_gethostent_r>
-
-From F<d_gethostent_r.U>:
-
-This variable conditionally defines the C<HAS_GETHOSTENT_R> symbol,
-which indicates to the C program that the gethostent_r()
-routine is available.
-
-=item C<d_gethostprotos>
-
-From F<d_gethostprotos.U>:
-
-This variable conditionally defines the C<HAS_GETHOST_PROTOS> symbol,
-which indicates to the C program that <netdb.h> supplies
-prototypes for the various gethost*() functions.
-See also F<netdbtype.U> for probing for various netdb types.
-
-=item C<d_getitimer>
-
-From F<d_getitimer.U>:
-
-This variable conditionally defines the C<HAS_GETITIMER> symbol, which
-indicates to the C program that the getitimer() routine is available.
-
-=item C<d_getlogin>
-
-From F<d_getlogin.U>:
-
-This variable conditionally defines the C<HAS_GETLOGIN> symbol, which
-indicates to the C program that the getlogin() routine is available
-to get the login name.
-
-=item C<d_getlogin_r>
-
-From F<d_getlogin_r.U>:
-
-This variable conditionally defines the C<HAS_GETLOGIN_R> symbol,
-which indicates to the C program that the getlogin_r()
-routine is available.
-
-=item C<d_getmnt>
-
-From F<d_getmnt.U>:
-
-This variable conditionally defines the C<HAS_GETMNT> symbol, which
-indicates to the C program that the getmnt() routine is available
-to retrieve one or more mount info blocks by filename.
-
-=item C<d_getmntent>
-
-From F<d_getmntent.U>:
-
-This variable conditionally defines the C<HAS_GETMNTENT> symbol, which
-indicates to the C program that the getmntent() routine is available
-to iterate through mounted files to get their mount info.
-
-=item C<d_getnbyaddr>
-
-From F<d_getnbyad.U>:
-
-This variable conditionally defines the C<HAS_GETNETBYADDR> symbol, which
-indicates to the C program that the getnetbyaddr() routine is available
-to look up networks by their C<IP> addresses.
-
-=item C<d_getnbyname>
-
-From F<d_getnbynm.U>:
-
-This variable conditionally defines the C<HAS_GETNETBYNAME> symbol, which
-indicates to the C program that the getnetbyname() routine is available
-to look up networks by their names.
-
-=item C<d_getnent>
-
-From F<d_getnent.U>:
-
-This variable conditionally defines C<HAS_GETNETENT> if getnetent() is
-available to look up network names in some data base or another.
-
-=item C<d_getnetbyaddr_r>
-
-From F<d_getnetbyaddr_r.U>:
-
-This variable conditionally defines the C<HAS_GETNETBYADDR_R> symbol,
-which indicates to the C program that the getnetbyaddr_r()
-routine is available.
-
-=item C<d_getnetbyname_r>
-
-From F<d_getnetbyname_r.U>:
-
-This variable conditionally defines the C<HAS_GETNETBYNAME_R> symbol,
-which indicates to the C program that the getnetbyname_r()
-routine is available.
-
-=item C<d_getnetent_r>
-
-From F<d_getnetent_r.U>:
-
-This variable conditionally defines the C<HAS_GETNETENT_R> symbol,
-which indicates to the C program that the getnetent_r()
-routine is available.
-
-=item C<d_getnetprotos>
-
-From F<d_getnetprotos.U>:
-
-This variable conditionally defines the C<HAS_GETNET_PROTOS> symbol,
-which indicates to the C program that <netdb.h> supplies
-prototypes for the various getnet*() functions.
-See also F<netdbtype.U> for probing for various netdb types.
-
-=item C<d_getpagsz>
-
-From F<d_getpagsz.U>:
-
-This variable conditionally defines C<HAS_GETPAGESIZE> if getpagesize()
-is available to get the system page size.
-
-=item C<d_getpbyname>
-
-From F<d_getprotby.U>:
-
-This variable conditionally defines the C<HAS_GETPROTOBYNAME>
-symbol, which indicates to the C program that the
-getprotobyname() routine is available to look up protocols
-by their name.
-
-=item C<d_getpbynumber>
-
-From F<d_getprotby.U>:
-
-This variable conditionally defines the C<HAS_GETPROTOBYNUMBER>
-symbol, which indicates to the C program that the
-getprotobynumber() routine is available to look up protocols
-by their number.
-
-=item C<d_getpent>
-
-From F<d_getpent.U>:
-
-This variable conditionally defines C<HAS_GETPROTOENT> if getprotoent() is
-available to look up protocols in some data base or another.
-
-=item C<d_getpgid>
-
-From F<d_getpgid.U>:
-
-This variable conditionally defines the C<HAS_GETPGID> symbol, which
-indicates to the C program that the getpgid(pid) function
-is available to get the process group id.
-
-=item C<d_getpgrp>
-
-From F<d_getpgrp.U>:
-
-This variable conditionally defines C<HAS_GETPGRP> if getpgrp() is
-available to get the current process group.
-
-=item C<d_getpgrp2>
-
-From F<d_getpgrp2.U>:
-
-This variable conditionally defines the HAS_GETPGRP2 symbol, which
-indicates to the C program that the getpgrp2() (as in F<DG/C<UX>>) routine
-is available to get the current process group.
-
-=item C<d_getppid>
-
-From F<d_getppid.U>:
-
-This variable conditionally defines the C<HAS_GETPPID> symbol, which
-indicates to the C program that the getppid() routine is available
-to get the parent process C<ID>.
-
-=item C<d_getprior>
-
-From F<d_getprior.U>:
-
-This variable conditionally defines C<HAS_GETPRIORITY> if getpriority()
-is available to get a process's priority.
-
-=item C<d_getprotobyname_r>
-
-From F<d_getprotobyname_r.U>:
-
-This variable conditionally defines the C<HAS_GETPROTOBYNAME_R> symbol,
-which indicates to the C program that the getprotobyname_r()
-routine is available.
-
-=item C<d_getprotobynumber_r>
-
-From F<d_getprotobynumber_r.U>:
-
-This variable conditionally defines the C<HAS_GETPROTOBYNUMBER_R> symbol,
-which indicates to the C program that the getprotobynumber_r()
-routine is available.
-
-=item C<d_getprotoent_r>
-
-From F<d_getprotoent_r.U>:
-
-This variable conditionally defines the C<HAS_GETPROTOENT_R> symbol,
-which indicates to the C program that the getprotoent_r()
-routine is available.
-
-=item C<d_getprotoprotos>
-
-From F<d_getprotoprotos.U>:
-
-This variable conditionally defines the C<HAS_GETPROTO_PROTOS> symbol,
-which indicates to the C program that <netdb.h> supplies
-prototypes for the various getproto*() functions.
-See also F<netdbtype.U> for probing for various netdb types.
-
-=item C<d_getprpwnam>
-
-From F<d_getprpwnam.U>:
-
-This variable conditionally defines C<HAS_GETPRPWNAM> if getprpwnam() is
-available to retrieve protected (shadow) password entries by name.
-
-=item C<d_getpwent>
-
-From F<d_getpwent.U>:
-
-This variable conditionally defines the C<HAS_GETPWENT> symbol, which
-indicates to the C program that the getpwent() routine is available
-for sequential access of the passwd database.
-
-=item C<d_getpwent_r>
-
-From F<d_getpwent_r.U>:
-
-This variable conditionally defines the C<HAS_GETPWENT_R> symbol,
-which indicates to the C program that the getpwent_r()
-routine is available.
-
-=item C<d_getpwnam_r>
-
-From F<d_getpwnam_r.U>:
-
-This variable conditionally defines the C<HAS_GETPWNAM_R> symbol,
-which indicates to the C program that the getpwnam_r()
-routine is available.
-
-=item C<d_getpwuid_r>
-
-From F<d_getpwuid_r.U>:
-
-This variable conditionally defines the C<HAS_GETPWUID_R> symbol,
-which indicates to the C program that the getpwuid_r()
-routine is available.
-
-=item C<d_getsbyname>
-
-From F<d_getsrvby.U>:
-
-This variable conditionally defines the C<HAS_GETSERVBYNAME>
-symbol, which indicates to the C program that the
-getservbyname() routine is available to look up services
-by their name.
-
-=item C<d_getsbyport>
-
-From F<d_getsrvby.U>:
-
-This variable conditionally defines the C<HAS_GETSERVBYPORT>
-symbol, which indicates to the C program that the
-getservbyport() routine is available to look up services
-by their port.
-
-=item C<d_getsent>
-
-From F<d_getsent.U>:
-
-This variable conditionally defines C<HAS_GETSERVENT> if getservent() is
-available to look up network services in some data base or another.
-
-=item C<d_getservbyname_r>
-
-From F<d_getservbyname_r.U>:
-
-This variable conditionally defines the C<HAS_GETSERVBYNAME_R> symbol,
-which indicates to the C program that the getservbyname_r()
-routine is available.
-
-=item C<d_getservbyport_r>
-
-From F<d_getservbyport_r.U>:
-
-This variable conditionally defines the C<HAS_GETSERVBYPORT_R> symbol,
-which indicates to the C program that the getservbyport_r()
-routine is available.
-
-=item C<d_getservent_r>
-
-From F<d_getservent_r.U>:
-
-This variable conditionally defines the C<HAS_GETSERVENT_R> symbol,
-which indicates to the C program that the getservent_r()
-routine is available.
-
-=item C<d_getservprotos>
-
-From F<d_getservprotos.U>:
-
-This variable conditionally defines the C<HAS_GETSERV_PROTOS> symbol,
-which indicates to the C program that <netdb.h> supplies
-prototypes for the various getserv*() functions.
-See also F<netdbtype.U> for probing for various netdb types.
-
-=item C<d_getspnam>
-
-From F<d_getspnam.U>:
-
-This variable conditionally defines C<HAS_GETSPNAM> if getspnam() is
-available to retrieve SysV shadow password entries by name.
-
-=item C<d_getspnam_r>
-
-From F<d_getspnam_r.U>:
-
-This variable conditionally defines the C<HAS_GETSPNAM_R> symbol,
-which indicates to the C program that the getspnam_r()
-routine is available.
-
-=item C<d_gettimeod>
-
-From F<d_ftime.U>:
-
-This variable conditionally defines the C<HAS_GETTIMEOFDAY> symbol, which
-indicates that the gettimeofday() system call exists (to obtain a
-sub-second accuracy clock). You should probably include <sys/resource.h>.
-
-=item C<d_gmtime_r>
-
-From F<d_gmtime_r.U>:
-
-This variable conditionally defines the C<HAS_GMTIME_R> symbol,
-which indicates to the C program that the gmtime_r()
-routine is available.
-
-=item C<d_gnulibc>
-
-From F<d_gnulibc.U>:
-
-Defined if we're dealing with the C<GNU> C Library.
-
-=item C<d_grpasswd>
-
-From F<i_grp.U>:
-
-This variable conditionally defines C<GRPASSWD>, which indicates
-that struct group in <grp.h> contains gr_passwd.
-
-=item C<d_hasmntopt>
-
-From F<d_hasmntopt.U>:
-
-This variable conditionally defines the C<HAS_HASMNTOPT> symbol, which
-indicates to the C program that the hasmntopt() routine is available
-to query the mount options of file systems.
-
-=item C<d_htonl>
-
-From F<d_htonl.U>:
-
-This variable conditionally defines C<HAS_HTONL> if htonl() and its
-friends are available to do network order byte swapping.
-
-=item C<d_ilogbl>
-
-From F<d_ilogbl.U>:
-
-This variable conditionally defines the C<HAS_ILOGBL> symbol, which
-indicates to the C program that the ilogbl() routine is available.
-If scalbnl is also present we can emulate frexpl.
-
-=item C<d_inc_version_list>
-
-From F<inc_version_list.U>:
-
-This variable conditionally defines C<PERL_INC_VERSION_LIST>.
-It is set to undef when C<PERL_INC_VERSION_LIST> is empty.
-
-=item C<d_index>
-
-From F<d_strchr.U>:
-
-This variable conditionally defines C<HAS_INDEX> if index() and
-rindex() are available for string searching.
-
-=item C<d_inetaton>
-
-From F<d_inetaton.U>:
-
-This variable conditionally defines the C<HAS_INET_ATON> symbol, which
-indicates to the C program that the inet_aton() function is available
-to parse C<IP> address C<dotted-quad> strings.
-
-=item C<d_int64_t>
-
-From F<d_int64_t.U>:
-
-This symbol will be defined if the C compiler supports int64_t.
-
-=item C<d_isascii>
-
-From F<d_isascii.U>:
-
-This variable conditionally defines the C<HAS_ISASCII> constant,
-which indicates to the C program that isascii() is available.
-
-=item C<d_isfinite>
-
-From F<d_isfinite.U>:
-
-This variable conditionally defines the C<HAS_ISFINITE> symbol, which
-indicates to the C program that the isfinite() routine is available.
-
-=item C<d_isinf>
-
-From F<d_isinf.U>:
-
-This variable conditionally defines the C<HAS_ISINF> symbol, which
-indicates to the C program that the isinf() routine is available.
-
-=item C<d_isnan>
-
-From F<d_isnan.U>:
-
-This variable conditionally defines the C<HAS_ISNAN> symbol, which
-indicates to the C program that the isnan() routine is available.
-
-=item C<d_isnanl>
-
-From F<d_isnanl.U>:
-
-This variable conditionally defines the C<HAS_ISNANL> symbol, which
-indicates to the C program that the isnanl() routine is available.
-
-=item C<d_killpg>
-
-From F<d_killpg.U>:
-
-This variable conditionally defines the C<HAS_KILLPG> symbol, which
-indicates to the C program that the killpg() routine is available
-to kill process groups.
-
-=item C<d_lchown>
-
-From F<d_lchown.U>:
-
-This variable conditionally defines the C<HAS_LCHOWN> symbol, which
-indicates to the C program that the lchown() routine is available
-to operate on a symbolic link (instead of following the link).
-
-=item C<d_ldbl_dig>
-
-From F<d_ldbl_dig.U>:
-
-This variable conditionally defines d_ldbl_dig if this system's
-header files provide C<LDBL_DIG>, which is the number of significant
-digits in a long double precision number.
-
-=item C<d_libm_lib_version>
-
-From F<d_libm_lib_version.U>:
-
-This variable conditionally defines the C<LIBM_LIB_VERSION> symbol,
-which indicates to the C program that F<math.h> defines C<_LIB_VERSION>
-being available in libm
-
-=item C<d_link>
-
-From F<d_link.U>:
-
-This variable conditionally defines C<HAS_LINK> if link() is
-available to create hard links.
-
-=item C<d_localtime_r>
-
-From F<d_localtime_r.U>:
-
-This variable conditionally defines the C<HAS_LOCALTIME_R> symbol,
-which indicates to the C program that the localtime_r()
-routine is available.
-
-=item C<d_localtime_r_needs_tzset>
-
-From F<d_localtime_r.U>:
-
-This variable conditionally defines the C<LOCALTIME_R_NEEDS_TZSET>
-symbol, which makes us call tzset before localtime_r()
-
-=item C<d_locconv>
-
-From F<d_locconv.U>:
-
-This variable conditionally defines C<HAS_LOCALECONV> if localeconv() is
-available for numeric and monetary formatting conventions.
-
-=item C<d_lockf>
-
-From F<d_lockf.U>:
-
-This variable conditionally defines C<HAS_LOCKF> if lockf() is
-available to do file locking.
-
-=item C<d_longdbl>
-
-From F<d_longdbl.U>:
-
-This variable conditionally defines C<HAS_LONG_DOUBLE> if
-the long double type is supported.
-
-=item C<d_longlong>
-
-From F<d_longlong.U>:
-
-This variable conditionally defines C<HAS_LONG_LONG> if
-the long long type is supported.
-
-=item C<d_lseekproto>
-
-From F<d_lseekproto.U>:
-
-This variable conditionally defines the C<HAS_LSEEK_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the lseek() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_lstat>
-
-From F<d_lstat.U>:
-
-This variable conditionally defines C<HAS_LSTAT> if lstat() is
-available to do file stats on symbolic links.
-
-=item C<d_madvise>
-
-From F<d_madvise.U>:
-
-This variable conditionally defines C<HAS_MADVISE> if madvise() is
-available to map a file into memory.
-
-=item C<d_malloc_good_size>
-
-From F<d_malloc_size.U>:
-
-This symbol, if defined, indicates that the malloc_good_size
-routine is available for use.
-
-=item C<d_malloc_size>
-
-From F<d_malloc_size.U>:
-
-This symbol, if defined, indicates that the malloc_size
-routine is available for use.
-
-=item C<d_mblen>
-
-From F<d_mblen.U>:
-
-This variable conditionally defines the C<HAS_MBLEN> symbol, which
-indicates to the C program that the mblen() routine is available
-to find the number of bytes in a multibye character.
-
-=item C<d_mbstowcs>
-
-From F<d_mbstowcs.U>:
-
-This variable conditionally defines the C<HAS_MBSTOWCS> symbol, which
-indicates to the C program that the mbstowcs() routine is available
-to convert a multibyte string into a wide character string.
-
-=item C<d_mbtowc>
-
-From F<d_mbtowc.U>:
-
-This variable conditionally defines the C<HAS_MBTOWC> symbol, which
-indicates to the C program that the mbtowc() routine is available
-to convert multibyte to a wide character.
-
-=item C<d_memchr>
-
-From F<d_memchr.U>:
-
-This variable conditionally defines the C<HAS_MEMCHR> symbol, which
-indicates to the C program that the memchr() routine is available
-to locate characters within a C string.
-
-=item C<d_memcmp>
-
-From F<d_memcmp.U>:
-
-This variable conditionally defines the C<HAS_MEMCMP> symbol, which
-indicates to the C program that the memcmp() routine is available
-to compare blocks of memory.
-
-=item C<d_memcpy>
-
-From F<d_memcpy.U>:
-
-This variable conditionally defines the C<HAS_MEMCPY> symbol, which
-indicates to the C program that the memcpy() routine is available
-to copy blocks of memory.
-
-=item C<d_memmove>
-
-From F<d_memmove.U>:
-
-This variable conditionally defines the C<HAS_MEMMOVE> symbol, which
-indicates to the C program that the memmove() routine is available
-to copy potentatially overlapping blocks of memory.
-
-=item C<d_memset>
-
-From F<d_memset.U>:
-
-This variable conditionally defines the C<HAS_MEMSET> symbol, which
-indicates to the C program that the memset() routine is available
-to set blocks of memory.
-
-=item C<d_mkdir>
-
-From F<d_mkdir.U>:
-
-This variable conditionally defines the C<HAS_MKDIR> symbol, which
-indicates to the C program that the mkdir() routine is available
-to create F<directories.>.
-
-=item C<d_mkdtemp>
-
-From F<d_mkdtemp.U>:
-
-This variable conditionally defines the C<HAS_MKDTEMP> symbol, which
-indicates to the C program that the mkdtemp() routine is available
-to exclusively create a uniquely named temporary directory.
-
-=item C<d_mkfifo>
-
-From F<d_mkfifo.U>:
-
-This variable conditionally defines the C<HAS_MKFIFO> symbol, which
-indicates to the C program that the mkfifo() routine is available.
-
-=item C<d_mkstemp>
-
-From F<d_mkstemp.U>:
-
-This variable conditionally defines the C<HAS_MKSTEMP> symbol, which
-indicates to the C program that the mkstemp() routine is available
-to exclusively create and open a uniquely named temporary file.
-
-=item C<d_mkstemps>
-
-From F<d_mkstemps.U>:
-
-This variable conditionally defines the C<HAS_MKSTEMPS> symbol, which
-indicates to the C program that the mkstemps() routine is available
-to exclusively create and open a uniquely named (with a suffix)
-temporary file.
-
-=item C<d_mktime>
-
-From F<d_mktime.U>:
-
-This variable conditionally defines the C<HAS_MKTIME> symbol, which
-indicates to the C program that the mktime() routine is available.
-
-=item C<d_mmap>
-
-From F<d_mmap.U>:
-
-This variable conditionally defines C<HAS_MMAP> if mmap() is
-available to map a file into memory.
-
-=item C<d_modfl>
-
-From F<d_modfl.U>:
-
-This variable conditionally defines the C<HAS_MODFL> symbol, which
-indicates to the C program that the modfl() routine is available.
-
-=item C<d_modfl_pow32_bug>
-
-From F<d_modfl.U>:
-
-This variable conditionally defines the HAS_MODFL_POW32_BUG symbol,
-which indicates that modfl() is broken for long doubles >= pow(2, 32).
-For example from 4294967303.150000 one would get 4294967302.000000
-and 1.150000. The bug has been seen in certain versions of glibc,
-release 2.2.2 is known to be okay.
-
-=item C<d_modflproto>
-
-From F<d_modfl.U>:
-
-This symbol, if defined, indicates that the system provides
-a prototype for the modfl() function. Otherwise, it is up
-to the program to supply one. C99 says it should be
-long double modfl(long double, long double *);
-
-=item C<d_mprotect>
-
-From F<d_mprotect.U>:
-
-This variable conditionally defines C<HAS_MPROTECT> if mprotect() is
-available to modify the access protection of a memory mapped file.
-
-=item C<d_msg>
-
-From F<d_msg.U>:
-
-This variable conditionally defines the C<HAS_MSG> symbol, which
-indicates that the entire msg*(2) library is present.
-
-=item C<d_msg_ctrunc>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_MSG_CTRUNC> symbol,
-which indicates that the C<MSG_CTRUNC> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_msg_dontroute>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_MSG_DONTROUTE> symbol,
-which indicates that the C<MSG_DONTROUTE> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_msg_oob>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_MSG_OOB> symbol,
-which indicates that the C<MSG_OOB> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_msg_peek>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_MSG_PEEK> symbol,
-which indicates that the C<MSG_PEEK> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_msg_proxy>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_MSG_PROXY> symbol,
-which indicates that the C<MSG_PROXY> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_msgctl>
-
-From F<d_msgctl.U>:
-
-This variable conditionally defines the C<HAS_MSGCTL> symbol, which
-indicates to the C program that the msgctl() routine is available.
-
-=item C<d_msgget>
-
-From F<d_msgget.U>:
-
-This variable conditionally defines the C<HAS_MSGGET> symbol, which
-indicates to the C program that the msgget() routine is available.
-
-=item C<d_msghdr_s>
-
-From F<d_msghdr_s.U>:
-
-This variable conditionally defines the C<HAS_STRUCT_MSGHDR> symbol,
-which indicates that the struct msghdr is supported.
-
-=item C<d_msgrcv>
-
-From F<d_msgrcv.U>:
-
-This variable conditionally defines the C<HAS_MSGRCV> symbol, which
-indicates to the C program that the msgrcv() routine is available.
-
-=item C<d_msgsnd>
-
-From F<d_msgsnd.U>:
-
-This variable conditionally defines the C<HAS_MSGSND> symbol, which
-indicates to the C program that the msgsnd() routine is available.
-
-=item C<d_msync>
-
-From F<d_msync.U>:
-
-This variable conditionally defines C<HAS_MSYNC> if msync() is
-available to synchronize a mapped file.
-
-=item C<d_munmap>
-
-From F<d_munmap.U>:
-
-This variable conditionally defines C<HAS_MUNMAP> if munmap() is
-available to unmap a region mapped by mmap().
-
-=item C<d_mymalloc>
-
-From F<mallocsrc.U>:
-
-This variable conditionally defines C<MYMALLOC> in case other parts
-of the source want to take special action if C<MYMALLOC> is used.
-This may include different sorts of profiling or error detection.
-
-=item C<d_ndbm>
-
-From F<i_ndbm.U>:
-
-This variable conditionally defines the C<HAS_NDBM> symbol, which
-indicates that both the F<ndbm.h> include file and an appropriate ndbm
-library exist. Consult the different i_*ndbm variables
-to find out the actual include location. Sometimes, a system has the
-header file but not the library. This variable will only be set if
-the system has both.
-
-=item C<d_nice>
-
-From F<d_nice.U>:
-
-This variable conditionally defines the C<HAS_NICE> symbol, which
-indicates to the C program that the nice() routine is available.
-
-=item C<d_nl_langinfo>
-
-From F<d_nl_langinfo.U>:
-
-This variable conditionally defines the C<HAS_NL_LANGINFO> symbol, which
-indicates to the C program that the nl_langinfo() routine is available.
-
-=item C<d_nv_preserves_uv>
-
-From F<perlxv.U>:
-
-This variable indicates whether a variable of type nvtype
-can preserve all the bits a variable of type uvtype.
-
-=item C<d_nv_zero_is_allbits_zero>
-
-From F<perlxv.U>:
-
-This variable indicates whether a variable of type nvtype
-stores 0.0 in memory as all bits zero.
-
-=item C<d_off64_t>
-
-From F<d_off64_t.U>:
-
-This symbol will be defined if the C compiler supports off64_t.
-
-=item C<d_old_pthread_create_joinable>
-
-From F<d_pthrattrj.U>:
-
-This variable conditionally defines pthread_create_joinable.
-undef if F<pthread.h> defines C<PTHREAD_CREATE_JOINABLE>.
-
-=item C<d_oldpthreads>
-
-From F<usethreads.U>:
-
-This variable conditionally defines the C<OLD_PTHREADS_API> symbol,
-and indicates that Perl should be built to use the old
-draft C<POSIX> threads C<API>. This is only potentially meaningful if
-usethreads is set.
-
-=item C<d_oldsock>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<OLDSOCKET> symbol, which
-indicates that the C<BSD> socket interface is based on 4.1c and not 4.2.
-
-=item C<d_open3>
-
-From F<d_open3.U>:
-
-This variable conditionally defines the HAS_OPEN3 manifest constant,
-which indicates to the C program that the 3 argument version of
-the open(2) function is available.
-
-=item C<d_pathconf>
-
-From F<d_pathconf.U>:
-
-This variable conditionally defines the C<HAS_PATHCONF> symbol, which
-indicates to the C program that the pathconf() routine is available
-to determine file-system related limits and options associated
-with a given filename.
-
-=item C<d_pause>
-
-From F<d_pause.U>:
-
-This variable conditionally defines the C<HAS_PAUSE> symbol, which
-indicates to the C program that the pause() routine is available
-to suspend a process until a signal is received.
-
-=item C<d_perl_otherlibdirs>
-
-From F<otherlibdirs.U>:
-
-This variable conditionally defines C<PERL_OTHERLIBDIRS>, which
-contains a colon-separated set of paths for the perl binary to
-include in @C<INC>. See also otherlibdirs.
-
-=item C<d_phostname>
-
-From F<d_gethname.U>:
-
-This variable conditionally defines the C<HAS_PHOSTNAME> symbol, which
-contains the shell command which, when fed to popen(), may be
-used to derive the host name.
-
-=item C<d_pipe>
-
-From F<d_pipe.U>:
-
-This variable conditionally defines the C<HAS_PIPE> symbol, which
-indicates to the C program that the pipe() routine is available
-to create an inter-process channel.
-
-=item C<d_poll>
-
-From F<d_poll.U>:
-
-This variable conditionally defines the C<HAS_POLL> symbol, which
-indicates to the C program that the poll() routine is available
-to poll active file descriptors.
-
-=item C<d_portable>
-
-From F<d_portable.U>:
-
-This variable conditionally defines the C<PORTABLE> symbol, which
-indicates to the C program that it should not assume that it is
-running on the machine it was compiled on.
-
-=item C<d_PRId64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRId64 symbol, which
-indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-=item C<d_PRIeldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-
-=item C<d_PRIEUldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-The C<U> in the name is to separate this from d_PRIeldbl so that even
-case-blind systems can see the difference.
-
-=item C<d_PRIfldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-
-=item C<d_PRIFUldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-The C<U> in the name is to separate this from d_PRIfldbl so that even
-case-blind systems can see the difference.
-
-=item C<d_PRIgldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-
-=item C<d_PRIGUldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to print long doubles.
-The C<U> in the name is to separate this from d_PRIgldbl so that even
-case-blind systems can see the difference.
-
-=item C<d_PRIi64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRIi64 symbol, which
-indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-=item C<d_printf_format_null>
-
-From F<d_attribut.U>:
-
-This variable conditionally defines C<PRINTF_FORMAT_NULL_OK>, which
-indicates the C compiler allows printf-like formats to be null.
-
-=item C<d_PRIo64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRIo64 symbol, which
-indiciates that stdio has a symbol to print 64-bit octal numbers.
-
-=item C<d_PRIu64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRIu64 symbol, which
-indiciates that stdio has a symbol to print 64-bit unsigned decimal
-numbers.
-
-=item C<d_PRIx64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRIx64 symbol, which
-indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
-
-=item C<d_PRIXU64>
-
-From F<quadfio.U>:
-
-This variable conditionally defines the PERL_PRIXU64 symbol, which
-indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
-The C<U> in the name is to separate this from d_PRIx64 so that even
-case-blind systems can see the difference.
-
-=item C<d_procselfexe>
-
-From F<d_procselfexe.U>:
-
-Defined if $procselfexe is symlink to the absolute
-pathname of the executing program.
-
-=item C<d_pseudofork>
-
-From F<d_vfork.U>:
-
-This variable conditionally defines the C<HAS_PSEUDOFORK> symbol,
-which indicates that an emulation of the fork routine is available.
-
-=item C<d_pthread_atfork>
-
-From F<d_pthread_atfork.U>:
-
-This variable conditionally defines the C<HAS_PTHREAD_ATFORK> symbol,
-which indicates to the C program that the pthread_atfork()
-routine is available.
-
-=item C<d_pthread_attr_setscope>
-
-From F<d_pthread_attr_ss.U>:
-
-This variable conditionally defines C<HAS_PTHREAD_ATTR_SETSCOPE> if
-pthread_attr_setscope() is available to set the contention scope
-attribute of a thread attribute object.
-
-=item C<d_pthread_yield>
-
-From F<d_pthread_y.U>:
-
-This variable conditionally defines the C<HAS_PTHREAD_YIELD>
-symbol if the pthread_yield routine is available to yield
-the execution of the current thread.
-
-=item C<d_pwage>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWAGE>, which indicates
-that struct passwd contains pw_age.
-
-=item C<d_pwchange>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWCHANGE>, which indicates
-that struct passwd contains pw_change.
-
-=item C<d_pwclass>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWCLASS>, which indicates
-that struct passwd contains pw_class.
-
-=item C<d_pwcomment>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWCOMMENT>, which indicates
-that struct passwd contains pw_comment.
-
-=item C<d_pwexpire>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWEXPIRE>, which indicates
-that struct passwd contains pw_expire.
-
-=item C<d_pwgecos>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWGECOS>, which indicates
-that struct passwd contains pw_gecos.
-
-=item C<d_pwpasswd>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWPASSWD>, which indicates
-that struct passwd contains pw_passwd.
-
-=item C<d_pwquota>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<PWQUOTA>, which indicates
-that struct passwd contains pw_quota.
-
-=item C<d_qgcvt>
-
-From F<d_qgcvt.U>:
-
-This variable conditionally defines the C<HAS_QGCVT> symbol, which
-indicates to the C program that the qgcvt() routine is available.
-
-=item C<d_quad>
-
-From F<quadtype.U>:
-
-This variable, if defined, tells that there's a 64-bit integer type,
-quadtype.
-
-=item C<d_random_r>
-
-From F<d_random_r.U>:
-
-This variable conditionally defines the C<HAS_RANDOM_R> symbol,
-which indicates to the C program that the random_r()
-routine is available.
-
-=item C<d_readdir>
-
-From F<d_readdir.U>:
-
-This variable conditionally defines C<HAS_READDIR> if readdir() is
-available to read directory entries.
-
-=item C<d_readdir64_r>
-
-From F<d_readdir64_r.U>:
-
-This variable conditionally defines the HAS_READDIR64_R symbol,
-which indicates to the C program that the readdir64_r()
-routine is available.
-
-=item C<d_readdir_r>
-
-From F<d_readdir_r.U>:
-
-This variable conditionally defines the C<HAS_READDIR_R> symbol,
-which indicates to the C program that the readdir_r()
-routine is available.
-
-=item C<d_readlink>
-
-From F<d_readlink.U>:
-
-This variable conditionally defines the C<HAS_READLINK> symbol, which
-indicates to the C program that the readlink() routine is available
-to read the value of a symbolic link.
-
-=item C<d_readv>
-
-From F<d_readv.U>:
-
-This variable conditionally defines the C<HAS_READV> symbol, which
-indicates to the C program that the readv() routine is available.
-
-=item C<d_recvmsg>
-
-From F<d_recvmsg.U>:
-
-This variable conditionally defines the C<HAS_RECVMSG> symbol, which
-indicates to the C program that the recvmsg() routine is available.
-
-=item C<d_rename>
-
-From F<d_rename.U>:
-
-This variable conditionally defines the C<HAS_RENAME> symbol, which
-indicates to the C program that the rename() routine is available
-to rename files.
-
-=item C<d_rewinddir>
-
-From F<d_readdir.U>:
-
-This variable conditionally defines C<HAS_REWINDDIR> if rewinddir() is
-available.
-
-=item C<d_rmdir>
-
-From F<d_rmdir.U>:
-
-This variable conditionally defines C<HAS_RMDIR> if rmdir() is
-available to remove directories.
-
-=item C<d_safebcpy>
-
-From F<d_safebcpy.U>:
-
-This variable conditionally defines the C<HAS_SAFE_BCOPY> symbol if
-the bcopy() routine can do overlapping copies. Normally, you
-should probably use memmove().
-
-=item C<d_safemcpy>
-
-From F<d_safemcpy.U>:
-
-This variable conditionally defines the C<HAS_SAFE_MEMCPY> symbol if
-the memcpy() routine can do overlapping copies.
-For overlapping copies, memmove() should be used, if available.
-
-=item C<d_sanemcmp>
-
-From F<d_sanemcmp.U>:
-
-This variable conditionally defines the C<HAS_SANE_MEMCMP> symbol if
-the memcpy() routine is available and can be used to compare relative
-magnitudes of chars with their high bits set.
-
-=item C<d_sbrkproto>
-
-From F<d_sbrkproto.U>:
-
-This variable conditionally defines the C<HAS_SBRK_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the sbrk() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_scalbnl>
-
-From F<d_scalbnl.U>:
-
-This variable conditionally defines the C<HAS_SCALBNL> symbol, which
-indicates to the C program that the scalbnl() routine is available.
-If ilogbl is also present we can emulate frexpl.
-
-=item C<d_sched_yield>
-
-From F<d_pthread_y.U>:
-
-This variable conditionally defines the C<HAS_SCHED_YIELD>
-symbol if the sched_yield routine is available to yield
-the execution of the current thread.
-
-=item C<d_scm_rights>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_SCM_RIGHTS> symbol,
-which indicates that the C<SCM_RIGHTS> is available. #ifdef is
-not enough because it may be an enum, glibc has been known to do this.
-
-=item C<d_SCNfldbl>
-
-From F<longdblfio.U>:
-
-This variable conditionally defines the PERL_PRIfldbl symbol, which
-indiciates that stdio has a symbol to scan long doubles.
-
-=item C<d_seekdir>
-
-From F<d_readdir.U>:
-
-This variable conditionally defines C<HAS_SEEKDIR> if seekdir() is
-available.
-
-=item C<d_select>
-
-From F<d_select.U>:
-
-This variable conditionally defines C<HAS_SELECT> if select() is
-available to select active file descriptors. A <sys/time.h>
-inclusion may be necessary for the timeout field.
-
-=item C<d_sem>
-
-From F<d_sem.U>:
-
-This variable conditionally defines the C<HAS_SEM> symbol, which
-indicates that the entire sem*(2) library is present.
-
-=item C<d_semctl>
-
-From F<d_semctl.U>:
-
-This variable conditionally defines the C<HAS_SEMCTL> symbol, which
-indicates to the C program that the semctl() routine is available.
-
-=item C<d_semctl_semid_ds>
-
-From F<d_union_semun.U>:
-
-This variable conditionally defines C<USE_SEMCTL_SEMID_DS>, which
-indicates that struct semid_ds * is to be used for semctl C<IPC_STAT>.
-
-=item C<d_semctl_semun>
-
-From F<d_union_semun.U>:
-
-This variable conditionally defines C<USE_SEMCTL_SEMUN>, which
-indicates that union semun is to be used for semctl C<IPC_STAT>.
-
-=item C<d_semget>
-
-From F<d_semget.U>:
-
-This variable conditionally defines the C<HAS_SEMGET> symbol, which
-indicates to the C program that the semget() routine is available.
-
-=item C<d_semop>
-
-From F<d_semop.U>:
-
-This variable conditionally defines the C<HAS_SEMOP> symbol, which
-indicates to the C program that the semop() routine is available.
-
-=item C<d_sendmsg>
-
-From F<d_sendmsg.U>:
-
-This variable conditionally defines the C<HAS_SENDMSG> symbol, which
-indicates to the C program that the sendmsg() routine is available.
-
-=item C<d_setegid>
-
-From F<d_setegid.U>:
-
-This variable conditionally defines the C<HAS_SETEGID> symbol, which
-indicates to the C program that the setegid() routine is available
-to change the effective gid of the current program.
-
-=item C<d_seteuid>
-
-From F<d_seteuid.U>:
-
-This variable conditionally defines the C<HAS_SETEUID> symbol, which
-indicates to the C program that the seteuid() routine is available
-to change the effective uid of the current program.
-
-=item C<d_setgrent>
-
-From F<d_setgrent.U>:
-
-This variable conditionally defines the C<HAS_SETGRENT> symbol, which
-indicates to the C program that the setgrent() routine is available
-for initializing sequential access to the group database.
-
-=item C<d_setgrent_r>
-
-From F<d_setgrent_r.U>:
-
-This variable conditionally defines the C<HAS_SETGRENT_R> symbol,
-which indicates to the C program that the setgrent_r()
-routine is available.
-
-=item C<d_setgrps>
-
-From F<d_setgrps.U>:
-
-This variable conditionally defines the C<HAS_SETGROUPS> symbol, which
-indicates to the C program that the setgroups() routine is available
-to set the list of process groups.
-
-=item C<d_sethent>
-
-From F<d_sethent.U>:
-
-This variable conditionally defines C<HAS_SETHOSTENT> if sethostent() is
-available.
-
-=item C<d_sethostent_r>
-
-From F<d_sethostent_r.U>:
-
-This variable conditionally defines the C<HAS_SETHOSTENT_R> symbol,
-which indicates to the C program that the sethostent_r()
-routine is available.
-
-=item C<d_setitimer>
-
-From F<d_setitimer.U>:
-
-This variable conditionally defines the C<HAS_SETITIMER> symbol, which
-indicates to the C program that the setitimer() routine is available.
-
-=item C<d_setlinebuf>
-
-From F<d_setlnbuf.U>:
-
-This variable conditionally defines the C<HAS_SETLINEBUF> symbol, which
-indicates to the C program that the setlinebuf() routine is available
-to change stderr or stdout from block-buffered or unbuffered to a
-line-buffered mode.
-
-=item C<d_setlocale>
-
-From F<d_setlocale.U>:
-
-This variable conditionally defines C<HAS_SETLOCALE> if setlocale() is
-available to handle locale-specific ctype implementations.
-
-=item C<d_setlocale_r>
-
-From F<d_setlocale_r.U>:
-
-This variable conditionally defines the C<HAS_SETLOCALE_R> symbol,
-which indicates to the C program that the setlocale_r()
-routine is available.
-
-=item C<d_setnent>
-
-From F<d_setnent.U>:
-
-This variable conditionally defines C<HAS_SETNETENT> if setnetent() is
-available.
-
-=item C<d_setnetent_r>
-
-From F<d_setnetent_r.U>:
-
-This variable conditionally defines the C<HAS_SETNETENT_R> symbol,
-which indicates to the C program that the setnetent_r()
-routine is available.
-
-=item C<d_setpent>
-
-From F<d_setpent.U>:
-
-This variable conditionally defines C<HAS_SETPROTOENT> if setprotoent() is
-available.
-
-=item C<d_setpgid>
-
-From F<d_setpgid.U>:
-
-This variable conditionally defines the C<HAS_SETPGID> symbol if the
-setpgid(pid, gpid) function is available to set process group C<ID>.
-
-=item C<d_setpgrp>
-
-From F<d_setpgrp.U>:
-
-This variable conditionally defines C<HAS_SETPGRP> if setpgrp() is
-available to set the current process group.
-
-=item C<d_setpgrp2>
-
-From F<d_setpgrp2.U>:
-
-This variable conditionally defines the HAS_SETPGRP2 symbol, which
-indicates to the C program that the setpgrp2() (as in F<DG/C<UX>>) routine
-is available to set the current process group.
-
-=item C<d_setprior>
-
-From F<d_setprior.U>:
-
-This variable conditionally defines C<HAS_SETPRIORITY> if setpriority()
-is available to set a process's priority.
-
-=item C<d_setproctitle>
-
-From F<d_setproctitle.U>:
-
-This variable conditionally defines the C<HAS_SETPROCTITLE> symbol,
-which indicates to the C program that the setproctitle() routine
-is available.
-
-=item C<d_setprotoent_r>
-
-From F<d_setprotoent_r.U>:
-
-This variable conditionally defines the C<HAS_SETPROTOENT_R> symbol,
-which indicates to the C program that the setprotoent_r()
-routine is available.
-
-=item C<d_setpwent>
-
-From F<d_setpwent.U>:
-
-This variable conditionally defines the C<HAS_SETPWENT> symbol, which
-indicates to the C program that the setpwent() routine is available
-for initializing sequential access to the passwd database.
-
-=item C<d_setpwent_r>
-
-From F<d_setpwent_r.U>:
-
-This variable conditionally defines the C<HAS_SETPWENT_R> symbol,
-which indicates to the C program that the setpwent_r()
-routine is available.
-
-=item C<d_setregid>
-
-From F<d_setregid.U>:
-
-This variable conditionally defines C<HAS_SETREGID> if setregid() is
-available to change the real and effective gid of the current
-process.
-
-=item C<d_setresgid>
-
-From F<d_setregid.U>:
-
-This variable conditionally defines C<HAS_SETRESGID> if setresgid() is
-available to change the real, effective and saved gid of the current
-process.
-
-=item C<d_setresuid>
-
-From F<d_setreuid.U>:
-
-This variable conditionally defines C<HAS_SETREUID> if setresuid() is
-available to change the real, effective and saved uid of the current
-process.
-
-=item C<d_setreuid>
-
-From F<d_setreuid.U>:
-
-This variable conditionally defines C<HAS_SETREUID> if setreuid() is
-available to change the real and effective uid of the current
-process.
-
-=item C<d_setrgid>
-
-From F<d_setrgid.U>:
-
-This variable conditionally defines the C<HAS_SETRGID> symbol, which
-indicates to the C program that the setrgid() routine is available
-to change the real gid of the current program.
-
-=item C<d_setruid>
-
-From F<d_setruid.U>:
-
-This variable conditionally defines the C<HAS_SETRUID> symbol, which
-indicates to the C program that the setruid() routine is available
-to change the real uid of the current program.
-
-=item C<d_setsent>
-
-From F<d_setsent.U>:
-
-This variable conditionally defines C<HAS_SETSERVENT> if setservent() is
-available.
-
-=item C<d_setservent_r>
-
-From F<d_setservent_r.U>:
-
-This variable conditionally defines the C<HAS_SETSERVENT_R> symbol,
-which indicates to the C program that the setservent_r()
-routine is available.
-
-=item C<d_setsid>
-
-From F<d_setsid.U>:
-
-This variable conditionally defines C<HAS_SETSID> if setsid() is
-available to set the process group C<ID>.
-
-=item C<d_setvbuf>
-
-From F<d_setvbuf.U>:
-
-This variable conditionally defines the C<HAS_SETVBUF> symbol, which
-indicates to the C program that the setvbuf() routine is available
-to change buffering on an open stdio stream.
-
-=item C<d_sfio>
-
-From F<d_sfio.U>:
-
-This variable conditionally defines the C<USE_SFIO> symbol,
-and indicates whether sfio is available (and should be used).
-
-=item C<d_shm>
-
-From F<d_shm.U>:
-
-This variable conditionally defines the C<HAS_SHM> symbol, which
-indicates that the entire shm*(2) library is present.
-
-=item C<d_shmat>
-
-From F<d_shmat.U>:
-
-This variable conditionally defines the C<HAS_SHMAT> symbol, which
-indicates to the C program that the shmat() routine is available.
-
-=item C<d_shmatprototype>
-
-From F<d_shmat.U>:
-
-This variable conditionally defines the C<HAS_SHMAT_PROTOTYPE>
-symbol, which indicates that F<sys/shm.h> has a prototype for
-shmat.
-
-=item C<d_shmctl>
-
-From F<d_shmctl.U>:
-
-This variable conditionally defines the C<HAS_SHMCTL> symbol, which
-indicates to the C program that the shmctl() routine is available.
-
-=item C<d_shmdt>
-
-From F<d_shmdt.U>:
-
-This variable conditionally defines the C<HAS_SHMDT> symbol, which
-indicates to the C program that the shmdt() routine is available.
-
-=item C<d_shmget>
-
-From F<d_shmget.U>:
-
-This variable conditionally defines the C<HAS_SHMGET> symbol, which
-indicates to the C program that the shmget() routine is available.
-
-=item C<d_sigaction>
-
-From F<d_sigaction.U>:
-
-This variable conditionally defines the C<HAS_SIGACTION> symbol, which
-indicates that the Vr4 sigaction() routine is available.
-
-=item C<d_signbit>
-
-From F<d_signbit.U>:
-
-This variable conditionally defines the C<HAS_SIGNBIT> symbol, which
-indicates to the C program that the signbit() routine is available
-and safe to use with perl's intern C<NV> type.
-
-=item C<d_sigprocmask>
-
-From F<d_sigprocmask.U>:
-
-This variable conditionally defines C<HAS_SIGPROCMASK>
-if sigprocmask() is available to examine or change the signal mask
-of the calling process.
-
-=item C<d_sigsetjmp>
-
-From F<d_sigsetjmp.U>:
-
-This variable conditionally defines the C<HAS_SIGSETJMP> symbol,
-which indicates that the sigsetjmp() routine is available to
-call setjmp() and optionally save the process's signal mask.
-
-=item C<d_sitearch>
-
-From F<sitearch.U>:
-
-This variable conditionally defines C<SITEARCH> to hold the pathname
-of architecture-dependent library files for $package. If
-$sitearch is the same as $archlib, then this is set to undef.
-
-=item C<d_snprintf>
-
-From F<d_snprintf.U>:
-
-This variable conditionally defines the C<HAS_SNPRINTF> symbol, which
-indicates to the C program that the snprintf () library function
-is available.
-
-=item C<d_sockatmark>
-
-From F<d_sockatmark.U>:
-
-This variable conditionally defines the C<HAS_SOCKATMARK> symbol, which
-indicates to the C program that the sockatmark() routine is available.
-
-=item C<d_sockatmarkproto>
-
-From F<d_sockatmarkproto.U>:
-
-This variable conditionally defines the C<HAS_SOCKATMARK_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the sockatmark() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_socket>
-
-From F<d_socket.U>:
-
-This variable conditionally defines C<HAS_SOCKET>, which indicates
-that the C<BSD> socket interface is supported.
-
-=item C<d_socklen_t>
-
-From F<d_socklen_t.U>:
-
-This symbol will be defined if the C compiler supports socklen_t.
-
-=item C<d_sockpair>
-
-From F<d_socket.U>:
-
-This variable conditionally defines the C<HAS_SOCKETPAIR> symbol, which
-indicates that the C<BSD> socketpair() is supported.
-
-=item C<d_socks5_init>
-
-From F<d_socks5_init.U>:
-
-This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
-indicates to the C program that the socks5_init() routine is available.
-
-=item C<d_sprintf_returns_strlen>
-
-From F<d_sprintf_len.U>:
-
-This variable defines whether sprintf returns the length of the string
-(as per the C<ANSI> spec). Some C libraries retain compatibility with
-pre-C<ANSI> C and return a pointer to the passed in buffer; for these
-this variable will be undef.
-
-=item C<d_sqrtl>
-
-From F<d_sqrtl.U>:
-
-This variable conditionally defines the C<HAS_SQRTL> symbol, which
-indicates to the C program that the sqrtl() routine is available.
-
-=item C<d_srand48_r>
-
-From F<d_srand48_r.U>:
-
-This variable conditionally defines the HAS_SRAND48_R symbol,
-which indicates to the C program that the srand48_r()
-routine is available.
-
-=item C<d_srandom_r>
-
-From F<d_srandom_r.U>:
-
-This variable conditionally defines the C<HAS_SRANDOM_R> symbol,
-which indicates to the C program that the srandom_r()
-routine is available.
-
-=item C<d_sresgproto>
-
-From F<d_sresgproto.U>:
-
-This variable conditionally defines the C<HAS_SETRESGID_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the setresgid() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_sresuproto>
-
-From F<d_sresuproto.U>:
-
-This variable conditionally defines the C<HAS_SETRESUID_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the setresuid() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_statblks>
-
-From F<d_statblks.U>:
-
-This variable conditionally defines C<USE_STAT_BLOCKS>
-if this system has a stat structure declaring
-st_blksize and st_blocks.
-
-=item C<d_statfs_f_flags>
-
-From F<d_statfs_f_flags.U>:
-
-This variable conditionally defines the C<HAS_STRUCT_STATFS_F_FLAGS>
-symbol, which indicates to struct statfs from has f_flags member.
-This kind of struct statfs is coming from F<sys/mount.h> (C<BSD>),
-not from F<sys/statfs.h> (C<SYSV>).
-
-=item C<d_statfs_s>
-
-From F<d_statfs_s.U>:
-
-This variable conditionally defines the C<HAS_STRUCT_STATFS> symbol,
-which indicates that the struct statfs is supported.
-
-=item C<d_statvfs>
-
-From F<d_statvfs.U>:
-
-This variable conditionally defines the C<HAS_STATVFS> symbol, which
-indicates to the C program that the statvfs() routine is available.
-
-=item C<d_stdio_cnt_lval>
-
-From F<d_stdstdio.U>:
-
-This variable conditionally defines C<STDIO_CNT_LVALUE> if the
-C<FILE_cnt> macro can be used as an lvalue.
-
-=item C<d_stdio_ptr_lval>
-
-From F<d_stdstdio.U>:
-
-This variable conditionally defines C<STDIO_PTR_LVALUE> if the
-C<FILE_ptr> macro can be used as an lvalue.
-
-=item C<d_stdio_ptr_lval_nochange_cnt>
-
-From F<d_stdstdio.U>:
-
-This symbol is defined if using the C<FILE_ptr> macro as an lvalue
-to increase the pointer by n leaves File_cnt(fp) unchanged.
-
-=item C<d_stdio_ptr_lval_sets_cnt>
-
-From F<d_stdstdio.U>:
-
-This symbol is defined if using the C<FILE_ptr> macro as an lvalue
-to increase the pointer by n has the side effect of decreasing the
-value of File_cnt(fp) by n.
-
-=item C<d_stdio_stream_array>
-
-From F<stdio_streams.U>:
-
-This variable tells whether there is an array holding
-the stdio streams.
-
-=item C<d_stdiobase>
-
-From F<d_stdstdio.U>:
-
-This variable conditionally defines C<USE_STDIO_BASE> if this system
-has a C<FILE> structure declaring a usable _base field (or equivalent)
-in F<stdio.h>.
-
-=item C<d_stdstdio>
-
-From F<d_stdstdio.U>:
-
-This variable conditionally defines C<USE_STDIO_PTR> if this system
-has a C<FILE> structure declaring usable _ptr and _cnt fields (or
-equivalent) in F<stdio.h>.
-
-=item C<d_strchr>
-
-From F<d_strchr.U>:
-
-This variable conditionally defines C<HAS_STRCHR> if strchr() and
-strrchr() are available for string searching.
-
-=item C<d_strcoll>
-
-From F<d_strcoll.U>:
-
-This variable conditionally defines C<HAS_STRCOLL> if strcoll() is
-available to compare strings using collating information.
-
-=item C<d_strctcpy>
-
-From F<d_strctcpy.U>:
-
-This variable conditionally defines the C<USE_STRUCT_COPY> symbol, which
-indicates to the C program that this C compiler knows how to copy
-structures.
-
-=item C<d_strerrm>
-
-From F<d_strerror.U>:
-
-This variable holds what Strerrr is defined as to translate an error
-code condition into an error message string. It could be C<strerror>
-or a more C<complex> macro emulating strrror with sys_errlist[], or the
-C<unknown> string when both strerror and sys_errlist are missing.
-
-=item C<d_strerror>
-
-From F<d_strerror.U>:
-
-This variable conditionally defines C<HAS_STRERROR> if strerror() is
-available to translate error numbers to strings.
-
-=item C<d_strerror_r>
-
-From F<d_strerror_r.U>:
-
-This variable conditionally defines the C<HAS_STRERROR_R> symbol,
-which indicates to the C program that the strerror_r()
-routine is available.
-
-=item C<d_strftime>
-
-From F<d_strftime.U>:
-
-This variable conditionally defines the C<HAS_STRFTIME> symbol, which
-indicates to the C program that the strftime() routine is available.
-
-=item C<d_strlcat>
-
-From F<d_strlcat.U>:
-
-This variable conditionally defines the C<HAS_STRLCAT> symbol, which
-indicates to the C program that the strlcat () routine is available.
-
-=item C<d_strlcpy>
-
-From F<d_strlcpy.U>:
-
-This variable conditionally defines the C<HAS_STRLCPY> symbol, which
-indicates to the C program that the strlcpy () routine is available.
-
-=item C<d_strtod>
-
-From F<d_strtod.U>:
-
-This variable conditionally defines the C<HAS_STRTOD> symbol, which
-indicates to the C program that the strtod() routine is available
-to provide better numeric string conversion than atof().
-
-=item C<d_strtol>
-
-From F<d_strtol.U>:
-
-This variable conditionally defines the C<HAS_STRTOL> symbol, which
-indicates to the C program that the strtol() routine is available
-to provide better numeric string conversion than atoi() and friends.
-
-=item C<d_strtold>
-
-From F<d_strtold.U>:
-
-This variable conditionally defines the C<HAS_STRTOLD> symbol, which
-indicates to the C program that the strtold() routine is available.
-
-=item C<d_strtoll>
-
-From F<d_strtoll.U>:
-
-This variable conditionally defines the C<HAS_STRTOLL> symbol, which
-indicates to the C program that the strtoll() routine is available.
-
-=item C<d_strtoq>
-
-From F<d_strtoq.U>:
-
-This variable conditionally defines the C<HAS_STRTOQ> symbol, which
-indicates to the C program that the strtoq() routine is available.
-
-=item C<d_strtoul>
-
-From F<d_strtoul.U>:
-
-This variable conditionally defines the C<HAS_STRTOUL> symbol, which
-indicates to the C program that the strtoul() routine is available
-to provide conversion of strings to unsigned long.
-
-=item C<d_strtoull>
-
-From F<d_strtoull.U>:
-
-This variable conditionally defines the C<HAS_STRTOULL> symbol, which
-indicates to the C program that the strtoull() routine is available.
-
-=item C<d_strtouq>
-
-From F<d_strtouq.U>:
-
-This variable conditionally defines the C<HAS_STRTOUQ> symbol, which
-indicates to the C program that the strtouq() routine is available.
-
-=item C<d_strxfrm>
-
-From F<d_strxfrm.U>:
-
-This variable conditionally defines C<HAS_STRXFRM> if strxfrm() is
-available to transform strings.
-
-=item C<d_suidsafe>
-
-From F<d_dosuid.U>:
-
-This variable conditionally defines C<SETUID_SCRIPTS_ARE_SECURE_NOW>
-if setuid scripts can be secure. This test looks in F</dev/fd/>.
-
-=item C<d_symlink>
-
-From F<d_symlink.U>:
-
-This variable conditionally defines the C<HAS_SYMLINK> symbol, which
-indicates to the C program that the symlink() routine is available
-to create symbolic links.
-
-=item C<d_syscall>
-
-From F<d_syscall.U>:
-
-This variable conditionally defines C<HAS_SYSCALL> if syscall() is
-available call arbitrary system calls.
-
-=item C<d_syscallproto>
-
-From F<d_syscallproto.U>:
-
-This variable conditionally defines the C<HAS_SYSCALL_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the syscall() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_sysconf>
-
-From F<d_sysconf.U>:
-
-This variable conditionally defines the C<HAS_SYSCONF> symbol, which
-indicates to the C program that the sysconf() routine is available
-to determine system related limits and options.
-
-=item C<d_sysernlst>
-
-From F<d_strerror.U>:
-
-This variable conditionally defines C<HAS_SYS_ERRNOLIST> if sys_errnolist[]
-is available to translate error numbers to the symbolic name.
-
-=item C<d_syserrlst>
-
-From F<d_strerror.U>:
-
-This variable conditionally defines C<HAS_SYS_ERRLIST> if sys_errlist[] is
-available to translate error numbers to strings.
-
-=item C<d_system>
-
-From F<d_system.U>:
-
-This variable conditionally defines C<HAS_SYSTEM> if system() is
-available to issue a shell command.
-
-=item C<d_tcgetpgrp>
-
-From F<d_tcgtpgrp.U>:
-
-This variable conditionally defines the C<HAS_TCGETPGRP> symbol, which
-indicates to the C program that the tcgetpgrp() routine is available.
-to get foreground process group C<ID>.
-
-=item C<d_tcsetpgrp>
-
-From F<d_tcstpgrp.U>:
-
-This variable conditionally defines the C<HAS_TCSETPGRP> symbol, which
-indicates to the C program that the tcsetpgrp() routine is available
-to set foreground process group C<ID>.
-
-=item C<d_telldir>
-
-From F<d_readdir.U>:
-
-This variable conditionally defines C<HAS_TELLDIR> if telldir() is
-available.
-
-=item C<d_telldirproto>
-
-From F<d_telldirproto.U>:
-
-This variable conditionally defines the C<HAS_TELLDIR_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the telldir() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_time>
-
-From F<d_time.U>:
-
-This variable conditionally defines the C<HAS_TIME> symbol, which indicates
-that the time() routine exists. The time() routine is normaly
-provided on C<UNIX> systems.
-
-=item C<d_times>
-
-From F<d_times.U>:
-
-This variable conditionally defines the C<HAS_TIMES> symbol, which indicates
-that the times() routine exists. The times() routine is normaly
-provided on C<UNIX> systems. You may have to include <sys/times.h>.
-
-=item C<d_tm_tm_gmtoff>
-
-From F<i_time.U>:
-
-This variable conditionally defines C<HAS_TM_TM_GMTOFF>, which indicates
-indicates to the C program that the struct tm has the tm_gmtoff field.
-
-=item C<d_tm_tm_zone>
-
-From F<i_time.U>:
-
-This variable conditionally defines C<HAS_TM_TM_ZONE>, which indicates
-indicates to the C program that the struct tm has the tm_zone field.
-
-=item C<d_tmpnam_r>
-
-From F<d_tmpnam_r.U>:
-
-This variable conditionally defines the C<HAS_TMPNAM_R> symbol,
-which indicates to the C program that the tmpnam_r()
-routine is available.
-
-=item C<d_truncate>
-
-From F<d_truncate.U>:
-
-This variable conditionally defines C<HAS_TRUNCATE> if truncate() is
-available to truncate files.
-
-=item C<d_ttyname_r>
-
-From F<d_ttyname_r.U>:
-
-This variable conditionally defines the C<HAS_TTYNAME_R> symbol,
-which indicates to the C program that the ttyname_r()
-routine is available.
-
-=item C<d_tzname>
-
-From F<d_tzname.U>:
-
-This variable conditionally defines C<HAS_TZNAME> if tzname[] is
-available to access timezone names.
-
-=item C<d_u32align>
-
-From F<d_u32align.U>:
-
-This variable tells whether you must access character data
-through U32-aligned pointers.
-
-=item C<d_ualarm>
-
-From F<d_ualarm.U>:
-
-This variable conditionally defines the C<HAS_UALARM> symbol, which
-indicates to the C program that the ualarm() routine is available.
-
-=item C<d_umask>
-
-From F<d_umask.U>:
-
-This variable conditionally defines the C<HAS_UMASK> symbol, which
-indicates to the C program that the umask() routine is available.
-to set and get the value of the file creation mask.
-
-=item C<d_uname>
-
-From F<d_gethname.U>:
-
-This variable conditionally defines the C<HAS_UNAME> symbol, which
-indicates to the C program that the uname() routine may be
-used to derive the host name.
-
-=item C<d_union_semun>
-
-From F<d_union_semun.U>:
-
-This variable conditionally defines C<HAS_UNION_SEMUN> if the
-union semun is defined by including <sys/sem.h>.
-
-=item C<d_unordered>
-
-From F<d_unordered.U>:
-
-This variable conditionally defines the C<HAS_UNORDERED> symbol, which
-indicates to the C program that the unordered() routine is available.
-
-=item C<d_unsetenv>
-
-From F<d_unsetenv.U>:
-
-This variable conditionally defines the C<HAS_UNSETENV> symbol, which
-indicates to the C program that the unsetenv () routine is available.
-
-=item C<d_usleep>
-
-From F<d_usleep.U>:
-
-This variable conditionally defines C<HAS_USLEEP> if usleep() is
-available to do high granularity sleeps.
-
-=item C<d_usleepproto>
-
-From F<d_usleepproto.U>:
-
-This variable conditionally defines the C<HAS_USLEEP_PROTO> symbol,
-which indicates to the C program that the system provides
-a prototype for the usleep() function. Otherwise, it is
-up to the program to supply one.
-
-=item C<d_ustat>
-
-From F<d_ustat.U>:
-
-This variable conditionally defines C<HAS_USTAT> if ustat() is
-available to query file system statistics by dev_t.
-
-=item C<d_vendorarch>
-
-From F<vendorarch.U>:
-
-This variable conditionally defined C<PERL_VENDORARCH>.
-
-=item C<d_vendorbin>
-
-From F<vendorbin.U>:
-
-This variable conditionally defines C<PERL_VENDORBIN>.
-
-=item C<d_vendorlib>
-
-From F<vendorlib.U>:
-
-This variable conditionally defines C<PERL_VENDORLIB>.
-
-=item C<d_vendorscript>
-
-From F<vendorscript.U>:
-
-This variable conditionally defines C<PERL_VENDORSCRIPT>.
-
-=item C<d_vfork>
-
-From F<d_vfork.U>:
-
-This variable conditionally defines the C<HAS_VFORK> symbol, which
-indicates the vfork() routine is available.
-
-=item C<d_void_closedir>
-
-From F<d_closedir.U>:
-
-This variable conditionally defines C<VOID_CLOSEDIR> if closedir()
-does not return a value.
-
-=item C<d_voidsig>
-
-From F<d_voidsig.U>:
-
-This variable conditionally defines C<VOIDSIG> if this system
-declares "void (*signal(...))()" in F<signal.h>. The old way was to
-declare it as "int (*signal(...))()".
-
-=item C<d_voidtty>
-
-From F<i_sysioctl.U>:
-
-This variable conditionally defines C<USE_IOCNOTTY> to indicate that the
-ioctl() call with C<TIOCNOTTY> should be used to void tty association.
-Otherwise (on C<USG> probably), it is enough to close the standard file
-decriptors and do a setpgrp().
-
-=item C<d_volatile>
-
-From F<d_volatile.U>:
-
-This variable conditionally defines the C<HASVOLATILE> symbol, which
-indicates to the C program that this C compiler knows about the
-volatile declaration.
-
-=item C<d_vprintf>
-
-From F<d_vprintf.U>:
-
-This variable conditionally defines the C<HAS_VPRINTF> symbol, which
-indicates to the C program that the vprintf() routine is available
-to printf with a pointer to an argument list.
-
-=item C<d_vsnprintf>
-
-From F<d_snprintf.U>:
-
-This variable conditionally defines the C<HAS_VSNPRINTF> symbol, which
-indicates to the C program that the vsnprintf () library function
-is available.
-
-=item C<d_wait4>
-
-From F<d_wait4.U>:
-
-This variable conditionally defines the HAS_WAIT4 symbol, which
-indicates the wait4() routine is available.
-
-=item C<d_waitpid>
-
-From F<d_waitpid.U>:
-
-This variable conditionally defines C<HAS_WAITPID> if waitpid() is
-available to wait for child process.
-
-=item C<d_wcstombs>
-
-From F<d_wcstombs.U>:
-
-This variable conditionally defines the C<HAS_WCSTOMBS> symbol, which
-indicates to the C program that the wcstombs() routine is available
-to convert wide character strings to multibyte strings.
-
-=item C<d_wctomb>
-
-From F<d_wctomb.U>:
-
-This variable conditionally defines the C<HAS_WCTOMB> symbol, which
-indicates to the C program that the wctomb() routine is available
-to convert a wide character to a multibyte.
-
-=item C<d_writev>
-
-From F<d_writev.U>:
-
-This variable conditionally defines the C<HAS_WRITEV> symbol, which
-indicates to the C program that the writev() routine is available.
-
-=item C<d_xenix>
-
-From F<Guess.U>:
-
-This variable conditionally defines the symbol C<XENIX>, which alerts
-the C program that it runs under Xenix.
-
-=item C<date>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the date program. After Configure runs,
-the value is reset to a plain C<date> and is not useful.
-
-=item C<db_hashtype>
-
-From F<i_db.U>:
-
-This variable contains the type of the hash structure element
-in the <db.h> header file. In older versions of C<DB>, it was
-int, while in newer ones it is u_int32_t.
-
-=item C<db_prefixtype>
-
-From F<i_db.U>:
-
-This variable contains the type of the prefix structure element
-in the <db.h> header file. In older versions of C<DB>, it was
-int, while in newer ones it is size_t.
-
-=item C<db_version_major>
-
-From F<i_db.U>:
-
-This variable contains the major version number of
-Berkeley C<DB> found in the <db.h> header file.
-
-=item C<db_version_minor>
-
-From F<i_db.U>:
-
-This variable contains the minor version number of
-Berkeley C<DB> found in the <db.h> header file.
-For C<DB> version 1 this is always 0.
-
-=item C<db_version_patch>
-
-From F<i_db.U>:
-
-This variable contains the patch version number of
-Berkeley C<DB> found in the <db.h> header file.
-For C<DB> version 1 this is always 0.
-
-=item C<defvoidused>
-
-From F<voidflags.U>:
-
-This variable contains the default value of the C<VOIDUSED> symbol (15).
-
-=item C<direntrytype>
-
-From F<i_dirent.U>:
-
-This symbol is set to C<struct direct> or C<struct dirent> depending on
-whether dirent is available or not. You should use this pseudo type to
-portably declare your directory entries.
-
-=item C<dlext>
-
-From F<dlext.U>:
-
-This variable contains the extension that is to be used for the
-dynamically loaded modules that perl generaties.
-
-=item C<dlsrc>
-
-From F<dlsrc.U>:
-
-This variable contains the name of the dynamic loading file that
-will be used with the package.
-
-=item C<doublesize>
-
-From F<doublesize.U>:
-
-This variable contains the value of the C<DOUBLESIZE> symbol, which
-indicates to the C program how many bytes there are in a double.
-
-=item C<drand01>
-
-From F<randfunc.U>:
-
-Indicates the macro to be used to generate normalized
-random numbers. Uses randfunc, often divided by
-(double) (((unsigned long) 1 << randbits)) in order to
-normalize the result.
-In C programs, the macro C<Drand01> is mapped to drand01.
-
-=item C<drand48_r_proto>
-
-From F<d_drand48_r.U>:
-
-This variable encodes the prototype of drand48_r.
-It is zero if d_drand48_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_drand48_r
-is defined.
-
-=item C<dtrace>
-
-From F<usedtrace.U>:
-
-This variable holds the location of the dtrace executable.
-
-=item C<dynamic_ext>
-
-From F<Extensions.U>:
-
-This variable holds a list of C<XS> extension files we want to
-link dynamically into the package. It is used by Makefile.
-
-=back
-
-=cut
-
-=head2 e
-
-=over 4
-
-=cut
-
-=item C<eagain>
-
-From F<nblock_io.U>:
-
-This variable bears the symbolic errno code set by read() when no
-data is present on the file and non-blocking I/O was enabled (otherwise,
-read() blocks naturally).
-
-=item C<ebcdic>
-
-From F<ebcdic.U>:
-
-This variable conditionally defines C<EBCDIC> if this
-system uses C<EBCDIC> encoding. Among other things, this
-means that the character ranges are not contiguous.
-See F<trnl.U>
-
-=item C<echo>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the echo program. After Configure runs,
-the value is reset to a plain C<echo> and is not useful.
-
-=item C<egrep>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the egrep program. After Configure runs,
-the value is reset to a plain C<egrep> and is not useful.
-
-=item C<emacs>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<endgrent_r_proto>
-
-From F<d_endgrent_r.U>:
-
-This variable encodes the prototype of endgrent_r.
-It is zero if d_endgrent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endgrent_r
-is defined.
-
-=item C<endhostent_r_proto>
-
-From F<d_endhostent_r.U>:
-
-This variable encodes the prototype of endhostent_r.
-It is zero if d_endhostent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endhostent_r
-is defined.
-
-=item C<endnetent_r_proto>
-
-From F<d_endnetent_r.U>:
-
-This variable encodes the prototype of endnetent_r.
-It is zero if d_endnetent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endnetent_r
-is defined.
-
-=item C<endprotoent_r_proto>
-
-From F<d_endprotoent_r.U>:
-
-This variable encodes the prototype of endprotoent_r.
-It is zero if d_endprotoent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endprotoent_r
-is defined.
-
-=item C<endpwent_r_proto>
-
-From F<d_endpwent_r.U>:
-
-This variable encodes the prototype of endpwent_r.
-It is zero if d_endpwent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endpwent_r
-is defined.
-
-=item C<endservent_r_proto>
-
-From F<d_endservent_r.U>:
-
-This variable encodes the prototype of endservent_r.
-It is zero if d_endservent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endservent_r
-is defined.
-
-=item C<eunicefix>
-
-From F<Init.U>:
-
-When running under Eunice this variable contains a command which will
-convert a shell script to the proper form of text file for it to be
-executable by the shell. On other systems it is a no-op.
-
-=item C<exe_ext>
-
-From F<Unix.U>:
-
-This is an old synonym for _exe.
-
-=item C<expr>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the expr program. After Configure runs,
-the value is reset to a plain C<expr> and is not useful.
-
-=item C<extensions>
-
-From F<Extensions.U>:
-
-This variable holds a list of all extension files (both C<XS> and
-non-xs linked into the package. It is propagated to F<Config.pm>
-and is typically used to test whether a particular extesion
-is available.
-
-=item C<extras>
-
-From F<Extras.U>:
-
-This variable holds a list of extra modules to install.
-
-=back
-
-=cut
-
-=head2 f
-
-=over 4
-
-=cut
-
-=item C<fflushall>
-
-From F<fflushall.U>:
-
-This symbol, if defined, tells that to flush
-all pending stdio output one must loop through all
-the stdio file handles stored in an array and fflush them.
-Note that if fflushNULL is defined, fflushall will not
-even be probed for and will be left undefined.
-
-=item C<fflushNULL>
-
-From F<fflushall.U>:
-
-This symbol, if defined, tells that fflush(C<NULL>) does flush
-all pending stdio output.
-
-=item C<find>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<firstmakefile>
-
-From F<Unix.U>:
-
-This variable defines the first file searched by make. On unix,
-it is makefile (then Makefile). On case-insensitive systems,
-it might be something else. This is only used to deal with
-convoluted make depend tricks.
-
-=item C<flex>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<fpossize>
-
-From F<fpossize.U>:
-
-This variable contains the size of a fpostype in bytes.
-
-=item C<fpostype>
-
-From F<fpostype.U>:
-
-This variable defines Fpos_t to be something like fpos_t, long,
-uint, or whatever type is used to declare file positions in libc.
-
-=item C<freetype>
-
-From F<mallocsrc.U>:
-
-This variable contains the return type of free(). It is usually
-void, but occasionally int.
-
-=item C<from>
-
-From F<Cross.U>:
-
-This variable contains the command used by Configure
-to copy files from the target host. Useful and available
-only during Perl build.
-The string C<:> if not cross-compiling.
-
-=item C<full_ar>
-
-From F<Loc_ar.U>:
-
-This variable contains the full pathname to C<ar>, whether or
-not the user has specified C<portability>. This is only used
-in the F<Makefile.SH>.
-
-=item C<full_csh>
-
-From F<d_csh.U>:
-
-This variable contains the full pathname to C<csh>, whether or
-not the user has specified C<portability>. This is only used
-in the compiled C program, and we assume that all systems which
-can share this executable will have the same full pathname to
-F<csh.>
-
-=item C<full_sed>
-
-From F<Loc_sed.U>:
-
-This variable contains the full pathname to C<sed>, whether or
-not the user has specified C<portability>. This is only used
-in the compiled C program, and we assume that all systems which
-can share this executable will have the same full pathname to
-F<sed.>
-
-=back
-
-=cut
-
-=head2 g
-
-=over 4
-
-=cut
-
-=item C<gccansipedantic>
-
-From F<gccvers.U>:
-
-If C<GNU> cc (gcc) is used, this variable will enable (if set) the
--ansi and -pedantic ccflags for building core files (through
-cflags script). (See F<Porting/pumpkin.pod> for full description).
-
-=item C<gccosandvers>
-
-From F<gccvers.U>:
-
-If C<GNU> cc (gcc) is used, this variable holds the operating system
-and version used to compile gcc. It is set to '' if not gcc,
-or if nothing useful can be parsed as the os version.
-
-=item C<gccversion>
-
-From F<gccvers.U>:
-
-If C<GNU> cc (gcc) is used, this variable holds C<1> or C<2> to
-indicate whether the compiler is version 1 or 2. This is used in
-setting some of the default cflags. It is set to '' if not gcc.
-
-=item C<getgrent_r_proto>
-
-From F<d_getgrent_r.U>:
-
-This variable encodes the prototype of getgrent_r.
-It is zero if d_getgrent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrent_r
-is defined.
-
-=item C<getgrgid_r_proto>
-
-From F<d_getgrgid_r.U>:
-
-This variable encodes the prototype of getgrgid_r.
-It is zero if d_getgrgid_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrgid_r
-is defined.
-
-=item C<getgrnam_r_proto>
-
-From F<d_getgrnam_r.U>:
-
-This variable encodes the prototype of getgrnam_r.
-It is zero if d_getgrnam_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrnam_r
-is defined.
-
-=item C<gethostbyaddr_r_proto>
-
-From F<d_gethostbyaddr_r.U>:
-
-This variable encodes the prototype of gethostbyaddr_r.
-It is zero if d_gethostbyaddr_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyaddr_r
-is defined.
-
-=item C<gethostbyname_r_proto>
-
-From F<d_gethostbyname_r.U>:
-
-This variable encodes the prototype of gethostbyname_r.
-It is zero if d_gethostbyname_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyname_r
-is defined.
-
-=item C<gethostent_r_proto>
-
-From F<d_gethostent_r.U>:
-
-This variable encodes the prototype of gethostent_r.
-It is zero if d_gethostent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostent_r
-is defined.
-
-=item C<getlogin_r_proto>
-
-From F<d_getlogin_r.U>:
-
-This variable encodes the prototype of getlogin_r.
-It is zero if d_getlogin_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getlogin_r
-is defined.
-
-=item C<getnetbyaddr_r_proto>
-
-From F<d_getnetbyaddr_r.U>:
-
-This variable encodes the prototype of getnetbyaddr_r.
-It is zero if d_getnetbyaddr_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyaddr_r
-is defined.
-
-=item C<getnetbyname_r_proto>
-
-From F<d_getnetbyname_r.U>:
-
-This variable encodes the prototype of getnetbyname_r.
-It is zero if d_getnetbyname_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyname_r
-is defined.
-
-=item C<getnetent_r_proto>
-
-From F<d_getnetent_r.U>:
-
-This variable encodes the prototype of getnetent_r.
-It is zero if d_getnetent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetent_r
-is defined.
-
-=item C<getprotobyname_r_proto>
-
-From F<d_getprotobyname_r.U>:
-
-This variable encodes the prototype of getprotobyname_r.
-It is zero if d_getprotobyname_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobyname_r
-is defined.
-
-=item C<getprotobynumber_r_proto>
-
-From F<d_getprotobynumber_r.U>:
-
-This variable encodes the prototype of getprotobynumber_r.
-It is zero if d_getprotobynumber_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobynumber_r
-is defined.
-
-=item C<getprotoent_r_proto>
-
-From F<d_getprotoent_r.U>:
-
-This variable encodes the prototype of getprotoent_r.
-It is zero if d_getprotoent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotoent_r
-is defined.
-
-=item C<getpwent_r_proto>
-
-From F<d_getpwent_r.U>:
-
-This variable encodes the prototype of getpwent_r.
-It is zero if d_getpwent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwent_r
-is defined.
-
-=item C<getpwnam_r_proto>
-
-From F<d_getpwnam_r.U>:
-
-This variable encodes the prototype of getpwnam_r.
-It is zero if d_getpwnam_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwnam_r
-is defined.
-
-=item C<getpwuid_r_proto>
-
-From F<d_getpwuid_r.U>:
-
-This variable encodes the prototype of getpwuid_r.
-It is zero if d_getpwuid_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwuid_r
-is defined.
-
-=item C<getservbyname_r_proto>
-
-From F<d_getservbyname_r.U>:
-
-This variable encodes the prototype of getservbyname_r.
-It is zero if d_getservbyname_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyname_r
-is defined.
-
-=item C<getservbyport_r_proto>
-
-From F<d_getservbyport_r.U>:
-
-This variable encodes the prototype of getservbyport_r.
-It is zero if d_getservbyport_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyport_r
-is defined.
-
-=item C<getservent_r_proto>
-
-From F<d_getservent_r.U>:
-
-This variable encodes the prototype of getservent_r.
-It is zero if d_getservent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservent_r
-is defined.
-
-=item C<getspnam_r_proto>
-
-From F<d_getspnam_r.U>:
-
-This variable encodes the prototype of getspnam_r.
-It is zero if d_getspnam_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getspnam_r
-is defined.
-
-=item C<gidformat>
-
-From F<gidf.U>:
-
-This variable contains the format string used for printing a Gid_t.
-
-=item C<gidsign>
-
-From F<gidsign.U>:
-
-This variable contains the signedness of a gidtype.
-1 for unsigned, -1 for signed.
-
-=item C<gidsize>
-
-From F<gidsize.U>:
-
-This variable contains the size of a gidtype in bytes.
-
-=item C<gidtype>
-
-From F<gidtype.U>:
-
-This variable defines Gid_t to be something like gid_t, int,
-ushort, or whatever type is used to declare the return type
-of getgid(). Typically, it is the type of group ids in the kernel.
-
-=item C<glibpth>
-
-From F<libpth.U>:
-
-This variable holds the general path (space-separated) used to
-find libraries. It may contain directories that do not exist on
-this platform, libpth is the cleaned-up version.
-
-=item C<gmake>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the gmake program. After Configure runs,
-the value is reset to a plain C<gmake> and is not useful.
-
-=item C<gmtime_r_proto>
-
-From F<d_gmtime_r.U>:
-
-This variable encodes the prototype of gmtime_r.
-It is zero if d_gmtime_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gmtime_r
-is defined.
-
-=item C<gnulibc_version>
-
-From F<d_gnulibc.U>:
-
-This variable contains the version number of the C<GNU> C library.
-It is usually something like F<2.2.5>. It is a plain '' if this
-is not the C<GNU> C library, or if the version is unknown.
-
-=item C<grep>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the grep program. After Configure runs,
-the value is reset to a plain C<grep> and is not useful.
-
-=item C<groupcat>
-
-From F<nis.U>:
-
-This variable contains a command that produces the text of the
-F</etc/group> file. This is normally "cat F</etc/group>", but can be
-"ypcat group" when C<NIS> is used.
-On some systems, such as os390, there may be no equivalent
-command, in which case this variable is unset.
-
-=item C<groupstype>
-
-From F<groupstype.U>:
-
-This variable defines Groups_t to be something like gid_t, int,
-ushort, or whatever type is used for the second argument to
-getgroups() and setgroups(). Usually, this is the same as
-gidtype (gid_t), but sometimes it isn't.
-
-=item C<gzip>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the gzip program. After Configure runs,
-the value is reset to a plain C<gzip> and is not useful.
-
-=back
-
-=cut
-
-=head2 h
-
-=over 4
-
-=cut
-
-=item C<h_fcntl>
-
-From F<h_fcntl.U>:
-
-This is variable gets set in various places to tell i_fcntl that
-<fcntl.h> should be included.
-
-=item C<h_sysfile>
-
-From F<h_sysfile.U>:
-
-This is variable gets set in various places to tell i_sys_file that
-<sys/file.h> should be included.
-
-=item C<hint>
-
-From F<Oldconfig.U>:
-
-Gives the type of hints used for previous answers. May be one of
-C<default>, C<recommended> or C<previous>.
-
-=item C<hostcat>
-
-From F<nis.U>:
-
-This variable contains a command that produces the text of the
-F</etc/hosts> file. This is normally "cat F</etc/hosts>", but can be
-"ypcat hosts" when C<NIS> is used.
-On some systems, such as os390, there may be no equivalent
-command, in which case this variable is unset.
-
-=item C<html1dir>
-
-From F<html1dir.U>:
-
-This variable contains the name of the directory in which html
-source pages are to be put. This directory is for pages
-that describe whole programs, not libraries or modules. It
-is intended to correspond roughly to section 1 of the Unix
-manuals.
-
-=item C<html1direxp>
-
-From F<html1dir.U>:
-
-This variable is the same as the html1dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<html3dir>
-
-From F<html3dir.U>:
-
-This variable contains the name of the directory in which html
-source pages are to be put. This directory is for pages
-that describe libraries or modules. It is intended to
-correspond roughly to section 3 of the Unix manuals.
-
-=item C<html3direxp>
-
-From F<html3dir.U>:
-
-This variable is the same as the html3dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=back
-
-=cut
-
-=head2 i
-
-=over 4
-
-=cut
-
-=item C<i16size>
-
-From F<perlxv.U>:
-
-This variable is the size of an I16 in bytes.
-
-=item C<i16type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's I16.
-
-=item C<i32size>
-
-From F<perlxv.U>:
-
-This variable is the size of an I32 in bytes.
-
-=item C<i32type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's I32.
-
-=item C<i64size>
-
-From F<perlxv.U>:
-
-This variable is the size of an I64 in bytes.
-
-=item C<i64type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's I64.
-
-=item C<i8size>
-
-From F<perlxv.U>:
-
-This variable is the size of an I8 in bytes.
-
-=item C<i8type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's I8.
-
-=item C<i_arpainet>
-
-From F<i_arpainet.U>:
-
-This variable conditionally defines the C<I_ARPA_INET> symbol,
-and indicates whether a C program should include <arpa/inet.h>.
-
-=item C<i_assert>
-
-From F<i_assert.U>:
-
-This variable conditionally defines the C<I_ASSERT> symbol, which
-indicates to the C program that <assert.h> exists and could be
-included.
-
-=item C<i_bsdioctl>
-
-From F<i_sysioctl.U>:
-
-This variable conditionally defines the C<I_SYS_BSDIOCTL> symbol, which
-indicates to the C program that <sys/bsdioctl.h> exists and should
-be included.
-
-=item C<i_crypt>
-
-From F<i_crypt.U>:
-
-This variable conditionally defines the C<I_CRYPT> symbol, and indicates
-whether a C program should include <crypt.h>.
-
-=item C<i_db>
-
-From F<i_db.U>:
-
-This variable conditionally defines the C<I_DB> symbol, and indicates
-whether a C program may include Berkeley's C<DB> include file <db.h>.
-
-=item C<i_dbm>
-
-From F<i_dbm.U>:
-
-This variable conditionally defines the C<I_DBM> symbol, which
-indicates to the C program that <dbm.h> exists and should
-be included.
-
-=item C<i_dirent>
-
-From F<i_dirent.U>:
-
-This variable conditionally defines C<I_DIRENT>, which indicates
-to the C program that it should include <dirent.h>.
-
-=item C<i_dld>
-
-From F<i_dld.U>:
-
-This variable conditionally defines the C<I_DLD> symbol, which
-indicates to the C program that <dld.h> (C<GNU> dynamic loading)
-exists and should be included.
-
-=item C<i_dlfcn>
-
-From F<i_dlfcn.U>:
-
-This variable conditionally defines the C<I_DLFCN> symbol, which
-indicates to the C program that <dlfcn.h> exists and should
-be included.
-
-=item C<i_fcntl>
-
-From F<i_fcntl.U>:
-
-This variable controls the value of C<I_FCNTL> (which tells
-the C program to include <fcntl.h>).
-
-=item C<i_float>
-
-From F<i_float.U>:
-
-This variable conditionally defines the C<I_FLOAT> symbol, and indicates
-whether a C program may include <float.h> to get symbols like C<DBL_MAX>
-or C<DBL_MIN>, F<i.e>. machine dependent floating point values.
-
-=item C<i_fp>
-
-From F<i_fp.U>:
-
-This variable conditionally defines the C<I_FP> symbol, and indicates
-whether a C program should include <fp.h>.
-
-=item C<i_fp_class>
-
-From F<i_fp_class.U>:
-
-This variable conditionally defines the C<I_FP_CLASS> symbol, and indicates
-whether a C program should include <fp_class.h>.
-
-=item C<i_gdbm>
-
-From F<i_gdbm.U>:
-
-This variable conditionally defines the C<I_GDBM> symbol, which
-indicates to the C program that <gdbm.h> exists and should
-be included.
-
-=item C<i_gdbm_ndbm>
-
-From F<i_ndbm.U>:
-
-This variable conditionally defines the C<I_GDBM_NDBM> symbol, which
-indicates to the C program that <gdbm-F<ndbm.h>> exists and should
-be included. This is the location of the F<ndbm.h> compatibility file
-in Debian 4.0.
-
-=item C<i_gdbmndbm>
-
-From F<i_ndbm.U>:
-
-This variable conditionally defines the C<I_GDBMNDBM> symbol, which
-indicates to the C program that <gdbm/ndbm.h> exists and should
-be included. This was the location of the F<ndbm.h> compatibility file
-in RedHat 7.1.
-
-=item C<i_grp>
-
-From F<i_grp.U>:
-
-This variable conditionally defines the C<I_GRP> symbol, and indicates
-whether a C program should include <grp.h>.
-
-=item C<i_ieeefp>
-
-From F<i_ieeefp.U>:
-
-This variable conditionally defines the C<I_IEEEFP> symbol, and indicates
-whether a C program should include <ieeefp.h>.
-
-=item C<i_inttypes>
-
-From F<i_inttypes.U>:
-
-This variable conditionally defines the C<I_INTTYPES> symbol,
-and indicates whether a C program should include <inttypes.h>.
-
-=item C<i_langinfo>
-
-From F<i_langinfo.U>:
-
-This variable conditionally defines the C<I_LANGINFO> symbol,
-and indicates whether a C program should include <langinfo.h>.
-
-=item C<i_libutil>
-
-From F<i_libutil.U>:
-
-This variable conditionally defines the C<I_LIBUTIL> symbol, and indicates
-whether a C program should include <libutil.h>.
-
-=item C<i_limits>
-
-From F<i_limits.U>:
-
-This variable conditionally defines the C<I_LIMITS> symbol, and indicates
-whether a C program may include <limits.h> to get symbols like C<WORD_BIT>
-and friends.
-
-=item C<i_locale>
-
-From F<i_locale.U>:
-
-This variable conditionally defines the C<I_LOCALE> symbol,
-and indicates whether a C program should include <locale.h>.
-
-=item C<i_machcthr>
-
-From F<i_machcthr.U>:
-
-This variable conditionally defines the C<I_MACH_CTHREADS> symbol,
-and indicates whether a C program should include <mach/cthreads.h>.
-
-=item C<i_malloc>
-
-From F<i_malloc.U>:
-
-This variable conditionally defines the C<I_MALLOC> symbol, and indicates
-whether a C program should include <malloc.h>.
-
-=item C<i_mallocmalloc>
-
-From F<i_mallocmalloc.U>:
-
-This variable conditionally defines the C<I_MALLOCMALLOC> symbol,
-and indicates whether a C program should include <malloc/malloc.h>.
-
-=item C<i_math>
-
-From F<i_math.U>:
-
-This variable conditionally defines the C<I_MATH> symbol, and indicates
-whether a C program may include <math.h>.
-
-=item C<i_memory>
-
-From F<i_memory.U>:
-
-This variable conditionally defines the C<I_MEMORY> symbol, and indicates
-whether a C program should include <memory.h>.
-
-=item C<i_mntent>
-
-From F<i_mntent.U>:
-
-This variable conditionally defines the C<I_MNTENT> symbol, and indicates
-whether a C program should include <mntent.h>.
-
-=item C<i_ndbm>
-
-From F<i_ndbm.U>:
-
-This variable conditionally defines the C<I_NDBM> symbol, which
-indicates to the C program that <ndbm.h> exists and should
-be included.
-
-=item C<i_netdb>
-
-From F<i_netdb.U>:
-
-This variable conditionally defines the C<I_NETDB> symbol, and indicates
-whether a C program should include <netdb.h>.
-
-=item C<i_neterrno>
-
-From F<i_neterrno.U>:
-
-This variable conditionally defines the C<I_NET_ERRNO> symbol, which
-indicates to the C program that <net/errno.h> exists and should
-be included.
-
-=item C<i_netinettcp>
-
-From F<i_netinettcp.U>:
-
-This variable conditionally defines the C<I_NETINET_TCP> symbol,
-and indicates whether a C program should include <netinet/tcp.h>.
-
-=item C<i_niin>
-
-From F<i_niin.U>:
-
-This variable conditionally defines C<I_NETINET_IN>, which indicates
-to the C program that it should include <netinet/in.h>. Otherwise,
-you may try <sys/in.h>.
-
-=item C<i_poll>
-
-From F<i_poll.U>:
-
-This variable conditionally defines the C<I_POLL> symbol, and indicates
-whether a C program should include <poll.h>.
-
-=item C<i_prot>
-
-From F<i_prot.U>:
-
-This variable conditionally defines the C<I_PROT> symbol, and indicates
-whether a C program should include <prot.h>.
-
-=item C<i_pthread>
-
-From F<i_pthread.U>:
-
-This variable conditionally defines the C<I_PTHREAD> symbol,
-and indicates whether a C program should include <pthread.h>.
-
-=item C<i_pwd>
-
-From F<i_pwd.U>:
-
-This variable conditionally defines C<I_PWD>, which indicates
-to the C program that it should include <pwd.h>.
-
-=item C<i_rpcsvcdbm>
-
-From F<i_dbm.U>:
-
-This variable conditionally defines the C<I_RPCSVC_DBM> symbol, which
-indicates to the C program that <rpcsvc/dbm.h> exists and should
-be included. Some System V systems might need this instead of <dbm.h>.
-
-=item C<i_sfio>
-
-From F<i_sfio.U>:
-
-This variable conditionally defines the C<I_SFIO> symbol,
-and indicates whether a C program should include <sfio.h>.
-
-=item C<i_sgtty>
-
-From F<i_termio.U>:
-
-This variable conditionally defines the C<I_SGTTY> symbol, which
-indicates to the C program that it should include <sgtty.h> rather
-than <termio.h>.
-
-=item C<i_shadow>
-
-From F<i_shadow.U>:
-
-This variable conditionally defines the C<I_SHADOW> symbol, and indicates
-whether a C program should include <shadow.h>.
-
-=item C<i_socks>
-
-From F<i_socks.U>:
-
-This variable conditionally defines the C<I_SOCKS> symbol, and indicates
-whether a C program should include <socks.h>.
-
-=item C<i_stdarg>
-
-From F<i_varhdr.U>:
-
-This variable conditionally defines the C<I_STDARG> symbol, which
-indicates to the C program that <stdarg.h> exists and should
-be included.
-
-=item C<i_stddef>
-
-From F<i_stddef.U>:
-
-This variable conditionally defines the C<I_STDDEF> symbol, which
-indicates to the C program that <stddef.h> exists and should
-be included.
-
-=item C<i_stdlib>
-
-From F<i_stdlib.U>:
-
-This variable conditionally defines the C<I_STDLIB> symbol, which
-indicates to the C program that <stdlib.h> exists and should
-be included.
-
-=item C<i_string>
-
-From F<i_string.U>:
-
-This variable conditionally defines the C<I_STRING> symbol, which
-indicates that <string.h> should be included rather than <strings.h>.
-
-=item C<i_sunmath>
-
-From F<i_sunmath.U>:
-
-This variable conditionally defines the C<I_SUNMATH> symbol, and indicates
-whether a C program should include <sunmath.h>.
-
-=item C<i_sysaccess>
-
-From F<i_sysaccess.U>:
-
-This variable conditionally defines the C<I_SYS_ACCESS> symbol,
-and indicates whether a C program should include <sys/access.h>.
-
-=item C<i_sysdir>
-
-From F<i_sysdir.U>:
-
-This variable conditionally defines the C<I_SYS_DIR> symbol, and indicates
-whether a C program should include <sys/dir.h>.
-
-=item C<i_sysfile>
-
-From F<i_sysfile.U>:
-
-This variable conditionally defines the C<I_SYS_FILE> symbol, and indicates
-whether a C program should include <sys/file.h> to get C<R_OK> and friends.
-
-=item C<i_sysfilio>
-
-From F<i_sysioctl.U>:
-
-This variable conditionally defines the C<I_SYS_FILIO> symbol, which
-indicates to the C program that <sys/filio.h> exists and should
-be included in preference to <sys/ioctl.h>.
-
-=item C<i_sysin>
-
-From F<i_niin.U>:
-
-This variable conditionally defines C<I_SYS_IN>, which indicates
-to the C program that it should include <sys/in.h> instead of
-<netinet/in.h>.
-
-=item C<i_sysioctl>
-
-From F<i_sysioctl.U>:
-
-This variable conditionally defines the C<I_SYS_IOCTL> symbol, which
-indicates to the C program that <sys/ioctl.h> exists and should
-be included.
-
-=item C<i_syslog>
-
-From F<i_syslog.U>:
-
-This variable conditionally defines the C<I_SYSLOG> symbol,
-and indicates whether a C program should include <syslog.h>.
-
-=item C<i_sysmman>
-
-From F<i_sysmman.U>:
-
-This variable conditionally defines the C<I_SYS_MMAN> symbol, and
-indicates whether a C program should include <sys/mman.h>.
-
-=item C<i_sysmode>
-
-From F<i_sysmode.U>:
-
-This variable conditionally defines the C<I_SYSMODE> symbol,
-and indicates whether a C program should include <sys/mode.h>.
-
-=item C<i_sysmount>
-
-From F<i_sysmount.U>:
-
-This variable conditionally defines the C<I_SYSMOUNT> symbol,
-and indicates whether a C program should include <sys/mount.h>.
-
-=item C<i_sysndir>
-
-From F<i_sysndir.U>:
-
-This variable conditionally defines the C<I_SYS_NDIR> symbol, and indicates
-whether a C program should include <sys/ndir.h>.
-
-=item C<i_sysparam>
-
-From F<i_sysparam.U>:
-
-This variable conditionally defines the C<I_SYS_PARAM> symbol, and indicates
-whether a C program should include <sys/param.h>.
-
-=item C<i_syspoll>
-
-From F<i_syspoll.U>:
-
-This variable conditionally defines the C<I_SYS_POLL> symbol, which
-indicates to the C program that it should include <sys/poll.h>.
-
-=item C<i_sysresrc>
-
-From F<i_sysresrc.U>:
-
-This variable conditionally defines the C<I_SYS_RESOURCE> symbol,
-and indicates whether a C program should include <sys/resource.h>.
-
-=item C<i_syssecrt>
-
-From F<i_syssecrt.U>:
-
-This variable conditionally defines the C<I_SYS_SECURITY> symbol,
-and indicates whether a C program should include <sys/security.h>.
-
-=item C<i_sysselct>
-
-From F<i_sysselct.U>:
-
-This variable conditionally defines C<I_SYS_SELECT>, which indicates
-to the C program that it should include <sys/select.h> in order to
-get the definition of struct timeval.
-
-=item C<i_syssockio>
-
-From F<i_sysioctl.U>:
-
-This variable conditionally defines C<I_SYS_SOCKIO> to indicate to the
-C program that socket ioctl codes may be found in <sys/sockio.h>
-instead of <sys/ioctl.h>.
-
-=item C<i_sysstat>
-
-From F<i_sysstat.U>:
-
-This variable conditionally defines the C<I_SYS_STAT> symbol,
-and indicates whether a C program should include <sys/stat.h>.
-
-=item C<i_sysstatfs>
-
-From F<i_sysstatfs.U>:
-
-This variable conditionally defines the C<I_SYSSTATFS> symbol,
-and indicates whether a C program should include <sys/statfs.h>.
-
-=item C<i_sysstatvfs>
-
-From F<i_sysstatvfs.U>:
-
-This variable conditionally defines the C<I_SYSSTATVFS> symbol,
-and indicates whether a C program should include <sys/statvfs.h>.
-
-=item C<i_systime>
-
-From F<i_time.U>:
-
-This variable conditionally defines C<I_SYS_TIME>, which indicates
-to the C program that it should include <sys/time.h>.
-
-=item C<i_systimek>
-
-From F<i_time.U>:
-
-This variable conditionally defines C<I_SYS_TIME_KERNEL>, which
-indicates to the C program that it should include <sys/time.h>
-with C<KERNEL> defined.
-
-=item C<i_systimes>
-
-From F<i_systimes.U>:
-
-This variable conditionally defines the C<I_SYS_TIMES> symbol, and indicates
-whether a C program should include <sys/times.h>.
-
-=item C<i_systypes>
-
-From F<i_systypes.U>:
-
-This variable conditionally defines the C<I_SYS_TYPES> symbol,
-and indicates whether a C program should include <sys/types.h>.
-
-=item C<i_sysuio>
-
-From F<i_sysuio.U>:
-
-This variable conditionally defines the C<I_SYSUIO> symbol, and indicates
-whether a C program should include <sys/uio.h>.
-
-=item C<i_sysun>
-
-From F<i_sysun.U>:
-
-This variable conditionally defines C<I_SYS_UN>, which indicates
-to the C program that it should include <sys/un.h> to get C<UNIX>
-domain socket definitions.
-
-=item C<i_sysutsname>
-
-From F<i_sysutsname.U>:
-
-This variable conditionally defines the C<I_SYSUTSNAME> symbol,
-and indicates whether a C program should include <sys/utsname.h>.
-
-=item C<i_sysvfs>
-
-From F<i_sysvfs.U>:
-
-This variable conditionally defines the C<I_SYSVFS> symbol,
-and indicates whether a C program should include <sys/vfs.h>.
-
-=item C<i_syswait>
-
-From F<i_syswait.U>:
-
-This variable conditionally defines C<I_SYS_WAIT>, which indicates
-to the C program that it should include <sys/wait.h>.
-
-=item C<i_termio>
-
-From F<i_termio.U>:
-
-This variable conditionally defines the C<I_TERMIO> symbol, which
-indicates to the C program that it should include <termio.h> rather
-than <sgtty.h>.
-
-=item C<i_termios>
-
-From F<i_termio.U>:
-
-This variable conditionally defines the C<I_TERMIOS> symbol, which
-indicates to the C program that the C<POSIX> <termios.h> file is
-to be included.
-
-=item C<i_time>
-
-From F<i_time.U>:
-
-This variable conditionally defines C<I_TIME>, which indicates
-to the C program that it should include <time.h>.
-
-=item C<i_unistd>
-
-From F<i_unistd.U>:
-
-This variable conditionally defines the C<I_UNISTD> symbol, and indicates
-whether a C program should include <unistd.h>.
-
-=item C<i_ustat>
-
-From F<i_ustat.U>:
-
-This variable conditionally defines the C<I_USTAT> symbol, and indicates
-whether a C program should include <ustat.h>.
-
-=item C<i_utime>
-
-From F<i_utime.U>:
-
-This variable conditionally defines the C<I_UTIME> symbol, and indicates
-whether a C program should include <utime.h>.
-
-=item C<i_values>
-
-From F<i_values.U>:
-
-This variable conditionally defines the C<I_VALUES> symbol, and indicates
-whether a C program may include <values.h> to get symbols like C<MAXLONG>
-and friends.
-
-=item C<i_varargs>
-
-From F<i_varhdr.U>:
-
-This variable conditionally defines C<I_VARARGS>, which indicates
-to the C program that it should include <varargs.h>.
-
-=item C<i_varhdr>
-
-From F<i_varhdr.U>:
-
-Contains the name of the header to be included to get va_dcl definition.
-Typically one of F<varargs.h> or F<stdarg.h>.
-
-=item C<i_vfork>
-
-From F<i_vfork.U>:
-
-This variable conditionally defines the C<I_VFORK> symbol, and indicates
-whether a C program should include F<vfork.h>.
-
-=item C<ignore_versioned_solibs>
-
-From F<libs.U>:
-
-This variable should be non-empty if non-versioned shared
-libraries (F<libfoo.so.x.y>) are to be ignored (because they
-cannot be linked against).
-
-=item C<inc_version_list>
-
-From F<inc_version_list.U>:
-
-This variable specifies the list of subdirectories in over
-which F<perl.c>:incpush() and F<lib/lib.pm> will automatically
-search when adding directories to @C<INC>. The elements in
-the list are separated by spaces. This is only useful
-if you have a perl library directory tree structured like the
-default one. See C<INSTALL> for how this works. The versioned
-site_perl directory was introduced in 5.005, so that is the
-lowest possible value.
-
-This list includes architecture-dependent directories back to
-version $api_versionstring (e.g. 5.5.640) and
-architecture-independent directories all the way back to
-5.005.
-
-=item C<inc_version_list_init>
-
-From F<inc_version_list.U>:
-
-This variable holds the same list as inc_version_list, but
-each item is enclosed in double quotes and separated by commas,
-suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
-
-=item C<incpath>
-
-From F<usrinc.U>:
-
-This variable must preceed the normal include path to get hte
-right one, as in F<$F<incpath/usr/include>> or F<$F<incpath/usr/lib>>.
-Value can be "" or F</bsd43> on mips.
-
-=item C<inews>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<initialinstalllocation>
-
-From F<bin.U>:
-
-When userelocatableinc is true, this variable holds the location
-that make install should copy the perl binary to, with all the
-run-time relocatable paths calculated from this at install time.
-When used, it is initialised to the original value of binexp, and
-then binexp is set to F<.../>, as the other binaries are found
-relative to the perl binary.
-
-=item C<installarchlib>
-
-From F<archlib.U>:
-
-This variable is really the same as archlibexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installbin>
-
-From F<bin.U>:
-
-This variable is the same as binexp unless C<AFS> is running in which case
-the user is explicitely prompted for it. This variable should always
-be used in your makefiles for maximum portability.
-
-=item C<installhtml1dir>
-
-From F<html1dir.U>:
-
-This variable is really the same as html1direxp, unless you are
-using a different installprefix. For extra portability, you
-should only use this variable within your makefiles.
-
-=item C<installhtml3dir>
-
-From F<html3dir.U>:
-
-This variable is really the same as html3direxp, unless you are
-using a different installprefix. For extra portability, you
-should only use this variable within your makefiles.
-
-=item C<installman1dir>
-
-From F<man1dir.U>:
-
-This variable is really the same as man1direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-man1direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installman3dir>
-
-From F<man3dir.U>:
-
-This variable is really the same as man3direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-man3direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installprefix>
-
-From F<installprefix.U>:
-
-This variable holds the name of the directory below which
-"make install" will install the package. For most users, this
-is the same as prefix. However, it is useful for
-installing the software into a different (usually temporary)
-location after which it can be bundled up and moved somehow
-to the final location specified by prefix.
-
-=item C<installprefixexp>
-
-From F<installprefix.U>:
-
-This variable holds the full absolute path of installprefix
-with all F<~>-expansion done.
-
-=item C<installprivlib>
-
-From F<privlib.U>:
-
-This variable is really the same as privlibexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installscript>
-
-From F<scriptdir.U>:
-
-This variable is usually the same as scriptdirexp, unless you are on
-a system running C<AFS>, in which case they may differ slightly. You
-should always use this variable within your makefiles for portability.
-
-=item C<installsitearch>
-
-From F<sitearch.U>:
-
-This variable is really the same as sitearchexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installsitebin>
-
-From F<sitebin.U>:
-
-This variable is usually the same as sitebinexp, unless you are on
-a system running C<AFS>, in which case they may differ slightly. You
-should always use this variable within your makefiles for portability.
-
-=item C<installsitehtml1dir>
-
-From F<sitehtml1dir.U>:
-
-This variable is really the same as sitehtml1direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-html1direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installsitehtml3dir>
-
-From F<sitehtml3dir.U>:
-
-This variable is really the same as sitehtml3direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-html3direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installsitelib>
-
-From F<sitelib.U>:
-
-This variable is really the same as sitelibexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installsiteman1dir>
-
-From F<siteman1dir.U>:
-
-This variable is really the same as siteman1direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-man1direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installsiteman3dir>
-
-From F<siteman3dir.U>:
-
-This variable is really the same as siteman3direxp, unless you are using
-C<AFS> in which case it points to the read/write location whereas
-man3direxp only points to the read-only access location. For extra
-portability, you should only use this variable within your makefiles.
-
-=item C<installsitescript>
-
-From F<sitescript.U>:
-
-This variable is usually the same as sitescriptexp, unless you are on
-a system running C<AFS>, in which case they may differ slightly. You
-should always use this variable within your makefiles for portability.
-
-=item C<installstyle>
-
-From F<installstyle.U>:
-
-This variable describes the C<style> of the perl installation.
-This is intended to be useful for tools that need to
-manipulate entire perl distributions. Perl itself doesn't use
-this to find its libraries -- the library directories are
-stored directly in F<Config.pm>. Currently, there are only two
-styles: C<lib> and F<lib/perl5>. The default library locations
-(e.g. privlib, sitelib) are either F<$prefix/lib> or
-F<$prefix/lib/perl5>. The former is useful if $prefix is a
-directory dedicated to perl (e.g. F</opt/perl>), while the latter
-is useful if $prefix is shared by many packages, e.g. if
-$prefix=F</usr/local>.
-
-Unfortunately, while this C<style> variable is used to set
-defaults for all three directory hierarchies (core, vendor, and
-site), there is no guarantee that the same style is actually
-appropriate for all those directories. For example, $prefix
-might be F</opt/perl>, but $siteprefix might be F</usr/local>.
-(Perhaps, in retrospect, the C<lib> style should never have been
-supported, but it did seem like a nice idea at the time.)
-
-The situation is even less clear for tools such as MakeMaker
-that can be used to install additional modules into
-non-standard places. For example, if a user intends to install
-a module into a private directory (perhaps by setting C<PREFIX> on
-the F<Makefile.PL> command line), then there is no reason to
-assume that the Configure-time $installstyle setting will be
-relevant for that C<PREFIX>.
-
-This may later be extended to include other information, so
-be careful with pattern-matching on the results.
-
-For compatibility with F<perl5.005> and earlier, the default
-setting is based on whether or not $prefix contains the string
-C<perl>.
-
-=item C<installusrbinperl>
-
-From F<instubperl.U>:
-
-This variable tells whether Perl should be installed also as
-F</usr/bin/perl> in addition to
-F<$installbin/perl>
-
-=item C<installvendorarch>
-
-From F<vendorarch.U>:
-
-This variable is really the same as vendorarchexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorbin>
-
-From F<vendorbin.U>:
-
-This variable is really the same as vendorbinexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorhtml1dir>
-
-From F<vendorhtml1dir.U>:
-
-This variable is really the same as vendorhtml1direxp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorhtml3dir>
-
-From F<vendorhtml3dir.U>:
-
-This variable is really the same as vendorhtml3direxp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorlib>
-
-From F<vendorlib.U>:
-
-This variable is really the same as vendorlibexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorman1dir>
-
-From F<vendorman1dir.U>:
-
-This variable is really the same as vendorman1direxp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorman3dir>
-
-From F<vendorman3dir.U>:
-
-This variable is really the same as vendorman3direxp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<installvendorscript>
-
-From F<vendorscript.U>:
-
-This variable is really the same as vendorscriptexp but may differ on
-those systems using C<AFS>. For extra portability, only this variable
-should be used in makefiles.
-
-=item C<intsize>
-
-From F<intsize.U>:
-
-This variable contains the value of the C<INTSIZE> symbol, which
-indicates to the C program how many bytes there are in an int.
-
-=item C<issymlink>
-
-From F<issymlink.U>:
-
-This variable holds the test command to test for a symbolic link
-(if they are supported). Typical values include C<test -h> and
-C<test -L>.
-
-=item C<ivdformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<IV> as a signed decimal integer.
-
-=item C<ivsize>
-
-From F<perlxv.U>:
-
-This variable is the size of an C<IV> in bytes.
-
-=item C<ivtype>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's C<IV>.
-
-=back
-
-=cut
-
-=head2 k
-
-=over 4
-
-=cut
-
-=item C<known_extensions>
-
-From F<Extensions.U>:
-
-This variable holds a list of all C<XS> extensions included in
-the package.
-
-=item C<ksh>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=back
-
-=cut
-
-=head2 l
-
-=over 4
-
-=cut
-
-=item C<ld>
-
-From F<dlsrc.U>:
-
-This variable indicates the program to be used to link
-libraries for dynamic loading. On some systems, it is C<ld>.
-On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
-the hint file setting.
-
-=item C<lddlflags>
-
-From F<dlsrc.U>:
-
-This variable contains any special flags that might need to be
-passed to $ld to create a shared library suitable for dynamic
-loading. It is up to the makefile to use it. For hpux, it
-should be C<-b>. For sunos 4.1, it is empty.
-
-=item C<ldflags>
-
-From F<ccflags.U>:
-
-This variable contains any additional C loader flags desired by
-the user. It is up to the Makefile to use this.
-
-=item C<ldflags_uselargefiles>
-
-From F<uselfs.U>:
-
-This variable contains the loader flags needed by large file builds
-and added to ldflags by hints files.
-
-=item C<ldlibpthname>
-
-From F<libperl.U>:
-
-This variable holds the name of the shared library
-search path, often C<LD_LIBRARY_PATH>. To get an empty
-string, the hints file must set this to C<none>.
-
-=item C<less>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the less program. After Configure runs,
-the value is reset to a plain C<less> and is not useful.
-
-=item C<lib_ext>
-
-From F<Unix.U>:
-
-This is an old synonym for _a.
-
-=item C<libc>
-
-From F<libc.U>:
-
-This variable contains the location of the C library.
-
-=item C<libperl>
-
-From F<libperl.U>:
-
-The perl executable is obtained by linking F<perlmain.c> with
-libperl, any static extensions (usually just DynaLoader),
-and any other libraries needed on this system. libperl
-is usually F<libperl.a>, but can also be F<libperl.so.xxx> if
-the user wishes to build a perl executable with a shared
-library.
-
-=item C<libpth>
-
-From F<libpth.U>:
-
-This variable holds the general path (space-separated) used to find
-libraries. It is intended to be used by other units.
-
-=item C<libs>
-
-From F<libs.U>:
-
-This variable holds the additional libraries we want to use.
-It is up to the Makefile to deal with it. The list can be empty.
-
-=item C<libsdirs>
-
-From F<libs.U>:
-
-This variable holds the directory names aka dirnames of the libraries
-we found and accepted, duplicates are removed.
-
-=item C<libsfiles>
-
-From F<libs.U>:
-
-This variable holds the filenames aka basenames of the libraries
-we found and accepted.
-
-=item C<libsfound>
-
-From F<libs.U>:
-
-This variable holds the full pathnames of the libraries
-we found and accepted.
-
-=item C<libspath>
-
-From F<libs.U>:
-
-This variable holds the directory names probed for libraries.
-
-=item C<libswanted>
-
-From F<Myinit.U>:
-
-This variable holds a list of all the libraries we want to
-search. The order is chosen to pick up the c library
-ahead of ucb or bsd libraries for SVR4.
-
-=item C<libswanted_uselargefiles>
-
-From F<uselfs.U>:
-
-This variable contains the libraries needed by large file builds
-and added to ldflags by hints files. It is a space separated list
-of the library names without the C<lib> prefix or any suffix, just
-like F<libswanted.>.
-
-=item C<line>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<lint>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<lkflags>
-
-From F<ccflags.U>:
-
-This variable contains any additional C partial linker flags desired by
-the user. It is up to the Makefile to use this.
-
-=item C<ln>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the ln program. After Configure runs,
-the value is reset to a plain C<ln> and is not useful.
-
-=item C<lns>
-
-From F<lns.U>:
-
-This variable holds the name of the command to make
-symbolic links (if they are supported). It can be used
-in the Makefile. It is either C<ln -s> or C<ln>
-
-=item C<localtime_r_proto>
-
-From F<d_localtime_r.U>:
-
-This variable encodes the prototype of localtime_r.
-It is zero if d_localtime_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_localtime_r
-is defined.
-
-=item C<locincpth>
-
-From F<ccflags.U>:
-
-This variable contains a list of additional directories to be
-searched by the compiler. The appropriate C<-I> directives will
-be added to ccflags. This is intended to simplify setting
-local directories from the Configure command line.
-It's not much, but it parallels the loclibpth stuff in F<libpth.U>.
-
-=item C<loclibpth>
-
-From F<libpth.U>:
-
-This variable holds the paths (space-separated) used to find local
-libraries. It is prepended to libpth, and is intended to be easily
-set from the command line.
-
-=item C<longdblsize>
-
-From F<d_longdbl.U>:
-
-This variable contains the value of the C<LONG_DOUBLESIZE> symbol, which
-indicates to the C program how many bytes there are in a long double,
-if this system supports long doubles.
-
-=item C<longlongsize>
-
-From F<d_longlong.U>:
-
-This variable contains the value of the C<LONGLONGSIZE> symbol, which
-indicates to the C program how many bytes there are in a long long,
-if this system supports long long.
-
-=item C<longsize>
-
-From F<intsize.U>:
-
-This variable contains the value of the C<LONGSIZE> symbol, which
-indicates to the C program how many bytes there are in a long.
-
-=item C<lp>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<lpr>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<ls>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the ls program. After Configure runs,
-the value is reset to a plain C<ls> and is not useful.
-
-=item C<lseeksize>
-
-From F<lseektype.U>:
-
-This variable defines lseektype to be something like off_t, long,
-or whatever type is used to declare lseek offset's type in the
-kernel (which also appears to be lseek's return type).
-
-=item C<lseektype>
-
-From F<lseektype.U>:
-
-This variable defines lseektype to be something like off_t, long,
-or whatever type is used to declare lseek offset's type in the
-kernel (which also appears to be lseek's return type).
-
-=back
-
-=cut
-
-=head2 m
-
-=over 4
-
-=cut
-
-=item C<mad>
-
-From F<mad.U>:
-
-This variable indicates that the Misc Attribute Definition code is to
-be compiled.
-
-=item C<madlyh>
-
-From F<mad.U>:
-
-If the Misc Attribute Decoration is to be compiled, this variable is
-set to the name of the extra header files to be used, else it is ''
-
-=item C<madlyobj>
-
-From F<mad.U>:
-
-If the Misc Attribute Decoration is to be compiled, this variable is
-set to the name of the extra object files to be used, else it is ''
-
-=item C<madlysrc>
-
-From F<mad.U>:
-
-If the Misc Attribute Decoration is to be compiled, this variable is
-set to the name of the extra C source files to be used, else it is ''
-
-=item C<mail>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<mailx>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<make>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the make program. After Configure runs,
-the value is reset to a plain C<make> and is not useful.
-
-=item C<make_set_make>
-
-From F<make.U>:
-
-Some versions of C<make> set the variable C<MAKE>. Others do not.
-This variable contains the string to be included in F<Makefile.SH>
-so that C<MAKE> is set if needed, and not if not needed.
-Possible values are:
-
-make_set_make=C<#> # If your make program handles this for you,
-
-make_set_make=C<MAKE=$make> # if it doesn't.
-
-This uses a comment character to distinguish a
-C<set> value (from a previous F<config.sh> or Configure C<-D> option)
-from an uncomputed value.
-
-=item C<mallocobj>
-
-From F<mallocsrc.U>:
-
-This variable contains the name of the F<malloc.o> that this package
-generates, if that F<malloc.o> is preferred over the system malloc.
-Otherwise the value is null. This variable is intended for generating
-Makefiles. See mallocsrc.
-
-=item C<mallocsrc>
-
-From F<mallocsrc.U>:
-
-This variable contains the name of the F<malloc.c> that comes with
-the package, if that F<malloc.c> is preferred over the system malloc.
-Otherwise the value is null. This variable is intended for generating
-Makefiles.
-
-=item C<malloctype>
-
-From F<mallocsrc.U>:
-
-This variable contains the kind of ptr returned by malloc and realloc.
-
-=item C<man1dir>
-
-From F<man1dir.U>:
-
-This variable contains the name of the directory in which manual
-source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-
-=item C<man1direxp>
-
-From F<man1dir.U>:
-
-This variable is the same as the man1dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<man1ext>
-
-From F<man1dir.U>:
-
-This variable contains the extension that the manual page should
-have: one of C<n>, C<l>, or C<1>. The Makefile must supply the F<.>.
-See man1dir.
-
-=item C<man3dir>
-
-From F<man3dir.U>:
-
-This variable contains the name of the directory in which manual
-source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-
-=item C<man3direxp>
-
-From F<man3dir.U>:
-
-This variable is the same as the man3dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<man3ext>
-
-From F<man3dir.U>:
-
-This variable contains the extension that the manual page should
-have: one of C<n>, C<l>, or C<3>. The Makefile must supply the F<.>.
-See man3dir.
-
-=item C<mips_type>
-
-From F<usrinc.U>:
-
-This variable holds the environment type for the mips system.
-Possible values are "BSD 4.3" and "System V".
-
-=item C<mistrustnm>
-
-From F<Csym.U>:
-
-This variable can be used to establish a fallthrough for the cases
-where nm fails to find a symbol. If usenm is false or usenm is true
-and mistrustnm is false, this variable has no effect. If usenm is true
-and mistrustnm is C<compile>, a test program will be compiled to try to
-find any symbol that can't be located via nm lookup. If mistrustnm is
-C<run>, the test program will be run as well as being compiled.
-
-=item C<mkdir>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the mkdir program. After Configure runs,
-the value is reset to a plain C<mkdir> and is not useful.
-
-=item C<mmaptype>
-
-From F<d_mmap.U>:
-
-This symbol contains the type of pointer returned by mmap()
-(and simultaneously the type of the first argument).
-It can be C<void *> or C<caddr_t>.
-
-=item C<modetype>
-
-From F<modetype.U>:
-
-This variable defines modetype to be something like mode_t,
-int, unsigned short, or whatever type is used to declare file
-modes for system calls.
-
-=item C<more>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the more program. After Configure runs,
-the value is reset to a plain C<more> and is not useful.
-
-=item C<multiarch>
-
-From F<multiarch.U>:
-
-This variable conditionally defines the C<MULTIARCH> symbol
-which signifies the presence of multiplatform files.
-This is normally set by hints files.
-
-=item C<mv>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<myarchname>
-
-From F<archname.U>:
-
-This variable holds the architecture name computed by Configure in
-a previous run. It is not intended to be perused by any user and
-should never be set in a hint file.
-
-=item C<mydomain>
-
-From F<myhostname.U>:
-
-This variable contains the eventual value of the C<MYDOMAIN> symbol,
-which is the domain of the host the program is going to run on.
-The domain must be appended to myhostname to form a complete host name.
-The dot comes with mydomain, and need not be supplied by the program.
-
-=item C<myhostname>
-
-From F<myhostname.U>:
-
-This variable contains the eventual value of the C<MYHOSTNAME> symbol,
-which is the name of the host the program is going to run on.
-The domain is not kept with hostname, but must be gotten from mydomain.
-The dot comes with mydomain, and need not be supplied by the program.
-
-=item C<myuname>
-
-From F<Oldconfig.U>:
-
-The output of C<uname -a> if available, otherwise the hostname. On Xenix,
-pseudo variables assignments in the output are stripped, thank you. The
-whole thing is then lower-cased.
-
-=back
-
-=cut
-
-=head2 n
-
-=over 4
-
-=cut
-
-=item C<n>
-
-From F<n.U>:
-
-This variable contains the C<-n> flag if that is what causes the echo
-command to suppress newline. Otherwise it is null. Correct usage is
-$echo $n "prompt for a question: $c".
-
-=item C<need_va_copy>
-
-From F<need_va_copy.U>:
-
-This symbol, if defined, indicates that the system stores
-the variable argument list datatype, va_list, in a format
-that cannot be copied by simple assignment, so that some
-other means must be used when copying is required.
-As such systems vary in their provision (or non-provision)
-of copying mechanisms, F<handy.h> defines a platform-
-C<independent> macro, Perl_va_copy(src, dst), to do the job.
-
-=item C<netdb_hlen_type>
-
-From F<netdbtype.U>:
-
-This variable holds the type used for the 2nd argument to
-gethostbyaddr(). Usually, this is int or size_t or unsigned.
-This is only useful if you have gethostbyaddr(), naturally.
-
-=item C<netdb_host_type>
-
-From F<netdbtype.U>:
-
-This variable holds the type used for the 1st argument to
-gethostbyaddr(). Usually, this is char * or void *, possibly
-with or without a const prefix.
-This is only useful if you have gethostbyaddr(), naturally.
-
-=item C<netdb_name_type>
-
-From F<netdbtype.U>:
-
-This variable holds the type used for the argument to
-gethostbyname(). Usually, this is char * or const char *.
-This is only useful if you have gethostbyname(), naturally.
-
-=item C<netdb_net_type>
-
-From F<netdbtype.U>:
-
-This variable holds the type used for the 1st argument to
-getnetbyaddr(). Usually, this is int or long.
-This is only useful if you have getnetbyaddr(), naturally.
-
-=item C<nm>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the nm program. After Configure runs,
-the value is reset to a plain C<nm> and is not useful.
-
-=item C<nm_opt>
-
-From F<usenm.U>:
-
-This variable holds the options that may be necessary for nm.
-
-=item C<nm_so_opt>
-
-From F<usenm.U>:
-
-This variable holds the options that may be necessary for nm
-to work on a shared library but that can not be used on an
-archive library. Currently, this is only used by Linux, where
-nm --dynamic is *required* to get symbols from an C<ELF> library which
-has been stripped, but nm --dynamic is *fatal* on an archive library.
-Maybe Linux should just always set usenm=false.
-
-=item C<nonxs_ext>
-
-From F<Extensions.U>:
-
-This variable holds a list of all non-xs extensions included
-in the package. All of them will be built.
-
-=item C<nroff>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the nroff program. After Configure runs,
-the value is reset to a plain C<nroff> and is not useful.
-
-=item C<nv_overflows_integers_at>
-
-From F<perlxv.U>:
-
-This variable gives the largest integer value that NVs can hold
-as a constant floating point expression.
-If it could not be determined, it holds the value 0.
-
-=item C<nv_preserves_uv_bits>
-
-From F<perlxv.U>:
-
-This variable indicates how many of bits type uvtype
-a variable nvtype can preserve.
-
-=item C<nveformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<NV> using %e-ish floating point format.
-
-=item C<nvEUformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<NV> using %E-ish floating point format.
-
-=item C<nvfformat>
-
-From F<perlxvf.U>:
-
-This variable confains the format string used for printing
-a Perl C<NV> using %f-ish floating point format.
-
-=item C<nvFUformat>
-
-From F<perlxvf.U>:
-
-This variable confains the format string used for printing
-a Perl C<NV> using %F-ish floating point format.
-
-=item C<nvgformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<NV> using %g-ish floating point format.
-
-=item C<nvGUformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<NV> using %G-ish floating point format.
-
-=item C<nvsize>
-
-From F<perlxv.U>:
-
-This variable is the size of an C<NV> in bytes.
-
-=item C<nvtype>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's C<NV>.
-
-=back
-
-=cut
-
-=head2 o
-
-=over 4
-
-=cut
-
-=item C<o_nonblock>
-
-From F<nblock_io.U>:
-
-This variable bears the symbol value to be used during open() or fcntl()
-to turn on non-blocking I/O for a file descriptor. If you wish to switch
-between blocking and non-blocking, you may try ioctl(C<FIOSNBIO>) instead,
-but that is only supported by some devices.
-
-=item C<obj_ext>
-
-From F<Unix.U>:
-
-This is an old synonym for _o.
-
-=item C<old_pthread_create_joinable>
-
-From F<d_pthrattrj.U>:
-
-This variable defines the constant to use for creating joinable
-(aka undetached) pthreads. Unused if F<pthread.h> defines
-C<PTHREAD_CREATE_JOINABLE>. If used, possible values are
-C<PTHREAD_CREATE_UNDETACHED> and C<__UNDETACHED>.
-
-=item C<optimize>
-
-From F<ccflags.U>:
-
-This variable contains any F<optimizer/debugger> flag that should be used.
-It is up to the Makefile to use it.
-
-=item C<orderlib>
-
-From F<orderlib.U>:
-
-This variable is C<true> if the components of libraries must be ordered
-(with `lorder $* | tsort`) before placing them in an archive. Set to
-C<false> if ranlib or ar can generate random libraries.
-
-=item C<osname>
-
-From F<Oldconfig.U>:
-
-This variable contains the operating system name (e.g. sunos,
-solaris, hpux, etc.). It can be useful later on for setting
-defaults. Any spaces are replaced with underscores. It is set
-to a null string if we can't figure it out.
-
-=item C<osvers>
-
-From F<Oldconfig.U>:
-
-This variable contains the operating system version (e.g.
-4.1.3, 5.2, etc.). It is primarily used for helping select
-an appropriate hints file, but might be useful elsewhere for
-setting defaults. It is set to '' if we can't figure it out.
-We try to be flexible about how much of the version number
-to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the
-same for this package, hints files might just be F<os_4.0> or
-F<os_4.1>, etc., not keeping separate files for each little release.
-
-=item C<otherlibdirs>
-
-From F<otherlibdirs.U>:
-
-This variable contains a colon-separated set of paths for the perl
-binary to search for additional library files or modules.
-These directories will be tacked to the end of @C<INC>.
-Perl will automatically search below each path for version-
-and architecture-specific directories. See inc_version_list
-for more details.
-A value of C< > means C<none> and is used to preserve this value
-for the next run through Configure.
-
-=back
-
-=cut
-
-=head2 p
-
-=over 4
-
-=cut
-
-=item C<package>
-
-From F<package.U>:
-
-This variable contains the name of the package being constructed.
-It is primarily intended for the use of later Configure units.
-
-=item C<pager>
-
-From F<pager.U>:
-
-This variable contains the name of the preferred pager on the system.
-Usual values are (the full pathnames of) more, less, pg, or cat.
-
-=item C<passcat>
-
-From F<nis.U>:
-
-This variable contains a command that produces the text of the
-F</etc/passwd> file. This is normally "cat F</etc/passwd>", but can be
-"ypcat passwd" when C<NIS> is used.
-On some systems, such as os390, there may be no equivalent
-command, in which case this variable is unset.
-
-=item C<patchlevel>
-
-From F<patchlevel.U>:
-
-The patchlevel level of this package.
-The value of patchlevel comes from the F<patchlevel.h> file.
-In a version number such as 5.6.1, this is the C<6>.
-In F<patchlevel.h>, this is referred to as C<PERL_VERSION>.
-
-=item C<path_sep>
-
-From F<Unix.U>:
-
-This is an old synonym for p_ in F<Head.U>, the character
-used to separate elements in the command shell search C<PATH>.
-
-=item C<perl>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<perl5>
-
-From F<perl5.U>:
-
-This variable contains the full path (if any) to a previously
-installed F<perl5.005> or later suitable for running the script
-to determine inc_version_list.
-
-=back
-
-=cut
-
-=head2 P
-
-=over 4
-
-=cut
-
-=item C<PERL_API_REVISION>
-
-From F<patchlevel.h>:
-
-This number describes the earliest compatible C<PERL_REVISION> of
-Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
-compatibility to run C<XS> code built with the older version).
-Normally this does not change across maintenance releases.
-Please read the comment in F<patchlevel.h>.
-
-=item C<PERL_API_SUBVERSION>
-
-From F<patchlevel.h>:
-
-This number describes the earliest compatible C<PERL_SUBVERSION> of
-Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
-compatibility to run C<XS> code built with the older version).
-Normally this does not change across maintenance releases.
-Please read the comment in F<patchlevel.h>.
-
-=item C<PERL_API_VERSION>
-
-From F<patchlevel.h>:
-
-This number describes the earliest compatible C<PERL_VERSION> of
-Perl (C<compatibility> here being defined as sufficient F<binary/C<API>>
-compatibility to run C<XS> code built with the older version).
-Normally this does not change across maintenance releases.
-Please read the comment in F<patchlevel.h>.
-
-=item C<PERL_CONFIG_SH>
-
-From F<Oldsyms.U>:
-
-This is set to C<true> in F<config.sh> so that a shell script
-sourcing F<config.sh> can tell if it has been sourced already.
-
-=item C<PERL_PATCHLEVEL>
-
-From F<Oldsyms.U>:
-
-This symbol reflects the patchlevel, if available. Will usually
-come from the F<.patch> file, which is available when the perl
-source tree was fetched with rsync.
-
-=item C<perl_patchlevel>
-
-From F<patchlevel.U>:
-
-This is the Perl patch level, a numeric change identifier,
-as defined by whichever source code maintenance system
-is used to maintain the patches; currently Perforce.
-It does not correlate with the Perl version numbers or
-the maintenance versus development dichotomy except
-by also being increasing.
-
-=item C<PERL_REVISION>
-
-From F<Oldsyms.U>:
-
-In a Perl version number such as 5.6.2, this is the 5.
-This value is manually set in F<patchlevel.h>
-
-=item C<PERL_SUBVERSION>
-
-From F<Oldsyms.U>:
-
-In a Perl version number such as 5.6.2, this is the 2.
-Values greater than 50 represent potentially unstable
-development subversions.
-This value is manually set in F<patchlevel.h>
-
-=item C<PERL_VERSION>
-
-From F<Oldsyms.U>:
-
-In a Perl version number such as 5.6.2, this is the 6.
-This value is manually set in F<patchlevel.h>
-
-=item C<perladmin>
-
-From F<perladmin.U>:
-
-Electronic mail address of the perl5 administrator.
-
-=item C<perllibs>
-
-From F<End.U>:
-
-The list of libraries needed by Perl only (any libraries needed
-by extensions only will by dropped, if using dynamic loading).
-
-=item C<perlpath>
-
-From F<perlpath.U>:
-
-This variable contains the eventual value of the C<PERLPATH> symbol,
-which contains the name of the perl interpreter to be used in
-shell scripts and in the "eval C<exec>" idiom. This variable is
-not necessarily the pathname of the file containing the perl
-interpreter; you must append the executable extension (_exe) if
-it is not already present. Note that Perl code that runs during
-the Perl build process cannot reference this variable, as Perl
-may not have been installed, or even if installed, may be a
-different version of Perl.
-
-=item C<pg>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the pg program. After Configure runs,
-the value is reset to a plain C<pg> and is not useful.
-
-=item C<phostname>
-
-From F<myhostname.U>:
-
-This variable contains the eventual value of the C<PHOSTNAME> symbol,
-which is a command that can be fed to popen() to get the host name.
-The program should probably not presume that the domain is or isn't
-there already.
-
-=item C<pidtype>
-
-From F<pidtype.U>:
-
-This variable defines C<PIDTYPE> to be something like pid_t, int,
-ushort, or whatever type is used to declare process ids in the kernel.
-
-=item C<plibpth>
-
-From F<libpth.U>:
-
-Holds the private path used by Configure to find out the libraries.
-Its value is prepend to libpth. This variable takes care of special
-machines, like the mips. Usually, it should be empty.
-
-=item C<pmake>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<pr>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<prefix>
-
-From F<prefix.U>:
-
-This variable holds the name of the directory below which the
-user will install the package. Usually, this is F</usr/local>, and
-executables go in F</usr/local/bin>, library stuff in F</usr/local/lib>,
-man pages in F</usr/local/man>, etc. It is only used to set defaults
-for things in F<bin.U>, F<mansrc.U>, F<privlib.U>, or F<scriptdir.U>.
-
-=item C<prefixexp>
-
-From F<prefix.U>:
-
-This variable holds the full absolute path of the directory below
-which the user will install the package. Derived from prefix.
-
-=item C<privlib>
-
-From F<privlib.U>:
-
-This variable contains the eventual value of the C<PRIVLIB> symbol,
-which is the name of the private library for this package. It may
-have a F<~> on the front. It is up to the makefile to eventually create
-this directory while performing installation (with F<~> substitution).
-
-=item C<privlibexp>
-
-From F<privlib.U>:
-
-This variable is the F<~name> expanded version of privlib, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<procselfexe>
-
-From F<d_procselfexe.U>:
-
-If d_procselfexe is defined, $procselfexe is the filename
-of the symbolic link pointing to the absolute pathname of
-the executing program.
-
-=item C<prototype>
-
-From F<prototype.U>:
-
-This variable holds the eventual value of C<CAN_PROTOTYPE>, which
-indicates the C compiler can handle funciton prototypes.
-
-=item C<ptrsize>
-
-From F<ptrsize.U>:
-
-This variable contains the value of the C<PTRSIZE> symbol, which
-indicates to the C program how many bytes there are in a pointer.
-
-=back
-
-=cut
-
-=head2 q
-
-=over 4
-
-=cut
-
-=item C<quadkind>
-
-From F<quadtype.U>:
-
-This variable, if defined, encodes the type of a quad:
-1 = int, 2 = long, 3 = long long, 4 = int64_t.
-
-=item C<quadtype>
-
-From F<quadtype.U>:
-
-This variable defines Quad_t to be something like long, int,
-long long, int64_t, or whatever type is used for 64-bit integers.
-
-=back
-
-=cut
-
-=head2 r
-
-=over 4
-
-=cut
-
-=item C<randbits>
-
-From F<randfunc.U>:
-
-Indicates how many bits are produced by the function used to
-generate normalized random numbers.
-
-=item C<randfunc>
-
-From F<randfunc.U>:
-
-Indicates the name of the random number function to use.
-Values include drand48, random, and rand. In C programs,
-the C<Drand01> macro is defined to generate uniformly distributed
-random numbers over the range [0., 1.[ (see drand01 and nrand).
-
-=item C<random_r_proto>
-
-From F<d_random_r.U>:
-
-This variable encodes the prototype of random_r.
-It is zero if d_random_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_random_r
-is defined.
-
-=item C<randseedtype>
-
-From F<randfunc.U>:
-
-Indicates the type of the argument of the seedfunc.
-
-=item C<ranlib>
-
-From F<orderlib.U>:
-
-This variable is set to the pathname of the ranlib program, if it is
-needed to generate random libraries. Set to C<:> if ar can generate
-random libraries or if random libraries are not supported
-
-=item C<rd_nodata>
-
-From F<nblock_io.U>:
-
-This variable holds the return code from read() when no data is
-present. It should be -1, but some systems return 0 when C<O_NDELAY> is
-used, which is a shame because you cannot make the difference between
-no data and an F<EOF.>. Sigh!
-
-=item C<readdir64_r_proto>
-
-From F<d_readdir64_r.U>:
-
-This variable encodes the prototype of readdir64_r.
-It is zero if d_readdir64_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir64_r
-is defined.
-
-=item C<readdir_r_proto>
-
-From F<d_readdir_r.U>:
-
-This variable encodes the prototype of readdir_r.
-It is zero if d_readdir_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir_r
-is defined.
-
-=item C<revision>
-
-From F<patchlevel.U>:
-
-The value of revision comes from the F<patchlevel.h> file.
-In a version number such as 5.6.1, this is the C<5>.
-In F<patchlevel.h>, this is referred to as C<PERL_REVISION>.
-
-=item C<rm>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the rm program. After Configure runs,
-the value is reset to a plain C<rm> and is not useful.
-
-=item C<rm_try>
-
-From F<Unix.U>:
-
-This is a cleanup variable for try test programs.
-Internal Configure use only.
-
-=item C<rmail>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<run>
-
-From F<Cross.U>:
-
-This variable contains the command used by Configure
-to copy and execute a cross-compiled executable in the
-target host. Useful and available only during Perl build.
-Empty string '' if not cross-compiling.
-
-=item C<runnm>
-
-From F<usenm.U>:
-
-This variable contains C<true> or C<false> depending whether the
-nm extraction should be performed or not, according to the value
-of usenm and the flags on the Configure command line.
-
-=back
-
-=cut
-
-=head2 s
-
-=over 4
-
-=cut
-
-=item C<sched_yield>
-
-From F<d_pthread_y.U>:
-
-This variable defines the way to yield the execution
-of the current thread.
-
-=item C<scriptdir>
-
-From F<scriptdir.U>:
-
-This variable holds the name of the directory in which the user wants
-to put publicly scripts for the package in question. It is either
-the same directory as for binaries, or a special one that can be
-mounted across different architectures, like F</usr/share>. Programs
-must be prepared to deal with F<~name> expansion.
-
-=item C<scriptdirexp>
-
-From F<scriptdir.U>:
-
-This variable is the same as scriptdir, but is filename expanded
-at configuration time, for programs not wanting to bother with it.
-
-=item C<sed>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the sed program. After Configure runs,
-the value is reset to a plain C<sed> and is not useful.
-
-=item C<seedfunc>
-
-From F<randfunc.U>:
-
-Indicates the random number generating seed function.
-Values include srand48, srandom, and srand.
-
-=item C<selectminbits>
-
-From F<selectminbits.U>:
-
-This variable holds the minimum number of bits operated by select.
-That is, if you do select(n, ...), how many bits at least will be
-cleared in the masks if some activity is detected. Usually this
-is either n or 32*ceil(F<n/32>), especially many little-endians do
-the latter. This is only useful if you have select(), naturally.
-
-=item C<selecttype>
-
-From F<selecttype.U>:
-
-This variable holds the type used for the 2nd, 3rd, and 4th
-arguments to select. Usually, this is C<fd_set *>, if C<HAS_FD_SET>
-is defined, and C<int *> otherwise. This is only useful if you
-have select(), naturally.
-
-=item C<sendmail>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<setgrent_r_proto>
-
-From F<d_setgrent_r.U>:
-
-This variable encodes the prototype of setgrent_r.
-It is zero if d_setgrent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setgrent_r
-is defined.
-
-=item C<sethostent_r_proto>
-
-From F<d_sethostent_r.U>:
-
-This variable encodes the prototype of sethostent_r.
-It is zero if d_sethostent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_sethostent_r
-is defined.
-
-=item C<setlocale_r_proto>
-
-From F<d_setlocale_r.U>:
-
-This variable encodes the prototype of setlocale_r.
-It is zero if d_setlocale_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setlocale_r
-is defined.
-
-=item C<setnetent_r_proto>
-
-From F<d_setnetent_r.U>:
-
-This variable encodes the prototype of setnetent_r.
-It is zero if d_setnetent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setnetent_r
-is defined.
-
-=item C<setprotoent_r_proto>
-
-From F<d_setprotoent_r.U>:
-
-This variable encodes the prototype of setprotoent_r.
-It is zero if d_setprotoent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setprotoent_r
-is defined.
-
-=item C<setpwent_r_proto>
-
-From F<d_setpwent_r.U>:
-
-This variable encodes the prototype of setpwent_r.
-It is zero if d_setpwent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setpwent_r
-is defined.
-
-=item C<setservent_r_proto>
-
-From F<d_setservent_r.U>:
-
-This variable encodes the prototype of setservent_r.
-It is zero if d_setservent_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setservent_r
-is defined.
-
-=item C<sh>
-
-From F<sh.U>:
-
-This variable contains the full pathname of the shell used
-on this system to execute Bourne shell scripts. Usually, this will be
-F</bin/sh>, though it's possible that some systems will have F</bin/ksh>,
-F</bin/pdksh>, F</bin/ash>, F</bin/bash>, or even something such as
-D:F</bin/sh.exe>.
-This unit comes before F<Options.U>, so you can't set sh with a C<-D>
-option, though you can override this (and startsh)
-with C<-O -Dsh=F</bin/whatever> -Dstartsh=whatever>
-
-=item C<shar>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<sharpbang>
-
-From F<spitshell.U>:
-
-This variable contains the string #! if this system supports that
-construct.
-
-=item C<shmattype>
-
-From F<d_shmat.U>:
-
-This symbol contains the type of pointer returned by shmat().
-It can be C<void *> or C<char *>.
-
-=item C<shortsize>
-
-From F<intsize.U>:
-
-This variable contains the value of the C<SHORTSIZE> symbol which
-indicates to the C program how many bytes there are in a short.
-
-=item C<shrpenv>
-
-From F<libperl.U>:
-
-If the user builds a shared F<libperl.so>, then we need to tell the
-C<perl> executable where it will be able to find the installed F<libperl.so>.
-One way to do this on some systems is to set the environment variable
-C<LD_RUN_PATH> to the directory that will be the final location of the
-shared F<libperl.so>. The makefile can use this with something like
-$shrpenv $(C<CC>) -o perl F<perlmain.o> $libperl $libs
-Typical values are
-shrpenv="env C<LD_RUN_PATH>=F<$archlibexp/C<CORE>>"
-or
-shrpenv=''
-See the main perl F<Makefile.SH> for actual working usage.
-Alternatively, we might be able to use a command line option such
-as -R F<$archlibexp/C<CORE>> (Solaris) or -Wl,-rpath
-F<$archlibexp/C<CORE>> (Linux).
-
-=item C<shsharp>
-
-From F<spitshell.U>:
-
-This variable tells further Configure units whether your sh can
-handle # comments.
-
-=item C<sig_count>
-
-From F<sig_name.U>:
-
-This variable holds a number larger than the largest valid
-signal number. This is usually the same as the C<NSIG> macro.
-
-=item C<sig_name>
-
-From F<sig_name.U>:
-
-This variable holds the signal names, space separated. The leading
-C<SIG> in signal name is removed. A C<ZERO> is prepended to the list.
-This is currently not used, sig_name_init is used instead.
-
-=item C<sig_name_init>
-
-From F<sig_name.U>:
-
-This variable holds the signal names, enclosed in double quotes and
-separated by commas, suitable for use in the C<SIG_NAME> definition
-below. A C<ZERO> is prepended to the list, and the list is
-terminated with a plain 0. The leading C<SIG> in signal names
-is removed. See sig_num.
-
-=item C<sig_num>
-
-From F<sig_name.U>:
-
-This variable holds the signal numbers, space separated. A C<ZERO> is
-prepended to the list (corresponding to the fake C<SIGZERO>).
-Those numbers correspond to the value of the signal listed
-in the same place within the sig_name list.
-This is currently not used, sig_num_init is used instead.
-
-=item C<sig_num_init>
-
-From F<sig_name.U>:
-
-This variable holds the signal numbers, enclosed in double quotes and
-separated by commas, suitable for use in the C<SIG_NUM> definition
-below. A C<ZERO> is prepended to the list, and the list is
-terminated with a plain 0.
-
-=item C<sig_size>
-
-From F<sig_name.U>:
-
-This variable contains the number of elements of the sig_name
-and sig_num arrays.
-
-=item C<signal_t>
-
-From F<d_voidsig.U>:
-
-This variable holds the type of the signal handler (void or int).
-
-=item C<sitearch>
-
-From F<sitearch.U>:
-
-This variable contains the eventual value of the C<SITEARCH> symbol,
-which is the name of the private library for this package. It may
-have a F<~> on the front. It is up to the makefile to eventually create
-this directory while performing installation (with F<~> substitution).
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-architecture-dependent modules in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitearchexp>
-
-From F<sitearch.U>:
-
-This variable is the F<~name> expanded version of sitearch, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<sitebin>
-
-From F<sitebin.U>:
-
-This variable holds the name of the directory in which the user wants
-to put add-on publicly executable files for the package in question. It
-is most often a local directory such as F</usr/local/bin>. Programs using
-this variable must be prepared to deal with F<~name> substitution.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-executables in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitebinexp>
-
-From F<sitebin.U>:
-
-This is the same as the sitebin variable, but is filename expanded at
-configuration time, for use in your makefiles.
-
-=item C<sitehtml1dir>
-
-From F<sitehtml1dir.U>:
-
-This variable contains the name of the directory in which site-specific
-html source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-html pages in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitehtml1direxp>
-
-From F<sitehtml1dir.U>:
-
-This variable is the same as the sitehtml1dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<sitehtml3dir>
-
-From F<sitehtml3dir.U>:
-
-This variable contains the name of the directory in which site-specific
-library html source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-library html pages in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitehtml3direxp>
-
-From F<sitehtml3dir.U>:
-
-This variable is the same as the sitehtml3dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<sitelib>
-
-From F<sitelib.U>:
-
-This variable contains the eventual value of the C<SITELIB> symbol,
-which is the name of the private library for this package. It may
-have a F<~> on the front. It is up to the makefile to eventually create
-this directory while performing installation (with F<~> substitution).
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-architecture-independent modules in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitelib_stem>
-
-From F<sitelib.U>:
-
-This variable is $sitelibexp with any trailing version-specific component
-removed. The elements in inc_version_list (F<inc_version_list.U>) can
-be tacked onto this variable to generate a list of directories to search.
-
-=item C<sitelibexp>
-
-From F<sitelib.U>:
-
-This variable is the F<~name> expanded version of sitelib, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<siteman1dir>
-
-From F<siteman1dir.U>:
-
-This variable contains the name of the directory in which site-specific
-manual source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-man1 pages in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<siteman1direxp>
-
-From F<siteman1dir.U>:
-
-This variable is the same as the siteman1dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<siteman3dir>
-
-From F<siteman3dir.U>:
-
-This variable contains the name of the directory in which site-specific
-library man source pages are to be put. It is the responsibility of the
-F<Makefile.SH> to get the value of this into the proper command.
-You must be prepared to do the F<~name> expansion yourself.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-man3 pages in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<siteman3direxp>
-
-From F<siteman3dir.U>:
-
-This variable is the same as the siteman3dir variable, but is filename
-expanded at configuration time, for convenient use in makefiles.
-
-=item C<siteprefix>
-
-From F<siteprefix.U>:
-
-This variable holds the full absolute path of the directory below
-which the user will install add-on packages.
-See C<INSTALL> for usage and examples.
-
-=item C<siteprefixexp>
-
-From F<siteprefix.U>:
-
-This variable holds the full absolute path of the directory below
-which the user will install add-on packages. Derived from siteprefix.
-
-=item C<sitescript>
-
-From F<sitescript.U>:
-
-This variable holds the name of the directory in which the user wants
-to put add-on publicly executable files for the package in question. It
-is most often a local directory such as F</usr/local/bin>. Programs using
-this variable must be prepared to deal with F<~name> substitution.
-The standard distribution will put nothing in this directory.
-After perl has been installed, users may install their own local
-scripts in this directory with
-MakeMaker F<Makefile.PL>
-or equivalent. See C<INSTALL> for details.
-
-=item C<sitescriptexp>
-
-From F<sitescript.U>:
-
-This is the same as the sitescript variable, but is filename expanded at
-configuration time, for use in your makefiles.
-
-=item C<sizesize>
-
-From F<sizesize.U>:
-
-This variable contains the size of a sizetype in bytes.
-
-=item C<sizetype>
-
-From F<sizetype.U>:
-
-This variable defines sizetype to be something like size_t,
-unsigned long, or whatever type is used to declare length
-parameters for string functions.
-
-=item C<sleep>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<smail>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<so>
-
-From F<so.U>:
-
-This variable holds the extension used to identify shared libraries
-(also known as shared objects) on the system. Usually set to C<so>.
-
-=item C<sockethdr>
-
-From F<d_socket.U>:
-
-This variable has any cpp C<-I> flags needed for socket support.
-
-=item C<socketlib>
-
-From F<d_socket.U>:
-
-This variable has the names of any libraries needed for socket support.
-
-=item C<socksizetype>
-
-From F<socksizetype.U>:
-
-This variable holds the type used for the size argument
-for various socket calls like accept. Usual values include
-socklen_t, size_t, and int.
-
-=item C<sort>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the sort program. After Configure runs,
-the value is reset to a plain C<sort> and is not useful.
-
-=item C<spackage>
-
-From F<package.U>:
-
-This variable contains the name of the package being constructed,
-with the first letter uppercased, F<i.e>. suitable for starting
-sentences.
-
-=item C<spitshell>
-
-From F<spitshell.U>:
-
-This variable contains the command necessary to spit out a runnable
-shell on this system. It is either cat or a grep C<-v> for # comments.
-
-=item C<sPRId64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit decimal numbers (format C<d>) for output.
-
-=item C<sPRIeldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<e>) for output.
-
-=item C<sPRIEUldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<E>) for output.
-The C<U> in the name is to separate this from sPRIeldbl so that even
-case-blind systems can see the difference.
-
-=item C<sPRIfldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<f>) for output.
-
-=item C<sPRIFUldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<F>) for output.
-The C<U> in the name is to separate this from sPRIfldbl so that even
-case-blind systems can see the difference.
-
-=item C<sPRIgldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<g>) for output.
-
-=item C<sPRIGUldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<G>) for output.
-The C<U> in the name is to separate this from sPRIgldbl so that even
-case-blind systems can see the difference.
-
-=item C<sPRIi64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit decimal numbers (format C<i>) for output.
-
-=item C<sPRIo64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit octal numbers (format C<o>) for output.
-
-=item C<sPRIu64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit unsigned decimal numbers (format C<u>) for output.
-
-=item C<sPRIx64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit hexadecimal numbers (format C<x>) for output.
-
-=item C<sPRIXU64>
-
-From F<quadfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format 64-bit hExADECimAl numbers (format C<X>) for output.
-The C<U> in the name is to separate this from sPRIx64 so that even
-case-blind systems can see the difference.
-
-=item C<srand48_r_proto>
-
-From F<d_srand48_r.U>:
-
-This variable encodes the prototype of srand48_r.
-It is zero if d_srand48_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srand48_r
-is defined.
-
-=item C<srandom_r_proto>
-
-From F<d_srandom_r.U>:
-
-This variable encodes the prototype of srandom_r.
-It is zero if d_srandom_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srandom_r
-is defined.
-
-=item C<src>
-
-From F<src.U>:
-
-This variable holds the (possibly relative) path of the package source.
-It is up to the Makefile to use this variable and set C<VPATH> accordingly
-to find the sources remotely. Use $pkgsrc to have an absolute path.
-
-=item C<sSCNfldbl>
-
-From F<longdblfio.U>:
-
-This variable, if defined, contains the string used by stdio to
-format long doubles (format C<f>) for input.
-
-=item C<ssizetype>
-
-From F<ssizetype.U>:
-
-This variable defines ssizetype to be something like ssize_t,
-long or int. It is used by functions that return a count
-of bytes or an error condition. It must be a signed type.
-We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
-
-=item C<startperl>
-
-From F<startperl.U>:
-
-This variable contains the string to put on the front of a perl
-script to make sure (hopefully) that it runs with perl and not some
-shell. Of course, that leading line must be followed by the classical
-perl idiom:
-eval 'exec perl -S $0 ${1+C<$@>}'
-if $running_under_some_shell;
-to guarantee perl startup should the shell execute the script. Note
-that this magic incatation is not understood by csh.
-
-=item C<startsh>
-
-From F<startsh.U>:
-
-This variable contains the string to put on the front of a shell
-script to make sure (hopefully) that it runs with sh and not some
-other shell.
-
-=item C<static_ext>
-
-From F<Extensions.U>:
-
-This variable holds a list of C<XS> extension files we want to
-link statically into the package. It is used by Makefile.
-
-=item C<stdchar>
-
-From F<stdchar.U>:
-
-This variable conditionally defines C<STDCHAR> to be the type of char
-used in F<stdio.h>. It has the values "unsigned char" or C<char>.
-
-=item C<stdio_base>
-
-From F<d_stdstdio.U>:
-
-This variable defines how, given a C<FILE> pointer, fp, to access the
-_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
-be used to define the macro FILE_base(fp).
-
-=item C<stdio_bufsiz>
-
-From F<d_stdstdio.U>:
-
-This variable defines how, given a C<FILE> pointer, fp, to determine
-the number of bytes store in the I/O buffer pointer to by the
-_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
-be used to define the macro FILE_bufsiz(fp).
-
-=item C<stdio_cnt>
-
-From F<d_stdstdio.U>:
-
-This variable defines how, given a C<FILE> pointer, fp, to access the
-_cnt field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
-be used to define the macro FILE_cnt(fp).
-
-=item C<stdio_filbuf>
-
-From F<d_stdstdio.U>:
-
-This variable defines how, given a C<FILE> pointer, fp, to tell
-stdio to refill its internal buffers (?). This will
-be used to define the macro FILE_filbuf(fp).
-
-=item C<stdio_ptr>
-
-From F<d_stdstdio.U>:
-
-This variable defines how, given a C<FILE> pointer, fp, to access the
-_ptr field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
-be used to define the macro FILE_ptr(fp).
-
-=item C<stdio_stream_array>
-
-From F<stdio_streams.U>:
-
-This variable tells the name of the array holding the stdio streams.
-Usual values include _iob, __iob, and __sF.
-
-=item C<strerror_r_proto>
-
-From F<d_strerror_r.U>:
-
-This variable encodes the prototype of strerror_r.
-It is zero if d_strerror_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_strerror_r
-is defined.
-
-=item C<strings>
-
-From F<i_string.U>:
-
-This variable holds the full path of the string header that will be
-used. Typically F</usr/include/string.h> or F</usr/include/strings.h>.
-
-=item C<submit>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<subversion>
-
-From F<patchlevel.U>:
-
-The subversion level of this package.
-The value of subversion comes from the F<patchlevel.h> file.
-In a version number such as 5.6.1, this is the C<1>.
-In F<patchlevel.h>, this is referred to as C<PERL_SUBVERSION>.
-This is unique to perl.
-
-=item C<sysman>
-
-From F<sysman.U>:
-
-This variable holds the place where the manual is located on this
-system. It is not the place where the user wants to put his manual
-pages. Rather it is the place where Configure may look to find manual
-for unix commands (section 1 of the manual usually). See mansrc.
-
-=back
-
-=cut
-
-=head2 t
-
-=over 4
-
-=cut
-
-=item C<tail>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<tar>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<targetarch>
-
-From F<Cross.U>:
-
-If cross-compiling, this variable contains the target architecture.
-If not, this will be empty.
-
-=item C<tbl>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<tee>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<test>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the test program. After Configure runs,
-the value is reset to a plain C<test> and is not useful.
-
-=item C<timeincl>
-
-From F<i_time.U>:
-
-This variable holds the full path of the included time header(s).
-
-=item C<timetype>
-
-From F<d_time.U>:
-
-This variable holds the type returned by time(). It can be long,
-or time_t on C<BSD> sites (in which case <sys/types.h> should be
-included). Anyway, the type Time_t should be used.
-
-=item C<tmpnam_r_proto>
-
-From F<d_tmpnam_r.U>:
-
-This variable encodes the prototype of tmpnam_r.
-It is zero if d_tmpnam_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_tmpnam_r
-is defined.
-
-=item C<to>
-
-From F<Cross.U>:
-
-This variable contains the command used by Configure
-to copy to from the target host. Useful and available
-only during Perl build.
-The string C<:> if not cross-compiling.
-
-=item C<touch>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the touch program. After Configure runs,
-the value is reset to a plain C<touch> and is not useful.
-
-=item C<tr>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the tr program. After Configure runs,
-the value is reset to a plain C<tr> and is not useful.
-
-=item C<trnl>
-
-From F<trnl.U>:
-
-This variable contains the value to be passed to the tr(1)
-command to transliterate a newline. Typical values are
-C<\012> and C<\n>. This is needed for C<EBCDIC> systems where
-newline is not necessarily C<\012>.
-
-=item C<troff>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<ttyname_r_proto>
-
-From F<d_ttyname_r.U>:
-
-This variable encodes the prototype of ttyname_r.
-It is zero if d_ttyname_r is undef, and one of the
-C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ttyname_r
-is defined.
-
-=back
-
-=cut
-
-=head2 u
-
-=over 4
-
-=cut
-
-=item C<u16size>
-
-From F<perlxv.U>:
-
-This variable is the size of an U16 in bytes.
-
-=item C<u16type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's U16.
-
-=item C<u32size>
-
-From F<perlxv.U>:
-
-This variable is the size of an U32 in bytes.
-
-=item C<u32type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's U32.
-
-=item C<u64size>
-
-From F<perlxv.U>:
-
-This variable is the size of an U64 in bytes.
-
-=item C<u64type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's U64.
-
-=item C<u8size>
-
-From F<perlxv.U>:
-
-This variable is the size of an U8 in bytes.
-
-=item C<u8type>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's U8.
-
-=item C<uidformat>
-
-From F<uidf.U>:
-
-This variable contains the format string used for printing a Uid_t.
-
-=item C<uidsign>
-
-From F<uidsign.U>:
-
-This variable contains the signedness of a uidtype.
-1 for unsigned, -1 for signed.
-
-=item C<uidsize>
-
-From F<uidsize.U>:
-
-This variable contains the size of a uidtype in bytes.
-
-=item C<uidtype>
-
-From F<uidtype.U>:
-
-This variable defines Uid_t to be something like uid_t, int,
-ushort, or whatever type is used to declare user ids in the kernel.
-
-=item C<uname>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the uname program. After Configure runs,
-the value is reset to a plain C<uname> and is not useful.
-
-=item C<uniq>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the uniq program. After Configure runs,
-the value is reset to a plain C<uniq> and is not useful.
-
-=item C<uquadtype>
-
-From F<quadtype.U>:
-
-This variable defines Uquad_t to be something like unsigned long,
-unsigned int, unsigned long long, uint64_t, or whatever type is
-used for 64-bit integers.
-
-=item C<use5005threads>
-
-From F<usethreads.U>:
-
-This variable conditionally defines the USE_5005THREADS symbol,
-and indicates that Perl should be built to use the 5.005-based
-threading implementation. Only valid up to 5.8.x.
-
-=item C<use64bitall>
-
-From F<use64bits.U>:
-
-This variable conditionally defines the USE_64_BIT_ALL symbol,
-and indicates that 64-bit integer types should be used
-when available. The maximal possible
-64-bitness is employed: LP64 or ILP64, meaning that you will
-be able to use more than 2 gigabytes of memory. This mode is
-even more binary incompatible than USE_64_BIT_INT. You may not
-be able to run the resulting executable in a 32-bit C<CPU> at all or
-you may need at least to reboot your C<OS> to 64-bit mode.
-
-=item C<use64bitint>
-
-From F<use64bits.U>:
-
-This variable conditionally defines the USE_64_BIT_INT symbol,
-and indicates that 64-bit integer types should be used
-when available. The minimal possible 64-bitness
-is employed, just enough to get 64-bit integers into Perl.
-This may mean using for example "long longs", while your memory
-may still be limited to 2 gigabytes.
-
-=item C<usecrosscompile>
-
-From F<Cross.U>:
-
-This variable conditionally defines the C<USE_CROSS_COMPILE> symbol,
-and indicates that Perl has been cross-compiled.
-
-=item C<usedl>
-
-From F<dlsrc.U>:
-
-This variable indicates if the system supports dynamic
-loading of some sort. See also dlsrc and dlobj.
-
-=item C<usedtrace>
-
-From F<usedtrace.U>:
-
-This variable indicates whether we are compiling with dtrace
-support. See also dtrace.
-
-=item C<usefaststdio>
-
-From F<usefaststdio.U>:
-
-This variable conditionally defines the C<USE_FAST_STDIO> symbol,
-and indicates that Perl should be built to use C<fast stdio>.
-Defaults to define in Perls 5.8 and earlier, to undef later.
-
-=item C<useithreads>
-
-From F<usethreads.U>:
-
-This variable conditionally defines the C<USE_ITHREADS> symbol,
-and indicates that Perl should be built to use the interpreter-based
-threading implementation.
-
-=item C<uselargefiles>
-
-From F<uselfs.U>:
-
-This variable conditionally defines the C<USE_LARGE_FILES> symbol,
-and indicates that large file interfaces should be used when
-available.
-
-=item C<uselongdouble>
-
-From F<uselongdbl.U>:
-
-This variable conditionally defines the C<USE_LONG_DOUBLE> symbol,
-and indicates that long doubles should be used when available.
-
-=item C<usemallocwrap>
-
-From F<mallocsrc.U>:
-
-This variable contains y if we are wrapping malloc to prevent
-integer overflow during size calculations.
-
-=item C<usemorebits>
-
-From F<usemorebits.U>:
-
-This variable conditionally defines the C<USE_MORE_BITS> symbol,
-and indicates that explicit 64-bit interfaces and long doubles
-should be used when available.
-
-=item C<usemultiplicity>
-
-From F<usemultiplicity.U>:
-
-This variable conditionally defines the C<MULTIPLICITY> symbol,
-and indicates that Perl should be built to use multiplicity.
-
-=item C<usemymalloc>
-
-From F<mallocsrc.U>:
-
-This variable contains y if the malloc that comes with this package
-is desired over the system's version of malloc. People often include
-special versions of malloc for effiency, but such versions are often
-less portable. See also mallocsrc and mallocobj.
-If this is C<y>, then -lmalloc is removed from $libs.
-
-=item C<usenm>
-
-From F<usenm.U>:
-
-This variable contains C<true> or C<false> depending whether the
-nm extraction is wanted or not.
-
-=item C<useopcode>
-
-From F<Extensions.U>:
-
-This variable holds either C<true> or C<false> to indicate
-whether the Opcode extension should be used. The sole
-use for this currently is to allow an easy mechanism
-for users to skip the Opcode extension from the Configure
-command line.
-
-=item C<useperlio>
-
-From F<useperlio.U>:
-
-This variable conditionally defines the C<USE_PERLIO> symbol,
-and indicates that the PerlIO abstraction should be
-used throughout.
-
-=item C<useposix>
-
-From F<Extensions.U>:
-
-This variable holds either C<true> or C<false> to indicate
-whether the C<POSIX> extension should be used. The sole
-use for this currently is to allow an easy mechanism
-for hints files to indicate that C<POSIX> will not compile
-on a particular system.
-
-=item C<usereentrant>
-
-From F<usethreads.U>:
-
-This variable conditionally defines the C<USE_REENTRANT_API> symbol,
-which indicates that the thread code may try to use the various
-_r versions of library functions. This is only potentially
-meaningful if usethreads is set and is very experimental, it is
-not even prompted for.
-
-=item C<userelocatableinc>
-
-From F<bin.U>:
-
-This variable is set to true to indicate that perl should relocate
-@C<INC> entries at runtime based on the path to the perl binary.
-Any @C<INC> paths starting F<.../> are relocated relative to the directory
-containing the perl binary, and a logical cleanup of the path is then
-made around the join point (removing F<dir/../> pairs)
-
-=item C<usesfio>
-
-From F<d_sfio.U>:
-
-This variable is set to true when the user agrees to use sfio.
-It is set to false when sfio is not available or when the user
-explicitely requests not to use sfio. It is here primarily so
-that command-line settings can override the auto-detection of
-d_sfio without running into a "WHOA THERE".
-
-=item C<useshrplib>
-
-From F<libperl.U>:
-
-This variable is set to C<true> if the user wishes
-to build a shared libperl, and C<false> otherwise.
-
-=item C<usesitecustomize>
-
-From F<d_sitecustomize.U>:
-
-This variable is set to true when the user requires a mechanism that
-allows the sysadmin to add entries to @C<INC> at runtime. This variable
-being set, makes perl run F<$F<sitelib/sitecustomize.pl>> at startup.
-
-=item C<usesocks>
-
-From F<usesocks.U>:
-
-This variable conditionally defines the C<USE_SOCKS> symbol,
-and indicates that Perl should be built to use C<SOCKS>.
-
-=item C<usethreads>
-
-From F<usethreads.U>:
-
-This variable conditionally defines the C<USE_THREADS> symbol,
-and indicates that Perl should be built to use threads.
-
-=item C<usevendorprefix>
-
-From F<vendorprefix.U>:
-
-This variable tells whether the vendorprefix
-and consequently other vendor* paths are in use.
-
-=item C<usevfork>
-
-From F<d_vfork.U>:
-
-This variable is set to true when the user accepts to use vfork.
-It is set to false when no vfork is available or when the user
-explicitely requests not to use vfork.
-
-=item C<usrinc>
-
-From F<usrinc.U>:
-
-This variable holds the path of the include files, which is
-usually F</usr/include>. It is mainly used by other Configure units.
-
-=item C<uuname>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<uvoformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<UV> as an unsigned octal integer.
-
-=item C<uvsize>
-
-From F<perlxv.U>:
-
-This variable is the size of a C<UV> in bytes.
-
-=item C<uvtype>
-
-From F<perlxv.U>:
-
-This variable contains the C type used for Perl's C<UV>.
-
-=item C<uvuformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<UV> as an unsigned decimal integer.
-
-=item C<uvxformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<UV> as an unsigned hexadecimal integer in lowercase abcdef.
-
-=item C<uvXUformat>
-
-From F<perlxvf.U>:
-
-This variable contains the format string used for printing
-a Perl C<UV> as an unsigned hexadecimal integer in uppercase C<ABCDEF>.
-
-=back
-
-=cut
-
-=head2 v
-
-=over 4
-
-=cut
-
-=item C<vendorarch>
-
-From F<vendorarch.U>:
-
-This variable contains the value of the C<PERL_VENDORARCH> symbol.
-It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-architecture-dependent modules and extensions in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorarchexp>
-
-From F<vendorarch.U>:
-
-This variable is the F<~name> expanded version of vendorarch, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorbin>
-
-From F<vendorbin.U>:
-
-This variable contains the eventual value of the C<VENDORBIN> symbol.
-It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place additional
-binaries in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorbinexp>
-
-From F<vendorbin.U>:
-
-This variable is the F<~name> expanded version of vendorbin, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorhtml1dir>
-
-From F<vendorhtml1dir.U>:
-
-This variable contains the name of the directory for html
-pages. It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-html pages in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorhtml1direxp>
-
-From F<vendorhtml1dir.U>:
-
-This variable is the F<~name> expanded version of vendorhtml1dir, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorhtml3dir>
-
-From F<vendorhtml3dir.U>:
-
-This variable contains the name of the directory for html
-library pages. It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-html pages for modules and extensions in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorhtml3direxp>
-
-From F<vendorhtml3dir.U>:
-
-This variable is the F<~name> expanded version of vendorhtml3dir, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorlib>
-
-From F<vendorlib.U>:
-
-This variable contains the eventual value of the C<VENDORLIB> symbol,
-which is the name of the private library for this package.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-modules in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorlib_stem>
-
-From F<vendorlib.U>:
-
-This variable is $vendorlibexp with any trailing version-specific component
-removed. The elements in inc_version_list (F<inc_version_list.U>) can
-be tacked onto this variable to generate a list of directories to search.
-
-=item C<vendorlibexp>
-
-From F<vendorlib.U>:
-
-This variable is the F<~name> expanded version of vendorlib, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorman1dir>
-
-From F<vendorman1dir.U>:
-
-This variable contains the name of the directory for man1
-pages. It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-man1 pages in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorman1direxp>
-
-From F<vendorman1dir.U>:
-
-This variable is the F<~name> expanded version of vendorman1dir, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorman3dir>
-
-From F<vendorman3dir.U>:
-
-This variable contains the name of the directory for man3
-pages. It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place their own
-man3 pages in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorman3direxp>
-
-From F<vendorman3dir.U>:
-
-This variable is the F<~name> expanded version of vendorman3dir, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<vendorprefix>
-
-From F<vendorprefix.U>:
-
-This variable holds the full absolute path of the directory below
-which the vendor will install add-on packages.
-See C<INSTALL> for usage and examples.
-
-=item C<vendorprefixexp>
-
-From F<vendorprefix.U>:
-
-This variable holds the full absolute path of the directory below
-which the vendor will install add-on packages. Derived from vendorprefix.
-
-=item C<vendorscript>
-
-From F<vendorscript.U>:
-
-This variable contains the eventual value of the C<VENDORSCRIPT> symbol.
-It may have a F<~> on the front.
-The standard distribution will put nothing in this directory.
-Vendors who distribute perl may wish to place additional
-executable scripts in this directory with
-MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
-or equivalent. See C<INSTALL> for details.
-
-=item C<vendorscriptexp>
-
-From F<vendorscript.U>:
-
-This variable is the F<~name> expanded version of vendorscript, so that you
-may use it directly in Makefiles or shell scripts.
-
-=item C<version>
-
-From F<patchlevel.U>:
-
-The full version number of this package, such as 5.6.1 (or 5_6_1).
-This combines revision, patchlevel, and subversion to get the
-full version number, including any possible subversions.
-This is suitable for use as a directory name, and hence is
-filesystem dependent.
-
-=item C<version_patchlevel_string>
-
-From F<patchlevel.U>:
-
-This is a string combining version, subversion and
-perl_patchlevel (if perl_patchlevel is non-zero).
-It is typically something like
-'version 7 subversion 1' or
-'version 7 subversion 1 patchlevel 11224'
-It is computed here to avoid duplication of code in F<myconfig.SH>
-and F<lib/Config.pm>.
-
-=item C<versiononly>
-
-From F<versiononly.U>:
-
-If set, this symbol indicates that only the version-specific
-components of a perl installation should be installed.
-This may be useful for making a test installation of a new
-version without disturbing the existing installation.
-Setting versiononly is equivalent to setting installperl's -v option.
-In particular, the non-versioned scripts and programs such as
-a2p, c2ph, h2xs, pod2*, and perldoc are not installed
-(see C<INSTALL> for a more complete list). Nor are the man
-pages installed.
-Usually, this is undef.
-
-=item C<vi>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<voidflags>
-
-From F<voidflags.U>:
-
-This variable contains the eventual value of the C<VOIDFLAGS> symbol,
-which indicates how much support of the void type is given by this
-compiler. See C<VOIDFLAGS> for more info.
-
-=back
-
-=cut
-
-=head2 x
-
-=over 4
-
-=cut
-
-=item C<xlibpth>
-
-From F<libpth.U>:
-
-This variable holds extra path (space-separated) used to find
-libraries on this platform, for example C<CPU>-specific libraries
-(on multi-C<CPU> platforms) may be listed here.
-
-=back
-
-=cut
-
-=head2 y
-
-=over 4
-
-=cut
-
-=item C<yacc>
-
-From F<yacc.U>:
-
-This variable holds the name of the compiler compiler we
-want to use in the Makefile. It can be yacc, byacc, or bison -y.
-
-=item C<yaccflags>
-
-From F<yacc.U>:
-
-This variable contains any additional yacc flags desired by the
-user. It is up to the Makefile to use this.
-
-=back
-
-=cut
-
-=head2 z
-
-=over 4
-
-=cut
-
-=item C<zcat>
-
-From F<Loc.U>:
-
-This variable is defined but not used by Configure.
-The value is a plain '' and is not useful.
-
-=item C<zip>
-
-From F<Loc.U>:
-
-This variable is used internally by Configure to determine the
-full pathname (if any) of the zip program. After Configure runs,
-the value is reset to a plain C<zip> and is not useful.
-
-
-=back
-
-=head1 NOTE
-
-This module contains a good example of how to use tie to implement a
-cache and an example of how to make a tied variable readonly to those
-outside of it.
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config_heavy.pl b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config_heavy.pl
deleted file mode 100644
index eeb3eb207a4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Config_heavy.pl
+++ /dev/null
@@ -1,1240 +0,0 @@
-# This file was created by configpm when Perl was built. Any changes
-# made to this file will be lost the next time perl is built.
-
-package Config;
-use strict;
-# use warnings; Pulls in Carp
-# use vars pulls in Carp
-##
-## This file was produced by running the Configure script. It holds all the
-## definitions figured out by Configure. Should you modify one of these values,
-## do not forget to propagate your changes by running "Configure -der". You may
-## instead choose to run each of the .SH files by yourself, or "Configure -S".
-##
-#
-## Package name : perl5
-## Source directory : /usr/src/perl/perl-5.10.0/perl-current
-## Configuration time: Mon Jun 30 16:03:19 GMT 2008
-## Configured by : rurban
-## Target system : cygwin_nt-5.1 reini 1.5.25(0.15642) 2008-06-12 19:34 i686 cygwin
-#
-#: Configure command line arguments.
-#
-#: Configure command line arguments.
-
-our $summary = <<'!END!';
-Summary of my $package (revision $revision $version_patchlevel_string) configuration:
- Platform:
- osname=$osname, osvers=$osvers, archname=$archname
- uname='$myuname'
- config_args='$config_args'
- hint=$hint, useposix=$useposix, d_sigaction=$d_sigaction
- useithreads=$useithreads, usemultiplicity=$usemultiplicity
- useperlio=$useperlio, d_sfio=$d_sfio, uselargefiles=$uselargefiles, usesocks=$usesocks
- use64bitint=$use64bitint, use64bitall=$use64bitall, uselongdouble=$uselongdouble
- usemymalloc=$usemymalloc, bincompat5005=undef
- Compiler:
- cc='$cc', ccflags ='$ccflags',
- optimize='$optimize',
- cppflags='$cppflags'
- ccversion='$ccversion', gccversion='$gccversion', gccosandvers='$gccosandvers'
- intsize=$intsize, longsize=$longsize, ptrsize=$ptrsize, doublesize=$doublesize, byteorder=$byteorder
- d_longlong=$d_longlong, longlongsize=$longlongsize, d_longdbl=$d_longdbl, longdblsize=$longdblsize
- ivtype='$ivtype', ivsize=$ivsize, nvtype='$nvtype', nvsize=$nvsize, Off_t='$lseektype', lseeksize=$lseeksize
- alignbytes=$alignbytes, prototype=$prototype
- Linker and Libraries:
- ld='$ld', ldflags ='$ldflags'
- libpth=$libpth
- libs=$libs
- perllibs=$perllibs
- libc=$libc, so=$so, useshrplib=$useshrplib, libperl=$libperl
- gnulibc_version='$gnulibc_version'
- Dynamic Linking:
- dlsrc=$dlsrc, dlext=$dlext, d_dlsymun=$d_dlsymun, ccdlflags='$ccdlflags'
- cccdlflags='$cccdlflags', lddlflags='$lddlflags'
-
-!END!
-my $summary_expanded;
-
-sub myconfig {
- return $summary_expanded if $summary_expanded;
- ($summary_expanded = $summary) =~ s{\$(\w+)}
- { my $c = $Config::Config{$1}; defined($c) ? $c : 'undef' }ge;
- $summary_expanded;
-}
-
-local *_ = \my $a;
-$_ = <<'!END!';
-Author=''
-CONFIG='true'
-Date='$Date'
-Header=''
-Id='$Id'
-Locker=''
-Log='$Log'
-PATCHLEVEL='10'
-PERL_API_REVISION='5'
-PERL_API_SUBVERSION='0'
-PERL_API_VERSION='10'
-PERL_CONFIG_SH='true'
-PERL_PATCHLEVEL='34065'
-PERL_REVISION='5'
-PERL_SUBVERSION='0'
-PERL_VERSION='10'
-RCSfile='$RCSfile'
-Revision='$Revision'
-SUBVERSION='0'
-Source=''
-State=''
-_a='.a'
-_exe='.exe'
-_o='.o'
-afs='false'
-afsroot='/afs'
-alignbytes='8'
-ansi2knr=''
-aphostname='/usr/bin/hostname'
-api_revision='5'
-api_subversion='0'
-api_version='10'
-api_versionstring='5.10.0'
-ar='ar'
-archlib='/usr/lib/perl5/5.10/i686-cygwin'
-archlibexp='/usr/lib/perl5/5.10/i686-cygwin'
-archname64='64int'
-archname='cygwin-thread-multi-64int'
-archobjs='cygwin.o'
-asctime_r_proto='REENTRANT_PROTO_B_SB'
-awk='awk'
-baserev='5.0'
-bash=''
-bin='/usr/bin'
-binexp='/usr/bin'
-bison='bison'
-byacc='byacc'
-byteorder='12345678'
-c=''
-castflags='0'
-cat='cat'
-cc='gcc'
-cccdlflags=' '
-ccdlflags=' '
-ccflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/local/include'
-ccflags_uselargefiles=''
-ccname='gcc'
-ccsymbols='__CYGWIN32__=1 __unix=1 __unix__=1'
-ccversion=''
-cf_by='rurban'
-cf_email='cygwin@cygwin.com'
-cf_time='Mon Jun 30 16:03:19 GMT 2008'
-chgrp=''
-chmod='chmod'
-chown=''
-clocktype='clock_t'
-comm='comm'
-compress=''
-config_arg0='/usr/src/perl/perl-5.10.0/perl-current/Configure'
-config_arg0='/usr/src/perl/perl-5.10.0/perl-current/Configure'
-config_arg1='-de'
-config_arg1='-de'
-config_arg2='-Dmksymlinks'
-config_arg2='-Dmksymlinks'
-config_arg3='-Dusethreads'
-config_arg3='-Dusethreads'
-config_arg4='-Dmad=y'
-config_arg4='-Dmad=y'
-config_arg5='-Dusedevel'
-config_arg5='-Dusedevel'
-config_argc='5'
-config_argc='5'
-config_args='-de -Dmksymlinks -Dusethreads -Dmad=y -Dusedevel'
-config_args='-de -Dmksymlinks -Dusethreads -Dmad=y -Dusedevel'
-contains='grep'
-cp='cp'
-cpio=''
-cpp='cpp'
-cpp_stuff='42'
-cppccsymbols='__CYGWIN__=1 unix=1'
-cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/local/include'
-cpplast='-'
-cppminus='-'
-cpprun='gcc -E'
-cppstdin='gcc -E'
-cppsymbols='BIG_ENDIAN=4321 __BIG_ENDIAN=4321 __GNUC__=3 __GNUC_MINOR__=4 LITTLE_ENDIAN=1234 __LITTLE_ENDIAN=1234 _LONG_DOUBLE=long\ double __STDC__=1 i386=1 __i386=1 __i386__=1 __unix=1 __unix__=1'
-crypt_r_proto='0'
-cryptlib=''
-csh='csh'
-ctermid_r_proto='0'
-ctime_r_proto='REENTRANT_PROTO_B_SB'
-d_Gconvert='sprintf((b),"%.*g",(n),(x))'
-d_PRIEUldbl='define'
-d_PRIFUldbl='define'
-d_PRIGUldbl='define'
-d_PRIXU64='define'
-d_PRId64='define'
-d_PRIeldbl='define'
-d_PRIfldbl='define'
-d_PRIgldbl='define'
-d_PRIi64='define'
-d_PRIo64='define'
-d_PRIu64='define'
-d_PRIx64='define'
-d_SCNfldbl='define'
-d__fwalk='undef'
-d_access='define'
-d_accessx='undef'
-d_aintl='undef'
-d_alarm='define'
-d_archlib='define'
-d_asctime_r='define'
-d_atolf='undef'
-d_atoll='define'
-d_attribute_format='define'
-d_attribute_malloc='define'
-d_attribute_nonnull='define'
-d_attribute_noreturn='define'
-d_attribute_pure='define'
-d_attribute_unused='define'
-d_attribute_warn_unused_result='define'
-d_bcmp='define'
-d_bcopy='define'
-d_bsd='define'
-d_bsdgetpgrp='undef'
-d_bsdsetpgrp='undef'
-d_builtin_choose_expr='define'
-d_builtin_expect='define'
-d_bzero='define'
-d_c99_variadic_macros='define'
-d_casti32='undef'
-d_castneg='define'
-d_charvspr='undef'
-d_chown='define'
-d_chroot='define'
-d_chsize='undef'
-d_class='undef'
-d_clearenv='undef'
-d_closedir='define'
-d_cmsghdr_s='define'
-d_const='define'
-d_copysignl='undef'
-d_cplusplus='undef'
-d_crypt='define'
-d_crypt_r='undef'
-d_csh='define'
-d_ctermid='define'
-d_ctermid_r='undef'
-d_ctime_r='define'
-d_cuserid='define'
-d_dbl_dig='define'
-d_dbminitproto='define'
-d_difftime='define'
-d_dir_dd_fd='undef'
-d_dirfd='define'
-d_dirnamlen='undef'
-d_dlerror='define'
-d_dlopen='define'
-d_dlsymun='undef'
-d_dosuid='undef'
-d_drand48_r='undef'
-d_drand48proto='define'
-d_dup2='define'
-d_eaccess='undef'
-d_endgrent='define'
-d_endgrent_r='undef'
-d_endhent='define'
-d_endhostent_r='undef'
-d_endnent='undef'
-d_endnetent_r='undef'
-d_endpent='define'
-d_endprotoent_r='undef'
-d_endpwent='define'
-d_endpwent_r='undef'
-d_endsent='define'
-d_endservent_r='undef'
-d_eofnblk='define'
-d_eunice='undef'
-d_faststdio='define'
-d_fchdir='define'
-d_fchmod='define'
-d_fchown='define'
-d_fcntl='define'
-d_fcntl_can_lock='define'
-d_fd_macros='define'
-d_fd_set='define'
-d_fds_bits='define'
-d_fgetpos='define'
-d_finite='define'
-d_finitel='undef'
-d_flexfnam='define'
-d_flock='define'
-d_flockproto='define'
-d_fork='define'
-d_fp_class='undef'
-d_fpathconf='define'
-d_fpclass='undef'
-d_fpclassify='undef'
-d_fpclassl='undef'
-d_fpos64_t='undef'
-d_frexpl='undef'
-d_fs_data_s='undef'
-d_fseeko='define'
-d_fsetpos='define'
-d_fstatfs='define'
-d_fstatvfs='define'
-d_fsync='define'
-d_ftello='define'
-d_ftime='undef'
-d_futimes='define'
-d_getcwd='define'
-d_getespwnam='undef'
-d_getfsstat='undef'
-d_getgrent='define'
-d_getgrent_r='undef'
-d_getgrgid_r='define'
-d_getgrnam_r='define'
-d_getgrps='define'
-d_gethbyaddr='define'
-d_gethbyname='define'
-d_gethent='undef'
-d_gethname='define'
-d_gethostbyaddr_r='undef'
-d_gethostbyname_r='undef'
-d_gethostent_r='undef'
-d_gethostprotos='define'
-d_getitimer='define'
-d_getlogin='define'
-d_getlogin_r='define'
-d_getmnt='undef'
-d_getmntent='define'
-d_getnbyaddr='undef'
-d_getnbyname='undef'
-d_getnent='undef'
-d_getnetbyaddr_r='undef'
-d_getnetbyname_r='undef'
-d_getnetent_r='undef'
-d_getnetprotos='define'
-d_getpagsz='define'
-d_getpbyname='define'
-d_getpbynumber='define'
-d_getpent='define'
-d_getpgid='define'
-d_getpgrp2='undef'
-d_getpgrp='define'
-d_getppid='define'
-d_getprior='define'
-d_getprotobyname_r='undef'
-d_getprotobynumber_r='undef'
-d_getprotoent_r='undef'
-d_getprotoprotos='define'
-d_getprpwnam='undef'
-d_getpwent='define'
-d_getpwent_r='undef'
-d_getpwnam_r='define'
-d_getpwuid_r='define'
-d_getsbyname='define'
-d_getsbyport='define'
-d_getsent='define'
-d_getservbyname_r='undef'
-d_getservbyport_r='undef'
-d_getservent_r='undef'
-d_getservprotos='define'
-d_getspnam='undef'
-d_getspnam_r='undef'
-d_gettimeod='define'
-d_gmtime_r='define'
-d_gnulibc='undef'
-d_grpasswd='define'
-d_hasmntopt='undef'
-d_htonl='define'
-d_ilogbl='undef'
-d_inc_version_list='undef'
-d_index='undef'
-d_inetaton='define'
-d_int64_t='define'
-d_isascii='define'
-d_isfinite='undef'
-d_isinf='define'
-d_isnan='define'
-d_isnanl='undef'
-d_killpg='define'
-d_lchown='define'
-d_ldbl_dig='define'
-d_libm_lib_version='undef'
-d_link='define'
-d_localtime_r='define'
-d_localtime_r_needs_tzset='undef'
-d_locconv='define'
-d_lockf='undef'
-d_longdbl='define'
-d_longlong='define'
-d_lseekproto='define'
-d_lstat='define'
-d_madvise='undef'
-d_malloc_good_size='undef'
-d_malloc_size='undef'
-d_mblen='define'
-d_mbstowcs='define'
-d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
-d_memmove='define'
-d_memset='define'
-d_mkdir='define'
-d_mkdtemp='define'
-d_mkfifo='define'
-d_mkstemp='define'
-d_mkstemps='undef'
-d_mktime='define'
-d_mmap='define'
-d_modfl='undef'
-d_modfl_pow32_bug='undef'
-d_modflproto='undef'
-d_mprotect='define'
-d_msg='define'
-d_msg_ctrunc='define'
-d_msg_dontroute='define'
-d_msg_oob='define'
-d_msg_peek='define'
-d_msg_proxy='undef'
-d_msgctl='define'
-d_msgget='define'
-d_msghdr_s='define'
-d_msgrcv='define'
-d_msgsnd='define'
-d_msync='define'
-d_munmap='define'
-d_mymalloc='define'
-d_ndbm='define'
-d_nice='define'
-d_nl_langinfo='define'
-d_nv_preserves_uv='undef'
-d_nv_zero_is_allbits_zero='define'
-d_off64_t='undef'
-d_old_pthread_create_joinable='undef'
-d_oldpthreads='undef'
-d_oldsock='undef'
-d_open3='define'
-d_pathconf='define'
-d_pause='define'
-d_perl_otherlibdirs='define'
-d_phostname='undef'
-d_pipe='define'
-d_poll='define'
-d_portable='define'
-d_printf_format_null='define'
-d_procselfexe='define'
-d_pseudofork='undef'
-d_pthread_atfork='define'
-d_pthread_attr_setscope='undef'
-d_pthread_yield='undef'
-d_pwage='undef'
-d_pwchange='undef'
-d_pwclass='undef'
-d_pwcomment='define'
-d_pwexpire='undef'
-d_pwgecos='define'
-d_pwpasswd='define'
-d_pwquota='undef'
-d_qgcvt='undef'
-d_quad='define'
-d_random_r='undef'
-d_readdir64_r='undef'
-d_readdir='define'
-d_readdir_r='define'
-d_readlink='define'
-d_readv='define'
-d_recvmsg='define'
-d_rename='define'
-d_rewinddir='define'
-d_rmdir='define'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
-d_sbrkproto='define'
-d_scalbnl='undef'
-d_sched_yield='define'
-d_scm_rights='define'
-d_seekdir='define'
-d_select='define'
-d_sem='define'
-d_semctl='define'
-d_semctl_semid_ds='define'
-d_semctl_semun='define'
-d_semget='define'
-d_semop='define'
-d_sendmsg='define'
-d_setegid='define'
-d_seteuid='define'
-d_setgrent='define'
-d_setgrent_r='undef'
-d_setgrps='define'
-d_sethent='define'
-d_sethostent_r='undef'
-d_setitimer='define'
-d_setlinebuf='define'
-d_setlocale='define'
-d_setlocale_r='undef'
-d_setnent='undef'
-d_setnetent_r='undef'
-d_setpent='define'
-d_setpgid='define'
-d_setpgrp2='undef'
-d_setpgrp='define'
-d_setprior='define'
-d_setproctitle='undef'
-d_setprotoent_r='undef'
-d_setpwent='define'
-d_setpwent_r='undef'
-d_setregid='define'
-d_setresgid='undef'
-d_setresuid='undef'
-d_setreuid='define'
-d_setrgid='undef'
-d_setruid='undef'
-d_setsent='define'
-d_setservent_r='undef'
-d_setsid='define'
-d_setvbuf='define'
-d_sfio='undef'
-d_shm='define'
-d_shmat='define'
-d_shmatprototype='define'
-d_shmctl='define'
-d_shmdt='define'
-d_shmget='define'
-d_sigaction='define'
-d_signbit='define'
-d_sigprocmask='define'
-d_sigsetjmp='define'
-d_sitearch='define'
-d_snprintf='define'
-d_sockatmark='undef'
-d_sockatmarkproto='undef'
-d_socket='define'
-d_socklen_t='define'
-d_sockpair='define'
-d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
-d_sqrtl='undef'
-d_srand48_r='undef'
-d_srandom_r='undef'
-d_sresgproto='undef'
-d_sresuproto='undef'
-d_statblks='define'
-d_statfs_f_flags='undef'
-d_statfs_s='define'
-d_statvfs='define'
-d_stdio_cnt_lval='define'
-d_stdio_ptr_lval='define'
-d_stdio_ptr_lval_nochange_cnt='define'
-d_stdio_ptr_lval_sets_cnt='undef'
-d_stdio_stream_array='undef'
-d_stdiobase='define'
-d_stdstdio='define'
-d_strchr='define'
-d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
-d_strerror_r='define'
-d_strftime='define'
-d_strlcat='define'
-d_strlcpy='define'
-d_strtod='define'
-d_strtol='define'
-d_strtold='define'
-d_strtoll='define'
-d_strtoq='undef'
-d_strtoul='define'
-d_strtoull='define'
-d_strtouq='undef'
-d_strxfrm='define'
-d_suidsafe='undef'
-d_symlink='define'
-d_syscall='undef'
-d_syscallproto='undef'
-d_sysconf='define'
-d_sysernlst=''
-d_syserrlst='define'
-d_system='define'
-d_tcgetpgrp='define'
-d_tcsetpgrp='define'
-d_telldir='define'
-d_telldirproto='define'
-d_time='define'
-d_times='define'
-d_tm_tm_gmtoff='undef'
-d_tm_tm_zone='undef'
-d_tmpnam_r='undef'
-d_truncate='define'
-d_ttyname_r='define'
-d_tzname='define'
-d_u32align='define'
-d_ualarm='define'
-d_umask='define'
-d_uname='define'
-d_union_semun='undef'
-d_unordered='undef'
-d_unsetenv='define'
-d_usleep='define'
-d_usleepproto='define'
-d_ustat='undef'
-d_vendorarch='define'
-d_vendorbin='define'
-d_vendorlib='define'
-d_vendorscript='define'
-d_vfork='undef'
-d_void_closedir='undef'
-d_voidsig='define'
-d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
-d_vsnprintf='define'
-d_wait4='define'
-d_waitpid='define'
-d_wcstombs='define'
-d_wctomb='define'
-d_writev='define'
-d_xenix='undef'
-date='date'
-db_hashtype='u_int32_t'
-db_prefixtype='size_t'
-db_version_major='4'
-db_version_minor='5'
-db_version_patch='20'
-defvoidused='15'
-direntrytype='struct dirent'
-dlext='dll'
-dlsrc='dl_dlopen.xs'
-doublesize='8'
-drand01='drand48()'
-drand48_r_proto='0'
-dtrace=''
-dynamic_ext='B Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attrs re threads threads/shared Hash/Util/FieldHash'
-eagain='EAGAIN'
-ebcdic='undef'
-echo='echo'
-egrep='egrep'
-emacs=''
-endgrent_r_proto='0'
-endhostent_r_proto='0'
-endnetent_r_proto='0'
-endprotoent_r_proto='0'
-endpwent_r_proto='0'
-endservent_r_proto='0'
-eunicefix=':'
-exe_ext='.exe'
-expr='expr'
-extensions='B Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attrs re threads threads/shared Hash/Util/FieldHash Win32CORE Compress/Zlib Errno IO_Compress_Base IO_Compress_Zlib Module/Pluggable'
-extras=''
-fflushNULL='define'
-fflushall='undef'
-find=''
-firstmakefile='GNUmakefile'
-flex=''
-fpossize='8'
-fpostype='fpos_t'
-freetype='void'
-from=':'
-full_ar='/usr/bin/ar'
-full_csh='/usr/bin/csh'
-full_sed='/usr/bin/sed'
-gccansipedantic=''
-gccosandvers=''
-gccversion='3.4.4 (cygming special, gdc 0.12, using dmd 0.125)'
-getgrent_r_proto='0'
-getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
-getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-gethostbyaddr_r_proto='0'
-gethostbyname_r_proto='0'
-gethostent_r_proto='0'
-getlogin_r_proto='REENTRANT_PROTO_I_BW'
-getnetbyaddr_r_proto='0'
-getnetbyname_r_proto='0'
-getnetent_r_proto='0'
-getprotobyname_r_proto='0'
-getprotobynumber_r_proto='0'
-getprotoent_r_proto='0'
-getpwent_r_proto='0'
-getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
-getservbyname_r_proto='0'
-getservbyport_r_proto='0'
-getservent_r_proto='0'
-getspnam_r_proto='0'
-gidformat='"lu"'
-gidsign='1'
-gidsize='4'
-gidtype='gid_t'
-glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
-gmake='gmake'
-gmtime_r_proto='REENTRANT_PROTO_S_TS'
-gnulibc_version=''
-grep='grep'
-groupcat='cat /etc/group'
-groupstype='gid_t'
-gzip='gzip'
-h_fcntl='false'
-h_sysfile='true'
-hint='recommended'
-hostcat='cat /etc/hosts'
-html1dir='/usr/share/doc/perl-5.10.0/html/html1'
-html1direxp='/usr/share/doc/perl-5.10.0/html/html1'
-html3dir='/usr/share/doc/perl-5.10.0/html/html3'
-html3direxp='/usr/share/doc/perl-5.10.0/html/html3'
-i16size='2'
-i16type='short'
-i32size='4'
-i32type='long'
-i64size='8'
-i64type='long long'
-i8size='1'
-i8type='signed char'
-i_arpainet='define'
-i_assert='define'
-i_bsdioctl=''
-i_crypt='define'
-i_db='define'
-i_dbm='define'
-i_dirent='define'
-i_dld='undef'
-i_dlfcn='define'
-i_fcntl='undef'
-i_float='define'
-i_fp='undef'
-i_fp_class='undef'
-i_gdbm='define'
-i_gdbm_ndbm='undef'
-i_gdbmndbm='undef'
-i_grp='define'
-i_ieeefp='define'
-i_inttypes='define'
-i_langinfo='define'
-i_libutil='undef'
-i_limits='define'
-i_locale='define'
-i_machcthr='undef'
-i_malloc='define'
-i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
-i_mntent='define'
-i_ndbm='define'
-i_netdb='define'
-i_neterrno='undef'
-i_netinettcp='define'
-i_niin='define'
-i_poll='define'
-i_prot='undef'
-i_pthread='define'
-i_pwd='define'
-i_rpcsvcdbm='undef'
-i_sfio='undef'
-i_sgtty='undef'
-i_shadow='undef'
-i_socks='undef'
-i_stdarg='define'
-i_stddef='define'
-i_stdlib='define'
-i_string='define'
-i_sunmath='undef'
-i_sysaccess='undef'
-i_sysdir='undef'
-i_sysfile='define'
-i_sysfilio='undef'
-i_sysin='undef'
-i_sysioctl='define'
-i_syslog='define'
-i_sysmman='define'
-i_sysmode='undef'
-i_sysmount='define'
-i_sysndir='undef'
-i_sysparam='define'
-i_syspoll='define'
-i_sysresrc='define'
-i_syssecrt='undef'
-i_sysselct='define'
-i_syssockio='undef'
-i_sysstat='define'
-i_sysstatfs='define'
-i_sysstatvfs='define'
-i_systime='define'
-i_systimek='undef'
-i_systimes='define'
-i_systypes='define'
-i_sysuio='define'
-i_sysun='define'
-i_sysutsname='define'
-i_sysvfs='define'
-i_syswait='define'
-i_termio='undef'
-i_termios='define'
-i_time='undef'
-i_unistd='define'
-i_ustat='undef'
-i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='stdarg.h'
-i_vfork='undef'
-ignore_versioned_solibs=''
-inc_version_list=''
-inc_version_list_init='0'
-incpath=''
-inews=''
-initialinstalllocation='/usr/bin'
-installarchlib='/usr/lib/perl5/5.10/i686-cygwin'
-installbin='/usr/bin'
-installhtml1dir='/usr/share/doc/perl-5.10.0/html/html1'
-installhtml3dir='/usr/share/doc/perl-5.10.0/html/html3'
-installman1dir='/usr/share/man/man1'
-installman3dir='/usr/share/man/man3'
-installprefix='/usr'
-installprefixexp='/usr'
-installprivlib='/usr/lib/perl5/5.10'
-installscript='/usr/bin'
-installsitearch='/usr/lib/perl5/site_perl/5.10/i686-cygwin'
-installsitebin='/usr/bin'
-installsitehtml1dir='/usr/share/doc/perl-5.10.0/html/html1'
-installsitehtml3dir='/usr/share/doc/perl-5.10.0/html/html3'
-installsitelib='/usr/lib/perl5/site_perl/5.10'
-installsiteman1dir='/usr/share/man/man1'
-installsiteman3dir='/usr/share/man/man3'
-installsitescript='/usr/bin'
-installstyle='lib/perl5'
-installusrbinperl='undef'
-installvendorarch='/usr/lib/perl5/vendor_perl/5.10/i686-cygwin'
-installvendorbin='/usr/bin'
-installvendorhtml1dir='/usr/share/doc/perl-5.10.0/html/html1'
-installvendorhtml3dir='/usr/share/doc/perl-5.10.0/html/html3'
-installvendorlib='/usr/lib/perl5/vendor_perl/5.10'
-installvendorman1dir='/usr/share/man/man1'
-installvendorman3dir='/usr/share/man/man3'
-installvendorscript='/usr/bin'
-intsize='4'
-issymlink='test -h'
-ivdformat='"lld"'
-ivsize='8'
-ivtype='long long'
-known_extensions='B Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attrs re threads threads/shared Hash/Util/FieldHash'
-ksh=''
-ld='g++'
-lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib'
-ldflags=' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib'
-ldflags_uselargefiles=''
-ldlibpthname='PATH'
-less='less'
-lib_ext='.a'
-libc='/usr/lib/libc.a'
-libperl='libperl.a'
-libpth='/usr/local/lib /usr/lib /lib'
-libs='-lgdbm -ldb -ldl -lcrypt -lgdbm_compat'
-libsdirs=' /usr/lib'
-libsfiles=' libgdbm.a libdb.a libdl.a libcrypt.a libgdbm_compat.a'
-libsfound=' /usr/lib/libgdbm.a /usr/lib/libdb.a /usr/lib/libdl.a /usr/lib/libcrypt.a /usr/lib/libgdbm_compat.a'
-libspath=' /usr/local/lib /usr/lib /lib'
-libswanted=' sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun crypt sec cposix posix ucb bsd BSD gdbm_compat'
-libswanted_uselargefiles=''
-line=''
-lint=''
-lkflags=''
-ln='ln'
-lns='/usr/bin/ln.exe -s'
-localtime_r_proto='REENTRANT_PROTO_S_TS'
-locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
-loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
-longdblsize='12'
-longlongsize='8'
-longsize='4'
-lp=''
-lpr=''
-ls='ls'
-lseeksize='8'
-lseektype='off_t'
-mad='define'
-madlyh='madly.h madly.act madly.tab'
-madlyobj='madly.o'
-madlysrc='madly.c'
-mail=''
-mailx=''
-make='make'
-make_set_make='#'
-mallocobj='malloc.o'
-mallocsrc='malloc.c'
-malloctype='void *'
-man1dir='/usr/share/man/man1'
-man1direxp='/usr/share/man/man1'
-man1ext='1'
-man3dir='/usr/share/man/man3'
-man3direxp='/usr/share/man/man3'
-man3ext='3pm'
-mips_type=''
-mistrustnm=''
-mkdir='mkdir'
-mmaptype='void *'
-modetype='mode_t'
-more='more'
-multiarch='undef'
-mv=''
-myarchname='i686-cygwin'
-mydomain='.x-ray.at'
-myhostname='reini'
-myuname='cygwin_nt-5.1 reini 1.5.25(0.15642) 2008-06-12 19:34 i686 cygwin '
-n='-n'
-need_va_copy='undef'
-netdb_hlen_type='int'
-netdb_host_type='const char *'
-netdb_name_type='const char *'
-netdb_net_type='long'
-nm='nm'
-nm_opt='-p'
-nm_so_opt=''
-nonxs_ext='Compress/Zlib Errno IO_Compress_Base IO_Compress_Zlib Module/Pluggable'
-nroff='nroff'
-nvEUformat='"E"'
-nvFUformat='"F"'
-nvGUformat='"G"'
-nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
-nv_preserves_uv_bits='53'
-nveformat='"e"'
-nvfformat='"f"'
-nvgformat='"g"'
-nvsize='8'
-nvtype='double'
-o_nonblock='O_NONBLOCK'
-obj_ext='.o'
-old_pthread_create_joinable=''
-optimize='-O3'
-orderlib='false'
-osname='cygwin'
-osvers='1.5.25(0.15642)'
-otherlibdirs='/usr/lib/perl5/site_perl/5.8:/usr/lib/perl5/vendor_perl/5.8'
-package='perl5'
-pager='/usr/bin/less'
-passcat='cat /etc/passwd'
-patchlevel='10'
-path_sep=':'
-perl5='/usr/bin/perl'
-perl=''
-perl_patchlevel='34065'
-perladmin='rurban@x-ray.at'
-perllibs='-ldl -lcrypt'
-perlpath='/usr/bin/perl5.10.0'
-pg='pg'
-phostname='hostname'
-pidtype='pid_t'
-plibpth='/usr/lib'
-pmake=''
-pr=''
-prefix='/usr'
-prefixexp='/usr'
-privlib='/usr/lib/perl5/5.10'
-privlibexp='/usr/lib/perl5/5.10'
-procselfexe='"/proc/self/exe"'
-prototype='define'
-ptrsize='4'
-quadkind='3'
-quadtype='long long'
-randbits='48'
-randfunc='drand48'
-random_r_proto='0'
-randseedtype='long'
-ranlib=':'
-rd_nodata='-1'
-readdir64_r_proto='0'
-readdir_r_proto='REENTRANT_PROTO_I_TSR'
-revision='5'
-rm='rm'
-rm_try='/usr/bin/rm -f try try.exe a.out .out try.[cho] try..o core core.try* try.core*'
-rmail=''
-run=''
-runnm='true'
-sPRIEUldbl='"LE"'
-sPRIFUldbl='"LF"'
-sPRIGUldbl='"LG"'
-sPRIXU64='"llX"'
-sPRId64='"lld"'
-sPRIeldbl='"Le"'
-sPRIfldbl='"Lf"'
-sPRIgldbl='"Lg"'
-sPRIi64='"lli"'
-sPRIo64='"llo"'
-sPRIu64='"llu"'
-sPRIx64='"llx"'
-sSCNfldbl='"Lf"'
-sched_yield='sched_yield()'
-scriptdir='/usr/bin'
-scriptdirexp='/usr/bin'
-sed='sed'
-seedfunc='srand48'
-selectminbits='32'
-selecttype='fd_set *'
-sendmail=''
-setgrent_r_proto='0'
-sethostent_r_proto='0'
-setlocale_r_proto='0'
-setnetent_r_proto='0'
-setprotoent_r_proto='0'
-setpwent_r_proto='0'
-setservent_r_proto='0'
-sh='/bin/sh'
-shar=''
-sharpbang='#!'
-shmattype='void *'
-shortsize='2'
-shrpenv='env LD_RUN_PATH=/usr/lib/perl5/5.10/i686-cygwin/CORE'
-shsharp='true'
-sig_count='33'
-sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 RTMAX CLD POLL RTMIN '
-sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "LOST", "USR1", "USR2", "RTMAX", "CLD", "POLL", "RTMIN", 0'
-sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 20 23 32 '
-sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 23, 32, 0'
-sig_size='36'
-signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.10/i686-cygwin'
-sitearchexp='/usr/lib/perl5/site_perl/5.10/i686-cygwin'
-sitebin='/usr/bin'
-sitebinexp='/usr/bin'
-sitehtml1dir='/usr/share/doc/perl-5.10.0/html/html1'
-sitehtml1direxp='/usr/share/doc/perl-5.10.0/html/html1'
-sitehtml3dir='/usr/share/doc/perl-5.10.0/html/html3'
-sitehtml3direxp='/usr/share/doc/perl-5.10.0/html/html3'
-sitelib='/usr/lib/perl5/site_perl/5.10'
-sitelib_stem='/usr/lib/perl5/site_perl/5.10'
-sitelibexp='/usr/lib/perl5/site_perl/5.10'
-siteman1dir='/usr/share/man/man1'
-siteman1direxp='/usr/share/man/man1'
-siteman3dir='/usr/share/man/man3'
-siteman3direxp='/usr/share/man/man3'
-siteprefix='/usr'
-siteprefixexp='/usr'
-sitescript='/usr/bin'
-sitescriptexp='/usr/bin'
-sizesize='4'
-sizetype='size_t'
-sleep=''
-smail=''
-so='dll'
-sockethdr=''
-socketlib=''
-socksizetype='socklen_t'
-sort='sort'
-spackage='Perl5'
-spitshell='cat'
-srand48_r_proto='0'
-srandom_r_proto='0'
-src='/usr/src/perl/perl-5.10.0/perl-current'
-ssizetype='ssize_t'
-startperl='#!/usr/bin/perl5.10.0'
-startsh='#!/bin/sh'
-static_ext='Win32CORE'
-stdchar='char'
-stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)'
-stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)'
-stdio_cnt='((fp)->_r)'
-stdio_filbuf=''
-stdio_ptr='((fp)->_p)'
-stdio_stream_array=''
-strerror_r_proto='REENTRANT_PROTO_B_IBW'
-strings='/usr/include/string.h'
-submit=''
-subversion='0'
-sysman='/usr/share/man/man1'
-tail=''
-tar=''
-targetarch=''
-tbl=''
-tee=''
-test='test'
-timeincl='/usr/include/sys/time.h '
-timetype='time_t'
-tmpnam_r_proto='0'
-to=':'
-touch='touch'
-tr='tr'
-trnl='\n'
-troff=''
-ttyname_r_proto='REENTRANT_PROTO_I_IBW'
-u16size='2'
-u16type='unsigned short'
-u32size='4'
-u32type='unsigned long'
-u64size='8'
-u64type='unsigned long long'
-u8size='1'
-u8type='unsigned char'
-uidformat='"lu"'
-uidsign='1'
-uidsize='4'
-uidtype='uid_t'
-uname='uname'
-uniq='uniq'
-uquadtype='unsigned long long'
-use5005threads='undef'
-use64bitall='undef'
-use64bitint='define'
-usecrosscompile='undef'
-usedl='define'
-usedtrace='undef'
-usefaststdio='undef'
-useithreads='define'
-uselargefiles='define'
-uselongdouble='undef'
-usemallocwrap='define'
-usemorebits='undef'
-usemultiplicity='define'
-usemymalloc='y'
-usenm='true'
-useopcode='true'
-useperlio='define'
-useposix='true'
-usereentrant='undef'
-userelocatableinc='undef'
-usesfio='false'
-useshrplib='true'
-usesitecustomize='undef'
-usesocks='undef'
-usethreads='define'
-usevendorprefix='define'
-usevfork='false'
-usrinc='/usr/include'
-uuname=''
-uvXUformat='"llX"'
-uvoformat='"llo"'
-uvsize='8'
-uvtype='unsigned long long'
-uvuformat='"llu"'
-uvxformat='"llx"'
-vendorarch='/usr/lib/perl5/vendor_perl/5.10/i686-cygwin'
-vendorarchexp='/usr/lib/perl5/vendor_perl/5.10/i686-cygwin'
-vendorbin='/usr/bin'
-vendorbinexp='/usr/bin'
-vendorhtml1dir='/usr/share/doc/perl-5.10.0/html/html1'
-vendorhtml1direxp='/usr/share/doc/perl-5.10.0/html/html1'
-vendorhtml3dir='/usr/share/doc/perl-5.10.0/html/html3'
-vendorhtml3direxp='/usr/share/doc/perl-5.10.0/html/html3'
-vendorlib='/usr/lib/perl5/vendor_perl/5.10'
-vendorlib_stem='/usr/lib/perl5/vendor_perl/5.10'
-vendorlibexp='/usr/lib/perl5/vendor_perl/5.10'
-vendorman1dir='/usr/share/man/man1'
-vendorman1direxp='/usr/share/man/man1'
-vendorman3dir='/usr/share/man/man3'
-vendorman3direxp='/usr/share/man/man3'
-vendorprefix='/usr'
-vendorprefixexp='/usr'
-vendorscript='/usr/bin'
-vendorscriptexp='/usr/bin'
-version='5.10.0'
-version_patchlevel_string='version 10 subversion 0 patch 34065'
-versiononly='define'
-vi=''
-voidflags='15'
-xlibpth='/usr/lib/386 /lib/386'
-yacc='/usr/bin/byacc'
-yaccflags=''
-zcat=''
-zip='zip'
-!END!
-
-my $i = 0;
-foreach my $c (8,7,6,5,4,3,2) { $i |= ord($c); $i <<= 8 }
-$i |= ord(1);
-our $byteorder = join('', unpack('aaaaaaaa', pack('Q', $i)));
-s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
-
-my $config_sh_len = length $_;
-
-our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -I/usr/local/include'
-ldflags_nolargefiles=' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib'
-libs_nolargefiles='-lgdbm -ldb -ldl -lcrypt -lgdbm_compat'
-libswanted_nolargefiles=' sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun crypt sec cposix posix ucb bsd BSD gdbm_compat'
-EOVIRTUAL
-
-# Search for it in the big string
-sub fetch_string {
- my($self, $key) = @_;
-
- # We only have ' delimted.
- my $start = index($Config_SH_expanded, "\n$key=\'");
- # Start can never be -1 now, as we've rigged the long string we're
- # searching with an initial dummy newline.
- return undef if $start == -1;
-
- $start += length($key) + 3;
-
- my $value = substr($Config_SH_expanded, $start,
- index($Config_SH_expanded, "'\n", $start)
- - $start);
- # So we can say "if $Config{'foo'}".
- $value = undef if $value eq 'undef';
- $self->{$key} = $value; # cache it
-}
-
-my $prevpos = 0;
-
-sub FIRSTKEY {
- $prevpos = 0;
- substr($Config_SH_expanded, 1, index($Config_SH_expanded, '=') - 1 );
-}
-
-sub NEXTKEY {
- my $pos = index($Config_SH_expanded, qq('\n), $prevpos) + 2;
- my $len = index($Config_SH_expanded, "=", $pos) - $pos;
- $prevpos = $pos;
- $len > 0 ? substr($Config_SH_expanded, $pos, $len) : undef;
-}
-
-sub EXISTS {
- return 1 if exists($_[0]->{$_[1]});
-
- return(index($Config_SH_expanded, "\n$_[1]='") != -1
- );
-}
-
-sub STORE { die "\%Config::Config is read-only\n" }
-*DELETE = \&STORE;
-*CLEAR = \&STORE;
-
-
-sub config_sh {
- substr $Config_SH_expanded, 1, $config_sh_len;
-}
-
-sub config_re {
- my $re = shift;
- return map { chomp; $_ } grep eval{ /^(?:$re)=/ }, split /^/,
- $Config_SH_expanded;
-}
-
-sub config_vars {
- # implements -V:cfgvar option (see perlrun -V:)
- foreach (@_) {
- # find optional leading, trailing colons; and query-spec
- my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft,
- # map colon-flags to print decorations
- my $prfx = $notag ? '': "$qry="; # tag-prefix for print
- my $lnend = $lncont ? ' ' : ";\n"; # line ending for print
-
- # all config-vars are by definition \w only, any \W means regex
- if ($qry =~ /\W/) {
- my @matches = config_re($qry);
- print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag;
- print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag;
- } else {
- my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry}
- : 'UNKNOWN';
- $v = 'undef' unless defined $v;
- print "${prfx}'${v}'$lnend";
- }
- }
-}
-
-# Called by the real AUTOLOAD
-sub launcher {
- undef &AUTOLOAD;
- goto \&$Config::AUTOLOAD;
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Cwd.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Cwd.pm
deleted file mode 100644
index b93c0036120..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/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/5.10/i686-cygwin/DB_File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DB_File.pm
deleted file mode 100644
index 58c34eff83c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DB_File.pm
+++ /dev/null
@@ -1,2299 +0,0 @@
-# DB_File.pm -- Perl 5 interface to Berkeley DB
-#
-# written by Paul Marquess (pmqs@cpan.org)
-# last modified 28th October 2007
-# version 1.817
-#
-# Copyright (c) 1995-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.
-
-
-package DB_File::HASHINFO ;
-
-require 5.00404;
-
-use warnings;
-use strict;
-use Carp;
-require Tie::Hash;
-@DB_File::HASHINFO::ISA = qw(Tie::Hash);
-
-sub new
-{
- my $pkg = shift ;
- my %x ;
- tie %x, $pkg ;
- bless \%x, $pkg ;
-}
-
-
-sub TIEHASH
-{
- my $pkg = shift ;
-
- bless { VALID => {
- bsize => 1,
- ffactor => 1,
- nelem => 1,
- cachesize => 1,
- hash => 2,
- lorder => 1,
- },
- GOT => {}
- }, $pkg ;
-}
-
-
-sub FETCH
-{
- my $self = shift ;
- my $key = shift ;
-
- return $self->{GOT}{$key} if exists $self->{VALID}{$key} ;
-
- my $pkg = ref $self ;
- croak "${pkg}::FETCH - Unknown element '$key'" ;
-}
-
-
-sub STORE
-{
- my $self = shift ;
- my $key = shift ;
- my $value = shift ;
-
- my $type = $self->{VALID}{$key};
-
- if ( $type )
- {
- croak "Key '$key' not associated with a code reference"
- if $type == 2 && !ref $value && ref $value ne 'CODE';
- $self->{GOT}{$key} = $value ;
- return ;
- }
-
- my $pkg = ref $self ;
- croak "${pkg}::STORE - Unknown element '$key'" ;
-}
-
-sub DELETE
-{
- my $self = shift ;
- my $key = shift ;
-
- if ( exists $self->{VALID}{$key} )
- {
- delete $self->{GOT}{$key} ;
- return ;
- }
-
- my $pkg = ref $self ;
- croak "DB_File::HASHINFO::DELETE - Unknown element '$key'" ;
-}
-
-sub EXISTS
-{
- my $self = shift ;
- my $key = shift ;
-
- exists $self->{VALID}{$key} ;
-}
-
-sub NotHere
-{
- my $self = shift ;
- my $method = shift ;
-
- croak ref($self) . " does not define the method ${method}" ;
-}
-
-sub FIRSTKEY { my $self = shift ; $self->NotHere("FIRSTKEY") }
-sub NEXTKEY { my $self = shift ; $self->NotHere("NEXTKEY") }
-sub CLEAR { my $self = shift ; $self->NotHere("CLEAR") }
-
-package DB_File::RECNOINFO ;
-
-use warnings;
-use strict ;
-
-@DB_File::RECNOINFO::ISA = qw(DB_File::HASHINFO) ;
-
-sub TIEHASH
-{
- my $pkg = shift ;
-
- bless { VALID => { map {$_, 1}
- qw( bval cachesize psize flags lorder reclen bfname )
- },
- GOT => {},
- }, $pkg ;
-}
-
-package DB_File::BTREEINFO ;
-
-use warnings;
-use strict ;
-
-@DB_File::BTREEINFO::ISA = qw(DB_File::HASHINFO) ;
-
-sub TIEHASH
-{
- my $pkg = shift ;
-
- bless { VALID => {
- flags => 1,
- cachesize => 1,
- maxkeypage => 1,
- minkeypage => 1,
- psize => 1,
- compare => 2,
- prefix => 2,
- lorder => 1,
- },
- GOT => {},
- }, $pkg ;
-}
-
-
-package DB_File ;
-
-use warnings;
-use strict;
-our ($VERSION, @ISA, @EXPORT, $AUTOLOAD, $DB_BTREE, $DB_HASH, $DB_RECNO);
-our ($db_version, $use_XSLoader, $splice_end_array, $Error);
-use Carp;
-
-
-$VERSION = "1.817" ;
-$VERSION = eval $VERSION; # needed for dev releases
-
-{
- local $SIG{__WARN__} = sub {$splice_end_array = "@_";};
- my @a =(1); splice(@a, 3);
- $splice_end_array =
- ($splice_end_array =~ /^splice\(\) offset past end of array at /);
-}
-
-#typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
-$DB_BTREE = new DB_File::BTREEINFO ;
-$DB_HASH = new DB_File::HASHINFO ;
-$DB_RECNO = new DB_File::RECNOINFO ;
-
-require Tie::Hash;
-require Exporter;
-use AutoLoader;
-BEGIN {
- $use_XSLoader = 1 ;
- { local $SIG{__DIE__} ; eval { require XSLoader } ; }
-
- if ($@) {
- $use_XSLoader = 0 ;
- require DynaLoader;
- @ISA = qw(DynaLoader);
- }
-}
-
-push @ISA, qw(Tie::Hash Exporter);
-@EXPORT = qw(
- $DB_BTREE $DB_HASH $DB_RECNO
-
- BTREEMAGIC
- BTREEVERSION
- DB_LOCK
- DB_SHMEM
- DB_TXN
- HASHMAGIC
- HASHVERSION
- MAX_PAGE_NUMBER
- MAX_PAGE_OFFSET
- MAX_REC_NUMBER
- RET_ERROR
- RET_SPECIAL
- RET_SUCCESS
- R_CURSOR
- R_DUP
- R_FIRST
- R_FIXEDLEN
- R_IAFTER
- R_IBEFORE
- R_LAST
- R_NEXT
- R_NOKEY
- R_NOOVERWRITE
- R_PREV
- R_RECNOSYNC
- R_SETCURSOR
- R_SNAPSHOT
- __R_UNUSED
-
-);
-
-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};
-}
-
-
-eval {
- # Make all Fcntl O_XXX constants available for importing
- require Fcntl;
- my @O = grep /^O_/, @Fcntl::EXPORT;
- Fcntl->import(@O); # first we import what we want to export
- push(@EXPORT, @O);
-};
-
-if ($use_XSLoader)
- { XSLoader::load("DB_File", $VERSION)}
-else
- { bootstrap DB_File $VERSION }
-
-# Preloaded methods go here. Autoload methods go after __END__, and are
-# processed by the autosplit program.
-
-sub tie_hash_or_array
-{
- my (@arg) = @_ ;
- my $tieHASH = ( (caller(1))[3] =~ /TIEHASH/ ) ;
-
- use File::Spec;
- $arg[1] = File::Spec->rel2abs($arg[1])
- if defined $arg[1] ;
-
- $arg[4] = tied %{ $arg[4] }
- if @arg >= 5 && ref $arg[4] && $arg[4] =~ /=HASH/ && tied %{ $arg[4] } ;
-
- $arg[2] = O_CREAT()|O_RDWR() if @arg >=3 && ! defined $arg[2];
- $arg[3] = 0666 if @arg >=4 && ! defined $arg[3];
-
- # make recno in Berkeley DB version 2 (or better) work like
- # recno in version 1.
- if ($db_version >= 4 and ! $tieHASH) {
- $arg[2] |= O_CREAT();
- }
-
- if ($db_version > 1 and defined $arg[4] and $arg[4] =~ /RECNO/ and
- $arg[1] and ! -e $arg[1]) {
- open(FH, ">$arg[1]") or return undef ;
- close FH ;
- chmod $arg[3] ? $arg[3] : 0666 , $arg[1] ;
- }
-
- DoTie_($tieHASH, @arg) ;
-}
-
-sub TIEHASH
-{
- tie_hash_or_array(@_) ;
-}
-
-sub TIEARRAY
-{
- tie_hash_or_array(@_) ;
-}
-
-sub CLEAR
-{
- my $self = shift;
- my $key = 0 ;
- my $value = "" ;
- my $status = $self->seq($key, $value, R_FIRST());
- my @keys;
-
- while ($status == 0) {
- push @keys, $key;
- $status = $self->seq($key, $value, R_NEXT());
- }
- foreach $key (reverse @keys) {
- my $s = $self->del($key);
- }
-}
-
-sub EXTEND { }
-
-sub STORESIZE
-{
- my $self = shift;
- my $length = shift ;
- my $current_length = $self->length() ;
-
- if ($length < $current_length) {
- my $key ;
- for ($key = $current_length - 1 ; $key >= $length ; -- $key)
- { $self->del($key) }
- }
- elsif ($length > $current_length) {
- $self->put($length-1, "") ;
- }
-}
-
-
-sub SPLICE
-{
- my $self = shift;
- my $offset = shift;
- if (not defined $offset) {
- warnings::warnif('uninitialized', 'Use of uninitialized value in splice');
- $offset = 0;
- }
-
- my $length = @_ ? shift : 0;
- # Carping about definedness comes _after_ the OFFSET sanity check.
- # This is so we get the same error messages as Perl's splice().
- #
-
- my @list = @_;
-
- my $size = $self->FETCHSIZE();
-
- # 'If OFFSET is negative then it start that far from the end of
- # the array.'
- #
- if ($offset < 0) {
- my $new_offset = $size + $offset;
- if ($new_offset < 0) {
- die "Modification of non-creatable array value attempted, "
- . "subscript $offset";
- }
- $offset = $new_offset;
- }
-
- if (not defined $length) {
- warnings::warnif('uninitialized', 'Use of uninitialized value in splice');
- $length = 0;
- }
-
- if ($offset > $size) {
- $offset = $size;
- warnings::warnif('misc', 'splice() offset past end of array')
- if $splice_end_array;
- }
-
- # 'If LENGTH is omitted, removes everything from OFFSET onward.'
- if (not defined $length) {
- $length = $size - $offset;
- }
-
- # 'If LENGTH is negative, leave that many elements off the end of
- # the array.'
- #
- if ($length < 0) {
- $length = $size - $offset + $length;
-
- if ($length < 0) {
- # The user must have specified a length bigger than the
- # length of the array passed in. But perl's splice()
- # doesn't catch this, it just behaves as for length=0.
- #
- $length = 0;
- }
- }
-
- if ($length > $size - $offset) {
- $length = $size - $offset;
- }
-
- # $num_elems holds the current number of elements in the database.
- my $num_elems = $size;
-
- # 'Removes the elements designated by OFFSET and LENGTH from an
- # array,'...
- #
- my @removed = ();
- foreach (0 .. $length - 1) {
- my $old;
- my $status = $self->get($offset, $old);
- if ($status != 0) {
- my $msg = "error from Berkeley DB on get($offset, \$old)";
- if ($status == 1) {
- $msg .= ' (no such element?)';
- }
- else {
- $msg .= ": error status $status";
- if (defined $! and $! ne '') {
- $msg .= ", message $!";
- }
- }
- die $msg;
- }
- push @removed, $old;
-
- $status = $self->del($offset);
- if ($status != 0) {
- my $msg = "error from Berkeley DB on del($offset)";
- if ($status == 1) {
- $msg .= ' (no such element?)';
- }
- else {
- $msg .= ": error status $status";
- if (defined $! and $! ne '') {
- $msg .= ", message $!";
- }
- }
- die $msg;
- }
-
- -- $num_elems;
- }
-
- # ...'and replaces them with the elements of LIST, if any.'
- my $pos = $offset;
- while (defined (my $elem = shift @list)) {
- my $old_pos = $pos;
- my $status;
- if ($pos >= $num_elems) {
- $status = $self->put($pos, $elem);
- }
- else {
- $status = $self->put($pos, $elem, $self->R_IBEFORE);
- }
-
- if ($status != 0) {
- my $msg = "error from Berkeley DB on put($pos, $elem, ...)";
- if ($status == 1) {
- $msg .= ' (no such element?)';
- }
- else {
- $msg .= ", error status $status";
- if (defined $! and $! ne '') {
- $msg .= ", message $!";
- }
- }
- die $msg;
- }
-
- die "pos unexpectedly changed from $old_pos to $pos with R_IBEFORE"
- if $old_pos != $pos;
-
- ++ $pos;
- ++ $num_elems;
- }
-
- if (wantarray) {
- # 'In list context, returns the elements removed from the
- # array.'
- #
- return @removed;
- }
- elsif (defined wantarray and not wantarray) {
- # 'In scalar context, returns the last element removed, or
- # undef if no elements are removed.'
- #
- if (@removed) {
- my $last = pop @removed;
- return "$last";
- }
- else {
- return undef;
- }
- }
- elsif (not defined wantarray) {
- # Void context
- }
- else { die }
-}
-sub ::DB_File::splice { &SPLICE }
-
-sub find_dup
-{
- croak "Usage: \$db->find_dup(key,value)\n"
- unless @_ == 3 ;
-
- my $db = shift ;
- my ($origkey, $value_wanted) = @_ ;
- my ($key, $value) = ($origkey, 0);
- my ($status) = 0 ;
-
- for ($status = $db->seq($key, $value, R_CURSOR() ) ;
- $status == 0 ;
- $status = $db->seq($key, $value, R_NEXT() ) ) {
-
- return 0 if $key eq $origkey and $value eq $value_wanted ;
- }
-
- return $status ;
-}
-
-sub del_dup
-{
- croak "Usage: \$db->del_dup(key,value)\n"
- unless @_ == 3 ;
-
- my $db = shift ;
- my ($key, $value) = @_ ;
- my ($status) = $db->find_dup($key, $value) ;
- return $status if $status != 0 ;
-
- $status = $db->del($key, R_CURSOR() ) ;
- return $status ;
-}
-
-sub get_dup
-{
- croak "Usage: \$db->get_dup(key [,flag])\n"
- unless @_ == 2 or @_ == 3 ;
-
- my $db = shift ;
- my $key = shift ;
- my $flag = shift ;
- my $value = 0 ;
- my $origkey = $key ;
- my $wantarray = wantarray ;
- my %values = () ;
- my @values = () ;
- my $counter = 0 ;
- my $status = 0 ;
-
- # iterate through the database until either EOF ($status == 0)
- # or a different key is encountered ($key ne $origkey).
- for ($status = $db->seq($key, $value, R_CURSOR()) ;
- $status == 0 and $key eq $origkey ;
- $status = $db->seq($key, $value, R_NEXT()) ) {
-
- # save the value or count number of matches
- if ($wantarray) {
- if ($flag)
- { ++ $values{$value} }
- else
- { push (@values, $value) }
- }
- else
- { ++ $counter }
-
- }
-
- return ($wantarray ? ($flag ? %values : @values) : $counter) ;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-DB_File - Perl5 access to Berkeley DB version 1.x
-
-=head1 SYNOPSIS
-
- use DB_File;
-
- [$X =] tie %hash, 'DB_File', [$filename, $flags, $mode, $DB_HASH] ;
- [$X =] tie %hash, 'DB_File', $filename, $flags, $mode, $DB_BTREE ;
- [$X =] tie @array, 'DB_File', $filename, $flags, $mode, $DB_RECNO ;
-
- $status = $X->del($key [, $flags]) ;
- $status = $X->put($key, $value [, $flags]) ;
- $status = $X->get($key, $value [, $flags]) ;
- $status = $X->seq($key, $value, $flags) ;
- $status = $X->sync([$flags]) ;
- $status = $X->fd ;
-
- # BTREE only
- $count = $X->get_dup($key) ;
- @list = $X->get_dup($key) ;
- %list = $X->get_dup($key, 1) ;
- $status = $X->find_dup($key, $value) ;
- $status = $X->del_dup($key, $value) ;
-
- # RECNO only
- $a = $X->length;
- $a = $X->pop ;
- $X->push(list);
- $a = $X->shift;
- $X->unshift(list);
- @r = $X->splice(offset, length, elements);
-
- # DBM Filters
- $old_filter = $db->filter_store_key ( sub { ... } ) ;
- $old_filter = $db->filter_store_value( sub { ... } ) ;
- $old_filter = $db->filter_fetch_key ( sub { ... } ) ;
- $old_filter = $db->filter_fetch_value( sub { ... } ) ;
-
- untie %hash ;
- untie @array ;
-
-=head1 DESCRIPTION
-
-B<DB_File> is a module which allows Perl programs to make use of the
-facilities provided by Berkeley DB version 1.x (if you have a newer
-version of DB, see L<Using DB_File with Berkeley DB version 2 or greater>).
-It is assumed that you have a copy of the Berkeley DB manual pages at
-hand when reading this documentation. The interface defined here
-mirrors the Berkeley DB interface closely.
-
-Berkeley DB is a C library which provides a consistent interface to a
-number of database formats. B<DB_File> provides an interface to all
-three of the database types currently supported by Berkeley DB.
-
-The file types are:
-
-=over 5
-
-=item B<DB_HASH>
-
-This database type allows arbitrary key/value pairs to be stored in data
-files. This is equivalent to the functionality provided by other
-hashing packages like DBM, NDBM, ODBM, GDBM, and SDBM. Remember though,
-the files created using DB_HASH are not compatible with any of the
-other packages mentioned.
-
-A default hashing algorithm, which will be adequate for most
-applications, is built into Berkeley DB. If you do need to use your own
-hashing algorithm it is possible to write your own in Perl and have
-B<DB_File> use it instead.
-
-=item B<DB_BTREE>
-
-The btree format allows arbitrary key/value pairs to be stored in a
-sorted, balanced binary tree.
-
-As with the DB_HASH format, it is possible to provide a user defined
-Perl routine to perform the comparison of keys. By default, though, the
-keys are stored in lexical order.
-
-=item B<DB_RECNO>
-
-DB_RECNO allows both fixed-length and variable-length flat text files
-to be manipulated using the same key/value pair interface as in DB_HASH
-and DB_BTREE. In this case the key will consist of a record (line)
-number.
-
-=back
-
-=head2 Using DB_File with Berkeley DB version 2 or greater
-
-Although B<DB_File> is intended to be used with Berkeley DB version 1,
-it can also be used with version 2, 3 or 4. In this case the interface is
-limited to the functionality provided by Berkeley DB 1.x. Anywhere the
-version 2 or greater interface differs, B<DB_File> arranges for it to work
-like version 1. This feature allows B<DB_File> scripts that were built
-with version 1 to be migrated to version 2 or greater without any changes.
-
-If you want to make use of the new features available in Berkeley DB
-2.x or greater, use the Perl module B<BerkeleyDB> instead.
-
-B<Note:> The database file format has changed multiple times in Berkeley
-DB version 2, 3 and 4. If you cannot recreate your databases, you
-must dump any existing databases with either the C<db_dump> or the
-C<db_dump185> utility that comes with Berkeley DB.
-Once you have rebuilt DB_File to use Berkeley DB version 2 or greater,
-your databases can be recreated using C<db_load>. Refer to the Berkeley DB
-documentation for further details.
-
-Please read L<"COPYRIGHT"> before using version 2.x or greater of Berkeley
-DB with DB_File.
-
-=head2 Interface to Berkeley DB
-
-B<DB_File> allows access to Berkeley DB files using the tie() mechanism
-in Perl 5 (for full details, see L<perlfunc/tie()>). This facility
-allows B<DB_File> to access Berkeley DB files using either an
-associative array (for DB_HASH & DB_BTREE file types) or an ordinary
-array (for the DB_RECNO file type).
-
-In addition to the tie() interface, it is also possible to access most
-of the functions provided in the Berkeley DB API directly.
-See L<THE API INTERFACE>.
-
-=head2 Opening a Berkeley DB Database File
-
-Berkeley DB uses the function dbopen() to open or create a database.
-Here is the C prototype for dbopen():
-
- DB*
- dbopen (const char * file, int flags, int mode,
- DBTYPE type, const void * openinfo)
-
-The parameter C<type> is an enumeration which specifies which of the 3
-interface methods (DB_HASH, DB_BTREE or DB_RECNO) is to be used.
-Depending on which of these is actually chosen, the final parameter,
-I<openinfo> points to a data structure which allows tailoring of the
-specific interface method.
-
-This interface is handled slightly differently in B<DB_File>. Here is
-an equivalent call using B<DB_File>:
-
- tie %array, 'DB_File', $filename, $flags, $mode, $DB_HASH ;
-
-The C<filename>, C<flags> and C<mode> parameters are the direct
-equivalent of their dbopen() counterparts. The final parameter $DB_HASH
-performs the function of both the C<type> and C<openinfo> parameters in
-dbopen().
-
-In the example above $DB_HASH is actually a pre-defined reference to a
-hash object. B<DB_File> has three of these pre-defined references.
-Apart from $DB_HASH, there is also $DB_BTREE and $DB_RECNO.
-
-The keys allowed in each of these pre-defined references is limited to
-the names used in the equivalent C structure. So, for example, the
-$DB_HASH reference will only allow keys called C<bsize>, C<cachesize>,
-C<ffactor>, C<hash>, C<lorder> and C<nelem>.
-
-To change one of these elements, just assign to it like this:
-
- $DB_HASH->{'cachesize'} = 10000 ;
-
-The three predefined variables $DB_HASH, $DB_BTREE and $DB_RECNO are
-usually adequate for most applications. If you do need to create extra
-instances of these objects, constructors are available for each file
-type.
-
-Here are examples of the constructors and the valid options available
-for DB_HASH, DB_BTREE and DB_RECNO respectively.
-
- $a = new DB_File::HASHINFO ;
- $a->{'bsize'} ;
- $a->{'cachesize'} ;
- $a->{'ffactor'};
- $a->{'hash'} ;
- $a->{'lorder'} ;
- $a->{'nelem'} ;
-
- $b = new DB_File::BTREEINFO ;
- $b->{'flags'} ;
- $b->{'cachesize'} ;
- $b->{'maxkeypage'} ;
- $b->{'minkeypage'} ;
- $b->{'psize'} ;
- $b->{'compare'} ;
- $b->{'prefix'} ;
- $b->{'lorder'} ;
-
- $c = new DB_File::RECNOINFO ;
- $c->{'bval'} ;
- $c->{'cachesize'} ;
- $c->{'psize'} ;
- $c->{'flags'} ;
- $c->{'lorder'} ;
- $c->{'reclen'} ;
- $c->{'bfname'} ;
-
-The values stored in the hashes above are mostly the direct equivalent
-of their C counterpart. Like their C counterparts, all are set to a
-default values - that means you don't have to set I<all> of the
-values when you only want to change one. Here is an example:
-
- $a = new DB_File::HASHINFO ;
- $a->{'cachesize'} = 12345 ;
- tie %y, 'DB_File', "filename", $flags, 0777, $a ;
-
-A few of the options need extra discussion here. When used, the C
-equivalent of the keys C<hash>, C<compare> and C<prefix> store pointers
-to C functions. In B<DB_File> these keys are used to store references
-to Perl subs. Below are templates for each of the subs:
-
- sub hash
- {
- my ($data) = @_ ;
- ...
- # return the hash value for $data
- return $hash ;
- }
-
- sub compare
- {
- my ($key, $key2) = @_ ;
- ...
- # return 0 if $key1 eq $key2
- # -1 if $key1 lt $key2
- # 1 if $key1 gt $key2
- return (-1 , 0 or 1) ;
- }
-
- sub prefix
- {
- my ($key, $key2) = @_ ;
- ...
- # return number of bytes of $key2 which are
- # necessary to determine that it is greater than $key1
- return $bytes ;
- }
-
-See L<Changing the BTREE sort order> for an example of using the
-C<compare> template.
-
-If you are using the DB_RECNO interface and you intend making use of
-C<bval>, you should check out L<The 'bval' Option>.
-
-=head2 Default Parameters
-
-It is possible to omit some or all of the final 4 parameters in the
-call to C<tie> and let them take default values. As DB_HASH is the most
-common file format used, the call:
-
- tie %A, "DB_File", "filename" ;
-
-is equivalent to:
-
- tie %A, "DB_File", "filename", O_CREAT|O_RDWR, 0666, $DB_HASH ;
-
-It is also possible to omit the filename parameter as well, so the
-call:
-
- tie %A, "DB_File" ;
-
-is equivalent to:
-
- tie %A, "DB_File", undef, O_CREAT|O_RDWR, 0666, $DB_HASH ;
-
-See L<In Memory Databases> for a discussion on the use of C<undef>
-in place of a filename.
-
-=head2 In Memory Databases
-
-Berkeley DB allows the creation of in-memory databases by using NULL
-(that is, a C<(char *)0> in C) in place of the filename. B<DB_File>
-uses C<undef> instead of NULL to provide this functionality.
-
-=head1 DB_HASH
-
-The DB_HASH file format is probably the most commonly used of the three
-file formats that B<DB_File> supports. It is also very straightforward
-to use.
-
-=head2 A Simple Example
-
-This example shows how to create a database, add key/value pairs to the
-database, delete keys/value pairs and finally how to enumerate the
-contents of the database.
-
- use warnings ;
- use strict ;
- use DB_File ;
- our (%h, $k, $v) ;
-
- unlink "fruit" ;
- tie %h, "DB_File", "fruit", O_RDWR|O_CREAT, 0666, $DB_HASH
- or die "Cannot open file 'fruit': $!\n";
-
- # Add a few key/value pairs to the file
- $h{"apple"} = "red" ;
- $h{"orange"} = "orange" ;
- $h{"banana"} = "yellow" ;
- $h{"tomato"} = "red" ;
-
- # Check for existence of a key
- print "Banana Exists\n\n" if $h{"banana"} ;
-
- # Delete a key/value pair.
- delete $h{"apple"} ;
-
- # print the contents of the file
- while (($k, $v) = each %h)
- { print "$k -> $v\n" }
-
- untie %h ;
-
-here is the output:
-
- Banana Exists
-
- orange -> orange
- tomato -> red
- banana -> yellow
-
-Note that the like ordinary associative arrays, the order of the keys
-retrieved is in an apparently random order.
-
-=head1 DB_BTREE
-
-The DB_BTREE format is useful when you want to store data in a given
-order. By default the keys will be stored in lexical order, but as you
-will see from the example shown in the next section, it is very easy to
-define your own sorting function.
-
-=head2 Changing the BTREE sort order
-
-This script shows how to override the default sorting algorithm that
-BTREE uses. Instead of using the normal lexical ordering, a case
-insensitive compare function will be used.
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my %h ;
-
- sub Compare
- {
- my ($key1, $key2) = @_ ;
- "\L$key1" cmp "\L$key2" ;
- }
-
- # specify the Perl sub that will do the comparison
- $DB_BTREE->{'compare'} = \&Compare ;
-
- unlink "tree" ;
- tie %h, "DB_File", "tree", O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open file 'tree': $!\n" ;
-
- # Add a key/value pair to the file
- $h{'Wall'} = 'Larry' ;
- $h{'Smith'} = 'John' ;
- $h{'mouse'} = 'mickey' ;
- $h{'duck'} = 'donald' ;
-
- # Delete
- delete $h{"duck"} ;
-
- # Cycle through the keys printing them in order.
- # Note it is not necessary to sort the keys as
- # the btree will have kept them in order automatically.
- foreach (keys %h)
- { print "$_\n" }
-
- untie %h ;
-
-Here is the output from the code above.
-
- mouse
- Smith
- Wall
-
-There are a few point to bear in mind if you want to change the
-ordering in a BTREE database:
-
-=over 5
-
-=item 1.
-
-The new compare function must be specified when you create the database.
-
-=item 2.
-
-You cannot change the ordering once the database has been created. Thus
-you must use the same compare function every time you access the
-database.
-
-=item 3
-
-Duplicate keys are entirely defined by the comparison function.
-In the case-insensitive example above, the keys: 'KEY' and 'key'
-would be considered duplicates, and assigning to the second one
-would overwrite the first. If duplicates are allowed for (with the
-R_DUP flag discussed below), only a single copy of duplicate keys
-is stored in the database --- so (again with example above) assigning
-three values to the keys: 'KEY', 'Key', and 'key' would leave just
-the first key: 'KEY' in the database with three values. For some
-situations this results in information loss, so care should be taken
-to provide fully qualified comparison functions when necessary.
-For example, the above comparison routine could be modified to
-additionally compare case-sensitively if two keys are equal in the
-case insensitive comparison:
-
- sub compare {
- my($key1, $key2) = @_;
- lc $key1 cmp lc $key2 ||
- $key1 cmp $key2;
- }
-
-And now you will only have duplicates when the keys themselves
-are truly the same. (note: in versions of the db library prior to
-about November 1996, such duplicate keys were retained so it was
-possible to recover the original keys in sets of keys that
-compared as equal).
-
-
-=back
-
-=head2 Handling Duplicate Keys
-
-The BTREE file type optionally allows a single key to be associated
-with an arbitrary number of values. This option is enabled by setting
-the flags element of C<$DB_BTREE> to R_DUP when creating the database.
-
-There are some difficulties in using the tied hash interface if you
-want to manipulate a BTREE database with duplicate keys. Consider this
-code:
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my ($filename, %h) ;
-
- $filename = "tree" ;
- unlink $filename ;
-
- # Enable duplicate records
- $DB_BTREE->{'flags'} = R_DUP ;
-
- tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- # Add some key/value pairs to the file
- $h{'Wall'} = 'Larry' ;
- $h{'Wall'} = 'Brick' ; # Note the duplicate key
- $h{'Wall'} = 'Brick' ; # Note the duplicate key and value
- $h{'Smith'} = 'John' ;
- $h{'mouse'} = 'mickey' ;
-
- # iterate through the associative array
- # and print each key/value pair.
- foreach (sort keys %h)
- { print "$_ -> $h{$_}\n" }
-
- untie %h ;
-
-Here is the output:
-
- Smith -> John
- Wall -> Larry
- Wall -> Larry
- Wall -> Larry
- mouse -> mickey
-
-As you can see 3 records have been successfully created with key C<Wall>
-- the only thing is, when they are retrieved from the database they
-I<seem> to have the same value, namely C<Larry>. The problem is caused
-by the way that the associative array interface works. Basically, when
-the associative array interface is used to fetch the value associated
-with a given key, it will only ever retrieve the first value.
-
-Although it may not be immediately obvious from the code above, the
-associative array interface can be used to write values with duplicate
-keys, but it cannot be used to read them back from the database.
-
-The way to get around this problem is to use the Berkeley DB API method
-called C<seq>. This method allows sequential access to key/value
-pairs. See L<THE API INTERFACE> for details of both the C<seq> method
-and the API in general.
-
-Here is the script above rewritten using the C<seq> API method.
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my ($filename, $x, %h, $status, $key, $value) ;
-
- $filename = "tree" ;
- unlink $filename ;
-
- # Enable duplicate records
- $DB_BTREE->{'flags'} = R_DUP ;
-
- $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- # Add some key/value pairs to the file
- $h{'Wall'} = 'Larry' ;
- $h{'Wall'} = 'Brick' ; # Note the duplicate key
- $h{'Wall'} = 'Brick' ; # Note the duplicate key and value
- $h{'Smith'} = 'John' ;
- $h{'mouse'} = 'mickey' ;
-
- # iterate through the btree using seq
- # and print each key/value pair.
- $key = $value = 0 ;
- for ($status = $x->seq($key, $value, R_FIRST) ;
- $status == 0 ;
- $status = $x->seq($key, $value, R_NEXT) )
- { print "$key -> $value\n" }
-
- undef $x ;
- untie %h ;
-
-that prints:
-
- Smith -> John
- Wall -> Brick
- Wall -> Brick
- Wall -> Larry
- mouse -> mickey
-
-This time we have got all the key/value pairs, including the multiple
-values associated with the key C<Wall>.
-
-To make life easier when dealing with duplicate keys, B<DB_File> comes with
-a few utility methods.
-
-=head2 The get_dup() Method
-
-The C<get_dup> method assists in
-reading duplicate values from BTREE databases. The method can take the
-following forms:
-
- $count = $x->get_dup($key) ;
- @list = $x->get_dup($key) ;
- %list = $x->get_dup($key, 1) ;
-
-In a scalar context the method returns the number of values associated
-with the key, C<$key>.
-
-In list context, it returns all the values which match C<$key>. Note
-that the values will be returned in an apparently random order.
-
-In list context, if the second parameter is present and evaluates
-TRUE, the method returns an associative array. The keys of the
-associative array correspond to the values that matched in the BTREE
-and the values of the array are a count of the number of times that
-particular value occurred in the BTREE.
-
-So assuming the database created above, we can use C<get_dup> like
-this:
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my ($filename, $x, %h) ;
-
- $filename = "tree" ;
-
- # Enable duplicate records
- $DB_BTREE->{'flags'} = R_DUP ;
-
- $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- my $cnt = $x->get_dup("Wall") ;
- print "Wall occurred $cnt times\n" ;
-
- my %hash = $x->get_dup("Wall", 1) ;
- print "Larry is there\n" if $hash{'Larry'} ;
- print "There are $hash{'Brick'} Brick Walls\n" ;
-
- my @list = sort $x->get_dup("Wall") ;
- print "Wall => [@list]\n" ;
-
- @list = $x->get_dup("Smith") ;
- print "Smith => [@list]\n" ;
-
- @list = $x->get_dup("Dog") ;
- print "Dog => [@list]\n" ;
-
-
-and it will print:
-
- Wall occurred 3 times
- Larry is there
- There are 2 Brick Walls
- Wall => [Brick Brick Larry]
- Smith => [John]
- Dog => []
-
-=head2 The find_dup() Method
-
- $status = $X->find_dup($key, $value) ;
-
-This method checks for the existence of a specific key/value pair. If the
-pair exists, the cursor is left pointing to the pair and the method
-returns 0. Otherwise the method returns a non-zero value.
-
-Assuming the database from the previous example:
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my ($filename, $x, %h, $found) ;
-
- $filename = "tree" ;
-
- # Enable duplicate records
- $DB_BTREE->{'flags'} = R_DUP ;
-
- $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- $found = ( $x->find_dup("Wall", "Larry") == 0 ? "" : "not") ;
- print "Larry Wall is $found there\n" ;
-
- $found = ( $x->find_dup("Wall", "Harry") == 0 ? "" : "not") ;
- print "Harry Wall is $found there\n" ;
-
- undef $x ;
- untie %h ;
-
-prints this
-
- Larry Wall is there
- Harry Wall is not there
-
-
-=head2 The del_dup() Method
-
- $status = $X->del_dup($key, $value) ;
-
-This method deletes a specific key/value pair. It returns
-0 if they exist and have been deleted successfully.
-Otherwise the method returns a non-zero value.
-
-Again assuming the existence of the C<tree> database
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my ($filename, $x, %h, $found) ;
-
- $filename = "tree" ;
-
- # Enable duplicate records
- $DB_BTREE->{'flags'} = R_DUP ;
-
- $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- $x->del_dup("Wall", "Larry") ;
-
- $found = ( $x->find_dup("Wall", "Larry") == 0 ? "" : "not") ;
- print "Larry Wall is $found there\n" ;
-
- undef $x ;
- untie %h ;
-
-prints this
-
- Larry Wall is not there
-
-=head2 Matching Partial Keys
-
-The BTREE interface has a feature which allows partial keys to be
-matched. This functionality is I<only> available when the C<seq> method
-is used along with the R_CURSOR flag.
-
- $x->seq($key, $value, R_CURSOR) ;
-
-Here is the relevant quote from the dbopen man page where it defines
-the use of the R_CURSOR flag with seq:
-
- Note, for the DB_BTREE access method, the returned key is not
- necessarily an exact match for the specified key. The returned key
- is the smallest key greater than or equal to the specified key,
- permitting partial key matches and range searches.
-
-In the example script below, the C<match> sub uses this feature to find
-and print the first matching key/value pair given a partial key.
-
- use warnings ;
- use strict ;
- use DB_File ;
- use Fcntl ;
-
- my ($filename, $x, %h, $st, $key, $value) ;
-
- sub match
- {
- my $key = shift ;
- my $value = 0;
- my $orig_key = $key ;
- $x->seq($key, $value, R_CURSOR) ;
- print "$orig_key\t-> $key\t-> $value\n" ;
- }
-
- $filename = "tree" ;
- unlink $filename ;
-
- $x = tie %h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Cannot open $filename: $!\n";
-
- # Add some key/value pairs to the file
- $h{'mouse'} = 'mickey' ;
- $h{'Wall'} = 'Larry' ;
- $h{'Walls'} = 'Brick' ;
- $h{'Smith'} = 'John' ;
-
-
- $key = $value = 0 ;
- print "IN ORDER\n" ;
- for ($st = $x->seq($key, $value, R_FIRST) ;
- $st == 0 ;
- $st = $x->seq($key, $value, R_NEXT) )
-
- { print "$key -> $value\n" }
-
- print "\nPARTIAL MATCH\n" ;
-
- match "Wa" ;
- match "A" ;
- match "a" ;
-
- undef $x ;
- untie %h ;
-
-Here is the output:
-
- IN ORDER
- Smith -> John
- Wall -> Larry
- Walls -> Brick
- mouse -> mickey
-
- PARTIAL MATCH
- Wa -> Wall -> Larry
- A -> Smith -> John
- a -> mouse -> mickey
-
-=head1 DB_RECNO
-
-DB_RECNO provides an interface to flat text files. Both variable and
-fixed length records are supported.
-
-In order to make RECNO more compatible with Perl, the array offset for
-all RECNO arrays begins at 0 rather than 1 as in Berkeley DB.
-
-As with normal Perl arrays, a RECNO array can be accessed using
-negative indexes. The index -1 refers to the last element of the array,
--2 the second last, and so on. Attempting to access an element before
-the start of the array will raise a fatal run-time error.
-
-=head2 The 'bval' Option
-
-The operation of the bval option warrants some discussion. Here is the
-definition of bval from the Berkeley DB 1.85 recno manual page:
-
- The delimiting byte to be used to mark the end of a
- record for variable-length records, and the pad charac-
- ter for fixed-length records. If no value is speci-
- fied, newlines (``\n'') are used to mark the end of
- variable-length records and fixed-length records are
- padded with spaces.
-
-The second sentence is wrong. In actual fact bval will only default to
-C<"\n"> when the openinfo parameter in dbopen is NULL. If a non-NULL
-openinfo parameter is used at all, the value that happens to be in bval
-will be used. That means you always have to specify bval when making
-use of any of the options in the openinfo parameter. This documentation
-error will be fixed in the next release of Berkeley DB.
-
-That clarifies the situation with regards Berkeley DB itself. What
-about B<DB_File>? Well, the behavior defined in the quote above is
-quite useful, so B<DB_File> conforms to it.
-
-That means that you can specify other options (e.g. cachesize) and
-still have bval default to C<"\n"> for variable length records, and
-space for fixed length records.
-
-Also note that the bval option only allows you to specify a single byte
-as a delimiter.
-
-=head2 A Simple Example
-
-Here is a simple example that uses RECNO (if you are using a version
-of Perl earlier than 5.004_57 this example won't work -- see
-L<Extra RECNO Methods> for a workaround).
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my $filename = "text" ;
- unlink $filename ;
-
- my @h ;
- tie @h, "DB_File", $filename, O_RDWR|O_CREAT, 0666, $DB_RECNO
- or die "Cannot open file 'text': $!\n" ;
-
- # Add a few key/value pairs to the file
- $h[0] = "orange" ;
- $h[1] = "blue" ;
- $h[2] = "yellow" ;
-
- push @h, "green", "black" ;
-
- my $elements = scalar @h ;
- print "The array contains $elements entries\n" ;
-
- my $last = pop @h ;
- print "popped $last\n" ;
-
- unshift @h, "white" ;
- my $first = shift @h ;
- print "shifted $first\n" ;
-
- # Check for existence of a key
- print "Element 1 Exists with value $h[1]\n" if $h[1] ;
-
- # use a negative index
- print "The last element is $h[-1]\n" ;
- print "The 2nd last element is $h[-2]\n" ;
-
- untie @h ;
-
-Here is the output from the script:
-
- The array contains 5 entries
- popped black
- shifted white
- Element 1 Exists with value blue
- The last element is green
- The 2nd last element is yellow
-
-=head2 Extra RECNO Methods
-
-If you are using a version of Perl earlier than 5.004_57, the tied
-array interface is quite limited. In the example script above
-C<push>, C<pop>, C<shift>, C<unshift>
-or determining the array length will not work with a tied array.
-
-To make the interface more useful for older versions of Perl, a number
-of methods are supplied with B<DB_File> to simulate the missing array
-operations. All these methods are accessed via the object returned from
-the tie call.
-
-Here are the methods:
-
-=over 5
-
-=item B<$X-E<gt>push(list) ;>
-
-Pushes the elements of C<list> to the end of the array.
-
-=item B<$value = $X-E<gt>pop ;>
-
-Removes and returns the last element of the array.
-
-=item B<$X-E<gt>shift>
-
-Removes and returns the first element of the array.
-
-=item B<$X-E<gt>unshift(list) ;>
-
-Pushes the elements of C<list> to the start of the array.
-
-=item B<$X-E<gt>length>
-
-Returns the number of elements in the array.
-
-=item B<$X-E<gt>splice(offset, length, elements);>
-
-Returns a splice of the array.
-
-=back
-
-=head2 Another Example
-
-Here is a more complete example that makes use of some of the methods
-described above. It also makes use of the API interface directly (see
-L<THE API INTERFACE>).
-
- use warnings ;
- use strict ;
- my (@h, $H, $file, $i) ;
- use DB_File ;
- use Fcntl ;
-
- $file = "text" ;
-
- unlink $file ;
-
- $H = tie @h, "DB_File", $file, O_RDWR|O_CREAT, 0666, $DB_RECNO
- or die "Cannot open file $file: $!\n" ;
-
- # first create a text file to play with
- $h[0] = "zero" ;
- $h[1] = "one" ;
- $h[2] = "two" ;
- $h[3] = "three" ;
- $h[4] = "four" ;
-
-
- # Print the records in order.
- #
- # The length method is needed here because evaluating a tied
- # array in a scalar context does not return the number of
- # elements in the array.
-
- print "\nORIGINAL\n" ;
- foreach $i (0 .. $H->length - 1) {
- print "$i: $h[$i]\n" ;
- }
-
- # use the push & pop methods
- $a = $H->pop ;
- $H->push("last") ;
- print "\nThe last record was [$a]\n" ;
-
- # and the shift & unshift methods
- $a = $H->shift ;
- $H->unshift("first") ;
- print "The first record was [$a]\n" ;
-
- # Use the API to add a new record after record 2.
- $i = 2 ;
- $H->put($i, "Newbie", R_IAFTER) ;
-
- # and a new record before record 1.
- $i = 1 ;
- $H->put($i, "New One", R_IBEFORE) ;
-
- # delete record 3
- $H->del(3) ;
-
- # now print the records in reverse order
- print "\nREVERSE\n" ;
- for ($i = $H->length - 1 ; $i >= 0 ; -- $i)
- { print "$i: $h[$i]\n" }
-
- # same again, but use the API functions instead
- print "\nREVERSE again\n" ;
- my ($s, $k, $v) = (0, 0, 0) ;
- for ($s = $H->seq($k, $v, R_LAST) ;
- $s == 0 ;
- $s = $H->seq($k, $v, R_PREV))
- { print "$k: $v\n" }
-
- undef $H ;
- untie @h ;
-
-and this is what it outputs:
-
- ORIGINAL
- 0: zero
- 1: one
- 2: two
- 3: three
- 4: four
-
- The last record was [four]
- The first record was [zero]
-
- REVERSE
- 5: last
- 4: three
- 3: Newbie
- 2: one
- 1: New One
- 0: first
-
- REVERSE again
- 5: last
- 4: three
- 3: Newbie
- 2: one
- 1: New One
- 0: first
-
-Notes:
-
-=over 5
-
-=item 1.
-
-Rather than iterating through the array, C<@h> like this:
-
- foreach $i (@h)
-
-it is necessary to use either this:
-
- foreach $i (0 .. $H->length - 1)
-
-or this:
-
- for ($a = $H->get($k, $v, R_FIRST) ;
- $a == 0 ;
- $a = $H->get($k, $v, R_NEXT) )
-
-=item 2.
-
-Notice that both times the C<put> method was used the record index was
-specified using a variable, C<$i>, rather than the literal value
-itself. This is because C<put> will return the record number of the
-inserted line via that parameter.
-
-=back
-
-=head1 THE API INTERFACE
-
-As well as accessing Berkeley DB using a tied hash or array, it is also
-possible to make direct use of most of the API functions defined in the
-Berkeley DB documentation.
-
-To do this you need to store a copy of the object returned from the tie.
-
- $db = tie %hash, "DB_File", "filename" ;
-
-Once you have done that, you can access the Berkeley DB API functions
-as B<DB_File> methods directly like this:
-
- $db->put($key, $value, R_NOOVERWRITE) ;
-
-B<Important:> If you have saved a copy of the object returned from
-C<tie>, the underlying database file will I<not> be closed until both
-the tied variable is untied and all copies of the saved object are
-destroyed.
-
- use DB_File ;
- $db = tie %hash, "DB_File", "filename"
- or die "Cannot tie filename: $!" ;
- ...
- undef $db ;
- untie %hash ;
-
-See L<The untie() Gotcha> for more details.
-
-All the functions defined in L<dbopen> are available except for
-close() and dbopen() itself. The B<DB_File> method interface to the
-supported functions have been implemented to mirror the way Berkeley DB
-works whenever possible. In particular note that:
-
-=over 5
-
-=item *
-
-The methods return a status value. All return 0 on success.
-All return -1 to signify an error and set C<$!> to the exact
-error code. The return code 1 generally (but not always) means that the
-key specified did not exist in the database.
-
-Other return codes are defined. See below and in the Berkeley DB
-documentation for details. The Berkeley DB documentation should be used
-as the definitive source.
-
-=item *
-
-Whenever a Berkeley DB function returns data via one of its parameters,
-the equivalent B<DB_File> method does exactly the same.
-
-=item *
-
-If you are careful, it is possible to mix API calls with the tied
-hash/array interface in the same piece of code. Although only a few of
-the methods used to implement the tied interface currently make use of
-the cursor, you should always assume that the cursor has been changed
-any time the tied hash/array interface is used. As an example, this
-code will probably not do what you expect:
-
- $X = tie %x, 'DB_File', $filename, O_RDWR|O_CREAT, 0777, $DB_BTREE
- or die "Cannot tie $filename: $!" ;
-
- # Get the first key/value pair and set the cursor
- $X->seq($key, $value, R_FIRST) ;
-
- # this line will modify the cursor
- $count = scalar keys %x ;
-
- # Get the second key/value pair.
- # oops, it didn't, it got the last key/value pair!
- $X->seq($key, $value, R_NEXT) ;
-
-The code above can be rearranged to get around the problem, like this:
-
- $X = tie %x, 'DB_File', $filename, O_RDWR|O_CREAT, 0777, $DB_BTREE
- or die "Cannot tie $filename: $!" ;
-
- # this line will modify the cursor
- $count = scalar keys %x ;
-
- # Get the first key/value pair and set the cursor
- $X->seq($key, $value, R_FIRST) ;
-
- # Get the second key/value pair.
- # worked this time.
- $X->seq($key, $value, R_NEXT) ;
-
-=back
-
-All the constants defined in L<dbopen> for use in the flags parameters
-in the methods defined below are also available. Refer to the Berkeley
-DB documentation for the precise meaning of the flags values.
-
-Below is a list of the methods available.
-
-=over 5
-
-=item B<$status = $X-E<gt>get($key, $value [, $flags]) ;>
-
-Given a key (C<$key>) this method reads the value associated with it
-from the database. The value read from the database is returned in the
-C<$value> parameter.
-
-If the key does not exist the method returns 1.
-
-No flags are currently defined for this method.
-
-=item B<$status = $X-E<gt>put($key, $value [, $flags]) ;>
-
-Stores the key/value pair in the database.
-
-If you use either the R_IAFTER or R_IBEFORE flags, the C<$key> parameter
-will have the record number of the inserted key/value pair set.
-
-Valid flags are R_CURSOR, R_IAFTER, R_IBEFORE, R_NOOVERWRITE and
-R_SETCURSOR.
-
-=item B<$status = $X-E<gt>del($key [, $flags]) ;>
-
-Removes all key/value pairs with key C<$key> from the database.
-
-A return code of 1 means that the requested key was not in the
-database.
-
-R_CURSOR is the only valid flag at present.
-
-=item B<$status = $X-E<gt>fd ;>
-
-Returns the file descriptor for the underlying database.
-
-See L<Locking: The Trouble with fd> for an explanation for why you should
-not use C<fd> to lock your database.
-
-=item B<$status = $X-E<gt>seq($key, $value, $flags) ;>
-
-This interface allows sequential retrieval from the database. See
-L<dbopen> for full details.
-
-Both the C<$key> and C<$value> parameters will be set to the key/value
-pair read from the database.
-
-The flags parameter is mandatory. The valid flag values are R_CURSOR,
-R_FIRST, R_LAST, R_NEXT and R_PREV.
-
-=item B<$status = $X-E<gt>sync([$flags]) ;>
-
-Flushes any cached buffers to disk.
-
-R_RECNOSYNC is the only valid flag at present.
-
-=back
-
-=head1 DBM FILTERS
-
-A DBM Filter is a piece of code that is be used when you I<always>
-want to make the same transformation to all keys and/or values in a
-DBM database.
-
-There are four methods associated with DBM Filters. All work identically,
-and each is used to install (or uninstall) a single DBM Filter. Each
-expects a single parameter, namely a reference to a sub. The only
-difference between them is the place that the filter is installed.
-
-To summarise:
-
-=over 5
-
-=item B<filter_store_key>
-
-If a filter has been installed with this method, it will be invoked
-every time you write a key to a DBM database.
-
-=item B<filter_store_value>
-
-If a filter has been installed with this method, it will be invoked
-every time you write a value to a DBM database.
-
-
-=item B<filter_fetch_key>
-
-If a filter has been installed with this method, it will be invoked
-every time you read a key from a DBM database.
-
-=item B<filter_fetch_value>
-
-If a filter has been installed with this method, it will be invoked
-every time you read a value from a DBM database.
-
-=back
-
-You can use any combination of the methods, from none, to all four.
-
-All filter methods return the existing filter, if present, or C<undef>
-in not.
-
-To delete a filter pass C<undef> to it.
-
-=head2 The Filter
-
-When each filter is called by Perl, a local copy of C<$_> will contain
-the key or value to be filtered. Filtering is achieved by modifying
-the contents of C<$_>. The return code from the filter is ignored.
-
-=head2 An Example -- the NULL termination problem.
-
-Consider the following scenario. You have a DBM database
-that you need to share with a third-party C application. The C application
-assumes that I<all> keys and values are NULL terminated. Unfortunately
-when Perl writes to DBM databases it doesn't use NULL termination, so
-your Perl application will have to manage NULL termination itself. When
-you write to the database you will have to use something like this:
-
- $hash{"$key\0"} = "$value\0" ;
-
-Similarly the NULL needs to be taken into account when you are considering
-the length of existing keys/values.
-
-It would be much better if you could ignore the NULL terminations issue
-in the main application code and have a mechanism that automatically
-added the terminating NULL to all keys and values whenever you write to
-the database and have them removed when you read from the database. As I'm
-sure you have already guessed, this is a problem that DBM Filters can
-fix very easily.
-
- use warnings ;
- use strict ;
- use DB_File ;
-
- my %hash ;
- my $filename = "filt" ;
- unlink $filename ;
-
- my $db = tie %hash, 'DB_File', $filename, O_CREAT|O_RDWR, 0666, $DB_HASH
- or die "Cannot open $filename: $!\n" ;
-
- # Install DBM Filters
- $db->filter_fetch_key ( sub { s/\0$// } ) ;
- $db->filter_store_key ( sub { $_ .= "\0" } ) ;
- $db->filter_fetch_value( sub { s/\0$// } ) ;
- $db->filter_store_value( sub { $_ .= "\0" } ) ;
-
- $hash{"abc"} = "def" ;
- my $a = $hash{"ABC"} ;
- # ...
- undef $db ;
- untie %hash ;
-
-Hopefully the contents of each of the filters should be
-self-explanatory. Both "fetch" filters remove the terminating NULL,
-and both "store" filters add a terminating NULL.
-
-
-=head2 Another Example -- Key is a C int.
-
-Here is another real-life example. By default, whenever Perl writes to
-a DBM database it always writes the key and value as strings. So when
-you use this:
-
- $hash{12345} = "something" ;
-
-the key 12345 will get stored in the DBM database as the 5 byte string
-"12345". If you actually want the key to be stored in the DBM database
-as a C int, you will have to use C<pack> when writing, and C<unpack>
-when reading.
-
-Here is a DBM Filter that does it:
-
- use warnings ;
- use strict ;
- use DB_File ;
- my %hash ;
- my $filename = "filt" ;
- unlink $filename ;
-
-
- my $db = tie %hash, 'DB_File', $filename, O_CREAT|O_RDWR, 0666, $DB_HASH
- or die "Cannot open $filename: $!\n" ;
-
- $db->filter_fetch_key ( sub { $_ = unpack("i", $_) } ) ;
- $db->filter_store_key ( sub { $_ = pack ("i", $_) } ) ;
- $hash{123} = "def" ;
- # ...
- undef $db ;
- untie %hash ;
-
-This time only two filters have been used -- we only need to manipulate
-the contents of the key, so it wasn't necessary to install any value
-filters.
-
-=head1 HINTS AND TIPS
-
-
-=head2 Locking: The Trouble with fd
-
-Until version 1.72 of this module, the recommended technique for locking
-B<DB_File> databases was to flock the filehandle returned from the "fd"
-function. Unfortunately this technique has been shown to be fundamentally
-flawed (Kudos to David Harris for tracking this down). Use it at your own
-peril!
-
-The locking technique went like this.
-
- $db = tie(%db, 'DB_File', 'foo.db', O_CREAT|O_RDWR, 0644)
- || die "dbcreat foo.db $!";
- $fd = $db->fd;
- open(DB_FH, "+<&=$fd") || die "dup $!";
- flock (DB_FH, LOCK_EX) || die "flock: $!";
- ...
- $db{"Tom"} = "Jerry" ;
- ...
- flock(DB_FH, LOCK_UN);
- undef $db;
- untie %db;
- close(DB_FH);
-
-In simple terms, this is what happens:
-
-=over 5
-
-=item 1.
-
-Use "tie" to open the database.
-
-=item 2.
-
-Lock the database with fd & flock.
-
-=item 3.
-
-Read & Write to the database.
-
-=item 4.
-
-Unlock and close the database.
-
-=back
-
-Here is the crux of the problem. A side-effect of opening the B<DB_File>
-database in step 2 is that an initial block from the database will get
-read from disk and cached in memory.
-
-To see why this is a problem, consider what can happen when two processes,
-say "A" and "B", both want to update the same B<DB_File> database
-using the locking steps outlined above. Assume process "A" has already
-opened the database and has a write lock, but it hasn't actually updated
-the database yet (it has finished step 2, but not started step 3 yet). Now
-process "B" tries to open the same database - step 1 will succeed,
-but it will block on step 2 until process "A" releases the lock. The
-important thing to notice here is that at this point in time both
-processes will have cached identical initial blocks from the database.
-
-Now process "A" updates the database and happens to change some of the
-data held in the initial buffer. Process "A" terminates, flushing
-all cached data to disk and releasing the database lock. At this point
-the database on disk will correctly reflect the changes made by process
-"A".
-
-With the lock released, process "B" can now continue. It also updates the
-database and unfortunately it too modifies the data that was in its
-initial buffer. Once that data gets flushed to disk it will overwrite
-some/all of the changes process "A" made to the database.
-
-The result of this scenario is at best a database that doesn't contain
-what you expect. At worst the database will corrupt.
-
-The above won't happen every time competing process update the same
-B<DB_File> database, but it does illustrate why the technique should
-not be used.
-
-=head2 Safe ways to lock a database
-
-Starting with version 2.x, Berkeley DB has internal support for locking.
-The companion module to this one, B<BerkeleyDB>, provides an interface
-to this locking functionality. If you are serious about locking
-Berkeley DB databases, I strongly recommend using B<BerkeleyDB>.
-
-If using B<BerkeleyDB> isn't an option, there are a number of modules
-available on CPAN that can be used to implement locking. Each one
-implements locking differently and has different goals in mind. It is
-therefore worth knowing the difference, so that you can pick the right
-one for your application. Here are the three locking wrappers:
-
-=over 5
-
-=item B<Tie::DB_Lock>
-
-A B<DB_File> wrapper which creates copies of the database file for
-read access, so that you have a kind of a multiversioning concurrent read
-system. However, updates are still serial. Use for databases where reads
-may be lengthy and consistency problems may occur.
-
-=item B<Tie::DB_LockFile>
-
-A B<DB_File> wrapper that has the ability to lock and unlock the database
-while it is being used. Avoids the tie-before-flock problem by simply
-re-tie-ing the database when you get or drop a lock. Because of the
-flexibility in dropping and re-acquiring the lock in the middle of a
-session, this can be massaged into a system that will work with long
-updates and/or reads if the application follows the hints in the POD
-documentation.
-
-=item B<DB_File::Lock>
-
-An extremely lightweight B<DB_File> wrapper that simply flocks a lockfile
-before tie-ing the database and drops the lock after the untie. Allows
-one to use the same lockfile for multiple databases to avoid deadlock
-problems, if desired. Use for databases where updates are reads are
-quick and simple flock locking semantics are enough.
-
-=back
-
-=head2 Sharing Databases With C Applications
-
-There is no technical reason why a Berkeley DB database cannot be
-shared by both a Perl and a C application.
-
-The vast majority of problems that are reported in this area boil down
-to the fact that C strings are NULL terminated, whilst Perl strings are
-not. See L<DBM FILTERS> for a generic way to work around this problem.
-
-Here is a real example. Netscape 2.0 keeps a record of the locations you
-visit along with the time you last visited them in a DB_HASH database.
-This is usually stored in the file F<~/.netscape/history.db>. The key
-field in the database is the location string and the value field is the
-time the location was last visited stored as a 4 byte binary value.
-
-If you haven't already guessed, the location string is stored with a
-terminating NULL. This means you need to be careful when accessing the
-database.
-
-Here is a snippet of code that is loosely based on Tom Christiansen's
-I<ggh> script (available from your nearest CPAN archive in
-F<authors/id/TOMC/scripts/nshist.gz>).
-
- use warnings ;
- use strict ;
- use DB_File ;
- use Fcntl ;
-
- my ($dotdir, $HISTORY, %hist_db, $href, $binary_time, $date) ;
- $dotdir = $ENV{HOME} || $ENV{LOGNAME};
-
- $HISTORY = "$dotdir/.netscape/history.db";
-
- tie %hist_db, 'DB_File', $HISTORY
- or die "Cannot open $HISTORY: $!\n" ;;
-
- # Dump the complete database
- while ( ($href, $binary_time) = each %hist_db ) {
-
- # remove the terminating NULL
- $href =~ s/\x00$// ;
-
- # convert the binary time into a user friendly string
- $date = localtime unpack("V", $binary_time);
- print "$date $href\n" ;
- }
-
- # check for the existence of a specific key
- # remember to add the NULL
- if ( $binary_time = $hist_db{"http://mox.perl.com/\x00"} ) {
- $date = localtime unpack("V", $binary_time) ;
- print "Last visited mox.perl.com on $date\n" ;
- }
- else {
- print "Never visited mox.perl.com\n"
- }
-
- untie %hist_db ;
-
-=head2 The untie() Gotcha
-
-If you make use of the Berkeley DB API, it is I<very> strongly
-recommended that you read L<perltie/The untie Gotcha>.
-
-Even if you don't currently make use of the API interface, it is still
-worth reading it.
-
-Here is an example which illustrates the problem from a B<DB_File>
-perspective:
-
- use DB_File ;
- use Fcntl ;
-
- my %x ;
- my $X ;
-
- $X = tie %x, 'DB_File', 'tst.fil' , O_RDWR|O_TRUNC
- or die "Cannot tie first time: $!" ;
-
- $x{123} = 456 ;
-
- untie %x ;
-
- tie %x, 'DB_File', 'tst.fil' , O_RDWR|O_CREAT
- or die "Cannot tie second time: $!" ;
-
- untie %x ;
-
-When run, the script will produce this error message:
-
- Cannot tie second time: Invalid argument at bad.file line 14.
-
-Although the error message above refers to the second tie() statement
-in the script, the source of the problem is really with the untie()
-statement that precedes it.
-
-Having read L<perltie> you will probably have already guessed that the
-error is caused by the extra copy of the tied object stored in C<$X>.
-If you haven't, then the problem boils down to the fact that the
-B<DB_File> destructor, DESTROY, will not be called until I<all>
-references to the tied object are destroyed. Both the tied variable,
-C<%x>, and C<$X> above hold a reference to the object. The call to
-untie() will destroy the first, but C<$X> still holds a valid
-reference, so the destructor will not get called and the database file
-F<tst.fil> will remain open. The fact that Berkeley DB then reports the
-attempt to open a database that is already open via the catch-all
-"Invalid argument" doesn't help.
-
-If you run the script with the C<-w> flag the error message becomes:
-
- untie attempted while 1 inner references still exist at bad.file line 12.
- Cannot tie second time: Invalid argument at bad.file line 14.
-
-which pinpoints the real problem. Finally the script can now be
-modified to fix the original problem by destroying the API object
-before the untie:
-
- ...
- $x{123} = 456 ;
-
- undef $X ;
- untie %x ;
-
- $X = tie %x, 'DB_File', 'tst.fil' , O_RDWR|O_CREAT
- ...
-
-
-=head1 COMMON QUESTIONS
-
-=head2 Why is there Perl source in my database?
-
-If you look at the contents of a database file created by DB_File,
-there can sometimes be part of a Perl script included in it.
-
-This happens because Berkeley DB uses dynamic memory to allocate
-buffers which will subsequently be written to the database file. Being
-dynamic, the memory could have been used for anything before DB
-malloced it. As Berkeley DB doesn't clear the memory once it has been
-allocated, the unused portions will contain random junk. In the case
-where a Perl script gets written to the database, the random junk will
-correspond to an area of dynamic memory that happened to be used during
-the compilation of the script.
-
-Unless you don't like the possibility of there being part of your Perl
-scripts embedded in a database file, this is nothing to worry about.
-
-=head2 How do I store complex data structures with DB_File?
-
-Although B<DB_File> cannot do this directly, there is a module which
-can layer transparently over B<DB_File> to accomplish this feat.
-
-Check out the MLDBM module, available on CPAN in the directory
-F<modules/by-module/MLDBM>.
-
-=head2 What does "Invalid Argument" mean?
-
-You will get this error message when one of the parameters in the
-C<tie> call is wrong. Unfortunately there are quite a few parameters to
-get wrong, so it can be difficult to figure out which one it is.
-
-Here are a couple of possibilities:
-
-=over 5
-
-=item 1.
-
-Attempting to reopen a database without closing it.
-
-=item 2.
-
-Using the O_WRONLY flag.
-
-=back
-
-=head2 What does "Bareword 'DB_File' not allowed" mean?
-
-You will encounter this particular error message when you have the
-C<strict 'subs'> pragma (or the full strict pragma) in your script.
-Consider this script:
-
- use warnings ;
- use strict ;
- use DB_File ;
- my %x ;
- tie %x, DB_File, "filename" ;
-
-Running it produces the error in question:
-
- Bareword "DB_File" not allowed while "strict subs" in use
-
-To get around the error, place the word C<DB_File> in either single or
-double quotes, like this:
-
- tie %x, "DB_File", "filename" ;
-
-Although it might seem like a real pain, it is really worth the effort
-of having a C<use strict> in all your scripts.
-
-=head1 REFERENCES
-
-Articles that are either about B<DB_File> or make use of it.
-
-=over 5
-
-=item 1.
-
-I<Full-Text Searching in Perl>, Tim Kientzle (tkientzle@ddj.com),
-Dr. Dobb's Journal, Issue 295, January 1999, pp 34-41
-
-=back
-
-=head1 HISTORY
-
-Moved to the Changes file.
-
-=head1 BUGS
-
-Some older versions of Berkeley DB had problems with fixed length
-records using the RECNO file format. This problem has been fixed since
-version 1.85 of Berkeley DB.
-
-I am sure there are bugs in the code. If you do find any, or can
-suggest any enhancements, I would welcome your comments.
-
-=head1 AVAILABILITY
-
-B<DB_File> comes with the standard Perl source distribution. Look in
-the directory F<ext/DB_File>. Given the amount of time between releases
-of Perl the version that ships with Perl is quite likely to be out of
-date, so the most recent version can always be found on CPAN (see
-L<perlmodlib/CPAN> for details), in the directory
-F<modules/by-module/DB_File>.
-
-This version of B<DB_File> will work with either version 1.x, 2.x or
-3.x of Berkeley DB, but is limited to the functionality provided by
-version 1.
-
-The official web site for Berkeley DB is F<http://www.oracle.com/technology/products/berkeley-db/db/index.html>.
-All versions of Berkeley DB are available there.
-
-Alternatively, Berkeley DB version 1 is available at your nearest CPAN
-archive in F<src/misc/db.1.85.tar.gz>.
-
-If you are running IRIX, then get Berkeley DB version 1 from
-F<http://reality.sgi.com/ariel>. It has the patches necessary to
-compile properly on IRIX 5.3.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1995-2007 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.
-
-Although B<DB_File> is covered by the Perl license, the library it
-makes use of, namely Berkeley DB, is not. Berkeley DB has its own
-copyright and its own license. Please take the time to read it.
-
-Here are are few words taken from the Berkeley DB FAQ (at
-F<http://www.oracle.com/technology/products/berkeley-db/db/index.html>) regarding the license:
-
- Do I have to license DB to use it in Perl scripts?
-
- No. The Berkeley DB license requires that software that uses
- Berkeley DB be freely redistributable. In the case of Perl, that
- software is Perl, and not your scripts. Any Perl scripts that you
- write are your property, including scripts that make use of
- Berkeley DB. Neither the Perl license nor the Berkeley DB license
- place any restriction on what you may do with them.
-
-If you are in any doubt about the license situation, contact either the
-Berkeley DB authors or the author of DB_File. See L<"AUTHOR"> for details.
-
-
-=head1 SEE ALSO
-
-L<perl>, L<dbopen(3)>, L<hash(3)>, L<recno(3)>, L<btree(3)>,
-L<perldbmfilter>
-
-=head1 AUTHOR
-
-The DB_File interface was written by Paul Marquess
-E<lt>pmqs@cpan.orgE<gt>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Data/Dumper.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Data/Dumper.pm
deleted file mode 100644
index 15d504d977d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Data/Dumper.pm
+++ /dev/null
@@ -1,1286 +0,0 @@
-#
-# Data/Dumper.pm
-#
-# convert perl data structures into perl syntax suitable for both printing
-# and eval
-#
-# Documentation at the __END__
-#
-
-package Data::Dumper;
-
-$VERSION = '2.121_14';
-
-#$| = 1;
-
-use 5.006_001;
-require Exporter;
-require overload;
-
-use Carp;
-
-BEGIN {
- @ISA = qw(Exporter);
- @EXPORT = qw(Dumper);
- @EXPORT_OK = qw(DumperX);
-
- # if run under miniperl, or otherwise lacking dynamic loading,
- # XSLoader should be attempted to load, or the pure perl flag
- # toggled on load failure.
- eval {
- require XSLoader;
- };
- $Useperl = 1 if $@;
-}
-
-XSLoader::load( 'Data::Dumper' ) unless $Useperl;
-
-# module vars and their defaults
-$Indent = 2 unless defined $Indent;
-$Purity = 0 unless defined $Purity;
-$Pad = "" unless defined $Pad;
-$Varname = "VAR" unless defined $Varname;
-$Useqq = 0 unless defined $Useqq;
-$Terse = 0 unless defined $Terse;
-$Freezer = "" unless defined $Freezer;
-$Toaster = "" unless defined $Toaster;
-$Deepcopy = 0 unless defined $Deepcopy;
-$Quotekeys = 1 unless defined $Quotekeys;
-$Bless = "bless" unless defined $Bless;
-#$Expdepth = 0 unless defined $Expdepth;
-$Maxdepth = 0 unless defined $Maxdepth;
-$Pair = ' => ' unless defined $Pair;
-$Useperl = 0 unless defined $Useperl;
-$Sortkeys = 0 unless defined $Sortkeys;
-$Deparse = 0 unless defined $Deparse;
-
-#
-# expects an arrayref of values to be dumped.
-# can optionally pass an arrayref of names for the values.
-# names must have leading $ sign stripped. begin the name with *
-# to cause output of arrays and hashes rather than refs.
-#
-sub new {
- my($c, $v, $n) = @_;
-
- croak "Usage: PACKAGE->new(ARRAYREF, [ARRAYREF])"
- unless (defined($v) && (ref($v) eq 'ARRAY'));
- $n = [] unless (defined($n) && (ref($v) eq 'ARRAY'));
-
- my($s) = {
- level => 0, # current recursive depth
- indent => $Indent, # various styles of indenting
- pad => $Pad, # all lines prefixed by this string
- xpad => "", # padding-per-level
- apad => "", # added padding for hash keys n such
- sep => "", # list separator
- pair => $Pair, # hash key/value separator: defaults to ' => '
- seen => {}, # local (nested) refs (id => [name, val])
- todump => $v, # values to dump []
- names => $n, # optional names for values []
- varname => $Varname, # prefix to use for tagging nameless ones
- purity => $Purity, # degree to which output is evalable
- useqq => $Useqq, # use "" for strings (backslashitis ensues)
- terse => $Terse, # avoid name output (where feasible)
- freezer => $Freezer, # name of Freezer method for objects
- toaster => $Toaster, # name of method to revive objects
- deepcopy => $Deepcopy, # dont cross-ref, except to stop recursion
- quotekeys => $Quotekeys, # quote hash keys
- 'bless' => $Bless, # keyword to use for "bless"
-# expdepth => $Expdepth, # cutoff depth for explicit dumping
- maxdepth => $Maxdepth, # depth beyond which we give up
- useperl => $Useperl, # use the pure Perl implementation
- sortkeys => $Sortkeys, # flag or filter for sorting hash keys
- deparse => $Deparse, # use B::Deparse for coderefs
- };
-
- if ($Indent > 0) {
- $s->{xpad} = " ";
- $s->{sep} = "\n";
- }
- return bless($s, $c);
-}
-
-if ($] >= 5.006) {
- # Packed numeric addresses take less memory. Plus pack is faster than sprintf
- *init_refaddr_format = sub {};
-
- *format_refaddr = sub {
- require Scalar::Util;
- pack "J", Scalar::Util::refaddr(shift);
- };
-} else {
- *init_refaddr_format = sub {
- require Config;
- my $f = $Config::Config{uvxformat};
- $f =~ tr/"//d;
- our $refaddr_format = "0x%" . $f;
- };
-
- *format_refaddr = sub {
- require Scalar::Util;
- sprintf our $refaddr_format, Scalar::Util::refaddr(shift);
- }
-}
-
-#
-# add-to or query the table of already seen references
-#
-sub Seen {
- my($s, $g) = @_;
- if (defined($g) && (ref($g) eq 'HASH')) {
- init_refaddr_format();
- my($k, $v, $id);
- while (($k, $v) = each %$g) {
- if (defined $v and ref $v) {
- $id = format_refaddr($v);
- if ($k =~ /^[*](.*)$/) {
- $k = (ref $v eq 'ARRAY') ? ( "\\\@" . $1 ) :
- (ref $v eq 'HASH') ? ( "\\\%" . $1 ) :
- (ref $v eq 'CODE') ? ( "\\\&" . $1 ) :
- ( "\$" . $1 ) ;
- }
- elsif ($k !~ /^\$/) {
- $k = "\$" . $k;
- }
- $s->{seen}{$id} = [$k, $v];
- }
- else {
- carp "Only refs supported, ignoring non-ref item \$$k";
- }
- }
- return $s;
- }
- else {
- return map { @$_ } values %{$s->{seen}};
- }
-}
-
-#
-# set or query the values to be dumped
-#
-sub Values {
- my($s, $v) = @_;
- if (defined($v) && (ref($v) eq 'ARRAY')) {
- $s->{todump} = [@$v]; # make a copy
- return $s;
- }
- else {
- return @{$s->{todump}};
- }
-}
-
-#
-# set or query the names of the values to be dumped
-#
-sub Names {
- my($s, $n) = @_;
- if (defined($n) && (ref($n) eq 'ARRAY')) {
- $s->{names} = [@$n]; # make a copy
- return $s;
- }
- else {
- return @{$s->{names}};
- }
-}
-
-sub DESTROY {}
-
-sub Dump {
- return &Dumpxs
- unless $Data::Dumper::Useperl || (ref($_[0]) && $_[0]->{useperl}) ||
- $Data::Dumper::Useqq || (ref($_[0]) && $_[0]->{useqq}) ||
- $Data::Dumper::Deparse || (ref($_[0]) && $_[0]->{deparse});
- return &Dumpperl;
-}
-
-#
-# dump the refs in the current dumper object.
-# expects same args as new() if called via package name.
-#
-sub Dumpperl {
- my($s) = shift;
- my(@out, $val, $name);
- my($i) = 0;
- local(@post);
- init_refaddr_format();
-
- $s = $s->new(@_) unless ref $s;
-
- for $val (@{$s->{todump}}) {
- my $out = "";
- @post = ();
- $name = $s->{names}[$i++];
- if (defined $name) {
- if ($name =~ /^[*](.*)$/) {
- if (defined $val) {
- $name = (ref $val eq 'ARRAY') ? ( "\@" . $1 ) :
- (ref $val eq 'HASH') ? ( "\%" . $1 ) :
- (ref $val eq 'CODE') ? ( "\*" . $1 ) :
- ( "\$" . $1 ) ;
- }
- else {
- $name = "\$" . $1;
- }
- }
- elsif ($name !~ /^\$/) {
- $name = "\$" . $name;
- }
- }
- else {
- $name = "\$" . $s->{varname} . $i;
- }
-
- # Ensure hash iterator is reset
- if (ref($val) eq 'HASH') {
- keys(%$val);
- }
-
- my $valstr;
- {
- local($s->{apad}) = $s->{apad};
- $s->{apad} .= ' ' x (length($name) + 3) if $s->{indent} >= 2;
- $valstr = $s->_dump($val, $name);
- }
-
- $valstr = "$name = " . $valstr . ';' if @post or !$s->{terse};
- $out .= $s->{pad} . $valstr . $s->{sep};
- $out .= $s->{pad} . join(';' . $s->{sep} . $s->{pad}, @post)
- . ';' . $s->{sep} if @post;
-
- push @out, $out;
- }
- return wantarray ? @out : join('', @out);
-}
-
-# wrap string in single quotes (escaping if needed)
-sub _quote {
- my $val = shift;
- $val =~ s/([\\\'])/\\$1/g;
- return "'" . $val . "'";
-}
-
-#
-# twist, toil and turn;
-# and recurse, of course.
-# sometimes sordidly;
-# and curse if no recourse.
-#
-sub _dump {
- my($s, $val, $name) = @_;
- my($sname);
- my($out, $realpack, $realtype, $type, $ipad, $id, $blesspad);
-
- $type = ref $val;
- $out = "";
-
- if ($type) {
-
- # Call the freezer method if it's specified and the object has the
- # method. Trap errors and warn() instead of die()ing, like the XS
- # implementation.
- my $freezer = $s->{freezer};
- if ($freezer and UNIVERSAL::can($val, $freezer)) {
- eval { $val->$freezer() };
- warn "WARNING(Freezer method call failed): $@" if $@;
- }
-
- require Scalar::Util;
- $realpack = Scalar::Util::blessed($val);
- $realtype = $realpack ? Scalar::Util::reftype($val) : ref $val;
- $id = format_refaddr($val);
-
- # if it has a name, we need to either look it up, or keep a tab
- # on it so we know when we hit it later
- if (defined($name) and length($name)) {
- # keep a tab on it so that we dont fall into recursive pit
- if (exists $s->{seen}{$id}) {
-# if ($s->{expdepth} < $s->{level}) {
- if ($s->{purity} and $s->{level} > 0) {
- $out = ($realtype eq 'HASH') ? '{}' :
- ($realtype eq 'ARRAY') ? '[]' :
- 'do{my $o}' ;
- push @post, $name . " = " . $s->{seen}{$id}[0];
- }
- else {
- $out = $s->{seen}{$id}[0];
- if ($name =~ /^([\@\%])/) {
- my $start = $1;
- if ($out =~ /^\\$start/) {
- $out = substr($out, 1);
- }
- else {
- $out = $start . '{' . $out . '}';
- }
- }
- }
- return $out;
-# }
- }
- else {
- # store our name
- $s->{seen}{$id} = [ (($name =~ /^[@%]/) ? ('\\' . $name ) :
- ($realtype eq 'CODE' and
- $name =~ /^[*](.*)$/) ? ('\\&' . $1 ) :
- $name ),
- $val ];
- }
- }
-
- if ($realpack and $realpack eq 'Regexp') {
- $out = "$val";
- $out =~ s,/,\\/,g;
- return "qr/$out/";
- }
-
- # If purity is not set and maxdepth is set, then check depth:
- # if we have reached maximum depth, return the string
- # representation of the thing we are currently examining
- # at this depth (i.e., 'Foo=ARRAY(0xdeadbeef)').
- if (!$s->{purity}
- and $s->{maxdepth} > 0
- and $s->{level} >= $s->{maxdepth})
- {
- return qq['$val'];
- }
-
- # we have a blessed ref
- if ($realpack) {
- $out = $s->{'bless'} . '( ';
- $blesspad = $s->{apad};
- $s->{apad} .= ' ' if ($s->{indent} >= 2);
- }
-
- $s->{level}++;
- $ipad = $s->{xpad} x $s->{level};
-
- if ($realtype eq 'SCALAR' || $realtype eq 'REF') {
- if ($realpack) {
- $out .= 'do{\\(my $o = ' . $s->_dump($$val, "\${$name}") . ')}';
- }
- else {
- $out .= '\\' . $s->_dump($$val, "\${$name}");
- }
- }
- elsif ($realtype eq 'GLOB') {
- $out .= '\\' . $s->_dump($$val, "*{$name}");
- }
- elsif ($realtype eq 'ARRAY') {
- my($v, $pad, $mname);
- my($i) = 0;
- $out .= ($name =~ /^\@/) ? '(' : '[';
- $pad = $s->{sep} . $s->{pad} . $s->{apad};
- ($name =~ /^\@(.*)$/) ? ($mname = "\$" . $1) :
- # omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
- ($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
- ($mname = $name . '->');
- $mname .= '->' if $mname =~ /^\*.+\{[A-Z]+\}$/;
- for $v (@$val) {
- $sname = $mname . '[' . $i . ']';
- $out .= $pad . $ipad . '#' . $i if $s->{indent} >= 3;
- $out .= $pad . $ipad . $s->_dump($v, $sname);
- $out .= "," if $i++ < $#$val;
- }
- $out .= $pad . ($s->{xpad} x ($s->{level} - 1)) if $i;
- $out .= ($name =~ /^\@/) ? ')' : ']';
- }
- elsif ($realtype eq 'HASH') {
- my($k, $v, $pad, $lpad, $mname, $pair);
- $out .= ($name =~ /^\%/) ? '(' : '{';
- $pad = $s->{sep} . $s->{pad} . $s->{apad};
- $lpad = $s->{apad};
- $pair = $s->{pair};
- ($name =~ /^\%(.*)$/) ? ($mname = "\$" . $1) :
- # omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
- ($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
- ($mname = $name . '->');
- $mname .= '->' if $mname =~ /^\*.+\{[A-Z]+\}$/;
- my ($sortkeys, $keys, $key) = ("$s->{sortkeys}");
- if ($sortkeys) {
- if (ref($s->{sortkeys}) eq 'CODE') {
- $keys = $s->{sortkeys}($val);
- unless (ref($keys) eq 'ARRAY') {
- carp "Sortkeys subroutine did not return ARRAYREF";
- $keys = [];
- }
- }
- else {
- $keys = [ sort keys %$val ];
- }
- }
- while (($k, $v) = ! $sortkeys ? (each %$val) :
- @$keys ? ($key = shift(@$keys), $val->{$key}) :
- () )
- {
- my $nk = $s->_dump($k, "");
- $nk = $1 if !$s->{quotekeys} and $nk =~ /^[\"\']([A-Za-z_]\w*)[\"\']$/;
- $sname = $mname . '{' . $nk . '}';
- $out .= $pad . $ipad . $nk . $pair;
-
- # temporarily alter apad
- $s->{apad} .= (" " x (length($nk) + 4)) if $s->{indent} >= 2;
- $out .= $s->_dump($val->{$k}, $sname) . ",";
- $s->{apad} = $lpad if $s->{indent} >= 2;
- }
- if (substr($out, -1) eq ',') {
- chop $out;
- $out .= $pad . ($s->{xpad} x ($s->{level} - 1));
- }
- $out .= ($name =~ /^\%/) ? ')' : '}';
- }
- elsif ($realtype eq 'CODE') {
- if ($s->{deparse}) {
- require B::Deparse;
- my $sub = 'sub ' . (B::Deparse->new)->coderef2text($val);
- $pad = $s->{sep} . $s->{pad} . $s->{apad} . $s->{xpad} x ($s->{level} - 1);
- $sub =~ s/\n/$pad/gse;
- $out .= $sub;
- } else {
- $out .= 'sub { "DUMMY" }';
- carp "Encountered CODE ref, using dummy placeholder" if $s->{purity};
- }
- }
- else {
- croak "Can\'t handle $realtype type.";
- }
-
- if ($realpack) { # we have a blessed ref
- $out .= ', ' . _quote($realpack) . ' )';
- $out .= '->' . $s->{toaster} . '()' if $s->{toaster} ne '';
- $s->{apad} = $blesspad;
- }
- $s->{level}--;
-
- }
- else { # simple scalar
-
- my $ref = \$_[1];
- # first, catalog the scalar
- if ($name ne '') {
- $id = format_refaddr($ref);
- if (exists $s->{seen}{$id}) {
- if ($s->{seen}{$id}[2]) {
- $out = $s->{seen}{$id}[0];
- #warn "[<$out]\n";
- return "\${$out}";
- }
- }
- else {
- #warn "[>\\$name]\n";
- $s->{seen}{$id} = ["\\$name", $ref];
- }
- }
- if (ref($ref) eq 'GLOB' or "$ref" =~ /=GLOB\([^()]+\)$/) { # glob
- my $name = substr($val, 1);
- if ($name =~ /^[A-Za-z_][\w:]*$/) {
- $name =~ s/^main::/::/;
- $sname = $name;
- }
- else {
- $sname = $s->_dump($name, "");
- $sname = '{' . $sname . '}';
- }
- if ($s->{purity}) {
- my $k;
- local ($s->{level}) = 0;
- for $k (qw(SCALAR ARRAY HASH)) {
- my $gval = *$val{$k};
- next unless defined $gval;
- next if $k eq "SCALAR" && ! defined $$gval; # always there
-
- # _dump can push into @post, so we hold our place using $postlen
- my $postlen = scalar @post;
- $post[$postlen] = "\*$sname = ";
- local ($s->{apad}) = " " x length($post[$postlen]) if $s->{indent} >= 2;
- $post[$postlen] .= $s->_dump($gval, "\*$sname\{$k\}");
- }
- }
- $out .= '*' . $sname;
- }
- elsif (!defined($val)) {
- $out .= "undef";
- }
- elsif ($val =~ /^(?:0|-?[1-9]\d{0,8})\z/) { # safe decimal number
- $out .= $val;
- }
- else { # string
- if ($s->{useqq} or $val =~ tr/\0-\377//c) {
- # Fall back to qq if there's Unicode
- $out .= qquote($val, $s->{useqq});
- }
- else {
- $out .= _quote($val);
- }
- }
- }
- if ($id) {
- # if we made it this far, $id was added to seen list at current
- # level, so remove it to get deep copies
- if ($s->{deepcopy}) {
- delete($s->{seen}{$id});
- }
- elsif ($name) {
- $s->{seen}{$id}[2] = 1;
- }
- }
- return $out;
-}
-
-#
-# non-OO style of earlier version
-#
-sub Dumper {
- return Data::Dumper->Dump([@_]);
-}
-
-# compat stub
-sub DumperX {
- return Data::Dumper->Dumpxs([@_], []);
-}
-
-sub Dumpf { return Data::Dumper->Dump(@_) }
-
-sub Dumpp { print Data::Dumper->Dump(@_) }
-
-#
-# reset the "seen" cache
-#
-sub Reset {
- my($s) = shift;
- $s->{seen} = {};
- return $s;
-}
-
-sub Indent {
- my($s, $v) = @_;
- if (defined($v)) {
- if ($v == 0) {
- $s->{xpad} = "";
- $s->{sep} = "";
- }
- else {
- $s->{xpad} = " ";
- $s->{sep} = "\n";
- }
- $s->{indent} = $v;
- return $s;
- }
- else {
- return $s->{indent};
- }
-}
-
-sub Pair {
- my($s, $v) = @_;
- defined($v) ? (($s->{pair} = $v), return $s) : $s->{pair};
-}
-
-sub Pad {
- my($s, $v) = @_;
- defined($v) ? (($s->{pad} = $v), return $s) : $s->{pad};
-}
-
-sub Varname {
- my($s, $v) = @_;
- defined($v) ? (($s->{varname} = $v), return $s) : $s->{varname};
-}
-
-sub Purity {
- my($s, $v) = @_;
- defined($v) ? (($s->{purity} = $v), return $s) : $s->{purity};
-}
-
-sub Useqq {
- my($s, $v) = @_;
- defined($v) ? (($s->{useqq} = $v), return $s) : $s->{useqq};
-}
-
-sub Terse {
- my($s, $v) = @_;
- defined($v) ? (($s->{terse} = $v), return $s) : $s->{terse};
-}
-
-sub Freezer {
- my($s, $v) = @_;
- defined($v) ? (($s->{freezer} = $v), return $s) : $s->{freezer};
-}
-
-sub Toaster {
- my($s, $v) = @_;
- defined($v) ? (($s->{toaster} = $v), return $s) : $s->{toaster};
-}
-
-sub Deepcopy {
- my($s, $v) = @_;
- defined($v) ? (($s->{deepcopy} = $v), return $s) : $s->{deepcopy};
-}
-
-sub Quotekeys {
- my($s, $v) = @_;
- defined($v) ? (($s->{quotekeys} = $v), return $s) : $s->{quotekeys};
-}
-
-sub Bless {
- my($s, $v) = @_;
- defined($v) ? (($s->{'bless'} = $v), return $s) : $s->{'bless'};
-}
-
-sub Maxdepth {
- my($s, $v) = @_;
- defined($v) ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
-}
-
-sub Useperl {
- my($s, $v) = @_;
- defined($v) ? (($s->{'useperl'} = $v), return $s) : $s->{'useperl'};
-}
-
-sub Sortkeys {
- my($s, $v) = @_;
- defined($v) ? (($s->{'sortkeys'} = $v), return $s) : $s->{'sortkeys'};
-}
-
-sub Deparse {
- my($s, $v) = @_;
- defined($v) ? (($s->{'deparse'} = $v), return $s) : $s->{'deparse'};
-}
-
-# used by qquote below
-my %esc = (
- "\a" => "\\a",
- "\b" => "\\b",
- "\t" => "\\t",
- "\n" => "\\n",
- "\f" => "\\f",
- "\r" => "\\r",
- "\e" => "\\e",
-);
-
-# put a string value in double quotes
-sub qquote {
- local($_) = shift;
- s/([\\\"\@\$])/\\$1/g;
- my $bytes; { use bytes; $bytes = length }
- s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length;
- return qq("$_") unless
- /[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~]/; # fast exit
-
- my $high = shift || "";
- s/([\a\b\t\n\f\r\e])/$esc{$1}/g;
-
- if (ord('^')==94) { # ascii
- # no need for 3 digits in escape for these
- s/([\0-\037])(?!\d)/'\\'.sprintf('%o',ord($1))/eg;
- s/([\0-\037\177])/'\\'.sprintf('%03o',ord($1))/eg;
- # all but last branch below not supported --BEHAVIOR SUBJECT TO CHANGE--
- if ($high eq "iso8859") {
- s/([\200-\240])/'\\'.sprintf('%o',ord($1))/eg;
- } elsif ($high eq "utf8") {
-# use utf8;
-# $str =~ s/([^\040-\176])/sprintf "\\x{%04x}", ord($1)/ge;
- } elsif ($high eq "8bit") {
- # leave it as it is
- } else {
- s/([\200-\377])/'\\'.sprintf('%03o',ord($1))/eg;
- s/([^\040-\176])/sprintf "\\x{%04x}", ord($1)/ge;
- }
- }
- else { # ebcdic
- s{([^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~])(?!\d)}
- {my $v = ord($1); '\\'.sprintf(($v <= 037 ? '%o' : '%03o'), $v)}eg;
- s{([^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~])}
- {'\\'.sprintf('%03o',ord($1))}eg;
- }
-
- return qq("$_");
-}
-
-# helper sub to sort hash keys in Perl < 5.8.0 where we don't have
-# access to sortsv() from XS
-sub _sortkeys { [ sort keys %{$_[0]} ] }
-
-1;
-__END__
-
-=head1 NAME
-
-Data::Dumper - stringified perl data structures, suitable for both printing and C<eval>
-
-=head1 SYNOPSIS
-
- use Data::Dumper;
-
- # simple procedural interface
- print Dumper($foo, $bar);
-
- # extended usage with names
- print Data::Dumper->Dump([$foo, $bar], [qw(foo *ary)]);
-
- # configuration variables
- {
- local $Data::Dumper::Purity = 1;
- eval Data::Dumper->Dump([$foo, $bar], [qw(foo *ary)]);
- }
-
- # OO usage
- $d = Data::Dumper->new([$foo, $bar], [qw(foo *ary)]);
- ...
- print $d->Dump;
- ...
- $d->Purity(1)->Terse(1)->Deepcopy(1);
- eval $d->Dump;
-
-
-=head1 DESCRIPTION
-
-Given a list of scalars or reference variables, writes out their contents in
-perl syntax. The references can also be objects. The contents of each
-variable is output in a single Perl statement. Handles self-referential
-structures correctly.
-
-The return value can be C<eval>ed to get back an identical copy of the
-original reference structure.
-
-Any references that are the same as one of those passed in will be named
-C<$VAR>I<n> (where I<n> is a numeric suffix), and other duplicate references
-to substructures within C<$VAR>I<n> will be appropriately labeled using arrow
-notation. You can specify names for individual values to be dumped if you
-use the C<Dump()> method, or you can change the default C<$VAR> prefix to
-something else. See C<$Data::Dumper::Varname> and C<$Data::Dumper::Terse>
-below.
-
-The default output of self-referential structures can be C<eval>ed, but the
-nested references to C<$VAR>I<n> will be undefined, since a recursive
-structure cannot be constructed using one Perl statement. You should set the
-C<Purity> flag to 1 to get additional statements that will correctly fill in
-these references. Moreover, if C<eval>ed when strictures are in effect,
-you need to ensure that any variables it accesses are previously declared.
-
-In the extended usage form, the references to be dumped can be given
-user-specified names. If a name begins with a C<*>, the output will
-describe the dereferenced type of the supplied reference for hashes and
-arrays, and coderefs. Output of names will be avoided where possible if
-the C<Terse> flag is set.
-
-In many cases, methods that are used to set the internal state of the
-object will return the object itself, so method calls can be conveniently
-chained together.
-
-Several styles of output are possible, all controlled by setting
-the C<Indent> flag. See L<Configuration Variables or Methods> below
-for details.
-
-
-=head2 Methods
-
-=over 4
-
-=item I<PACKAGE>->new(I<ARRAYREF [>, I<ARRAYREF]>)
-
-Returns a newly created C<Data::Dumper> object. The first argument is an
-anonymous array of values to be dumped. The optional second argument is an
-anonymous array of names for the values. The names need not have a leading
-C<$> sign, and must be comprised of alphanumeric characters. You can begin
-a name with a C<*> to specify that the dereferenced type must be dumped
-instead of the reference itself, for ARRAY and HASH references.
-
-The prefix specified by C<$Data::Dumper::Varname> will be used with a
-numeric suffix if the name for a value is undefined.
-
-Data::Dumper will catalog all references encountered while dumping the
-values. Cross-references (in the form of names of substructures in perl
-syntax) will be inserted at all possible points, preserving any structural
-interdependencies in the original set of values. Structure traversal is
-depth-first, and proceeds in order from the first supplied value to
-the last.
-
-=item I<$OBJ>->Dump I<or> I<PACKAGE>->Dump(I<ARRAYREF [>, I<ARRAYREF]>)
-
-Returns the stringified form of the values stored in the object (preserving
-the order in which they were supplied to C<new>), subject to the
-configuration options below. In a list context, it returns a list
-of strings corresponding to the supplied values.
-
-The second form, for convenience, simply calls the C<new> method on its
-arguments before dumping the object immediately.
-
-=item I<$OBJ>->Seen(I<[HASHREF]>)
-
-Queries or adds to the internal table of already encountered references.
-You must use C<Reset> to explicitly clear the table if needed. Such
-references are not dumped; instead, their names are inserted wherever they
-are encountered subsequently. This is useful especially for properly
-dumping subroutine references.
-
-Expects an anonymous hash of name => value pairs. Same rules apply for names
-as in C<new>. If no argument is supplied, will return the "seen" list of
-name => value pairs, in a list context. Otherwise, returns the object
-itself.
-
-=item I<$OBJ>->Values(I<[ARRAYREF]>)
-
-Queries or replaces the internal array of values that will be dumped.
-When called without arguments, returns the values. Otherwise, returns the
-object itself.
-
-=item I<$OBJ>->Names(I<[ARRAYREF]>)
-
-Queries or replaces the internal array of user supplied names for the values
-that will be dumped. When called without arguments, returns the names.
-Otherwise, returns the object itself.
-
-=item I<$OBJ>->Reset
-
-Clears the internal table of "seen" references and returns the object
-itself.
-
-=back
-
-=head2 Functions
-
-=over 4
-
-=item Dumper(I<LIST>)
-
-Returns the stringified form of the values in the list, subject to the
-configuration options below. The values will be named C<$VAR>I<n> in the
-output, where I<n> is a numeric suffix. Will return a list of strings
-in a list context.
-
-=back
-
-=head2 Configuration Variables or Methods
-
-Several configuration variables can be used to control the kind of output
-generated when using the procedural interface. These variables are usually
-C<local>ized in a block so that other parts of the code are not affected by
-the change.
-
-These variables determine the default state of the object created by calling
-the C<new> method, but cannot be used to alter the state of the object
-thereafter. The equivalent method names should be used instead to query
-or set the internal state of the object.
-
-The method forms return the object itself when called with arguments,
-so that they can be chained together nicely.
-
-=over 4
-
-=item *
-
-$Data::Dumper::Indent I<or> I<$OBJ>->Indent(I<[NEWVAL]>)
-
-Controls the style of indentation. It can be set to 0, 1, 2 or 3. Style 0
-spews output without any newlines, indentation, or spaces between list
-items. It is the most compact format possible that can still be called
-valid perl. Style 1 outputs a readable form with newlines but no fancy
-indentation (each level in the structure is simply indented by a fixed
-amount of whitespace). Style 2 (the default) outputs a very readable form
-which takes into account the length of hash keys (so the hash value lines
-up). Style 3 is like style 2, but also annotates the elements of arrays
-with their index (but the comment is on its own line, so array output
-consumes twice the number of lines). Style 2 is the default.
-
-=item *
-
-$Data::Dumper::Purity I<or> I<$OBJ>->Purity(I<[NEWVAL]>)
-
-Controls the degree to which the output can be C<eval>ed to recreate the
-supplied reference structures. Setting it to 1 will output additional perl
-statements that will correctly recreate nested references. The default is
-0.
-
-=item *
-
-$Data::Dumper::Pad I<or> I<$OBJ>->Pad(I<[NEWVAL]>)
-
-Specifies the string that will be prefixed to every line of the output.
-Empty string by default.
-
-=item *
-
-$Data::Dumper::Varname I<or> I<$OBJ>->Varname(I<[NEWVAL]>)
-
-Contains the prefix to use for tagging variable names in the output. The
-default is "VAR".
-
-=item *
-
-$Data::Dumper::Useqq I<or> I<$OBJ>->Useqq(I<[NEWVAL]>)
-
-When set, enables the use of double quotes for representing string values.
-Whitespace other than space will be represented as C<[\n\t\r]>, "unsafe"
-characters will be backslashed, and unprintable characters will be output as
-quoted octal integers. Since setting this variable imposes a performance
-penalty, the default is 0. C<Dump()> will run slower if this flag is set,
-since the fast XSUB implementation doesn't support it yet.
-
-=item *
-
-$Data::Dumper::Terse I<or> I<$OBJ>->Terse(I<[NEWVAL]>)
-
-When set, Data::Dumper will emit single, non-self-referential values as
-atoms/terms rather than statements. This means that the C<$VAR>I<n> names
-will be avoided where possible, but be advised that such output may not
-always be parseable by C<eval>.
-
-=item *
-
-$Data::Dumper::Freezer I<or> $I<OBJ>->Freezer(I<[NEWVAL]>)
-
-Can be set to a method name, or to an empty string to disable the feature.
-Data::Dumper will invoke that method via the object before attempting to
-stringify it. This method can alter the contents of the object (if, for
-instance, it contains data allocated from C), and even rebless it in a
-different package. The client is responsible for making sure the specified
-method can be called via the object, and that the object ends up containing
-only perl data types after the method has been called. Defaults to an empty
-string.
-
-If an object does not support the method specified (determined using
-UNIVERSAL::can()) then the call will be skipped. If the method dies a
-warning will be generated.
-
-=item *
-
-$Data::Dumper::Toaster I<or> $I<OBJ>->Toaster(I<[NEWVAL]>)
-
-Can be set to a method name, or to an empty string to disable the feature.
-Data::Dumper will emit a method call for any objects that are to be dumped
-using the syntax C<bless(DATA, CLASS)-E<gt>METHOD()>. Note that this means that
-the method specified will have to perform any modifications required on the
-object (like creating new state within it, and/or reblessing it in a
-different package) and then return it. The client is responsible for making
-sure the method can be called via the object, and that it returns a valid
-object. Defaults to an empty string.
-
-=item *
-
-$Data::Dumper::Deepcopy I<or> $I<OBJ>->Deepcopy(I<[NEWVAL]>)
-
-Can be set to a boolean value to enable deep copies of structures.
-Cross-referencing will then only be done when absolutely essential
-(i.e., to break reference cycles). Default is 0.
-
-=item *
-
-$Data::Dumper::Quotekeys I<or> $I<OBJ>->Quotekeys(I<[NEWVAL]>)
-
-Can be set to a boolean value to control whether hash keys are quoted.
-A false value will avoid quoting hash keys when it looks like a simple
-string. Default is 1, which will always enclose hash keys in quotes.
-
-=item *
-
-$Data::Dumper::Bless I<or> $I<OBJ>->Bless(I<[NEWVAL]>)
-
-Can be set to a string that specifies an alternative to the C<bless>
-builtin operator used to create objects. A function with the specified
-name should exist, and should accept the same arguments as the builtin.
-Default is C<bless>.
-
-=item *
-
-$Data::Dumper::Pair I<or> $I<OBJ>->Pair(I<[NEWVAL]>)
-
-Can be set to a string that specifies the separator between hash keys
-and values. To dump nested hash, array and scalar values to JavaScript,
-use: C<$Data::Dumper::Pair = ' : ';>. Implementing C<bless> in JavaScript
-is left as an exercise for the reader.
-A function with the specified name exists, and accepts the same arguments
-as the builtin.
-
-Default is: C< =E<gt> >.
-
-=item *
-
-$Data::Dumper::Maxdepth I<or> $I<OBJ>->Maxdepth(I<[NEWVAL]>)
-
-Can be set to a positive integer that specifies the depth beyond which
-which we don't venture into a structure. Has no effect when
-C<Data::Dumper::Purity> is set. (Useful in debugger when we often don't
-want to see more than enough). Default is 0, which means there is
-no maximum depth.
-
-=item *
-
-$Data::Dumper::Useperl I<or> $I<OBJ>->Useperl(I<[NEWVAL]>)
-
-Can be set to a boolean value which controls whether the pure Perl
-implementation of C<Data::Dumper> is used. The C<Data::Dumper> module is
-a dual implementation, with almost all functionality written in both
-pure Perl and also in XS ('C'). Since the XS version is much faster, it
-will always be used if possible. This option lets you override the
-default behavior, usually for testing purposes only. Default is 0, which
-means the XS implementation will be used if possible.
-
-=item *
-
-$Data::Dumper::Sortkeys I<or> $I<OBJ>->Sortkeys(I<[NEWVAL]>)
-
-Can be set to a boolean value to control whether hash keys are dumped in
-sorted order. A true value will cause the keys of all hashes to be
-dumped in Perl's default sort order. Can also be set to a subroutine
-reference which will be called for each hash that is dumped. In this
-case C<Data::Dumper> will call the subroutine once for each hash,
-passing it the reference of the hash. The purpose of the subroutine is
-to return a reference to an array of the keys that will be dumped, in
-the order that they should be dumped. Using this feature, you can
-control both the order of the keys, and which keys are actually used. In
-other words, this subroutine acts as a filter by which you can exclude
-certain keys from being dumped. Default is 0, which means that hash keys
-are not sorted.
-
-=item *
-
-$Data::Dumper::Deparse I<or> $I<OBJ>->Deparse(I<[NEWVAL]>)
-
-Can be set to a boolean value to control whether code references are
-turned into perl source code. If set to a true value, C<B::Deparse>
-will be used to get the source of the code reference. Using this option
-will force using the Perl implementation of the dumper, since the fast
-XSUB implementation doesn't support it.
-
-Caution : use this option only if you know that your coderefs will be
-properly reconstructed by C<B::Deparse>.
-
-=back
-
-=head2 Exports
-
-=over 4
-
-=item Dumper
-
-=back
-
-=head1 EXAMPLES
-
-Run these code snippets to get a quick feel for the behavior of this
-module. When you are through with these examples, you may want to
-add or change the various configuration variables described above,
-to see their behavior. (See the testsuite in the Data::Dumper
-distribution for more examples.)
-
-
- use Data::Dumper;
-
- package Foo;
- sub new {bless {'a' => 1, 'b' => sub { return "foo" }}, $_[0]};
-
- package Fuz; # a weird REF-REF-SCALAR object
- sub new {bless \($_ = \ 'fu\'z'), $_[0]};
-
- package main;
- $foo = Foo->new;
- $fuz = Fuz->new;
- $boo = [ 1, [], "abcd", \*foo,
- {1 => 'a', 023 => 'b', 0x45 => 'c'},
- \\"p\q\'r", $foo, $fuz];
-
- ########
- # simple usage
- ########
-
- $bar = eval(Dumper($boo));
- print($@) if $@;
- print Dumper($boo), Dumper($bar); # pretty print (no array indices)
-
- $Data::Dumper::Terse = 1; # don't output names where feasible
- $Data::Dumper::Indent = 0; # turn off all pretty print
- print Dumper($boo), "\n";
-
- $Data::Dumper::Indent = 1; # mild pretty print
- print Dumper($boo);
-
- $Data::Dumper::Indent = 3; # pretty print with array indices
- print Dumper($boo);
-
- $Data::Dumper::Useqq = 1; # print strings in double quotes
- print Dumper($boo);
-
- $Data::Dumper::Pair = " : "; # specify hash key/value separator
- print Dumper($boo);
-
-
- ########
- # recursive structures
- ########
-
- @c = ('c');
- $c = \@c;
- $b = {};
- $a = [1, $b, $c];
- $b->{a} = $a;
- $b->{b} = $a->[1];
- $b->{c} = $a->[2];
- print Data::Dumper->Dump([$a,$b,$c], [qw(a b c)]);
-
-
- $Data::Dumper::Purity = 1; # fill in the holes for eval
- print Data::Dumper->Dump([$a, $b], [qw(*a b)]); # print as @a
- print Data::Dumper->Dump([$b, $a], [qw(*b a)]); # print as %b
-
-
- $Data::Dumper::Deepcopy = 1; # avoid cross-refs
- print Data::Dumper->Dump([$b, $a], [qw(*b a)]);
-
-
- $Data::Dumper::Purity = 0; # avoid cross-refs
- print Data::Dumper->Dump([$b, $a], [qw(*b a)]);
-
- ########
- # deep structures
- ########
-
- $a = "pearl";
- $b = [ $a ];
- $c = { 'b' => $b };
- $d = [ $c ];
- $e = { 'd' => $d };
- $f = { 'e' => $e };
- print Data::Dumper->Dump([$f], [qw(f)]);
-
- $Data::Dumper::Maxdepth = 3; # no deeper than 3 refs down
- print Data::Dumper->Dump([$f], [qw(f)]);
-
-
- ########
- # object-oriented usage
- ########
-
- $d = Data::Dumper->new([$a,$b], [qw(a b)]);
- $d->Seen({'*c' => $c}); # stash a ref without printing it
- $d->Indent(3);
- print $d->Dump;
- $d->Reset->Purity(0); # empty the seen cache
- print join "----\n", $d->Dump;
-
-
- ########
- # persistence
- ########
-
- package Foo;
- sub new { bless { state => 'awake' }, shift }
- sub Freeze {
- my $s = shift;
- print STDERR "preparing to sleep\n";
- $s->{state} = 'asleep';
- return bless $s, 'Foo::ZZZ';
- }
-
- package Foo::ZZZ;
- sub Thaw {
- my $s = shift;
- print STDERR "waking up\n";
- $s->{state} = 'awake';
- return bless $s, 'Foo';
- }
-
- package Foo;
- use Data::Dumper;
- $a = Foo->new;
- $b = Data::Dumper->new([$a], ['c']);
- $b->Freezer('Freeze');
- $b->Toaster('Thaw');
- $c = $b->Dump;
- print $c;
- $d = eval $c;
- print Data::Dumper->Dump([$d], ['d']);
-
-
- ########
- # symbol substitution (useful for recreating CODE refs)
- ########
-
- sub foo { print "foo speaking\n" }
- *other = \&foo;
- $bar = [ \&other ];
- $d = Data::Dumper->new([\&other,$bar],['*other','bar']);
- $d->Seen({ '*foo' => \&foo });
- print $d->Dump;
-
-
- ########
- # sorting and filtering hash keys
- ########
-
- $Data::Dumper::Sortkeys = \&my_filter;
- my $foo = { map { (ord, "$_$_$_") } 'I'..'Q' };
- my $bar = { %$foo };
- my $baz = { reverse %$foo };
- print Dumper [ $foo, $bar, $baz ];
-
- sub my_filter {
- my ($hash) = @_;
- # return an array ref containing the hash keys to dump
- # in the order that you want them to be dumped
- return [
- # Sort the keys of %$foo in reverse numeric order
- $hash eq $foo ? (sort {$b <=> $a} keys %$hash) :
- # Only dump the odd number keys of %$bar
- $hash eq $bar ? (grep {$_ % 2} keys %$hash) :
- # Sort keys in default order for all other hashes
- (sort keys %$hash)
- ];
- }
-
-=head1 BUGS
-
-Due to limitations of Perl subroutine call semantics, you cannot pass an
-array or hash. Prepend it with a C<\> to pass its reference instead. This
-will be remedied in time, now that Perl has subroutine prototypes.
-For now, you need to use the extended usage form, and prepend the
-name with a C<*> to output it as a hash or array.
-
-C<Data::Dumper> cheats with CODE references. If a code reference is
-encountered in the structure being processed (and if you haven't set
-the C<Deparse> flag), an anonymous subroutine that
-contains the string '"DUMMY"' will be inserted in its place, and a warning
-will be printed if C<Purity> is set. You can C<eval> the result, but bear
-in mind that the anonymous sub that gets created is just a placeholder.
-Someday, perl will have a switch to cache-on-demand the string
-representation of a compiled piece of code, I hope. If you have prior
-knowledge of all the code refs that your data structures are likely
-to have, you can use the C<Seen> method to pre-seed the internal reference
-table and make the dumped output point to them, instead. See L</EXAMPLES>
-above.
-
-The C<Useqq> and C<Deparse> flags makes Dump() run slower, since the
-XSUB implementation does not support them.
-
-SCALAR objects have the weirdest looking C<bless> workaround.
-
-Pure Perl version of C<Data::Dumper> escapes UTF-8 strings correctly
-only in Perl 5.8.0 and later.
-
-=head2 NOTE
-
-Starting from Perl 5.8.1 different runs of Perl will have different
-ordering of hash keys. The change was done for greater security,
-see L<perlsec/"Algorithmic Complexity Attacks">. This means that
-different runs of Perl will have different Data::Dumper outputs if
-the data contains hashes. If you need to have identical Data::Dumper
-outputs from different runs of Perl, use the environment variable
-PERL_HASH_SEED, see L<perlrun/PERL_HASH_SEED>. Using this restores
-the old (platform-specific) ordering: an even prettier solution might
-be to use the C<Sortkeys> filter of Data::Dumper.
-
-=head1 AUTHOR
-
-Gurusamy Sarathy gsar@activestate.com
-
-Copyright (c) 1996-98 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 VERSION
-
-Version 2.121 (Aug 24 2003)
-
-=head1 SEE ALSO
-
-perl(1)
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/DProf.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/DProf.pm
deleted file mode 100644
index 7405b78dcf7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/DProf.pm
+++ /dev/null
@@ -1,238 +0,0 @@
-use 5.006_001;
-
-=head1 NAME
-
-Devel::DProf - a Perl code profiler
-
-=head1 SYNOPSIS
-
- perl -d:DProf test.pl
-
-=head1 DESCRIPTION
-
-The Devel::DProf package is a Perl code profiler. This will collect
-information on the execution time of a Perl script and of the subs in that
-script. This information can be used to determine which subroutines are
-using the most time and which subroutines are being called most often. This
-information can also be used to create an execution graph of the script,
-showing subroutine relationships.
-
-To profile a Perl script run the perl interpreter with the B<-d> debugging
-switch. The profiler uses the debugging hooks. So to profile script
-F<test.pl> the following command should be used:
-
- perl -d:DProf test.pl
-
-When the script terminates (or when the output buffer is filled) the
-profiler will dump the profile information to a file called
-F<tmon.out>. A tool like I<dprofpp> can be used to interpret the
-information which is in that profile. The following command will
-print the top 15 subroutines which used the most time:
-
- dprofpp
-
-To print an execution graph of the subroutines in the script use the
-following command:
-
- dprofpp -T
-
-Consult L<dprofpp> for other options.
-
-=head1 PROFILE FORMAT
-
-The old profile is a text file which looks like this:
-
- #fOrTyTwO
- $hz=100;
- $XS_VERSION='DProf 19970606';
- # All values are given in HZ
- $rrun_utime=2; $rrun_stime=0; $rrun_rtime=7
- PART2
- + 26 28 566822884 DynaLoader::import
- - 26 28 566822884 DynaLoader::import
- + 27 28 566822885 main::bar
- - 27 28 566822886 main::bar
- + 27 28 566822886 main::baz
- + 27 28 566822887 main::bar
- - 27 28 566822888 main::bar
- [....]
-
-The first line is the magic number. The second line is the hertz value, or
-clock ticks, of the machine where the profile was collected. The third line
-is the name and version identifier of the tool which created the profile.
-The fourth line is a comment. The fifth line contains three variables
-holding the user time, system time, and realtime of the process while it was
-being profiled. The sixth line indicates the beginning of the sub
-entry/exit profile section.
-
-The columns in B<PART2> are:
-
- sub entry(+)/exit(-) mark
- app's user time at sub entry/exit mark, in ticks
- app's system time at sub entry/exit mark, in ticks
- app's realtime at sub entry/exit mark, in ticks
- fully-qualified sub name, when possible
-
-With newer perls another format is used, which may look like this:
-
- #fOrTyTwO
- $hz=10000;
- $XS_VERSION='DProf 19971213';
- # All values are given in HZ
- $over_utime=5917; $over_stime=0; $over_rtime=5917;
- $over_tests=10000;
- $rrun_utime=1284; $rrun_stime=0; $rrun_rtime=1284;
- $total_marks=6;
-
- PART2
- @ 406 0 406
- & 2 main bar
- + 2
- @ 456 0 456
- - 2
- @ 1 0 1
- & 3 main baz
- + 3
- @ 141 0 141
- + 2
- @ 141 0 141
- - 2
- @ 1 0 1
- & 4 main foo
- + 4
- @ 142 0 142
- + & Devel::DProf::write
- @ 5 0 5
- - & Devel::DProf::write
-
-(with high value of $ENV{PERL_DPROF_TICKS}).
-
-New C<$over_*> values show the measured overhead of making $over_tests
-calls to the profiler These values are used by the profiler to
-subtract the overhead from the runtimes.
-
-Lines starting with C<@> mark the amount of time passed since the
-previous C<@> line. The numbers following the C<@> are integer tick
-counts representing user, system, and real time. Divide these numbers
-by the $hz value in the header to get seconds.
-
-Lines starting with C<&> map subroutine identifiers (an integer) to
-subroutine packages and names. These should only occur once per
-subroutine.
-
-Lines starting with C<+> or C<-> mark normal entering and exit of
-subroutines. The number following is a reference to a subroutine
-identifier.
-
-Lines starting with C<*> mark where subroutines are entered by C<goto
-&subr>, but note that the return will still be marked as coming from
-the original sub. The sequence might look like this:
-
- + 5
- * 6
- - 5
-
-Lines starting with C</> is like C<-> but mark where subroutines are
-exited by dying. Example:
-
- + 5
- + 6
- / 6
- / 5
-
-Finally you might find C<@> time stamp marks surrounded by C<+ &
-Devel::DProf::write> and C<- & Devel::DProf::write> lines. These 3
-lines are outputted when printing of the mark above actually consumed
-measurable time.
-
-=head1 AUTOLOAD
-
-When Devel::DProf finds a call to an C<&AUTOLOAD> subroutine it looks at the
-C<$AUTOLOAD> variable to find the real name of the sub being called. See
-L<perlsub/"Autoloading">.
-
-=head1 ENVIRONMENT
-
-C<PERL_DPROF_BUFFER> sets size of output buffer in words. Defaults to 2**14.
-
-C<PERL_DPROF_TICKS> sets number of ticks per second on some systems where
-a replacement for times() is used. Defaults to the value of C<HZ> macro.
-
-C<PERL_DPROF_OUT_FILE_NAME> sets the name of the output file. If not set,
-defaults to tmon.out.
-
-=head1 BUGS
-
-Builtin functions cannot be measured by Devel::DProf.
-
-With a newer Perl DProf relies on the fact that the numeric slot of
-$DB::sub contains an address of a subroutine. Excessive manipulation
-of this variable may overwrite this slot, as in
-
- $DB::sub = 'current_sub';
- ...
- $addr = $DB::sub + 0;
-
-will set this numeric slot to numeric value of the string
-C<current_sub>, i.e., to C<0>. This will cause a segfault on the exit
-from this subroutine. Note that the first assignment above does not
-change the numeric slot (it will I<mark> it as invalid, but will not
-write over it).
-
-Another problem is that if a subroutine exits using goto(LABEL),
-last(LABEL) or next(LABEL) then perl may crash or Devel::DProf will die
-with the error:
-
- panic: Devel::DProf inconsistent subroutine return
-
-For example, this code will break under Devel::DProf:
-
- sub foo {
- last FOO;
- }
- FOO: {
- foo();
- }
-
-A pattern like this is used by Test::More's skip() function, for
-example. See L<perldiag> for more details.
-
-Mail bug reports and feature requests to the perl5-porters mailing list at
-F<E<lt>perl5-porters@perl.orgE<gt>>.
-
-=head1 SEE ALSO
-
-L<perl>, L<dprofpp>, times(2)
-
-=cut
-
-# This sub is needed for calibration.
-package Devel::DProf;
-
-sub NONESUCH_noxs {
- return $Devel::DProf::VERSION;
-}
-
-package DB;
-
-#
-# As of perl5.003_20, &DB::sub stub is not needed (some versions
-# even had problems if stub was redefined with XS version).
-#
-
-# disable DB single-stepping
-BEGIN { $single = 0; }
-
-# This sub is needed during startup.
-sub DB {
-# print "nonXS DBDB\n";
-}
-
-use XSLoader ();
-
-$Devel::DProf::VERSION = '20080331.00'; # this version not authorized by
- # Dean Roehrich. See "Changes" file.
-
-XSLoader::load 'Devel::DProf', $Devel::DProf::VERSION;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/InnerPackage.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/InnerPackage.pm
deleted file mode 100644
index 614a59a85e5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/InnerPackage.pm
+++ /dev/null
@@ -1,128 +0,0 @@
-package Devel::InnerPackage;
-
-use strict;
-use base qw(Exporter);
-use vars qw($VERSION @EXPORT_OK);
-
-$VERSION = '0.3';
-@EXPORT_OK = qw(list_packages);
-
-=pod
-
-=head1 NAME
-
-
-Devel::InnerPackage - find all the inner packages of a package
-
-=head1 SYNOPSIS
-
- use Foo::Bar;
- use Devel::InnerPackage qw(list_packages);
-
- my @inner_packages = list_packages('Foo::Bar');
-
-
-=head1 DESCRIPTION
-
-
-Given a file like this
-
-
- package Foo::Bar;
-
- sub foo {}
-
-
- package Foo::Bar::Quux;
-
- sub quux {}
-
- package Foo::Bar::Quirka;
-
- sub quirka {}
-
- 1;
-
-then
-
- list_packages('Foo::Bar');
-
-will return
-
- Foo::Bar::Quux
- Foo::Bar::Quirka
-
-=head1 METHODS
-
-=head2 list_packages <package name>
-
-Return a list of all inner packages of that package.
-
-=cut
-
-sub list_packages {
- my $pack = shift; $pack .= "::" unless $pack =~ m!::$!;
-
- no strict 'refs';
- my @packs;
- my @stuff = grep !/^(main|)::$/, keys %{$pack};
- for my $cand (grep /::$/, @stuff)
- {
- $cand =~ s!::$!!;
- my @children = list_packages($pack.$cand);
-
- push @packs, "$pack$cand" unless $cand =~ /^::/ ||
- !__PACKAGE__->_loaded($pack.$cand); # or @children;
- push @packs, @children;
- }
- return grep {$_ !~ /::(::ISA::CACHE|SUPER)/} @packs;
-}
-
-### XXX this is an inlining of the Class-Inspector->loaded()
-### method, but inlined to remove the dependency.
-sub _loaded {
- my ($class, $name) = @_;
-
- no strict 'refs';
-
- # Handle by far the two most common cases
- # This is very fast and handles 99% of cases.
- return 1 if defined ${"${name}::VERSION"};
- return 1 if defined @{"${name}::ISA"};
-
- # Are there any symbol table entries other than other namespaces
- foreach ( keys %{"${name}::"} ) {
- next if substr($_, -2, 2) eq '::';
- return 1 if defined &{"${name}::$_"};
- }
-
- # No functions, and it doesn't have a version, and isn't anything.
- # As an absolute last resort, check for an entry in %INC
- my $filename = join( '/', split /(?:'|::)/, $name ) . '.pm';
- return 1 if defined $INC{$filename};
-
- '';
-}
-
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2005 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=cut
-
-
-
-
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/PPPort.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/PPPort.pm
deleted file mode 100644
index 630ba0eaa90..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/PPPort.pm
+++ /dev/null
@@ -1,7580 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! -- Edit PPPort_pm.PL instead. !!!!!
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by PPPort_pm.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-#
-# Perl/Pollution/Portability
-#
-################################################################################
-#
-# $Revision: 59 $
-# $Author: mhx $
-# $Date: 2008/01/04 10:47:38 +0100 $
-#
-################################################################################
-#
-# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
-# Version 2.x, Copyright (C) 2001, Paul Marquess.
-# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-################################################################################
-
-=head1 NAME
-
-Devel::PPPort - Perl/Pollution/Portability
-
-=head1 SYNOPSIS
-
- Devel::PPPort::WriteFile(); # defaults to ./ppport.h
- Devel::PPPort::WriteFile('someheader.h');
-
-=head1 DESCRIPTION
-
-Perl's API has changed over time, gaining new features, new functions,
-increasing its flexibility, and reducing the impact on the C namespace
-environment (reduced pollution). The header file written by this module,
-typically F<ppport.h>, attempts to bring some of the newer Perl API
-features to older versions of Perl, so that you can worry less about
-keeping track of old releases, but users can still reap the benefit.
-
-C<Devel::PPPort> contains a single function, called C<WriteFile>. Its
-only purpose is to write the F<ppport.h> C header file. This file
-contains a series of macros and, if explicitly requested, functions that
-allow XS modules to be built using older versions of Perl. Currently,
-Perl versions from 5.003 to 5.10.0 are supported.
-
-This module is used by C<h2xs> to write the file F<ppport.h>.
-
-=head2 Why use ppport.h?
-
-You should use F<ppport.h> in modern code so that your code will work
-with the widest range of Perl interpreters possible, without significant
-additional work.
-
-You should attempt older code to fully use F<ppport.h>, because the
-reduced pollution of newer Perl versions is an important thing. It's so
-important that the old polluting ways of original Perl modules will not be
-supported very far into the future, and your module will almost certainly
-break! By adapting to it now, you'll gain compatibility and a sense of
-having done the electronic ecology some good.
-
-=head2 How to use ppport.h
-
-Don't direct the users of your module to download C<Devel::PPPort>.
-They are most probably no XS writers. Also, don't make F<ppport.h>
-optional. Rather, just take the most recent copy of F<ppport.h> that
-you can find (e.g. by generating it with the latest C<Devel::PPPort>
-release from CPAN), copy it into your project, adjust your project to
-use it, and distribute the header along with your module.
-
-=head2 Running ppport.h
-
-But F<ppport.h> is more than just a C header. It's also a Perl script
-that can check your source code. It will suggest hints and portability
-notes, and can even make suggestions on how to change your code. You
-can run it like any other Perl program:
-
- perl ppport.h [options] [files]
-
-It also has embedded documentation, so you can use
-
- perldoc ppport.h
-
-to find out more about how to use it.
-
-=head1 FUNCTIONS
-
-=head2 WriteFile
-
-C<WriteFile> takes one optional argument. When called with one
-argument, it expects to be passed a filename. When called with
-no arguments, it defaults to the filename F<ppport.h>.
-
-The function returns a true value if the file was written successfully.
-Otherwise it returns a false value.
-
-=head1 COMPATIBILITY
-
-F<ppport.h> supports Perl versions from 5.003 to 5.10.0
-in threaded and non-threaded configurations.
-
-=head2 Provided Perl compatibility API
-
-The header file written by this module, typically F<ppport.h>, provides
-access to the following elements of the Perl API that is not available
-in older Perl releases:
-
- _aMY_CXT
- _pMY_CXT
- aMY_CXT
- aMY_CXT_
- aTHX
- aTHX_
- aTHXR
- aTHXR_
- AvFILLp
- boolSV
- call_argv
- call_method
- call_pv
- call_sv
- ckWARN
- CopFILE
- CopFILE_set
- CopFILEAV
- CopFILEGV
- CopFILEGV_set
- CopFILESV
- CopSTASH
- CopSTASH_eq
- CopSTASH_set
- CopSTASHPV
- CopSTASHPV_set
- CopyD
- dAX
- dAXMARK
- DEFSV
- dITEMS
- dMY_CXT
- dMY_CXT_SV
- dNOOP
- dTHR
- dTHX
- dTHXa
- dTHXoa
- dTHXR
- dUNDERBAR
- dVAR
- dXCPT
- dXSTARG
- END_EXTERN_C
- ERRSV
- eval_pv
- eval_sv
- EXTERN_C
- get_av
- get_cv
- get_hv
- get_sv
- grok_bin
- grok_hex
- grok_number
- GROK_NUMERIC_RADIX
- grok_numeric_radix
- grok_oct
- gv_stashpvn
- hv_fetchs
- hv_stores
- IN_LOCALE
- IN_LOCALE_COMPILETIME
- IN_LOCALE_RUNTIME
- IN_PERL_COMPILETIME
- INT2PTR
- IS_NUMBER_GREATER_THAN_UV_MAX
- IS_NUMBER_IN_UV
- IS_NUMBER_INFINITY
- IS_NUMBER_NAN
- IS_NUMBER_NEG
- IS_NUMBER_NOT_INT
- IVdf
- IVSIZE
- IVTYPE
- load_module
- memEQ
- memNE
- MoveD
- mPUSHi
- mPUSHn
- mPUSHp
- mPUSHs
- mPUSHu
- mXPUSHi
- mXPUSHn
- mXPUSHp
- mXPUSHs
- mXPUSHu
- MY_CXT
- MY_CXT_CLONE
- MY_CXT_INIT
- my_snprintf
- my_strlcat
- my_strlcpy
- newCONSTSUB
- newRV_inc
- newRV_noinc
- newSVpvn
- newSVpvn_flags
- newSVpvn_share
- newSVpvn_utf8
- newSVpvs
- newSVpvs_flags
- newSVuv
- Newx
- Newxc
- Newxz
- NOOP
- NUM2PTR
- NVef
- NVff
- NVgf
- NVTYPE
- packWARN
- PERL_ABS
- PERL_BCDVERSION
- PERL_GCC_BRACE_GROUPS_FORBIDDEN
- PERL_HASH
- PERL_INT_MAX
- PERL_INT_MIN
- PERL_LONG_MAX
- PERL_LONG_MIN
- PERL_MAGIC_arylen
- PERL_MAGIC_backref
- PERL_MAGIC_bm
- PERL_MAGIC_collxfrm
- PERL_MAGIC_dbfile
- PERL_MAGIC_dbline
- PERL_MAGIC_defelem
- PERL_MAGIC_env
- PERL_MAGIC_envelem
- PERL_MAGIC_ext
- PERL_MAGIC_fm
- PERL_MAGIC_glob
- PERL_MAGIC_isa
- PERL_MAGIC_isaelem
- PERL_MAGIC_mutex
- PERL_MAGIC_nkeys
- PERL_MAGIC_overload
- PERL_MAGIC_overload_elem
- PERL_MAGIC_overload_table
- PERL_MAGIC_pos
- PERL_MAGIC_qr
- PERL_MAGIC_regdata
- PERL_MAGIC_regdatum
- PERL_MAGIC_regex_global
- PERL_MAGIC_shared
- PERL_MAGIC_shared_scalar
- PERL_MAGIC_sig
- PERL_MAGIC_sigelem
- PERL_MAGIC_substr
- PERL_MAGIC_sv
- PERL_MAGIC_taint
- PERL_MAGIC_tied
- PERL_MAGIC_tiedelem
- PERL_MAGIC_tiedscalar
- PERL_MAGIC_utf8
- PERL_MAGIC_uvar
- PERL_MAGIC_uvar_elem
- PERL_MAGIC_vec
- PERL_MAGIC_vstring
- PERL_QUAD_MAX
- PERL_QUAD_MIN
- PERL_REVISION
- PERL_SCAN_ALLOW_UNDERSCORES
- PERL_SCAN_DISALLOW_PREFIX
- PERL_SCAN_GREATER_THAN_UV_MAX
- PERL_SCAN_SILENT_ILLDIGIT
- PERL_SHORT_MAX
- PERL_SHORT_MIN
- PERL_SIGNALS_UNSAFE_FLAG
- PERL_SUBVERSION
- PERL_UCHAR_MAX
- PERL_UCHAR_MIN
- PERL_UINT_MAX
- PERL_UINT_MIN
- PERL_ULONG_MAX
- PERL_ULONG_MIN
- PERL_UNUSED_ARG
- PERL_UNUSED_CONTEXT
- PERL_UNUSED_DECL
- PERL_UNUSED_VAR
- PERL_UQUAD_MAX
- PERL_UQUAD_MIN
- PERL_USE_GCC_BRACE_GROUPS
- PERL_USHORT_MAX
- PERL_USHORT_MIN
- PERL_VERSION
- Perl_warner
- Perl_warner_nocontext
- PL_compiling
- PL_copline
- PL_curcop
- PL_curstash
- PL_DBsignal
- PL_DBsingle
- PL_DBsub
- PL_DBtrace
- PL_debstash
- PL_defgv
- PL_diehook
- PL_dirty
- PL_dowarn
- PL_errgv
- PL_expect
- PL_hexdigit
- PL_hints
- PL_laststatval
- PL_na
- PL_no_modify
- PL_perl_destruct_level
- PL_perldb
- PL_ppaddr
- PL_rsfp
- PL_rsfp_filters
- PL_signals
- PL_stack_base
- PL_stack_sp
- PL_statcache
- PL_stdingv
- PL_Sv
- PL_sv_arenaroot
- PL_sv_no
- PL_sv_undef
- PL_sv_yes
- PL_tainted
- PL_tainting
- pMY_CXT
- pMY_CXT_
- Poison
- PoisonFree
- PoisonNew
- PoisonWith
- pTHX
- pTHX_
- PTR2IV
- PTR2NV
- PTR2ul
- PTR2UV
- PTRV
- PUSHmortal
- PUSHu
- SAVE_DEFSV
- START_EXTERN_C
- START_MY_CXT
- STMT_END
- STMT_START
- STR_WITH_LEN
- sv_2pv_flags
- sv_2pv_nolen
- sv_2pvbyte
- sv_2pvbyte_nolen
- sv_2uv
- sv_catpv_mg
- sv_catpvf_mg
- sv_catpvf_mg_nocontext
- sv_catpvn_mg
- sv_catpvn_nomg
- sv_catpvs
- sv_catsv_mg
- sv_catsv_nomg
- SV_CONST_RETURN
- SV_COW_DROP_PV
- SV_COW_SHARED_HASH_KEYS
- SV_GMAGIC
- SV_HAS_TRAILING_NUL
- SV_IMMEDIATE_UNREF
- sv_magic_portable
- SV_MUTABLE_RETURN
- SV_NOSTEAL
- sv_pvn_force_flags
- sv_pvn_nomg
- sv_setiv_mg
- sv_setnv_mg
- sv_setpv_mg
- sv_setpvf_mg
- sv_setpvf_mg_nocontext
- sv_setpvn_mg
- sv_setpvs
- sv_setsv_mg
- sv_setsv_nomg
- sv_setuv
- sv_setuv_mg
- SV_SMAGIC
- sv_usepvn_mg
- SV_UTF8_NO_ENCODING
- sv_uv
- sv_vcatpvf
- sv_vcatpvf_mg
- sv_vsetpvf
- sv_vsetpvf_mg
- SVf
- SVf_UTF8
- SvGETMAGIC
- SvIV_nomg
- SvMAGIC_set
- SvPV_const
- SvPV_flags
- SvPV_flags_const
- SvPV_flags_const_nolen
- SvPV_flags_mutable
- SvPV_force
- SvPV_force_flags
- SvPV_force_flags_mutable
- SvPV_force_flags_nolen
- SvPV_force_mutable
- SvPV_force_nolen
- SvPV_force_nomg
- SvPV_force_nomg_nolen
- SvPV_mutable
- SvPV_nolen
- SvPV_nolen_const
- SvPV_nomg
- SvPV_nomg_const
- SvPV_nomg_const_nolen
- SvPVbyte
- SvPVX_const
- SvPVX_mutable
- SvREFCNT_inc
- SvREFCNT_inc_NN
- SvREFCNT_inc_simple
- SvREFCNT_inc_simple_NN
- SvREFCNT_inc_simple_void
- SvREFCNT_inc_simple_void_NN
- SvREFCNT_inc_void
- SvREFCNT_inc_void_NN
- SvRV_set
- SvSHARED_HASH
- SvSTASH_set
- SvUOK
- SvUV
- SvUV_nomg
- SvUV_set
- SvUVX
- SvUVx
- SvUVXx
- SvVSTRING_mg
- UNDERBAR
- UTF8_MAXBYTES
- UVof
- UVSIZE
- UVTYPE
- UVuf
- UVXf
- UVxf
- vload_module
- vnewSVpvf
- WARN_ALL
- WARN_AMBIGUOUS
- WARN_ASSERTIONS
- WARN_BAREWORD
- WARN_CLOSED
- WARN_CLOSURE
- WARN_DEBUGGING
- WARN_DEPRECATED
- WARN_DIGIT
- WARN_EXEC
- WARN_EXITING
- WARN_GLOB
- WARN_INPLACE
- WARN_INTERNAL
- WARN_IO
- WARN_LAYER
- WARN_MALLOC
- WARN_MISC
- WARN_NEWLINE
- WARN_NUMERIC
- WARN_ONCE
- WARN_OVERFLOW
- WARN_PACK
- WARN_PARENTHESIS
- WARN_PIPE
- WARN_PORTABLE
- WARN_PRECEDENCE
- WARN_PRINTF
- WARN_PROTOTYPE
- WARN_QW
- WARN_RECURSION
- WARN_REDEFINE
- WARN_REGEXP
- WARN_RESERVED
- WARN_SEMICOLON
- WARN_SEVERE
- WARN_SIGNAL
- WARN_SUBSTR
- WARN_SYNTAX
- WARN_TAINT
- WARN_THREADS
- WARN_UNINITIALIZED
- WARN_UNOPENED
- WARN_UNPACK
- WARN_UNTIE
- WARN_UTF8
- WARN_VOID
- warner
- XCPT_CATCH
- XCPT_RETHROW
- XCPT_TRY_END
- XCPT_TRY_START
- XPUSHmortal
- XPUSHu
- XSprePUSH
- XSRETURN
- XSRETURN_UV
- XST_mUV
- ZeroD
-
-=head2 Perl API not supported by ppport.h
-
-There is still a big part of the API not supported by F<ppport.h>.
-Either because it doesn't make sense to back-port that part of the API,
-or simply because it hasn't been implemented yet. Patches welcome!
-
-Here's a list of the currently unsupported API, and also the version of
-Perl below which it is unsupported:
-
-=over 4
-
-=item perl 5.11.0
-
- HeUTF8
- MULTICALL
- POP_MULTICALL
- PUSH_MULTICALL
- av_iter_p
- hv_assert
- pad_sv
- pregfree2
- ref
- stashpv_hvname_match
-
-=item perl 5.10.0
-
- hv_common
- hv_common_key_len
- sv_destroyable
- sys_init
- sys_init3
- sys_term
-
-=item perl 5.9.5
-
- Perl_signbit
- SvRX
- SvRXOK
- av_create_and_push
- av_create_and_unshift_one
- get_cvn_flags
- gv_fetchfile_flags
- mro_get_linear_isa
- mro_method_changed_in
- my_dirfd
- newSV_type
- pregcomp
- ptr_table_clear
- ptr_table_fetch
- ptr_table_free
- ptr_table_new
- ptr_table_split
- ptr_table_store
- re_compile
- re_intuit_start
- reg_named_buff_all
- reg_named_buff_exists
- reg_named_buff_fetch
- reg_named_buff_firstkey
- reg_named_buff_nextkey
- reg_named_buff_scalar
- reg_stringify
- regfree_internal
- savesharedpvn
- scan_vstring
- upg_version
-
-=item perl 5.9.4
-
- PerlIO_context_layers
- gv_name_set
- my_vsnprintf
- newXS_flags
- pv_escape
- pv_pretty
- regclass_swash
- sv_does
- sv_usepvn_flags
-
-=item perl 5.9.3
-
- av_arylen_p
- ckwarn
- ckwarn_d
- csighandler
- dMULTICALL
- doref
- gv_const_sv
- gv_stashpvs
- hv_eiter_p
- hv_eiter_set
- hv_name_set
- hv_placeholders_get
- hv_placeholders_p
- hv_placeholders_set
- hv_riter_p
- hv_riter_set
- is_utf8_string_loclen
- my_sprintf
- newGIVENOP
- newSVhek
- newSVpvs_share
- newWHENOP
- newWHILEOP
- savepvs
- sortsv_flags
- vverify
-
-=item perl 5.9.2
-
- SvPVbyte_force
- find_rundefsvoffset
- gv_fetchpvn_flags
- gv_fetchsv
- op_refcnt_lock
- op_refcnt_unlock
- savesvpv
- vnormal
-
-=item perl 5.9.1
-
- hv_clear_placeholders
- hv_scalar
- scan_version
- sv_2iv_flags
- sv_2uv_flags
-
-=item perl 5.9.0
-
- new_version
- save_set_svflags
- vcmp
- vnumify
- vstringify
-
-=item perl 5.8.3
-
- SvIsCOW
- SvIsCOW_shared_hash
-
-=item perl 5.8.1
-
- SvVOK
- doing_taint
- find_runcv
- is_utf8_string_loc
- packlist
- save_bool
- savestack_grow_cnt
- seed
- sv_cat_decode
- sv_compile_2op
- sv_setpviv
- sv_setpviv_mg
- unpackstring
-
-=item perl 5.8.0
-
- hv_iternext_flags
- hv_store_flags
- is_utf8_idcont
- nothreadhook
-
-=item perl 5.7.3
-
- PerlIO_clearerr
- PerlIO_close
- PerlIO_eof
- PerlIO_error
- PerlIO_fileno
- PerlIO_fill
- PerlIO_flush
- PerlIO_get_base
- PerlIO_get_bufsiz
- PerlIO_get_cnt
- PerlIO_get_ptr
- PerlIO_read
- PerlIO_seek
- PerlIO_set_cnt
- PerlIO_set_ptrcnt
- PerlIO_setlinebuf
- PerlIO_stderr
- PerlIO_stdin
- PerlIO_stdout
- PerlIO_tell
- PerlIO_unread
- PerlIO_write
- SvLOCK
- SvSHARE
- SvUNLOCK
- atfork_lock
- atfork_unlock
- custom_op_desc
- custom_op_name
- deb
- debstack
- debstackptrs
- gv_fetchmeth_autoload
- ibcmp_utf8
- my_fork
- my_socketpair
- pack_cat
- perl_destruct
- pv_uni_display
- save_shared_pvref
- savesharedpv
- sortsv
- sv_copypv
- sv_magicext
- sv_nolocking
- sv_nosharing
- sv_recode_to_utf8
- sv_uni_display
- to_uni_fold
- to_uni_lower
- to_uni_title
- to_uni_upper
- to_utf8_case
- to_utf8_fold
- to_utf8_lower
- to_utf8_title
- to_utf8_upper
- unpack_str
- uvchr_to_utf8_flags
- uvuni_to_utf8_flags
- vdeb
-
-=item perl 5.7.2
-
- calloc
- getcwd_sv
- init_tm
- malloc
- mfree
- mini_mktime
- my_atof2
- my_strftime
- op_null
- realloc
- sv_catpvn_flags
- sv_catsv_flags
- sv_setsv_flags
- sv_utf8_upgrade_flags
- swash_fetch
-
-=item perl 5.7.1
-
- POPpbytex
- bytes_from_utf8
- despatch_signals
- do_openn
- gv_handler
- is_lvalue_sub
- my_popen_list
- save_mortalizesv
- save_padsv
- scan_num
- sv_force_normal_flags
- sv_setref_uv
- sv_unref_flags
- sv_utf8_upgrade
- utf8_length
- utf8_to_uvchr
- utf8_to_uvuni
- utf8n_to_uvuni
- uvuni_to_utf8
-
-=item perl 5.6.1
-
- SvGAMAGIC
- apply_attrs_string
- bytes_to_utf8
- gv_efullname4
- gv_fullname4
- is_utf8_string
- save_generic_pvref
- utf16_to_utf8
- utf16_to_utf8_reversed
- utf8_to_bytes
-
-=item perl 5.6.0
-
- SvIOK_UV
- SvIOK_notUV
- SvIOK_only_UV
- SvPOK_only_UTF8
- SvPVbyte_nolen
- SvPVbytex
- SvPVbytex_force
- SvPVutf8
- SvPVutf8_force
- SvPVutf8_nolen
- SvPVutf8x
- SvPVutf8x_force
- SvUOK
- SvUTF8
- SvUTF8_off
- SvUTF8_on
- av_delete
- av_exists
- call_atexit
- cast_i32
- cast_iv
- cast_ulong
- cast_uv
- do_gv_dump
- do_gvgv_dump
- do_hv_dump
- do_magic_dump
- do_op_dump
- do_open9
- do_pmop_dump
- do_sv_dump
- dump_all
- dump_eval
- dump_form
- dump_indent
- dump_packsubs
- dump_sub
- dump_vindent
- get_context
- get_ppaddr
- gv_dump
- init_i18nl10n
- init_i18nl14n
- is_uni_alnum
- is_uni_alnum_lc
- is_uni_alnumc
- is_uni_alnumc_lc
- is_uni_alpha
- is_uni_alpha_lc
- is_uni_ascii
- is_uni_ascii_lc
- is_uni_cntrl
- is_uni_cntrl_lc
- is_uni_digit
- is_uni_digit_lc
- is_uni_graph
- is_uni_graph_lc
- is_uni_idfirst
- is_uni_idfirst_lc
- is_uni_lower
- is_uni_lower_lc
- is_uni_print
- is_uni_print_lc
- is_uni_punct
- is_uni_punct_lc
- is_uni_space
- is_uni_space_lc
- is_uni_upper
- is_uni_upper_lc
- is_uni_xdigit
- is_uni_xdigit_lc
- is_utf8_alnum
- is_utf8_alnumc
- is_utf8_alpha
- is_utf8_ascii
- is_utf8_char
- is_utf8_cntrl
- is_utf8_digit
- is_utf8_graph
- is_utf8_idfirst
- is_utf8_lower
- is_utf8_mark
- is_utf8_print
- is_utf8_punct
- is_utf8_space
- is_utf8_upper
- is_utf8_xdigit
- magic_dump
- mess
- my_atof
- my_fflush_all
- newANONATTRSUB
- newATTRSUB
- newXS
- newXSproto
- new_collate
- new_ctype
- new_numeric
- op_dump
- perl_parse
- pmop_dump
- pv_display
- re_intuit_string
- reginitcolors
- require_pv
- safesyscalloc
- safesysfree
- safesysmalloc
- safesysrealloc
- save_I8
- save_alloc
- save_destructor
- save_destructor_x
- save_re_context
- save_vptr
- scan_bin
- set_context
- set_numeric_local
- set_numeric_radix
- set_numeric_standard
- str_to_version
- sv_2pvutf8
- sv_2pvutf8_nolen
- sv_force_normal
- sv_len_utf8
- sv_pos_b2u
- sv_pos_u2b
- sv_pv
- sv_pvbyte
- sv_pvbyten
- sv_pvbyten_force
- sv_pvutf8
- sv_pvutf8n
- sv_pvutf8n_force
- sv_rvweaken
- sv_utf8_decode
- sv_utf8_downgrade
- sv_utf8_encode
- swash_init
- tmps_grow
- to_uni_lower_lc
- to_uni_title_lc
- to_uni_upper_lc
- utf8_distance
- utf8_hop
- vcroak
- vform
- vmess
- vwarn
- vwarner
-
-=item perl 5.005_03
-
- POPpx
- get_vtbl
- save_generic_svref
-
-=item perl 5.005
-
- PL_modglobal
- cx_dump
- debop
- debprofdump
- fbm_compile
- fbm_instr
- get_op_descs
- get_op_names
- init_stacks
- mg_length
- mg_size
- newHVhv
- new_stackinfo
- regdump
- regexec_flags
- regnext
- runops_debug
- runops_standard
- save_iv
- screaminstr
- sv_iv
- sv_nv
- sv_peek
- sv_pvn
- sv_pvn_nomg
- sv_true
-
-=item perl 5.004_05
-
- do_binmode
- save_aelem
- save_helem
-
-=item perl 5.004
-
- GIMME_V
- G_VOID
- HEf_SVKEY
- HeHASH
- HeKEY
- HeKLEN
- HePV
- HeSVKEY
- HeSVKEY_force
- HeSVKEY_set
- HeVAL
- SvSetMagicSV
- SvSetMagicSV_nosteal
- SvSetSV_nosteal
- SvTAINTED
- SvTAINTED_off
- SvTAINTED_on
- block_gimme
- call_list
- cv_const_sv
- delimcpy
- do_open
- form
- gv_autoload4
- gv_efullname3
- gv_fetchmethod_autoload
- gv_fullname3
- hv_delayfree_ent
- hv_delete_ent
- hv_exists_ent
- hv_fetch_ent
- hv_free_ent
- hv_iterkeysv
- hv_ksplit
- hv_store_ent
- ibcmp_locale
- my_failure_exit
- my_memcmp
- my_pclose
- my_popen
- newSVpvf
- rsignal
- rsignal_state
- save_I16
- save_gp
- share_hek
- start_subparse
- sv_catpvf
- sv_catpvf_mg
- sv_cmp_locale
- sv_derived_from
- sv_gets
- sv_magic_portable
- sv_setpvf
- sv_setpvf_mg
- sv_taint
- sv_tainted
- sv_untaint
- sv_vcatpvf
- sv_vcatpvf_mg
- sv_vcatpvfn
- sv_vsetpvf
- sv_vsetpvf_mg
- sv_vsetpvfn
- unsharepvn
- vnewSVpvf
- warner
-
-=back
-
-=head1 BUGS
-
-If you find any bugs, C<Devel::PPPort> doesn't seem to build on your
-system or any of its tests fail, please use the CPAN Request Tracker
-at L<http://rt.cpan.org/> to create a ticket for the module.
-
-=head1 AUTHORS
-
-=over 2
-
-=item *
-
-Version 1.x of Devel::PPPort was written by Kenneth Albanowski.
-
-=item *
-
-Version 2.x was ported to the Perl core by Paul Marquess.
-
-=item *
-
-Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
-
-=back
-
-=head1 COPYRIGHT
-
-Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
-
-Version 2.x, Copyright (C) 2001, Paul Marquess.
-
-Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
-
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-See L<h2xs>, L<ppport.h>.
-
-=cut
-
-package Devel::PPPort;
-
-use strict;
-use vars qw($VERSION $data);
-
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.14 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
-
-sub _init_data
-{
- $data = do { local $/; <DATA> };
- my $pkg = 'Devel::PPPort';
- $data =~ s/__PERL_VERSION__/$]/g;
- $data =~ s/__VERSION__/$VERSION/g;
- $data =~ s/__PKG__/$pkg/g;
- $data =~ s/^\|>//gm;
-}
-
-sub WriteFile
-{
- my $file = shift || 'ppport.h';
- defined $data or _init_data();
- my $copy = $data;
- $copy =~ s/\bppport\.h\b/$file/g;
-
- open F, ">$file" or return undef;
- print F $copy;
- close F;
-
- return 1;
-}
-
-1;
-
-__DATA__
-#if 0
-<<'SKIP';
-#endif
-/*
-----------------------------------------------------------------------
-
- ppport.h -- Perl/Pollution/Portability Version __VERSION__
-
- Automatically created by __PKG__ running under perl __PERL_VERSION__.
-
- Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
- includes in parts/inc/ instead.
-
- Use 'perldoc ppport.h' to view the documentation below.
-
-----------------------------------------------------------------------
-
-SKIP
-
-|>=pod
-|>
-|>=head1 NAME
-|>
-|>ppport.h - Perl/Pollution/Portability version __VERSION__
-|>
-|>=head1 SYNOPSIS
-|>
-|> perl ppport.h [options] [source files]
-|>
-|> Searches current directory for files if no [source files] are given
-|>
-|> --help show short help
-|>
-|> --version show version
-|>
-|> --patch=file write one patch file with changes
-|> --copy=suffix write changed copies with suffix
-|> --diff=program use diff program and options
-|>
-|> --compat-version=version provide compatibility with Perl version
-|> --cplusplus accept C++ comments
-|>
-|> --quiet don't output anything except fatal errors
-|> --nodiag don't show diagnostics
-|> --nohints don't show hints
-|> --nochanges don't suggest changes
-|> --nofilter don't filter input files
-|>
-|> --strip strip all script and doc functionality from
-|> ppport.h
-|>
-|> --list-provided list provided API
-|> --list-unsupported list unsupported API
-|> --api-info=name show Perl API portability information
-|>
-|>=head1 COMPATIBILITY
-|>
-|>This version of F<ppport.h> is designed to support operation with Perl
-|>installations back to 5.003, and has been tested up to 5.10.0.
-|>
-|>=head1 OPTIONS
-|>
-|>=head2 --help
-|>
-|>Display a brief usage summary.
-|>
-|>=head2 --version
-|>
-|>Display the version of F<ppport.h>.
-|>
-|>=head2 --patch=I<file>
-|>
-|>If this option is given, a single patch file will be created if
-|>any changes are suggested. This requires a working diff program
-|>to be installed on your system.
-|>
-|>=head2 --copy=I<suffix>
-|>
-|>If this option is given, a copy of each file will be saved with
-|>the given suffix that contains the suggested changes. This does
-|>not require any external programs. Note that this does not
-|>automagially add a dot between the original filename and the
-|>suffix. If you want the dot, you have to include it in the option
-|>argument.
-|>
-|>If neither C<--patch> or C<--copy> are given, the default is to
-|>simply print the diffs for each file. This requires either
-|>C<Text::Diff> or a C<diff> program to be installed.
-|>
-|>=head2 --diff=I<program>
-|>
-|>Manually set the diff program and options to use. The default
-|>is to use C<Text::Diff>, when installed, and output unified
-|>context diffs.
-|>
-|>=head2 --compat-version=I<version>
-|>
-|>Tell F<ppport.h> to check for compatibility with the given
-|>Perl version. The default is to check for compatibility with Perl
-|>version 5.003. You can use this option to reduce the output
-|>of F<ppport.h> if you intend to be backward compatible only
-|>down to a certain Perl version.
-|>
-|>=head2 --cplusplus
-|>
-|>Usually, F<ppport.h> will detect C++ style comments and
-|>replace them with C style comments for portability reasons.
-|>Using this option instructs F<ppport.h> to leave C++
-|>comments untouched.
-|>
-|>=head2 --quiet
-|>
-|>Be quiet. Don't print anything except fatal errors.
-|>
-|>=head2 --nodiag
-|>
-|>Don't output any diagnostic messages. Only portability
-|>alerts will be printed.
-|>
-|>=head2 --nohints
-|>
-|>Don't output any hints. Hints often contain useful portability
-|>notes. Warnings will still be displayed.
-|>
-|>=head2 --nochanges
-|>
-|>Don't suggest any changes. Only give diagnostic output and hints
-|>unless these are also deactivated.
-|>
-|>=head2 --nofilter
-|>
-|>Don't filter the list of input files. By default, files not looking
-|>like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped.
-|>
-|>=head2 --strip
-|>
-|>Strip all script and documentation functionality from F<ppport.h>.
-|>This reduces the size of F<ppport.h> dramatically and may be useful
-|>if you want to include F<ppport.h> in smaller modules without
-|>increasing their distribution size too much.
-|>
-|>The stripped F<ppport.h> will have a C<--unstrip> option that allows
-|>you to undo the stripping, but only if an appropriate C<Devel::PPPort>
-|>module is installed.
-|>
-|>=head2 --list-provided
-|>
-|>Lists the API elements for which compatibility is provided by
-|>F<ppport.h>. Also lists if it must be explicitly requested,
-|>if it has dependencies, and if there are hints or warnings for it.
-|>
-|>=head2 --list-unsupported
-|>
-|>Lists the API elements that are known not to be supported by
-|>F<ppport.h> and below which version of Perl they probably
-|>won't be available or work.
-|>
-|>=head2 --api-info=I<name>
-|>
-|>Show portability information for API elements matching I<name>.
-|>If I<name> is surrounded by slashes, it is interpreted as a regular
-|>expression.
-|>
-|>=head1 DESCRIPTION
-|>
-|>In order for a Perl extension (XS) module to be as portable as possible
-|>across differing versions of Perl itself, certain steps need to be taken.
-|>
-|>=over 4
-|>
-|>=item *
-|>
-|>Including this header is the first major one. This alone will give you
-|>access to a large part of the Perl API that hasn't been available in
-|>earlier Perl releases. Use
-|>
-|> perl ppport.h --list-provided
-|>
-|>to see which API elements are provided by ppport.h.
-|>
-|>=item *
-|>
-|>You should avoid using deprecated parts of the API. For example, using
-|>global Perl variables without the C<PL_> prefix is deprecated. Also,
-|>some API functions used to have a C<perl_> prefix. Using this form is
-|>also deprecated. You can safely use the supported API, as F<ppport.h>
-|>will provide wrappers for older Perl versions.
-|>
-|>=item *
-|>
-|>If you use one of a few functions or variables that were not present in
-|>earlier versions of Perl, and that can't be provided using a macro, you
-|>have to explicitly request support for these functions by adding one or
-|>more C<#define>s in your source code before the inclusion of F<ppport.h>.
-|>
-|>These functions or variables will be marked C<explicit> in the list shown
-|>by C<--list-provided>.
-|>
-|>Depending on whether you module has a single or multiple files that
-|>use such functions or variables, you want either C<static> or global
-|>variants.
-|>
-|>For a C<static> function or variable (used only in a single source
-|>file), use:
-|>
-|> #define NEED_function
-|> #define NEED_variable
-|>
-|>For a global function or variable (used in multiple source files),
-|>use:
-|>
-|> #define NEED_function_GLOBAL
-|> #define NEED_variable_GLOBAL
-|>
-|>Note that you mustn't have more than one global request for the
-|>same function or variable in your project.
-|>
-|> Function / Variable Static Request Global Request
-|> -----------------------------------------------------------------------------------------
-|> PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL
-|> eval_pv() NEED_eval_pv NEED_eval_pv_GLOBAL
-|> grok_bin() NEED_grok_bin NEED_grok_bin_GLOBAL
-|> grok_hex() NEED_grok_hex NEED_grok_hex_GLOBAL
-|> grok_number() NEED_grok_number NEED_grok_number_GLOBAL
-|> grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL
-|> grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL
-|> load_module() NEED_load_module NEED_load_module_GLOBAL
-|> my_snprintf() NEED_my_snprintf NEED_my_snprintf_GLOBAL
-|> my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL
-|> my_strlcpy() NEED_my_strlcpy NEED_my_strlcpy_GLOBAL
-|> newCONSTSUB() NEED_newCONSTSUB NEED_newCONSTSUB_GLOBAL
-|> newRV_noinc() NEED_newRV_noinc NEED_newRV_noinc_GLOBAL
-|> newSVpvn_flags() NEED_newSVpvn_flags NEED_newSVpvn_flags_GLOBAL
-|> newSVpvn_share() NEED_newSVpvn_share NEED_newSVpvn_share_GLOBAL
-|> sv_2pv_flags() NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL
-|> sv_2pvbyte() NEED_sv_2pvbyte NEED_sv_2pvbyte_GLOBAL
-|> sv_catpvf_mg() NEED_sv_catpvf_mg NEED_sv_catpvf_mg_GLOBAL
-|> sv_catpvf_mg_nocontext() NEED_sv_catpvf_mg_nocontext NEED_sv_catpvf_mg_nocontext_GLOBAL
-|> sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL
-|> sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL
-|> sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL
-|> vload_module() NEED_vload_module NEED_vload_module_GLOBAL
-|> vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL
-|> warner() NEED_warner NEED_warner_GLOBAL
-|>
-|>To avoid namespace conflicts, you can change the namespace of the
-|>explicitly exported functions / variables using the C<DPPP_NAMESPACE>
-|>macro. Just C<#define> the macro before including C<ppport.h>:
-|>
-|> #define DPPP_NAMESPACE MyOwnNamespace_
-|> #include "ppport.h"
-|>
-|>The default namespace is C<DPPP_>.
-|>
-|>=back
-|>
-|>The good thing is that most of the above can be checked by running
-|>F<ppport.h> on your source code. See the next section for
-|>details.
-|>
-|>=head1 EXAMPLES
-|>
-|>To verify whether F<ppport.h> is needed for your module, whether you
-|>should make any changes to your code, and whether any special defines
-|>should be used, F<ppport.h> can be run as a Perl script to check your
-|>source code. Simply say:
-|>
-|> perl ppport.h
-|>
-|>The result will usually be a list of patches suggesting changes
-|>that should at least be acceptable, if not necessarily the most
-|>efficient solution, or a fix for all possible problems.
-|>
-|>If you know that your XS module uses features only available in
-|>newer Perl releases, if you're aware that it uses C++ comments,
-|>and if you want all suggestions as a single patch file, you could
-|>use something like this:
-|>
-|> perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
-|>
-|>If you only want your code to be scanned without any suggestions
-|>for changes, use:
-|>
-|> perl ppport.h --nochanges
-|>
-|>You can specify a different C<diff> program or options, using
-|>the C<--diff> option:
-|>
-|> perl ppport.h --diff='diff -C 10'
-|>
-|>This would output context diffs with 10 lines of context.
-|>
-|>If you want to create patched copies of your files instead, use:
-|>
-|> perl ppport.h --copy=.new
-|>
-|>To display portability information for the C<newSVpvn> function,
-|>use:
-|>
-|> perl ppport.h --api-info=newSVpvn
-|>
-|>Since the argument to C<--api-info> can be a regular expression,
-|>you can use
-|>
-|> perl ppport.h --api-info=/_nomg$/
-|>
-|>to display portability information for all C<_nomg> functions or
-|>
-|> perl ppport.h --api-info=/./
-|>
-|>to display information for all known API elements.
-|>
-|>=head1 BUGS
-|>
-|>If this version of F<ppport.h> is causing failure during
-|>the compilation of this module, please check if newer versions
-|>of either this module or C<Devel::PPPort> are available on CPAN
-|>before sending a bug report.
-|>
-|>If F<ppport.h> was generated using the latest version of
-|>C<Devel::PPPort> and is causing failure of this module, please
-|>file a bug report using the CPAN Request Tracker at L<http://rt.cpan.org/>.
-|>
-|>Please include the following information:
-|>
-|>=over 4
-|>
-|>=item 1.
-|>
-|>The complete output from running "perl -V"
-|>
-|>=item 2.
-|>
-|>This file.
-|>
-|>=item 3.
-|>
-|>The name and version of the module you were trying to build.
-|>
-|>=item 4.
-|>
-|>A full log of the build that failed.
-|>
-|>=item 5.
-|>
-|>Any other information that you think could be relevant.
-|>
-|>=back
-|>
-|>For the latest version of this code, please get the C<Devel::PPPort>
-|>module from CPAN.
-|>
-|>=head1 COPYRIGHT
-|>
-|>Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz.
-|>
-|>Version 2.x, Copyright (C) 2001, Paul Marquess.
-|>
-|>Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
-|>
-|>This program is free software; you can redistribute it and/or
-|>modify it under the same terms as Perl itself.
-|>
-|>=head1 SEE ALSO
-|>
-|>See L<Devel::PPPort>.
-|>
-|>=cut
-
-use strict;
-
-# Disable broken TRIE-optimization
-BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
-
-my $VERSION = __VERSION__;
-
-my %opt = (
- quiet => 0,
- diag => 1,
- hints => 1,
- changes => 1,
- cplusplus => 0,
- filter => 1,
- strip => 0,
- version => 0,
-);
-
-my($ppport) = $0 =~ /([\w.]+)$/;
-my $LF = '(?:\r\n|[\r\n])'; # line feed
-my $HS = "[ \t]"; # horizontal whitespace
-
-# Never use C comments in this file!
-my $ccs = '/'.'*';
-my $cce = '*'.'/';
-my $rccs = quotemeta $ccs;
-my $rcce = quotemeta $cce;
-
-eval {
- require Getopt::Long;
- Getopt::Long::GetOptions(\%opt, qw(
- help quiet diag! filter! hints! changes! cplusplus strip version
- patch=s copy=s diff=s compat-version=s
- list-provided list-unsupported api-info=s
- )) or usage();
-};
-
-if ($@ and grep /^-/, @ARGV) {
- usage() if "@ARGV" =~ /^--?h(?:elp)?$/;
- die "Getopt::Long not found. Please don't use any options.\n";
-}
-
-if ($opt{version}) {
- print "This is $0 $VERSION.\n";
- exit 0;
-}
-
-usage() if $opt{help};
-strip() if $opt{strip};
-
-if (exists $opt{'compat-version'}) {
- my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) };
- if ($@) {
- die "Invalid version number format: '$opt{'compat-version'}'\n";
- }
- die "Only Perl 5 is supported\n" if $r != 5;
- die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000;
- $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s;
-}
-else {
- $opt{'compat-version'} = 5;
-}
-
-my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
- ? ( $1 => {
- ($2 ? ( base => $2 ) : ()),
- ($3 ? ( todo => $3 ) : ()),
- (index($4, 'v') >= 0 ? ( varargs => 1 ) : ()),
- (index($4, 'p') >= 0 ? ( provided => 1 ) : ()),
- (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()),
- } )
- : die "invalid spec: $_" } qw(
-AvFILLp|5.004050||p
-AvFILL|||
-CLASS|||n
-CX_CURPAD_SAVE|||
-CX_CURPAD_SV|||
-CopFILEAV|5.006000||p
-CopFILEGV_set|5.006000||p
-CopFILEGV|5.006000||p
-CopFILESV|5.006000||p
-CopFILE_set|5.006000||p
-CopFILE|5.006000||p
-CopSTASHPV_set|5.006000||p
-CopSTASHPV|5.006000||p
-CopSTASH_eq|5.006000||p
-CopSTASH_set|5.006000||p
-CopSTASH|5.006000||p
-CopyD|5.009002||p
-Copy|||
-CvPADLIST|||
-CvSTASH|||
-CvWEAKOUTSIDE|||
-DEFSV|5.004050||p
-END_EXTERN_C|5.005000||p
-ENTER|||
-ERRSV|5.004050||p
-EXTEND|||
-EXTERN_C|5.005000||p
-F0convert|||n
-FREETMPS|||
-GIMME_V||5.004000|n
-GIMME|||n
-GROK_NUMERIC_RADIX|5.007002||p
-G_ARRAY|||
-G_DISCARD|||
-G_EVAL|||
-G_NOARGS|||
-G_SCALAR|||
-G_VOID||5.004000|
-GetVars|||
-GvSV|||
-Gv_AMupdate|||
-HEf_SVKEY||5.004000|
-HeHASH||5.004000|
-HeKEY||5.004000|
-HeKLEN||5.004000|
-HePV||5.004000|
-HeSVKEY_force||5.004000|
-HeSVKEY_set||5.004000|
-HeSVKEY||5.004000|
-HeUTF8||5.011000|
-HeVAL||5.004000|
-HvNAME|||
-INT2PTR|5.006000||p
-IN_LOCALE_COMPILETIME|5.007002||p
-IN_LOCALE_RUNTIME|5.007002||p
-IN_LOCALE|5.007002||p
-IN_PERL_COMPILETIME|5.008001||p
-IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p
-IS_NUMBER_INFINITY|5.007002||p
-IS_NUMBER_IN_UV|5.007002||p
-IS_NUMBER_NAN|5.007003||p
-IS_NUMBER_NEG|5.007002||p
-IS_NUMBER_NOT_INT|5.007002||p
-IVSIZE|5.006000||p
-IVTYPE|5.006000||p
-IVdf|5.006000||p
-LEAVE|||
-LVRET|||
-MARK|||
-MULTICALL||5.011000|
-MY_CXT_CLONE|5.009002||p
-MY_CXT_INIT|5.007003||p
-MY_CXT|5.007003||p
-MoveD|5.009002||p
-Move|||
-NOOP|5.005000||p
-NUM2PTR|5.006000||p
-NVTYPE|5.006000||p
-NVef|5.006001||p
-NVff|5.006001||p
-NVgf|5.006001||p
-Newxc|5.009003||p
-Newxz|5.009003||p
-Newx|5.009003||p
-Nullav|||
-Nullch|||
-Nullcv|||
-Nullhv|||
-Nullsv|||
-ORIGMARK|||
-PAD_BASE_SV|||
-PAD_CLONE_VARS|||
-PAD_COMPNAME_FLAGS|||
-PAD_COMPNAME_GEN_set|||
-PAD_COMPNAME_GEN|||
-PAD_COMPNAME_OURSTASH|||
-PAD_COMPNAME_PV|||
-PAD_COMPNAME_TYPE|||
-PAD_RESTORE_LOCAL|||
-PAD_SAVE_LOCAL|||
-PAD_SAVE_SETNULLPAD|||
-PAD_SETSV|||
-PAD_SET_CUR_NOSAVE|||
-PAD_SET_CUR|||
-PAD_SVl|||
-PAD_SV|||
-PERL_ABS|5.008001||p
-PERL_BCDVERSION|5.011000||p
-PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
-PERL_HASH|5.004000||p
-PERL_INT_MAX|5.004000||p
-PERL_INT_MIN|5.004000||p
-PERL_LONG_MAX|5.004000||p
-PERL_LONG_MIN|5.004000||p
-PERL_MAGIC_arylen|5.007002||p
-PERL_MAGIC_backref|5.007002||p
-PERL_MAGIC_bm|5.007002||p
-PERL_MAGIC_collxfrm|5.007002||p
-PERL_MAGIC_dbfile|5.007002||p
-PERL_MAGIC_dbline|5.007002||p
-PERL_MAGIC_defelem|5.007002||p
-PERL_MAGIC_envelem|5.007002||p
-PERL_MAGIC_env|5.007002||p
-PERL_MAGIC_ext|5.007002||p
-PERL_MAGIC_fm|5.007002||p
-PERL_MAGIC_glob|5.011000||p
-PERL_MAGIC_isaelem|5.007002||p
-PERL_MAGIC_isa|5.007002||p
-PERL_MAGIC_mutex|5.011000||p
-PERL_MAGIC_nkeys|5.007002||p
-PERL_MAGIC_overload_elem|5.007002||p
-PERL_MAGIC_overload_table|5.007002||p
-PERL_MAGIC_overload|5.007002||p
-PERL_MAGIC_pos|5.007002||p
-PERL_MAGIC_qr|5.007002||p
-PERL_MAGIC_regdata|5.007002||p
-PERL_MAGIC_regdatum|5.007002||p
-PERL_MAGIC_regex_global|5.007002||p
-PERL_MAGIC_shared_scalar|5.007003||p
-PERL_MAGIC_shared|5.007003||p
-PERL_MAGIC_sigelem|5.007002||p
-PERL_MAGIC_sig|5.007002||p
-PERL_MAGIC_substr|5.007002||p
-PERL_MAGIC_sv|5.007002||p
-PERL_MAGIC_taint|5.007002||p
-PERL_MAGIC_tiedelem|5.007002||p
-PERL_MAGIC_tiedscalar|5.007002||p
-PERL_MAGIC_tied|5.007002||p
-PERL_MAGIC_utf8|5.008001||p
-PERL_MAGIC_uvar_elem|5.007003||p
-PERL_MAGIC_uvar|5.007002||p
-PERL_MAGIC_vec|5.007002||p
-PERL_MAGIC_vstring|5.008001||p
-PERL_QUAD_MAX|5.004000||p
-PERL_QUAD_MIN|5.004000||p
-PERL_REVISION|5.006000||p
-PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p
-PERL_SCAN_DISALLOW_PREFIX|5.007003||p
-PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p
-PERL_SCAN_SILENT_ILLDIGIT|5.008001||p
-PERL_SHORT_MAX|5.004000||p
-PERL_SHORT_MIN|5.004000||p
-PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
-PERL_SUBVERSION|5.006000||p
-PERL_UCHAR_MAX|5.004000||p
-PERL_UCHAR_MIN|5.004000||p
-PERL_UINT_MAX|5.004000||p
-PERL_UINT_MIN|5.004000||p
-PERL_ULONG_MAX|5.004000||p
-PERL_ULONG_MIN|5.004000||p
-PERL_UNUSED_ARG|5.009003||p
-PERL_UNUSED_CONTEXT|5.009004||p
-PERL_UNUSED_DECL|5.007002||p
-PERL_UNUSED_VAR|5.007002||p
-PERL_UQUAD_MAX|5.004000||p
-PERL_UQUAD_MIN|5.004000||p
-PERL_USE_GCC_BRACE_GROUPS|5.009004||p
-PERL_USHORT_MAX|5.004000||p
-PERL_USHORT_MIN|5.004000||p
-PERL_VERSION|5.006000||p
-PL_DBsignal|5.005000||p
-PL_DBsingle|||pn
-PL_DBsub|||pn
-PL_DBtrace|||pn
-PL_Sv|5.005000||p
-PL_compiling|5.004050||p
-PL_copline|5.011000||p
-PL_curcop|5.004050||p
-PL_curstash|5.004050||p
-PL_debstash|5.004050||p
-PL_defgv|5.004050||p
-PL_diehook|5.004050||p
-PL_dirty|5.004050||p
-PL_dowarn|||pn
-PL_errgv|5.004050||p
-PL_expect|5.011000||p
-PL_hexdigit|5.005000||p
-PL_hints|5.005000||p
-PL_last_in_gv|||n
-PL_laststatval|5.005000||p
-PL_modglobal||5.005000|n
-PL_na|5.004050||pn
-PL_no_modify|5.006000||p
-PL_ofs_sv|||n
-PL_perl_destruct_level|5.004050||p
-PL_perldb|5.004050||p
-PL_ppaddr|5.006000||p
-PL_rsfp_filters|5.004050||p
-PL_rsfp|5.004050||p
-PL_rs|||n
-PL_signals|5.008001||p
-PL_stack_base|5.004050||p
-PL_stack_sp|5.004050||p
-PL_statcache|5.005000||p
-PL_stdingv|5.004050||p
-PL_sv_arenaroot|5.004050||p
-PL_sv_no|5.004050||pn
-PL_sv_undef|5.004050||pn
-PL_sv_yes|5.004050||pn
-PL_tainted|5.004050||p
-PL_tainting|5.004050||p
-POP_MULTICALL||5.011000|
-POPi|||n
-POPl|||n
-POPn|||n
-POPpbytex||5.007001|n
-POPpx||5.005030|n
-POPp|||n
-POPs|||n
-PTR2IV|5.006000||p
-PTR2NV|5.006000||p
-PTR2UV|5.006000||p
-PTR2ul|5.007001||p
-PTRV|5.006000||p
-PUSHMARK|||
-PUSH_MULTICALL||5.011000|
-PUSHi|||
-PUSHmortal|5.009002||p
-PUSHn|||
-PUSHp|||
-PUSHs|||
-PUSHu|5.004000||p
-PUTBACK|||
-PerlIO_clearerr||5.007003|
-PerlIO_close||5.007003|
-PerlIO_context_layers||5.009004|
-PerlIO_eof||5.007003|
-PerlIO_error||5.007003|
-PerlIO_fileno||5.007003|
-PerlIO_fill||5.007003|
-PerlIO_flush||5.007003|
-PerlIO_get_base||5.007003|
-PerlIO_get_bufsiz||5.007003|
-PerlIO_get_cnt||5.007003|
-PerlIO_get_ptr||5.007003|
-PerlIO_read||5.007003|
-PerlIO_seek||5.007003|
-PerlIO_set_cnt||5.007003|
-PerlIO_set_ptrcnt||5.007003|
-PerlIO_setlinebuf||5.007003|
-PerlIO_stderr||5.007003|
-PerlIO_stdin||5.007003|
-PerlIO_stdout||5.007003|
-PerlIO_tell||5.007003|
-PerlIO_unread||5.007003|
-PerlIO_write||5.007003|
-Perl_signbit||5.009005|n
-PoisonFree|5.009004||p
-PoisonNew|5.009004||p
-PoisonWith|5.009004||p
-Poison|5.008000||p
-RETVAL|||n
-Renewc|||
-Renew|||
-SAVECLEARSV|||
-SAVECOMPPAD|||
-SAVEPADSV|||
-SAVETMPS|||
-SAVE_DEFSV|5.004050||p
-SPAGAIN|||
-SP|||
-START_EXTERN_C|5.005000||p
-START_MY_CXT|5.007003||p
-STMT_END|||p
-STMT_START|||p
-STR_WITH_LEN|5.009003||p
-ST|||
-SV_CONST_RETURN|5.009003||p
-SV_COW_DROP_PV|5.008001||p
-SV_COW_SHARED_HASH_KEYS|5.009005||p
-SV_GMAGIC|5.007002||p
-SV_HAS_TRAILING_NUL|5.009004||p
-SV_IMMEDIATE_UNREF|5.007001||p
-SV_MUTABLE_RETURN|5.009003||p
-SV_NOSTEAL|5.009002||p
-SV_SMAGIC|5.009003||p
-SV_UTF8_NO_ENCODING|5.008001||p
-SVf_UTF8|5.006000||p
-SVf|5.006000||p
-SVt_IV|||
-SVt_NV|||
-SVt_PVAV|||
-SVt_PVCV|||
-SVt_PVHV|||
-SVt_PVMG|||
-SVt_PV|||
-Safefree|||
-Slab_Alloc|||
-Slab_Free|||
-Slab_to_rw|||
-StructCopy|||
-SvCUR_set|||
-SvCUR|||
-SvEND|||
-SvGAMAGIC||5.006001|
-SvGETMAGIC|5.004050||p
-SvGROW|||
-SvIOK_UV||5.006000|
-SvIOK_notUV||5.006000|
-SvIOK_off|||
-SvIOK_only_UV||5.006000|
-SvIOK_only|||
-SvIOK_on|||
-SvIOKp|||
-SvIOK|||
-SvIVX|||
-SvIV_nomg|5.009001||p
-SvIV_set|||
-SvIVx|||
-SvIV|||
-SvIsCOW_shared_hash||5.008003|
-SvIsCOW||5.008003|
-SvLEN_set|||
-SvLEN|||
-SvLOCK||5.007003|
-SvMAGIC_set|5.009003||p
-SvNIOK_off|||
-SvNIOKp|||
-SvNIOK|||
-SvNOK_off|||
-SvNOK_only|||
-SvNOK_on|||
-SvNOKp|||
-SvNOK|||
-SvNVX|||
-SvNV_set|||
-SvNVx|||
-SvNV|||
-SvOK|||
-SvOOK|||
-SvPOK_off|||
-SvPOK_only_UTF8||5.006000|
-SvPOK_only|||
-SvPOK_on|||
-SvPOKp|||
-SvPOK|||
-SvPVX_const|5.009003||p
-SvPVX_mutable|5.009003||p
-SvPVX|||
-SvPV_const|5.009003||p
-SvPV_flags_const_nolen|5.009003||p
-SvPV_flags_const|5.009003||p
-SvPV_flags_mutable|5.009003||p
-SvPV_flags|5.007002||p
-SvPV_force_flags_mutable|5.009003||p
-SvPV_force_flags_nolen|5.009003||p
-SvPV_force_flags|5.007002||p
-SvPV_force_mutable|5.009003||p
-SvPV_force_nolen|5.009003||p
-SvPV_force_nomg_nolen|5.009003||p
-SvPV_force_nomg|5.007002||p
-SvPV_force|||p
-SvPV_mutable|5.009003||p
-SvPV_nolen_const|5.009003||p
-SvPV_nolen|5.006000||p
-SvPV_nomg_const_nolen|5.009003||p
-SvPV_nomg_const|5.009003||p
-SvPV_nomg|5.007002||p
-SvPV_set|||
-SvPVbyte_force||5.009002|
-SvPVbyte_nolen||5.006000|
-SvPVbytex_force||5.006000|
-SvPVbytex||5.006000|
-SvPVbyte|5.006000||p
-SvPVutf8_force||5.006000|
-SvPVutf8_nolen||5.006000|
-SvPVutf8x_force||5.006000|
-SvPVutf8x||5.006000|
-SvPVutf8||5.006000|
-SvPVx|||
-SvPV|||
-SvREFCNT_dec|||
-SvREFCNT_inc_NN|5.009004||p
-SvREFCNT_inc_simple_NN|5.009004||p
-SvREFCNT_inc_simple_void_NN|5.009004||p
-SvREFCNT_inc_simple_void|5.009004||p
-SvREFCNT_inc_simple|5.009004||p
-SvREFCNT_inc_void_NN|5.009004||p
-SvREFCNT_inc_void|5.009004||p
-SvREFCNT_inc|||p
-SvREFCNT|||
-SvROK_off|||
-SvROK_on|||
-SvROK|||
-SvRV_set|5.009003||p
-SvRV|||
-SvRXOK||5.009005|
-SvRX||5.009005|
-SvSETMAGIC|||
-SvSHARED_HASH|5.009003||p
-SvSHARE||5.007003|
-SvSTASH_set|5.009003||p
-SvSTASH|||
-SvSetMagicSV_nosteal||5.004000|
-SvSetMagicSV||5.004000|
-SvSetSV_nosteal||5.004000|
-SvSetSV|||
-SvTAINTED_off||5.004000|
-SvTAINTED_on||5.004000|
-SvTAINTED||5.004000|
-SvTAINT|||
-SvTRUE|||
-SvTYPE|||
-SvUNLOCK||5.007003|
-SvUOK|5.007001|5.006000|p
-SvUPGRADE|||
-SvUTF8_off||5.006000|
-SvUTF8_on||5.006000|
-SvUTF8||5.006000|
-SvUVXx|5.004000||p
-SvUVX|5.004000||p
-SvUV_nomg|5.009001||p
-SvUV_set|5.009003||p
-SvUVx|5.004000||p
-SvUV|5.004000||p
-SvVOK||5.008001|
-SvVSTRING_mg|5.009004||p
-THIS|||n
-UNDERBAR|5.009002||p
-UTF8_MAXBYTES|5.009002||p
-UVSIZE|5.006000||p
-UVTYPE|5.006000||p
-UVXf|5.007001||p
-UVof|5.006000||p
-UVuf|5.006000||p
-UVxf|5.006000||p
-WARN_ALL|5.006000||p
-WARN_AMBIGUOUS|5.006000||p
-WARN_ASSERTIONS|5.011000||p
-WARN_BAREWORD|5.006000||p
-WARN_CLOSED|5.006000||p
-WARN_CLOSURE|5.006000||p
-WARN_DEBUGGING|5.006000||p
-WARN_DEPRECATED|5.006000||p
-WARN_DIGIT|5.006000||p
-WARN_EXEC|5.006000||p
-WARN_EXITING|5.006000||p
-WARN_GLOB|5.006000||p
-WARN_INPLACE|5.006000||p
-WARN_INTERNAL|5.006000||p
-WARN_IO|5.006000||p
-WARN_LAYER|5.008000||p
-WARN_MALLOC|5.006000||p
-WARN_MISC|5.006000||p
-WARN_NEWLINE|5.006000||p
-WARN_NUMERIC|5.006000||p
-WARN_ONCE|5.006000||p
-WARN_OVERFLOW|5.006000||p
-WARN_PACK|5.006000||p
-WARN_PARENTHESIS|5.006000||p
-WARN_PIPE|5.006000||p
-WARN_PORTABLE|5.006000||p
-WARN_PRECEDENCE|5.006000||p
-WARN_PRINTF|5.006000||p
-WARN_PROTOTYPE|5.006000||p
-WARN_QW|5.006000||p
-WARN_RECURSION|5.006000||p
-WARN_REDEFINE|5.006000||p
-WARN_REGEXP|5.006000||p
-WARN_RESERVED|5.006000||p
-WARN_SEMICOLON|5.006000||p
-WARN_SEVERE|5.006000||p
-WARN_SIGNAL|5.006000||p
-WARN_SUBSTR|5.006000||p
-WARN_SYNTAX|5.006000||p
-WARN_TAINT|5.006000||p
-WARN_THREADS|5.008000||p
-WARN_UNINITIALIZED|5.006000||p
-WARN_UNOPENED|5.006000||p
-WARN_UNPACK|5.006000||p
-WARN_UNTIE|5.006000||p
-WARN_UTF8|5.006000||p
-WARN_VOID|5.006000||p
-XCPT_CATCH|5.009002||p
-XCPT_RETHROW|5.009002||p
-XCPT_TRY_END|5.009002||p
-XCPT_TRY_START|5.009002||p
-XPUSHi|||
-XPUSHmortal|5.009002||p
-XPUSHn|||
-XPUSHp|||
-XPUSHs|||
-XPUSHu|5.004000||p
-XSRETURN_EMPTY|||
-XSRETURN_IV|||
-XSRETURN_NO|||
-XSRETURN_NV|||
-XSRETURN_PV|||
-XSRETURN_UNDEF|||
-XSRETURN_UV|5.008001||p
-XSRETURN_YES|||
-XSRETURN|||p
-XST_mIV|||
-XST_mNO|||
-XST_mNV|||
-XST_mPV|||
-XST_mUNDEF|||
-XST_mUV|5.008001||p
-XST_mYES|||
-XS_VERSION_BOOTCHECK|||
-XS_VERSION|||
-XSprePUSH|5.006000||p
-XS|||
-ZeroD|5.009002||p
-Zero|||
-_aMY_CXT|5.007003||p
-_pMY_CXT|5.007003||p
-aMY_CXT_|5.007003||p
-aMY_CXT|5.007003||p
-aTHXR_|5.011000||p
-aTHXR|5.011000||p
-aTHX_|5.006000||p
-aTHX|5.006000||p
-add_data|||n
-addmad|||
-allocmy|||
-amagic_call|||
-amagic_cmp_locale|||
-amagic_cmp|||
-amagic_i_ncmp|||
-amagic_ncmp|||
-any_dup|||
-ao|||
-append_elem|||
-append_list|||
-append_madprops|||
-apply_attrs_my|||
-apply_attrs_string||5.006001|
-apply_attrs|||
-apply|||
-atfork_lock||5.007003|n
-atfork_unlock||5.007003|n
-av_arylen_p||5.009003|
-av_clear|||
-av_create_and_push||5.009005|
-av_create_and_unshift_one||5.009005|
-av_delete||5.006000|
-av_exists||5.006000|
-av_extend|||
-av_fake|||
-av_fetch|||
-av_fill|||
-av_iter_p||5.011000|
-av_len|||
-av_make|||
-av_pop|||
-av_push|||
-av_reify|||
-av_shift|||
-av_store|||
-av_undef|||
-av_unshift|||
-ax|||n
-bad_type|||
-bind_match|||
-block_end|||
-block_gimme||5.004000|
-block_start|||
-boolSV|5.004000||p
-boot_core_PerlIO|||
-boot_core_UNIVERSAL|||
-boot_core_mro|||
-boot_core_xsutils|||
-bytes_from_utf8||5.007001|
-bytes_to_uni|||n
-bytes_to_utf8||5.006001|
-call_argv|5.006000||p
-call_atexit||5.006000|
-call_list||5.004000|
-call_method|5.006000||p
-call_pv|5.006000||p
-call_sv|5.006000||p
-calloc||5.007002|n
-cando|||
-cast_i32||5.006000|
-cast_iv||5.006000|
-cast_ulong||5.006000|
-cast_uv||5.006000|
-check_type_and_open|||
-check_uni|||
-checkcomma|||
-checkposixcc|||
-ckWARN|5.006000||p
-ck_anoncode|||
-ck_bitop|||
-ck_concat|||
-ck_defined|||
-ck_delete|||
-ck_die|||
-ck_each|||
-ck_eof|||
-ck_eval|||
-ck_exec|||
-ck_exists|||
-ck_exit|||
-ck_ftst|||
-ck_fun|||
-ck_glob|||
-ck_grep|||
-ck_index|||
-ck_join|||
-ck_lengthconst|||
-ck_lfun|||
-ck_listiob|||
-ck_match|||
-ck_method|||
-ck_null|||
-ck_open|||
-ck_readline|||
-ck_repeat|||
-ck_require|||
-ck_retarget|||
-ck_return|||
-ck_rfun|||
-ck_rvconst|||
-ck_sassign|||
-ck_select|||
-ck_shift|||
-ck_sort|||
-ck_spair|||
-ck_split|||
-ck_subr|||
-ck_substr|||
-ck_svconst|||
-ck_trunc|||
-ck_unpack|||
-ckwarn_d||5.009003|
-ckwarn||5.009003|
-cl_and|||n
-cl_anything|||n
-cl_init_zero|||n
-cl_init|||n
-cl_is_anything|||n
-cl_or|||n
-clear_placeholders|||
-closest_cop|||
-convert|||
-cop_free|||
-cr_textfilter|||
-create_eval_scope|||
-croak_nocontext|||vn
-croak|||v
-csighandler||5.009003|n
-curmad|||
-custom_op_desc||5.007003|
-custom_op_name||5.007003|
-cv_ckproto_len|||
-cv_ckproto|||
-cv_clone|||
-cv_const_sv||5.004000|
-cv_dump|||
-cv_undef|||
-cx_dump||5.005000|
-cx_dup|||
-cxinc|||
-dAXMARK|5.009003||p
-dAX|5.007002||p
-dITEMS|5.007002||p
-dMARK|||
-dMULTICALL||5.009003|
-dMY_CXT_SV|5.007003||p
-dMY_CXT|5.007003||p
-dNOOP|5.006000||p
-dORIGMARK|||
-dSP|||
-dTHR|5.004050||p
-dTHXR|5.011000||p
-dTHXa|5.006000||p
-dTHXoa|5.006000||p
-dTHX|5.006000||p
-dUNDERBAR|5.009002||p
-dVAR|5.009003||p
-dXCPT|5.009002||p
-dXSARGS|||
-dXSI32|||
-dXSTARG|5.006000||p
-deb_curcv|||
-deb_nocontext|||vn
-deb_stack_all|||
-deb_stack_n|||
-debop||5.005000|
-debprofdump||5.005000|
-debprof|||
-debstackptrs||5.007003|
-debstack||5.007003|
-debug_start_match|||
-deb||5.007003|v
-del_sv|||
-delete_eval_scope|||
-delimcpy||5.004000|
-deprecate_old|||
-deprecate|||
-despatch_signals||5.007001|
-destroy_matcher|||
-die_nocontext|||vn
-die_where|||
-die|||v
-dirp_dup|||
-div128|||
-djSP|||
-do_aexec5|||
-do_aexec|||
-do_aspawn|||
-do_binmode||5.004050|
-do_chomp|||
-do_chop|||
-do_close|||
-do_dump_pad|||
-do_eof|||
-do_exec3|||
-do_execfree|||
-do_exec|||
-do_gv_dump||5.006000|
-do_gvgv_dump||5.006000|
-do_hv_dump||5.006000|
-do_ipcctl|||
-do_ipcget|||
-do_join|||
-do_kv|||
-do_magic_dump||5.006000|
-do_msgrcv|||
-do_msgsnd|||
-do_oddball|||
-do_op_dump||5.006000|
-do_op_xmldump|||
-do_open9||5.006000|
-do_openn||5.007001|
-do_open||5.004000|
-do_pmop_dump||5.006000|
-do_pmop_xmldump|||
-do_print|||
-do_readline|||
-do_seek|||
-do_semop|||
-do_shmio|||
-do_smartmatch|||
-do_spawn_nowait|||
-do_spawn|||
-do_sprintf|||
-do_sv_dump||5.006000|
-do_sysseek|||
-do_tell|||
-do_trans_complex_utf8|||
-do_trans_complex|||
-do_trans_count_utf8|||
-do_trans_count|||
-do_trans_simple_utf8|||
-do_trans_simple|||
-do_trans|||
-do_vecget|||
-do_vecset|||
-do_vop|||
-docatch|||
-doeval|||
-dofile|||
-dofindlabel|||
-doform|||
-doing_taint||5.008001|n
-dooneliner|||
-doopen_pm|||
-doparseform|||
-dopoptoeval|||
-dopoptogiven|||
-dopoptolabel|||
-dopoptoloop|||
-dopoptosub_at|||
-dopoptowhen|||
-doref||5.009003|
-dounwind|||
-dowantarray|||
-dump_all||5.006000|
-dump_eval||5.006000|
-dump_exec_pos|||
-dump_fds|||
-dump_form||5.006000|
-dump_indent||5.006000|v
-dump_mstats|||
-dump_packsubs||5.006000|
-dump_sub||5.006000|
-dump_sv_child|||
-dump_trie_interim_list|||
-dump_trie_interim_table|||
-dump_trie|||
-dump_vindent||5.006000|
-dumpuntil|||
-dup_attrlist|||
-emulate_cop_io|||
-eval_pv|5.006000||p
-eval_sv|5.006000||p
-exec_failed|||
-expect_number|||
-fbm_compile||5.005000|
-fbm_instr||5.005000|
-fd_on_nosuid_fs|||
-feature_is_enabled|||
-filter_add|||
-filter_del|||
-filter_gets|||
-filter_read|||
-find_and_forget_pmops|||
-find_array_subscript|||
-find_beginning|||
-find_byclass|||
-find_hash_subscript|||
-find_in_my_stash|||
-find_runcv||5.008001|
-find_rundefsvoffset||5.009002|
-find_script|||
-find_uninit_var|||
-first_symbol|||n
-fold_constants|||
-forbid_setid|||
-force_ident|||
-force_list|||
-force_next|||
-force_version|||
-force_word|||
-forget_pmop|||
-form_nocontext|||vn
-form||5.004000|v
-fp_dup|||
-fprintf_nocontext|||vn
-free_global_struct|||
-free_tied_hv_pool|||
-free_tmps|||
-gen_constant_list|||
-get_arena|||
-get_aux_mg|||
-get_av|5.006000||p
-get_context||5.006000|n
-get_cvn_flags||5.009005|
-get_cv|5.006000||p
-get_db_sub|||
-get_debug_opts|||
-get_hash_seed|||
-get_hv|5.006000||p
-get_mstats|||
-get_no_modify|||
-get_num|||
-get_op_descs||5.005000|
-get_op_names||5.005000|
-get_opargs|||
-get_ppaddr||5.006000|
-get_re_arg|||
-get_sv|5.006000||p
-get_vtbl||5.005030|
-getcwd_sv||5.007002|
-getenv_len|||
-glob_2number|||
-glob_2pv|||
-glob_assign_glob|||
-glob_assign_ref|||
-gp_dup|||
-gp_free|||
-gp_ref|||
-grok_bin|5.007003||p
-grok_hex|5.007003||p
-grok_number|5.007002||p
-grok_numeric_radix|5.007002||p
-grok_oct|5.007003||p
-group_end|||
-gv_AVadd|||
-gv_HVadd|||
-gv_IOadd|||
-gv_SVadd|||
-gv_autoload4||5.004000|
-gv_check|||
-gv_const_sv||5.009003|
-gv_dump||5.006000|
-gv_efullname3||5.004000|
-gv_efullname4||5.006001|
-gv_efullname|||
-gv_ename|||
-gv_fetchfile_flags||5.009005|
-gv_fetchfile|||
-gv_fetchmeth_autoload||5.007003|
-gv_fetchmethod_autoload||5.004000|
-gv_fetchmethod|||
-gv_fetchmeth|||
-gv_fetchpvn_flags||5.009002|
-gv_fetchpv|||
-gv_fetchsv||5.009002|
-gv_fullname3||5.004000|
-gv_fullname4||5.006001|
-gv_fullname|||
-gv_get_super_pkg|||
-gv_handler||5.007001|
-gv_init_sv|||
-gv_init|||
-gv_name_set||5.009004|
-gv_stashpvn|5.004000||p
-gv_stashpvs||5.009003|
-gv_stashpv|||
-gv_stashsv|||
-he_dup|||
-hek_dup|||
-hfreeentries|||
-hsplit|||
-hv_assert||5.011000|
-hv_auxinit|||n
-hv_backreferences_p|||
-hv_clear_placeholders||5.009001|
-hv_clear|||
-hv_common_key_len||5.010000|
-hv_common||5.010000|
-hv_copy_hints_hv|||
-hv_delayfree_ent||5.004000|
-hv_delete_common|||
-hv_delete_ent||5.004000|
-hv_delete|||
-hv_eiter_p||5.009003|
-hv_eiter_set||5.009003|
-hv_exists_ent||5.004000|
-hv_exists|||
-hv_fetch_ent||5.004000|
-hv_fetchs|5.009003||p
-hv_fetch|||
-hv_free_ent||5.004000|
-hv_iterinit|||
-hv_iterkeysv||5.004000|
-hv_iterkey|||
-hv_iternext_flags||5.008000|
-hv_iternextsv|||
-hv_iternext|||
-hv_iterval|||
-hv_kill_backrefs|||
-hv_ksplit||5.004000|
-hv_magic_check|||n
-hv_magic|||
-hv_name_set||5.009003|
-hv_notallowed|||
-hv_placeholders_get||5.009003|
-hv_placeholders_p||5.009003|
-hv_placeholders_set||5.009003|
-hv_riter_p||5.009003|
-hv_riter_set||5.009003|
-hv_scalar||5.009001|
-hv_store_ent||5.004000|
-hv_store_flags||5.008000|
-hv_stores|5.009004||p
-hv_store|||
-hv_undef|||
-ibcmp_locale||5.004000|
-ibcmp_utf8||5.007003|
-ibcmp|||
-incline|||
-incpush_if_exists|||
-incpush|||
-ingroup|||
-init_argv_symbols|||
-init_debugger|||
-init_global_struct|||
-init_i18nl10n||5.006000|
-init_i18nl14n||5.006000|
-init_ids|||
-init_interp|||
-init_main_stash|||
-init_perllib|||
-init_postdump_symbols|||
-init_predump_symbols|||
-init_stacks||5.005000|
-init_tm||5.007002|
-instr|||
-intro_my|||
-intuit_method|||
-intuit_more|||
-invert|||
-io_close|||
-isALNUM|||
-isALPHA|||
-isDIGIT|||
-isLOWER|||
-isSPACE|||
-isUPPER|||
-is_an_int|||
-is_gv_magical_sv|||
-is_gv_magical|||
-is_handle_constructor|||n
-is_list_assignment|||
-is_lvalue_sub||5.007001|
-is_uni_alnum_lc||5.006000|
-is_uni_alnumc_lc||5.006000|
-is_uni_alnumc||5.006000|
-is_uni_alnum||5.006000|
-is_uni_alpha_lc||5.006000|
-is_uni_alpha||5.006000|
-is_uni_ascii_lc||5.006000|
-is_uni_ascii||5.006000|
-is_uni_cntrl_lc||5.006000|
-is_uni_cntrl||5.006000|
-is_uni_digit_lc||5.006000|
-is_uni_digit||5.006000|
-is_uni_graph_lc||5.006000|
-is_uni_graph||5.006000|
-is_uni_idfirst_lc||5.006000|
-is_uni_idfirst||5.006000|
-is_uni_lower_lc||5.006000|
-is_uni_lower||5.006000|
-is_uni_print_lc||5.006000|
-is_uni_print||5.006000|
-is_uni_punct_lc||5.006000|
-is_uni_punct||5.006000|
-is_uni_space_lc||5.006000|
-is_uni_space||5.006000|
-is_uni_upper_lc||5.006000|
-is_uni_upper||5.006000|
-is_uni_xdigit_lc||5.006000|
-is_uni_xdigit||5.006000|
-is_utf8_alnumc||5.006000|
-is_utf8_alnum||5.006000|
-is_utf8_alpha||5.006000|
-is_utf8_ascii||5.006000|
-is_utf8_char_slow|||n
-is_utf8_char||5.006000|
-is_utf8_cntrl||5.006000|
-is_utf8_common|||
-is_utf8_digit||5.006000|
-is_utf8_graph||5.006000|
-is_utf8_idcont||5.008000|
-is_utf8_idfirst||5.006000|
-is_utf8_lower||5.006000|
-is_utf8_mark||5.006000|
-is_utf8_print||5.006000|
-is_utf8_punct||5.006000|
-is_utf8_space||5.006000|
-is_utf8_string_loclen||5.009003|
-is_utf8_string_loc||5.008001|
-is_utf8_string||5.006001|
-is_utf8_upper||5.006000|
-is_utf8_xdigit||5.006000|
-isa_lookup|||
-items|||n
-ix|||n
-jmaybe|||
-join_exact|||
-keyword|||
-leave_scope|||
-lex_end|||
-lex_start|||
-linklist|||
-listkids|||
-list|||
-load_module_nocontext|||vn
-load_module|5.006000||pv
-localize|||
-looks_like_bool|||
-looks_like_number|||
-lop|||
-mPUSHi|5.009002||p
-mPUSHn|5.009002||p
-mPUSHp|5.009002||p
-mPUSHs|5.011000||p
-mPUSHu|5.009002||p
-mXPUSHi|5.009002||p
-mXPUSHn|5.009002||p
-mXPUSHp|5.009002||p
-mXPUSHs|5.011000||p
-mXPUSHu|5.009002||p
-mad_free|||
-madlex|||
-madparse|||
-magic_clear_all_env|||
-magic_clearenv|||
-magic_clearhint|||
-magic_clearpack|||
-magic_clearsig|||
-magic_dump||5.006000|
-magic_existspack|||
-magic_freearylen_p|||
-magic_freeovrld|||
-magic_getarylen|||
-magic_getdefelem|||
-magic_getnkeys|||
-magic_getpack|||
-magic_getpos|||
-magic_getsig|||
-magic_getsubstr|||
-magic_gettaint|||
-magic_getuvar|||
-magic_getvec|||
-magic_get|||
-magic_killbackrefs|||
-magic_len|||
-magic_methcall|||
-magic_methpack|||
-magic_nextpack|||
-magic_regdata_cnt|||
-magic_regdatum_get|||
-magic_regdatum_set|||
-magic_scalarpack|||
-magic_set_all_env|||
-magic_setamagic|||
-magic_setarylen|||
-magic_setcollxfrm|||
-magic_setdbline|||
-magic_setdefelem|||
-magic_setenv|||
-magic_sethint|||
-magic_setisa|||
-magic_setmglob|||
-magic_setnkeys|||
-magic_setpack|||
-magic_setpos|||
-magic_setregexp|||
-magic_setsig|||
-magic_setsubstr|||
-magic_settaint|||
-magic_setutf8|||
-magic_setuvar|||
-magic_setvec|||
-magic_set|||
-magic_sizepack|||
-magic_wipepack|||
-magicname|||
-make_matcher|||
-make_trie_failtable|||
-make_trie|||
-malloced_size|||n
-malloc||5.007002|n
-markstack_grow|||
-matcher_matches_sv|||
-measure_struct|||
-memEQ|5.004000||p
-memNE|5.004000||p
-mem_collxfrm|||
-mess_alloc|||
-mess_nocontext|||vn
-mess||5.006000|v
-method_common|||
-mfree||5.007002|n
-mg_clear|||
-mg_copy|||
-mg_dup|||
-mg_find|||
-mg_free|||
-mg_get|||
-mg_length||5.005000|
-mg_localize|||
-mg_magical|||
-mg_set|||
-mg_size||5.005000|
-mini_mktime||5.007002|
-missingterm|||
-mode_from_discipline|||
-modkids|||
-mod|||
-more_bodies|||
-more_sv|||
-moreswitches|||
-mro_get_linear_isa_c3|||
-mro_get_linear_isa_dfs|||
-mro_get_linear_isa||5.009005|
-mro_isa_changed_in|||
-mro_meta_dup|||
-mro_meta_init|||
-mro_method_changed_in||5.009005|
-mul128|||
-mulexp10|||n
-my_atof2||5.007002|
-my_atof||5.006000|
-my_attrs|||
-my_bcopy|||n
-my_betoh16|||n
-my_betoh32|||n
-my_betoh64|||n
-my_betohi|||n
-my_betohl|||n
-my_betohs|||n
-my_bzero|||n
-my_chsize|||
-my_clearenv|||
-my_cxt_index|||
-my_cxt_init|||
-my_dirfd||5.009005|
-my_exit_jump|||
-my_exit|||
-my_failure_exit||5.004000|
-my_fflush_all||5.006000|
-my_fork||5.007003|n
-my_htobe16|||n
-my_htobe32|||n
-my_htobe64|||n
-my_htobei|||n
-my_htobel|||n
-my_htobes|||n
-my_htole16|||n
-my_htole32|||n
-my_htole64|||n
-my_htolei|||n
-my_htolel|||n
-my_htoles|||n
-my_htonl|||
-my_kid|||
-my_letoh16|||n
-my_letoh32|||n
-my_letoh64|||n
-my_letohi|||n
-my_letohl|||n
-my_letohs|||n
-my_lstat|||
-my_memcmp||5.004000|n
-my_memset|||n
-my_ntohl|||
-my_pclose||5.004000|
-my_popen_list||5.007001|
-my_popen||5.004000|
-my_setenv|||
-my_snprintf|5.009004||pvn
-my_socketpair||5.007003|n
-my_sprintf||5.009003|vn
-my_stat|||
-my_strftime||5.007002|
-my_strlcat|5.009004||pn
-my_strlcpy|5.009004||pn
-my_swabn|||n
-my_swap|||
-my_unexec|||
-my_vsnprintf||5.009004|n
-my|||
-need_utf8|||n
-newANONATTRSUB||5.006000|
-newANONHASH|||
-newANONLIST|||
-newANONSUB|||
-newASSIGNOP|||
-newATTRSUB||5.006000|
-newAVREF|||
-newAV|||
-newBINOP|||
-newCONDOP|||
-newCONSTSUB|5.004050||p
-newCVREF|||
-newDEFSVOP|||
-newFORM|||
-newFOROP|||
-newGIVENOP||5.009003|
-newGIVWHENOP|||
-newGP|||
-newGVOP|||
-newGVREF|||
-newGVgen|||
-newHVREF|||
-newHVhv||5.005000|
-newHV|||
-newIO|||
-newLISTOP|||
-newLOGOP|||
-newLOOPEX|||
-newLOOPOP|||
-newMADPROP|||
-newMADsv|||
-newMYSUB|||
-newNULLLIST|||
-newOP|||
-newPADOP|||
-newPMOP|||
-newPROG|||
-newPVOP|||
-newRANGE|||
-newRV_inc|5.004000||p
-newRV_noinc|5.004000||p
-newRV|||
-newSLICEOP|||
-newSTATEOP|||
-newSUB|||
-newSVOP|||
-newSVREF|||
-newSV_type||5.009005|
-newSVhek||5.009003|
-newSViv|||
-newSVnv|||
-newSVpvf_nocontext|||vn
-newSVpvf||5.004000|v
-newSVpvn_flags|5.011000||p
-newSVpvn_share|5.007001||p
-newSVpvn_utf8|5.011000||p
-newSVpvn|5.004050||p
-newSVpvs_flags|5.011000||p
-newSVpvs_share||5.009003|
-newSVpvs|5.009003||p
-newSVpv|||
-newSVrv|||
-newSVsv|||
-newSVuv|5.006000||p
-newSV|||
-newTOKEN|||
-newUNOP|||
-newWHENOP||5.009003|
-newWHILEOP||5.009003|
-newXS_flags||5.009004|
-newXSproto||5.006000|
-newXS||5.006000|
-new_collate||5.006000|
-new_constant|||
-new_ctype||5.006000|
-new_he|||
-new_logop|||
-new_numeric||5.006000|
-new_stackinfo||5.005000|
-new_version||5.009000|
-new_warnings_bitfield|||
-next_symbol|||
-nextargv|||
-nextchar|||
-ninstr|||
-no_bareword_allowed|||
-no_fh_allowed|||
-no_op|||
-not_a_number|||
-nothreadhook||5.008000|
-nuke_stacks|||
-num_overflow|||n
-offer_nice_chunk|||
-oopsAV|||
-oopsCV|||
-oopsHV|||
-op_clear|||
-op_const_sv|||
-op_dump||5.006000|
-op_free|||
-op_getmad_weak|||
-op_getmad|||
-op_null||5.007002|
-op_refcnt_dec|||
-op_refcnt_inc|||
-op_refcnt_lock||5.009002|
-op_refcnt_unlock||5.009002|
-op_xmldump|||
-open_script|||
-pMY_CXT_|5.007003||p
-pMY_CXT|5.007003||p
-pTHX_|5.006000||p
-pTHX|5.006000||p
-packWARN|5.007003||p
-pack_cat||5.007003|
-pack_rec|||
-package|||
-packlist||5.008001|
-pad_add_anon|||
-pad_add_name|||
-pad_alloc|||
-pad_block_start|||
-pad_check_dup|||
-pad_compname_type|||
-pad_findlex|||
-pad_findmy|||
-pad_fixup_inner_anons|||
-pad_free|||
-pad_leavemy|||
-pad_new|||
-pad_peg|||n
-pad_push|||
-pad_reset|||
-pad_setsv|||
-pad_sv||5.011000|
-pad_swipe|||
-pad_tidy|||
-pad_undef|||
-parse_body|||
-parse_unicode_opts|||
-parser_dup|||
-parser_free|||
-path_is_absolute|||n
-peep|||
-pending_Slabs_to_ro|||
-perl_alloc_using|||n
-perl_alloc|||n
-perl_clone_using|||n
-perl_clone|||n
-perl_construct|||n
-perl_destruct||5.007003|n
-perl_free|||n
-perl_parse||5.006000|n
-perl_run|||n
-pidgone|||
-pm_description|||
-pmflag|||
-pmop_dump||5.006000|
-pmop_xmldump|||
-pmruntime|||
-pmtrans|||
-pop_scope|||
-pregcomp||5.009005|
-pregexec|||
-pregfree2||5.011000|
-pregfree|||
-prepend_elem|||
-prepend_madprops|||
-printbuf|||
-printf_nocontext|||vn
-process_special_blocks|||
-ptr_table_clear||5.009005|
-ptr_table_fetch||5.009005|
-ptr_table_find|||n
-ptr_table_free||5.009005|
-ptr_table_new||5.009005|
-ptr_table_split||5.009005|
-ptr_table_store||5.009005|
-push_scope|||
-put_byte|||
-pv_display||5.006000|
-pv_escape||5.009004|
-pv_pretty||5.009004|
-pv_uni_display||5.007003|
-qerror|||
-qsortsvu|||
-re_compile||5.009005|
-re_croak2|||
-re_dup_guts|||
-re_intuit_start||5.009005|
-re_intuit_string||5.006000|
-readpipe_override|||
-realloc||5.007002|n
-reentrant_free|||
-reentrant_init|||
-reentrant_retry|||vn
-reentrant_size|||
-ref_array_or_hash|||
-refcounted_he_chain_2hv|||
-refcounted_he_fetch|||
-refcounted_he_free|||
-refcounted_he_new|||
-refcounted_he_value|||
-refkids|||
-refto|||
-ref||5.011000|
-reg_check_named_buff_matched|||
-reg_named_buff_all||5.009005|
-reg_named_buff_exists||5.009005|
-reg_named_buff_fetch||5.009005|
-reg_named_buff_firstkey||5.009005|
-reg_named_buff_iter|||
-reg_named_buff_nextkey||5.009005|
-reg_named_buff_scalar||5.009005|
-reg_named_buff|||
-reg_namedseq|||
-reg_node|||
-reg_numbered_buff_fetch|||
-reg_numbered_buff_length|||
-reg_numbered_buff_store|||
-reg_qr_package|||
-reg_recode|||
-reg_scan_name|||
-reg_skipcomment|||
-reg_stringify||5.009005|
-reg_temp_copy|||
-reganode|||
-regatom|||
-regbranch|||
-regclass_swash||5.009004|
-regclass|||
-regcppop|||
-regcppush|||
-regcurly|||n
-regdump_extflags|||
-regdump||5.005000|
-regdupe_internal|||
-regexec_flags||5.005000|
-regfree_internal||5.009005|
-reghop3|||n
-reghop4|||n
-reghopmaybe3|||n
-reginclass|||
-reginitcolors||5.006000|
-reginsert|||
-regmatch|||
-regnext||5.005000|
-regpiece|||
-regpposixcc|||
-regprop|||
-regrepeat|||
-regtail_study|||
-regtail|||
-regtry|||
-reguni|||
-regwhite|||n
-reg|||
-repeatcpy|||
-report_evil_fh|||
-report_uninit|||
-require_pv||5.006000|
-require_tie_mod|||
-restore_magic|||
-rninstr|||
-rsignal_restore|||
-rsignal_save|||
-rsignal_state||5.004000|
-rsignal||5.004000|
-run_body|||
-run_user_filter|||
-runops_debug||5.005000|
-runops_standard||5.005000|
-rvpv_dup|||
-rxres_free|||
-rxres_restore|||
-rxres_save|||
-safesyscalloc||5.006000|n
-safesysfree||5.006000|n
-safesysmalloc||5.006000|n
-safesysrealloc||5.006000|n
-same_dirent|||
-save_I16||5.004000|
-save_I32|||
-save_I8||5.006000|
-save_aelem||5.004050|
-save_alloc||5.006000|
-save_aptr|||
-save_ary|||
-save_bool||5.008001|
-save_clearsv|||
-save_delete|||
-save_destructor_x||5.006000|
-save_destructor||5.006000|
-save_freeop|||
-save_freepv|||
-save_freesv|||
-save_generic_pvref||5.006001|
-save_generic_svref||5.005030|
-save_gp||5.004000|
-save_hash|||
-save_hek_flags|||n
-save_helem||5.004050|
-save_hptr|||
-save_int|||
-save_item|||
-save_iv||5.005000|
-save_lines|||
-save_list|||
-save_long|||
-save_magic|||
-save_mortalizesv||5.007001|
-save_nogv|||
-save_op|||
-save_padsv||5.007001|
-save_pptr|||
-save_re_context||5.006000|
-save_scalar_at|||
-save_scalar|||
-save_set_svflags||5.009000|
-save_shared_pvref||5.007003|
-save_sptr|||
-save_svref|||
-save_vptr||5.006000|
-savepvn|||
-savepvs||5.009003|
-savepv|||
-savesharedpvn||5.009005|
-savesharedpv||5.007003|
-savestack_grow_cnt||5.008001|
-savestack_grow|||
-savesvpv||5.009002|
-sawparens|||
-scalar_mod_type|||n
-scalarboolean|||
-scalarkids|||
-scalarseq|||
-scalarvoid|||
-scalar|||
-scan_bin||5.006000|
-scan_commit|||
-scan_const|||
-scan_formline|||
-scan_heredoc|||
-scan_hex|||
-scan_ident|||
-scan_inputsymbol|||
-scan_num||5.007001|
-scan_oct|||
-scan_pat|||
-scan_str|||
-scan_subst|||
-scan_trans|||
-scan_version||5.009001|
-scan_vstring||5.009005|
-scan_word|||
-scope|||
-screaminstr||5.005000|
-seed||5.008001|
-sequence_num|||
-sequence_tail|||
-sequence|||
-set_context||5.006000|n
-set_numeric_local||5.006000|
-set_numeric_radix||5.006000|
-set_numeric_standard||5.006000|
-setdefout|||
-setenv_getix|||
-share_hek_flags|||
-share_hek||5.004000|
-si_dup|||
-sighandler|||n
-simplify_sort|||
-skipspace0|||
-skipspace1|||
-skipspace2|||
-skipspace|||
-softref2xv|||
-sortcv_stacked|||
-sortcv_xsub|||
-sortcv|||
-sortsv_flags||5.009003|
-sortsv||5.007003|
-space_join_names_mortal|||
-ss_dup|||
-stack_grow|||
-start_force|||
-start_glob|||
-start_subparse||5.004000|
-stashpv_hvname_match||5.011000|
-stdize_locale|||
-strEQ|||
-strGE|||
-strGT|||
-strLE|||
-strLT|||
-strNE|||
-str_to_version||5.006000|
-strip_return|||
-strnEQ|||
-strnNE|||
-study_chunk|||
-sub_crush_depth|||
-sublex_done|||
-sublex_push|||
-sublex_start|||
-sv_2bool|||
-sv_2cv|||
-sv_2io|||
-sv_2iuv_common|||
-sv_2iuv_non_preserve|||
-sv_2iv_flags||5.009001|
-sv_2iv|||
-sv_2mortal|||
-sv_2num|||
-sv_2nv|||
-sv_2pv_flags|5.007002||p
-sv_2pv_nolen|5.006000||p
-sv_2pvbyte_nolen|5.006000||p
-sv_2pvbyte|5.006000||p
-sv_2pvutf8_nolen||5.006000|
-sv_2pvutf8||5.006000|
-sv_2pv|||
-sv_2uv_flags||5.009001|
-sv_2uv|5.004000||p
-sv_add_arena|||
-sv_add_backref|||
-sv_backoff|||
-sv_bless|||
-sv_cat_decode||5.008001|
-sv_catpv_mg|5.004050||p
-sv_catpvf_mg_nocontext|||pvn
-sv_catpvf_mg|5.006000|5.004000|pv
-sv_catpvf_nocontext|||vn
-sv_catpvf||5.004000|v
-sv_catpvn_flags||5.007002|
-sv_catpvn_mg|5.004050||p
-sv_catpvn_nomg|5.007002||p
-sv_catpvn|||
-sv_catpvs|5.009003||p
-sv_catpv|||
-sv_catsv_flags||5.007002|
-sv_catsv_mg|5.004050||p
-sv_catsv_nomg|5.007002||p
-sv_catsv|||
-sv_catxmlpvn|||
-sv_catxmlsv|||
-sv_chop|||
-sv_clean_all|||
-sv_clean_objs|||
-sv_clear|||
-sv_cmp_locale||5.004000|
-sv_cmp|||
-sv_collxfrm|||
-sv_compile_2op||5.008001|
-sv_copypv||5.007003|
-sv_dec|||
-sv_del_backref|||
-sv_derived_from||5.004000|
-sv_destroyable||5.010000|
-sv_does||5.009004|
-sv_dump|||
-sv_dup|||
-sv_eq|||
-sv_exp_grow|||
-sv_force_normal_flags||5.007001|
-sv_force_normal||5.006000|
-sv_free2|||
-sv_free_arenas|||
-sv_free|||
-sv_gets||5.004000|
-sv_grow|||
-sv_i_ncmp|||
-sv_inc|||
-sv_insert|||
-sv_isa|||
-sv_isobject|||
-sv_iv||5.005000|
-sv_kill_backrefs|||
-sv_len_utf8||5.006000|
-sv_len|||
-sv_magic_portable|5.011000|5.004000|p
-sv_magicext||5.007003|
-sv_magic|||
-sv_mortalcopy|||
-sv_ncmp|||
-sv_newmortal|||
-sv_newref|||
-sv_nolocking||5.007003|
-sv_nosharing||5.007003|
-sv_nounlocking|||
-sv_nv||5.005000|
-sv_peek||5.005000|
-sv_pos_b2u_midway|||
-sv_pos_b2u||5.006000|
-sv_pos_u2b_cached|||
-sv_pos_u2b_forwards|||n
-sv_pos_u2b_midway|||n
-sv_pos_u2b||5.006000|
-sv_pvbyten_force||5.006000|
-sv_pvbyten||5.006000|
-sv_pvbyte||5.006000|
-sv_pvn_force_flags|5.007002||p
-sv_pvn_force|||
-sv_pvn_nomg|5.007003|5.005000|p
-sv_pvn||5.005000|
-sv_pvutf8n_force||5.006000|
-sv_pvutf8n||5.006000|
-sv_pvutf8||5.006000|
-sv_pv||5.006000|
-sv_recode_to_utf8||5.007003|
-sv_reftype|||
-sv_release_COW|||
-sv_replace|||
-sv_report_used|||
-sv_reset|||
-sv_rvweaken||5.006000|
-sv_setiv_mg|5.004050||p
-sv_setiv|||
-sv_setnv_mg|5.006000||p
-sv_setnv|||
-sv_setpv_mg|5.004050||p
-sv_setpvf_mg_nocontext|||pvn
-sv_setpvf_mg|5.006000|5.004000|pv
-sv_setpvf_nocontext|||vn
-sv_setpvf||5.004000|v
-sv_setpviv_mg||5.008001|
-sv_setpviv||5.008001|
-sv_setpvn_mg|5.004050||p
-sv_setpvn|||
-sv_setpvs|5.009004||p
-sv_setpv|||
-sv_setref_iv|||
-sv_setref_nv|||
-sv_setref_pvn|||
-sv_setref_pv|||
-sv_setref_uv||5.007001|
-sv_setsv_cow|||
-sv_setsv_flags||5.007002|
-sv_setsv_mg|5.004050||p
-sv_setsv_nomg|5.007002||p
-sv_setsv|||
-sv_setuv_mg|5.004050||p
-sv_setuv|5.004000||p
-sv_tainted||5.004000|
-sv_taint||5.004000|
-sv_true||5.005000|
-sv_unglob|||
-sv_uni_display||5.007003|
-sv_unmagic|||
-sv_unref_flags||5.007001|
-sv_unref|||
-sv_untaint||5.004000|
-sv_upgrade|||
-sv_usepvn_flags||5.009004|
-sv_usepvn_mg|5.004050||p
-sv_usepvn|||
-sv_utf8_decode||5.006000|
-sv_utf8_downgrade||5.006000|
-sv_utf8_encode||5.006000|
-sv_utf8_upgrade_flags||5.007002|
-sv_utf8_upgrade||5.007001|
-sv_uv|5.005000||p
-sv_vcatpvf_mg|5.006000|5.004000|p
-sv_vcatpvfn||5.004000|
-sv_vcatpvf|5.006000|5.004000|p
-sv_vsetpvf_mg|5.006000|5.004000|p
-sv_vsetpvfn||5.004000|
-sv_vsetpvf|5.006000|5.004000|p
-sv_xmlpeek|||
-svtype|||
-swallow_bom|||
-swap_match_buff|||
-swash_fetch||5.007002|
-swash_get|||
-swash_init||5.006000|
-sys_init3||5.010000|n
-sys_init||5.010000|n
-sys_intern_clear|||
-sys_intern_dup|||
-sys_intern_init|||
-sys_term||5.010000|n
-taint_env|||
-taint_proper|||
-tmps_grow||5.006000|
-toLOWER|||
-toUPPER|||
-to_byte_substr|||
-to_uni_fold||5.007003|
-to_uni_lower_lc||5.006000|
-to_uni_lower||5.007003|
-to_uni_title_lc||5.006000|
-to_uni_title||5.007003|
-to_uni_upper_lc||5.006000|
-to_uni_upper||5.007003|
-to_utf8_case||5.007003|
-to_utf8_fold||5.007003|
-to_utf8_lower||5.007003|
-to_utf8_substr|||
-to_utf8_title||5.007003|
-to_utf8_upper||5.007003|
-token_free|||
-token_getmad|||
-tokenize_use|||
-tokeq|||
-tokereport|||
-too_few_arguments|||
-too_many_arguments|||
-uiv_2buf|||n
-unlnk|||
-unpack_rec|||
-unpack_str||5.007003|
-unpackstring||5.008001|
-unshare_hek_or_pvn|||
-unshare_hek|||
-unsharepvn||5.004000|
-unwind_handler_stack|||
-update_debugger_info|||
-upg_version||5.009005|
-usage|||
-utf16_to_utf8_reversed||5.006001|
-utf16_to_utf8||5.006001|
-utf8_distance||5.006000|
-utf8_hop||5.006000|
-utf8_length||5.007001|
-utf8_mg_pos_cache_update|||
-utf8_to_bytes||5.006001|
-utf8_to_uvchr||5.007001|
-utf8_to_uvuni||5.007001|
-utf8n_to_uvchr|||
-utf8n_to_uvuni||5.007001|
-utilize|||
-uvchr_to_utf8_flags||5.007003|
-uvchr_to_utf8|||
-uvuni_to_utf8_flags||5.007003|
-uvuni_to_utf8||5.007001|
-validate_suid|||
-varname|||
-vcmp||5.009000|
-vcroak||5.006000|
-vdeb||5.007003|
-vdie_common|||
-vdie_croak_common|||
-vdie|||
-vform||5.006000|
-visit|||
-vivify_defelem|||
-vivify_ref|||
-vload_module|5.006000||p
-vmess||5.006000|
-vnewSVpvf|5.006000|5.004000|p
-vnormal||5.009002|
-vnumify||5.009000|
-vstringify||5.009000|
-vverify||5.009003|
-vwarner||5.006000|
-vwarn||5.006000|
-wait4pid|||
-warn_nocontext|||vn
-warner_nocontext|||vn
-warner|5.006000|5.004000|pv
-warn|||v
-watch|||
-whichsig|||
-write_no_mem|||
-write_to_stderr|||
-xmldump_all|||
-xmldump_attr|||
-xmldump_eval|||
-xmldump_form|||
-xmldump_indent|||v
-xmldump_packsubs|||
-xmldump_sub|||
-xmldump_vindent|||
-yyerror|||
-yylex|||
-yyparse|||
-yywarn|||
-);
-
-if (exists $opt{'list-unsupported'}) {
- my $f;
- for $f (sort { lc $a cmp lc $b } keys %API) {
- next unless $API{$f}{todo};
- print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n";
- }
- exit 0;
-}
-
-# Scan for possible replacement candidates
-
-my(%replace, %need, %hints, %warnings, %depends);
-my $replace = 0;
-my($hint, $define, $function);
-
-sub find_api
-{
- my $code = shift;
- $code =~ s{
- / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
- | "[^"\\]*(?:\\.[^"\\]*)*"
- | '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx;
- grep { exists $API{$_} } $code =~ /(\w+)/mg;
-}
-
-while (<DATA>) {
- if ($hint) {
- my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
- if (m{^\s*\*\s(.*?)\s*$}) {
- for (@{$hint->[1]}) {
- $h->{$_} ||= ''; # suppress warning with older perls
- $h->{$_} .= "$1\n";
- }
- }
- else { undef $hint }
- }
-
- $hint = [$1, [split /,?\s+/, $2]]
- if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
-
- if ($define) {
- if ($define->[1] =~ /\\$/) {
- $define->[1] .= $_;
- }
- else {
- if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
- my @n = find_api($define->[1]);
- push @{$depends{$define->[0]}}, @n if @n
- }
- undef $define;
- }
- }
-
- $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
-
- if ($function) {
- if (/^}/) {
- if (exists $API{$function->[0]}) {
- my @n = find_api($function->[1]);
- push @{$depends{$function->[0]}}, @n if @n
- }
- undef $function;
- }
- else {
- $function->[1] .= $_;
- }
- }
-
- $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
-
- $replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
- $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
- $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
- $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
-
- if (m{^\s*$rccs\s+(\w+)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
- push @{$depends{$1}}, map { s/\s+//g; $_ } split /,/, $2;
- }
-
- $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)};
-}
-
-for (values %depends) {
- my %s;
- $_ = [sort grep !$s{$_}++, @$_];
-}
-
-if (exists $opt{'api-info'}) {
- my $f;
- my $count = 0;
- my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$";
- for $f (sort { lc $a cmp lc $b } keys %API) {
- next unless $f =~ /$match/;
- print "\n=== $f ===\n\n";
- my $info = 0;
- if ($API{$f}{base} || $API{$f}{todo}) {
- my $base = format_version($API{$f}{base} || $API{$f}{todo});
- print "Supported at least starting from perl-$base.\n";
- $info++;
- }
- if ($API{$f}{provided}) {
- my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003";
- print "Support by $ppport provided back to perl-$todo.\n";
- print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f};
- print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f};
- print "\n$hints{$f}" if exists $hints{$f};
- print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f};
- $info++;
- }
- print "No portability information available.\n" unless $info;
- $count++;
- }
- $count or print "Found no API matching '$opt{'api-info'}'.";
- print "\n";
- exit 0;
-}
-
-if (exists $opt{'list-provided'}) {
- my $f;
- for $f (sort { lc $a cmp lc $b } keys %API) {
- next unless $API{$f}{provided};
- my @flags;
- push @flags, 'explicit' if exists $need{$f};
- push @flags, 'depend' if exists $depends{$f};
- push @flags, 'hint' if exists $hints{$f};
- push @flags, 'warning' if exists $warnings{$f};
- my $flags = @flags ? ' ['.join(', ', @flags).']' : '';
- print "$f$flags\n";
- }
- exit 0;
-}
-
-my @files;
-my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc );
-my $srcext = join '|', map { quotemeta $_ } @srcext;
-
-if (@ARGV) {
- my %seen;
- for (@ARGV) {
- if (-e) {
- if (-f) {
- push @files, $_ unless $seen{$_}++;
- }
- else { warn "'$_' is not a file.\n" }
- }
- else {
- my @new = grep { -f } glob $_
- or warn "'$_' does not exist.\n";
- push @files, grep { !$seen{$_}++ } @new;
- }
- }
-}
-else {
- eval {
- require File::Find;
- File::Find::find(sub {
- $File::Find::name =~ /($srcext)$/i
- and push @files, $File::Find::name;
- }, '.');
- };
- if ($@) {
- @files = map { glob "*$_" } @srcext;
- }
-}
-
-if (!@ARGV || $opt{filter}) {
- my(@in, @out);
- my %xsc = map { /(.*)\.xs$/ ? ("$1.c" => 1, "$1.cc" => 1) : () } @files;
- for (@files) {
- my $out = exists $xsc{$_} || /\b\Q$ppport\E$/i || !/($srcext)$/i;
- push @{ $out ? \@out : \@in }, $_;
- }
- if (@ARGV && @out) {
- warning("Skipping the following files (use --nofilter to avoid this):\n| ", join "\n| ", @out);
- }
- @files = @in;
-}
-
-die "No input files given!\n" unless @files;
-
-my(%files, %global, %revreplace);
-%revreplace = reverse %replace;
-my $filename;
-my $patch_opened = 0;
-
-for $filename (@files) {
- unless (open IN, "<$filename") {
- warn "Unable to read from $filename: $!\n";
- next;
- }
-
- info("Scanning $filename ...");
-
- my $c = do { local $/; <IN> };
- close IN;
-
- my %file = (orig => $c, changes => 0);
-
- # Temporarily remove C/XS comments and strings from the code
- my @ccom;
-
- $c =~ s{
- ( ^$HS*\#$HS*include\b[^\r\n]+\b(?:\Q$ppport\E|XSUB\.h)\b[^\r\n]*
- | ^$HS*\#$HS*(?:define|elif|if(?:def)?)\b[^\r\n]* )
- | ( ^$HS*\#[^\r\n]*
- | "[^"\\]*(?:\\.[^"\\]*)*"
- | '[^'\\]*(?:\\.[^'\\]*)*'
- | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]* ) )
- }{ defined $2 and push @ccom, $2;
- defined $1 ? $1 : "$ccs$#ccom$cce" }mgsex;
-
- $file{ccom} = \@ccom;
- $file{code} = $c;
- $file{has_inc_ppport} = $c =~ /^$HS*#$HS*include[^\r\n]+\b\Q$ppport\E\b/m;
-
- my $func;
-
- for $func (keys %API) {
- my $match = $func;
- $match .= "|$revreplace{$func}" if exists $revreplace{$func};
- if ($c =~ /\b(?:Perl_)?($match)\b/) {
- $file{uses_replace}{$1}++ if exists $revreplace{$func} && $1 eq $revreplace{$func};
- $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/;
- if (exists $API{$func}{provided}) {
- $file{uses_provided}{$func}++;
- if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) {
- $file{uses}{$func}++;
- my @deps = rec_depend($func);
- if (@deps) {
- $file{uses_deps}{$func} = \@deps;
- for (@deps) {
- $file{uses}{$_} = 0 unless exists $file{uses}{$_};
- }
- }
- for ($func, @deps) {
- $file{needs}{$_} = 'static' if exists $need{$_};
- }
- }
- }
- if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) {
- if ($c =~ /\b$func\b/) {
- $file{uses_todo}{$func}++;
- }
- }
- }
- }
-
- while ($c =~ /^$HS*#$HS*define$HS+(NEED_(\w+?)(_GLOBAL)?)\b/mg) {
- if (exists $need{$2}) {
- $file{defined $3 ? 'needed_global' : 'needed_static'}{$2}++;
- }
- else { warning("Possibly wrong #define $1 in $filename") }
- }
-
- for (qw(uses needs uses_todo needed_global needed_static)) {
- for $func (keys %{$file{$_}}) {
- push @{$global{$_}{$func}}, $filename;
- }
- }
-
- $files{$filename} = \%file;
-}
-
-# Globally resolve NEED_'s
-my $need;
-for $need (keys %{$global{needs}}) {
- if (@{$global{needs}{$need}} > 1) {
- my @targets = @{$global{needs}{$need}};
- my @t = grep $files{$_}{needed_global}{$need}, @targets;
- @targets = @t if @t;
- @t = grep /\.xs$/i, @targets;
- @targets = @t if @t;
- my $target = shift @targets;
- $files{$target}{needs}{$need} = 'global';
- for (@{$global{needs}{$need}}) {
- $files{$_}{needs}{$need} = 'extern' if $_ ne $target;
- }
- }
-}
-
-for $filename (@files) {
- exists $files{$filename} or next;
-
- info("=== Analyzing $filename ===");
-
- my %file = %{$files{$filename}};
- my $func;
- my $c = $file{code};
- my $warnings = 0;
-
- for $func (sort keys %{$file{uses_Perl}}) {
- if ($API{$func}{varargs}) {
- unless ($API{$func}{nothxarg}) {
- my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))}
- { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge);
- if ($changes) {
- warning("Doesn't pass interpreter argument aTHX to Perl_$func");
- $file{changes} += $changes;
- }
- }
- }
- else {
- warning("Uses Perl_$func instead of $func");
- $file{changes} += ($c =~ s{\bPerl_$func(\s*)\((\s*aTHX_?)?\s*}
- {$func$1(}g);
- }
- }
-
- for $func (sort keys %{$file{uses_replace}}) {
- warning("Uses $func instead of $replace{$func}");
- $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g);
- }
-
- for $func (sort keys %{$file{uses_provided}}) {
- if ($file{uses}{$func}) {
- if (exists $file{uses_deps}{$func}) {
- diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}}));
- }
- else {
- diag("Uses $func");
- }
- }
- $warnings += hint($func);
- }
-
- unless ($opt{quiet}) {
- for $func (sort keys %{$file{uses_todo}}) {
- print "*** WARNING: Uses $func, which may not be portable below perl ",
- format_version($API{$func}{todo}), ", even with '$ppport'\n";
- $warnings++;
- }
- }
-
- for $func (sort keys %{$file{needed_static}}) {
- my $message = '';
- if (not exists $file{uses}{$func}) {
- $message = "No need to define NEED_$func if $func is never used";
- }
- elsif (exists $file{needs}{$func} && $file{needs}{$func} ne 'static') {
- $message = "No need to define NEED_$func when already needed globally";
- }
- if ($message) {
- diag($message);
- $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_$func\b.*$LF//mg);
- }
- }
-
- for $func (sort keys %{$file{needed_global}}) {
- my $message = '';
- if (not exists $global{uses}{$func}) {
- $message = "No need to define NEED_${func}_GLOBAL if $func is never used";
- }
- elsif (exists $file{needs}{$func}) {
- if ($file{needs}{$func} eq 'extern') {
- $message = "No need to define NEED_${func}_GLOBAL when already needed globally";
- }
- elsif ($file{needs}{$func} eq 'static') {
- $message = "No need to define NEED_${func}_GLOBAL when only used in this file";
- }
- }
- if ($message) {
- diag($message);
- $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_${func}_GLOBAL\b.*$LF//mg);
- }
- }
-
- $file{needs_inc_ppport} = keys %{$file{uses}};
-
- if ($file{needs_inc_ppport}) {
- my $pp = '';
-
- for $func (sort keys %{$file{needs}}) {
- my $type = $file{needs}{$func};
- next if $type eq 'extern';
- my $suffix = $type eq 'global' ? '_GLOBAL' : '';
- unless (exists $file{"needed_$type"}{$func}) {
- if ($type eq 'global') {
- diag("Files [@{$global{needs}{$func}}] need $func, adding global request");
- }
- else {
- diag("File needs $func, adding static request");
- }
- $pp .= "#define NEED_$func$suffix\n";
- }
- }
-
- if ($pp && ($c =~ s/^(?=$HS*#$HS*define$HS+NEED_\w+)/$pp/m)) {
- $pp = '';
- $file{changes}++;
- }
-
- unless ($file{has_inc_ppport}) {
- diag("Needs to include '$ppport'");
- $pp .= qq(#include "$ppport"\n)
- }
-
- if ($pp) {
- $file{changes} += ($c =~ s/^($HS*#$HS*define$HS+NEED_\w+.*?)^/$1$pp/ms)
- || ($c =~ s/^(?=$HS*#$HS*include.*\Q$ppport\E)/$pp/m)
- || ($c =~ s/^($HS*#$HS*include.*XSUB.*\s*?)^/$1$pp/m)
- || ($c =~ s/^/$pp/);
- }
- }
- else {
- if ($file{has_inc_ppport}) {
- diag("No need to include '$ppport'");
- $file{changes} += ($c =~ s/^$HS*?#$HS*include.*\Q$ppport\E.*?$LF//m);
- }
- }
-
- # put back in our C comments
- my $ix;
- my $cppc = 0;
- my @ccom = @{$file{ccom}};
- for $ix (0 .. $#ccom) {
- if (!$opt{cplusplus} && $ccom[$ix] =~ s!^//!!) {
- $cppc++;
- $file{changes} += $c =~ s/$rccs$ix$rcce/$ccs$ccom[$ix] $cce/;
- }
- else {
- $c =~ s/$rccs$ix$rcce/$ccom[$ix]/;
- }
- }
-
- if ($cppc) {
- my $s = $cppc != 1 ? 's' : '';
- warning("Uses $cppc C++ style comment$s, which is not portable");
- }
-
- my $s = $warnings != 1 ? 's' : '';
- my $warn = $warnings ? " ($warnings warning$s)" : '';
- info("Analysis completed$warn");
-
- if ($file{changes}) {
- if (exists $opt{copy}) {
- my $newfile = "$filename$opt{copy}";
- if (-e $newfile) {
- error("'$newfile' already exists, refusing to write copy of '$filename'");
- }
- else {
- local *F;
- if (open F, ">$newfile") {
- info("Writing copy of '$filename' with changes to '$newfile'");
- print F $c;
- close F;
- }
- else {
- error("Cannot open '$newfile' for writing: $!");
- }
- }
- }
- elsif (exists $opt{patch} || $opt{changes}) {
- if (exists $opt{patch}) {
- unless ($patch_opened) {
- if (open PATCH, ">$opt{patch}") {
- $patch_opened = 1;
- }
- else {
- error("Cannot open '$opt{patch}' for writing: $!");
- delete $opt{patch};
- $opt{changes} = 1;
- goto fallback;
- }
- }
- mydiff(\*PATCH, $filename, $c);
- }
- else {
-fallback:
- info("Suggested changes:");
- mydiff(\*STDOUT, $filename, $c);
- }
- }
- else {
- my $s = $file{changes} == 1 ? '' : 's';
- info("$file{changes} potentially required change$s detected");
- }
- }
- else {
- info("Looks good");
- }
-}
-
-close PATCH if $patch_opened;
-
-exit 0;
-
-
-sub try_use { eval "use @_;"; return $@ eq '' }
-
-sub mydiff
-{
- local *F = shift;
- my($file, $str) = @_;
- my $diff;
-
- if (exists $opt{diff}) {
- $diff = run_diff($opt{diff}, $file, $str);
- }
-
- if (!defined $diff and try_use('Text::Diff')) {
- $diff = Text::Diff::diff($file, \$str, { STYLE => 'Unified' });
- $diff = <<HEADER . $diff;
---- $file
-+++ $file.patched
-HEADER
- }
-
- if (!defined $diff) {
- $diff = run_diff('diff -u', $file, $str);
- }
-
- if (!defined $diff) {
- $diff = run_diff('diff', $file, $str);
- }
-
- if (!defined $diff) {
- error("Cannot generate a diff. Please install Text::Diff or use --copy.");
- return;
- }
-
- print F $diff;
-}
-
-sub run_diff
-{
- my($prog, $file, $str) = @_;
- my $tmp = 'dppptemp';
- my $suf = 'aaa';
- my $diff = '';
- local *F;
-
- while (-e "$tmp.$suf") { $suf++ }
- $tmp = "$tmp.$suf";
-
- if (open F, ">$tmp") {
- print F $str;
- close F;
-
- if (open F, "$prog $file $tmp |") {
- while (<F>) {
- s/\Q$tmp\E/$file.patched/;
- $diff .= $_;
- }
- close F;
- unlink $tmp;
- return $diff;
- }
-
- unlink $tmp;
- }
- else {
- error("Cannot open '$tmp' for writing: $!");
- }
-
- return undef;
-}
-
-sub rec_depend
-{
- my($func, $seen) = @_;
- return () unless exists $depends{$func};
- $seen = {%{$seen||{}}};
- return () if $seen->{$func}++;
- my %s;
- grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
-}
-
-sub parse_version
-{
- my $ver = shift;
-
- if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
- return ($1, $2, $3);
- }
- elsif ($ver !~ /^\d+\.[\d_]+$/) {
- die "cannot parse version '$ver'\n";
- }
-
- $ver =~ s/_//g;
- $ver =~ s/$/000000/;
-
- my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
-
- $v = int $v;
- $s = int $s;
-
- if ($r < 5 || ($r == 5 && $v < 6)) {
- if ($s % 10) {
- die "cannot parse version '$ver'\n";
- }
- }
-
- return ($r, $v, $s);
-}
-
-sub format_version
-{
- my $ver = shift;
-
- $ver =~ s/$/000000/;
- my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
-
- $v = int $v;
- $s = int $s;
-
- if ($r < 5 || ($r == 5 && $v < 6)) {
- if ($s % 10) {
- die "invalid version '$ver'\n";
- }
- $s /= 10;
-
- $ver = sprintf "%d.%03d", $r, $v;
- $s > 0 and $ver .= sprintf "_%02d", $s;
-
- return $ver;
- }
-
- return sprintf "%d.%d.%d", $r, $v, $s;
-}
-
-sub info
-{
- $opt{quiet} and return;
- print @_, "\n";
-}
-
-sub diag
-{
- $opt{quiet} and return;
- $opt{diag} and print @_, "\n";
-}
-
-sub warning
-{
- $opt{quiet} and return;
- print "*** ", @_, "\n";
-}
-
-sub error
-{
- print "*** ERROR: ", @_, "\n";
-}
-
-my %given_hints;
-my %given_warnings;
-sub hint
-{
- $opt{quiet} and return;
- my $func = shift;
- my $rv = 0;
- if (exists $warnings{$func} && !$given_warnings{$func}++) {
- my $warn = $warnings{$func};
- $warn =~ s!^!*** !mg;
- print "*** WARNING: $func\n", $warn;
- $rv++;
- }
- if ($opt{hints} && exists $hints{$func} && !$given_hints{$func}++) {
- my $hint = $hints{$func};
- $hint =~ s/^/ /mg;
- print " --- hint for $func ---\n", $hint;
- }
- $rv;
-}
-
-sub usage
-{
- my($usage) = do { local(@ARGV,$/)=($0); <> } =~ /^=head\d$HS+SYNOPSIS\s*^(.*?)\s*^=/ms;
- my %M = ( 'I' => '*' );
- $usage =~ s/^\s*perl\s+\S+/$^X $0/;
- $usage =~ s/([A-Z])<([^>]+)>/$M{$1}$2$M{$1}/g;
-
- print <<ENDUSAGE;
-
-Usage: $usage
-
-See perldoc $0 for details.
-
-ENDUSAGE
-
- exit 2;
-}
-
-sub strip
-{
- my $self = do { local(@ARGV,$/)=($0); <> };
- my($copy) = $self =~ /^=head\d\s+COPYRIGHT\s*^(.*?)^=\w+/ms;
- $copy =~ s/^(?=\S+)/ /gms;
- $self =~ s/^$HS+Do NOT edit.*?(?=^-)/$copy/ms;
- $self =~ s/^SKIP.*(?=^__DATA__)/SKIP
-if (\@ARGV && \$ARGV[0] eq '--unstrip') {
- eval { require Devel::PPPort };
- \$@ and die "Cannot require Devel::PPPort, please install.\\n";
- if (\$Devel::PPPort::VERSION < $VERSION) {
- die "$0 was originally generated with Devel::PPPort $VERSION.\\n"
- . "Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n"
- . "Please install a newer version, or --unstrip will not work.\\n";
- }
- Devel::PPPort::WriteFile(\$0);
- exit 0;
-}
-print <<END;
-
-Sorry, but this is a stripped version of \$0.
-
-To be able to use its original script and doc functionality,
-please try to regenerate this file using:
-
- \$^X \$0 --unstrip
-
-END
-/ms;
- my($pl, $c) = $self =~ /(.*^__DATA__)(.*)/ms;
- $c =~ s{
- / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
- | ( "[^"\\]*(?:\\.[^"\\]*)*"
- | '[^'\\]*(?:\\.[^'\\]*)*' )
- | ($HS+) }{ defined $2 ? ' ' : ($1 || '') }gsex;
- $c =~ s!\s+$!!mg;
- $c =~ s!^$LF!!mg;
- $c =~ s!^\s*#\s*!#!mg;
- $c =~ s!^\s+!!mg;
-
- open OUT, ">$0" or die "cannot strip $0: $!\n";
- print OUT "$pl$c\n";
-
- exit 0;
-}
-
-__DATA__
-*/
-
-#ifndef _P_P_PORTABILITY_H_
-#define _P_P_PORTABILITY_H_
-
-#ifndef DPPP_NAMESPACE
-# define DPPP_NAMESPACE DPPP_
-#endif
-
-#define DPPP_CAT2(x,y) CAT2(x,y)
-#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
-
-#ifndef PERL_REVISION
-# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
-# define PERL_PATCHLEVEL_H_IMPLICIT
-# include <patchlevel.h>
-# endif
-# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
-# include <could_not_find_Perl_patchlevel.h>
-# endif
-# ifndef PERL_REVISION
-# define PERL_REVISION (5)
- /* Replace: 1 */
-# define PERL_VERSION PATCHLEVEL
-# define PERL_SUBVERSION SUBVERSION
- /* Replace PERL_PATCHLEVEL with PERL_VERSION */
- /* Replace: 0 */
-# endif
-#endif
-
-#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
-#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION))
-
-/* It is very unlikely that anyone will try to use this with Perl 6
- (or greater), but who knows.
- */
-#if PERL_REVISION != 5
-# error ppport.h only works with Perl version 5
-#endif /* PERL_REVISION != 5 */
-
-#ifdef I_LIMITS
-# include <limits.h>
-#endif
-
-#ifndef PERL_UCHAR_MIN
-# define PERL_UCHAR_MIN ((unsigned char)0)
-#endif
-
-#ifndef PERL_UCHAR_MAX
-# ifdef UCHAR_MAX
-# define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
-# else
-# ifdef MAXUCHAR
-# define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
-# else
-# define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0)
-# endif
-# endif
-#endif
-
-#ifndef PERL_USHORT_MIN
-# define PERL_USHORT_MIN ((unsigned short)0)
-#endif
-
-#ifndef PERL_USHORT_MAX
-# ifdef USHORT_MAX
-# define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
-# else
-# ifdef MAXUSHORT
-# define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
-# else
-# ifdef USHRT_MAX
-# define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
-# else
-# define PERL_USHORT_MAX ((unsigned short)~(unsigned)0)
-# endif
-# endif
-# endif
-#endif
-
-#ifndef PERL_SHORT_MAX
-# ifdef SHORT_MAX
-# define PERL_SHORT_MAX ((short)SHORT_MAX)
-# else
-# ifdef MAXSHORT /* Often used in <values.h> */
-# define PERL_SHORT_MAX ((short)MAXSHORT)
-# else
-# ifdef SHRT_MAX
-# define PERL_SHORT_MAX ((short)SHRT_MAX)
-# else
-# define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX >> 1))
-# endif
-# endif
-# endif
-#endif
-
-#ifndef PERL_SHORT_MIN
-# ifdef SHORT_MIN
-# define PERL_SHORT_MIN ((short)SHORT_MIN)
-# else
-# ifdef MINSHORT
-# define PERL_SHORT_MIN ((short)MINSHORT)
-# else
-# ifdef SHRT_MIN
-# define PERL_SHORT_MIN ((short)SHRT_MIN)
-# else
-# define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 & -1) == 3))
-# endif
-# endif
-# endif
-#endif
-
-#ifndef PERL_UINT_MAX
-# ifdef UINT_MAX
-# define PERL_UINT_MAX ((unsigned int)UINT_MAX)
-# else
-# ifdef MAXUINT
-# define PERL_UINT_MAX ((unsigned int)MAXUINT)
-# else
-# define PERL_UINT_MAX (~(unsigned int)0)
-# endif
-# endif
-#endif
-
-#ifndef PERL_UINT_MIN
-# define PERL_UINT_MIN ((unsigned int)0)
-#endif
-
-#ifndef PERL_INT_MAX
-# ifdef INT_MAX
-# define PERL_INT_MAX ((int)INT_MAX)
-# else
-# ifdef MAXINT /* Often used in <values.h> */
-# define PERL_INT_MAX ((int)MAXINT)
-# else
-# define PERL_INT_MAX ((int)(PERL_UINT_MAX >> 1))
-# endif
-# endif
-#endif
-
-#ifndef PERL_INT_MIN
-# ifdef INT_MIN
-# define PERL_INT_MIN ((int)INT_MIN)
-# else
-# ifdef MININT
-# define PERL_INT_MIN ((int)MININT)
-# else
-# define PERL_INT_MIN (-PERL_INT_MAX - ((3 & -1) == 3))
-# endif
-# endif
-#endif
-
-#ifndef PERL_ULONG_MAX
-# ifdef ULONG_MAX
-# define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
-# else
-# ifdef MAXULONG
-# define PERL_ULONG_MAX ((unsigned long)MAXULONG)
-# else
-# define PERL_ULONG_MAX (~(unsigned long)0)
-# endif
-# endif
-#endif
-
-#ifndef PERL_ULONG_MIN
-# define PERL_ULONG_MIN ((unsigned long)0L)
-#endif
-
-#ifndef PERL_LONG_MAX
-# ifdef LONG_MAX
-# define PERL_LONG_MAX ((long)LONG_MAX)
-# else
-# ifdef MAXLONG
-# define PERL_LONG_MAX ((long)MAXLONG)
-# else
-# define PERL_LONG_MAX ((long) (PERL_ULONG_MAX >> 1))
-# endif
-# endif
-#endif
-
-#ifndef PERL_LONG_MIN
-# ifdef LONG_MIN
-# define PERL_LONG_MIN ((long)LONG_MIN)
-# else
-# ifdef MINLONG
-# define PERL_LONG_MIN ((long)MINLONG)
-# else
-# define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 & -1) == 3))
-# endif
-# endif
-#endif
-
-#if defined(HAS_QUAD) && (defined(convex) || defined(uts))
-# ifndef PERL_UQUAD_MAX
-# ifdef ULONGLONG_MAX
-# define PERL_UQUAD_MAX ((unsigned long long)ULONGLONG_MAX)
-# else
-# ifdef MAXULONGLONG
-# define PERL_UQUAD_MAX ((unsigned long long)MAXULONGLONG)
-# else
-# define PERL_UQUAD_MAX (~(unsigned long long)0)
-# endif
-# endif
-# endif
-
-# ifndef PERL_UQUAD_MIN
-# define PERL_UQUAD_MIN ((unsigned long long)0L)
-# endif
-
-# ifndef PERL_QUAD_MAX
-# ifdef LONGLONG_MAX
-# define PERL_QUAD_MAX ((long long)LONGLONG_MAX)
-# else
-# ifdef MAXLONGLONG
-# define PERL_QUAD_MAX ((long long)MAXLONGLONG)
-# else
-# define PERL_QUAD_MAX ((long long) (PERL_UQUAD_MAX >> 1))
-# endif
-# endif
-# endif
-
-# ifndef PERL_QUAD_MIN
-# ifdef LONGLONG_MIN
-# define PERL_QUAD_MIN ((long long)LONGLONG_MIN)
-# else
-# ifdef MINLONGLONG
-# define PERL_QUAD_MIN ((long long)MINLONGLONG)
-# else
-# define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3))
-# endif
-# endif
-# endif
-#endif
-
-/* This is based on code from 5.003 perl.h */
-#ifdef HAS_QUAD
-# ifdef cray
-#ifndef IVTYPE
-# define IVTYPE int
-#endif
-
-#ifndef IV_MIN
-# define IV_MIN PERL_INT_MIN
-#endif
-
-#ifndef IV_MAX
-# define IV_MAX PERL_INT_MAX
-#endif
-
-#ifndef UV_MIN
-# define UV_MIN PERL_UINT_MIN
-#endif
-
-#ifndef UV_MAX
-# define UV_MAX PERL_UINT_MAX
-#endif
-
-# ifdef INTSIZE
-#ifndef IVSIZE
-# define IVSIZE INTSIZE
-#endif
-
-# endif
-# else
-# if defined(convex) || defined(uts)
-#ifndef IVTYPE
-# define IVTYPE long long
-#endif
-
-#ifndef IV_MIN
-# define IV_MIN PERL_QUAD_MIN
-#endif
-
-#ifndef IV_MAX
-# define IV_MAX PERL_QUAD_MAX
-#endif
-
-#ifndef UV_MIN
-# define UV_MIN PERL_UQUAD_MIN
-#endif
-
-#ifndef UV_MAX
-# define UV_MAX PERL_UQUAD_MAX
-#endif
-
-# ifdef LONGLONGSIZE
-#ifndef IVSIZE
-# define IVSIZE LONGLONGSIZE
-#endif
-
-# endif
-# else
-#ifndef IVTYPE
-# define IVTYPE long
-#endif
-
-#ifndef IV_MIN
-# define IV_MIN PERL_LONG_MIN
-#endif
-
-#ifndef IV_MAX
-# define IV_MAX PERL_LONG_MAX
-#endif
-
-#ifndef UV_MIN
-# define UV_MIN PERL_ULONG_MIN
-#endif
-
-#ifndef UV_MAX
-# define UV_MAX PERL_ULONG_MAX
-#endif
-
-# ifdef LONGSIZE
-#ifndef IVSIZE
-# define IVSIZE LONGSIZE
-#endif
-
-# endif
-# endif
-# endif
-#ifndef IVSIZE
-# define IVSIZE 8
-#endif
-
-#ifndef PERL_QUAD_MIN
-# define PERL_QUAD_MIN IV_MIN
-#endif
-
-#ifndef PERL_QUAD_MAX
-# define PERL_QUAD_MAX IV_MAX
-#endif
-
-#ifndef PERL_UQUAD_MIN
-# define PERL_UQUAD_MIN UV_MIN
-#endif
-
-#ifndef PERL_UQUAD_MAX
-# define PERL_UQUAD_MAX UV_MAX
-#endif
-
-#else
-#ifndef IVTYPE
-# define IVTYPE long
-#endif
-
-#ifndef IV_MIN
-# define IV_MIN PERL_LONG_MIN
-#endif
-
-#ifndef IV_MAX
-# define IV_MAX PERL_LONG_MAX
-#endif
-
-#ifndef UV_MIN
-# define UV_MIN PERL_ULONG_MIN
-#endif
-
-#ifndef UV_MAX
-# define UV_MAX PERL_ULONG_MAX
-#endif
-
-#endif
-
-#ifndef IVSIZE
-# ifdef LONGSIZE
-# define IVSIZE LONGSIZE
-# else
-# define IVSIZE 4 /* A bold guess, but the best we can make. */
-# endif
-#endif
-#ifndef UVTYPE
-# define UVTYPE unsigned IVTYPE
-#endif
-
-#ifndef UVSIZE
-# define UVSIZE IVSIZE
-#endif
-#ifndef sv_setuv
-# define sv_setuv(sv, uv) \
- STMT_START { \
- UV TeMpUv = uv; \
- if (TeMpUv <= IV_MAX) \
- sv_setiv(sv, TeMpUv); \
- else \
- sv_setnv(sv, (double)TeMpUv); \
- } STMT_END
-#endif
-#ifndef newSVuv
-# define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
-#endif
-#ifndef sv_2uv
-# define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
-#endif
-
-#ifndef SvUVX
-# define SvUVX(sv) ((UV)SvIVX(sv))
-#endif
-
-#ifndef SvUVXx
-# define SvUVXx(sv) SvUVX(sv)
-#endif
-
-#ifndef SvUV
-# define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
-#endif
-
-#ifndef SvUVx
-# define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv))
-#endif
-
-/* Hint: sv_uv
- * Always use the SvUVx() macro instead of sv_uv().
- */
-#ifndef sv_uv
-# define sv_uv(sv) SvUVx(sv)
-#endif
-
-#if !defined(SvUOK) && defined(SvIOK_UV)
-# define SvUOK(sv) SvIOK_UV(sv)
-#endif
-#ifndef XST_mUV
-# define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) )
-#endif
-
-#ifndef XSRETURN_UV
-# define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END
-#endif
-#ifndef PUSHu
-# define PUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END
-#endif
-
-#ifndef XPUSHu
-# define XPUSHu(u) STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
-#endif
-
-#ifdef HAS_MEMCMP
-#ifndef memNE
-# define memNE(s1,s2,l) (memcmp(s1,s2,l))
-#endif
-
-#ifndef memEQ
-# define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
-#endif
-
-#else
-#ifndef memNE
-# define memNE(s1,s2,l) (bcmp(s1,s2,l))
-#endif
-
-#ifndef memEQ
-# define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
-#endif
-
-#endif
-#ifndef MoveD
-# define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t))
-#endif
-
-#ifndef CopyD
-# define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
-#endif
-
-#ifdef HAS_MEMSET
-#ifndef ZeroD
-# define ZeroD(d,n,t) memzero((char*)(d), (n) * sizeof(t))
-#endif
-
-#else
-#ifndef ZeroD
-# define ZeroD(d,n,t) ((void)memzero((char*)(d), (n) * sizeof(t)), d)
-#endif
-
-#endif
-#ifndef PoisonWith
-# define PoisonWith(d,n,t,b) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))
-#endif
-
-#ifndef PoisonNew
-# define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB)
-#endif
-
-#ifndef PoisonFree
-# define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF)
-#endif
-
-#ifndef Poison
-# define Poison(d,n,t) PoisonFree(d,n,t)
-#endif
-#ifndef Newx
-# define Newx(v,n,t) New(0,v,n,t)
-#endif
-
-#ifndef Newxc
-# define Newxc(v,n,t,c) Newc(0,v,n,t,c)
-#endif
-
-#ifndef Newxz
-# define Newxz(v,n,t) Newz(0,v,n,t)
-#endif
-
-#ifndef PERL_UNUSED_DECL
-# ifdef HASATTRIBUTE
-# if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
-# define PERL_UNUSED_DECL
-# else
-# define PERL_UNUSED_DECL __attribute__((unused))
-# endif
-# else
-# define PERL_UNUSED_DECL
-# endif
-#endif
-
-#ifndef PERL_UNUSED_ARG
-# if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
-# include <note.h>
-# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
-# else
-# define PERL_UNUSED_ARG(x) ((void)x)
-# endif
-#endif
-
-#ifndef PERL_UNUSED_VAR
-# define PERL_UNUSED_VAR(x) ((void)x)
-#endif
-
-#ifndef PERL_UNUSED_CONTEXT
-# ifdef USE_ITHREADS
-# define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
-# else
-# define PERL_UNUSED_CONTEXT
-# endif
-#endif
-#ifndef NOOP
-# define NOOP /*EMPTY*/(void)0
-#endif
-
-#ifndef dNOOP
-# define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
-#endif
-
-#ifndef NVTYPE
-# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE)
-# define NVTYPE long double
-# else
-# define NVTYPE double
-# endif
-typedef NVTYPE NV;
-#endif
-
-#ifndef INT2PTR
-
-# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
-# define PTRV UV
-# define INT2PTR(any,d) (any)(d)
-# else
-# if PTRSIZE == LONGSIZE
-# define PTRV unsigned long
-# else
-# define PTRV unsigned
-# endif
-# define INT2PTR(any,d) (any)(PTRV)(d)
-# endif
-
-# define NUM2PTR(any,d) (any)(PTRV)(d)
-# define PTR2IV(p) INT2PTR(IV,p)
-# define PTR2UV(p) INT2PTR(UV,p)
-# define PTR2NV(p) NUM2PTR(NV,p)
-
-# if PTRSIZE == LONGSIZE
-# define PTR2ul(p) (unsigned long)(p)
-# else
-# define PTR2ul(p) INT2PTR(unsigned long,p)
-# endif
-
-#endif /* !INT2PTR */
-
-#undef START_EXTERN_C
-#undef END_EXTERN_C
-#undef EXTERN_C
-#ifdef __cplusplus
-# define START_EXTERN_C extern "C" {
-# define END_EXTERN_C }
-# define EXTERN_C extern "C"
-#else
-# define START_EXTERN_C
-# define END_EXTERN_C
-# define EXTERN_C extern
-#endif
-
-#if defined(PERL_GCC_PEDANTIC)
-# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
-# endif
-#endif
-
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
-# ifndef PERL_USE_GCC_BRACE_GROUPS
-# define PERL_USE_GCC_BRACE_GROUPS
-# endif
-#endif
-
-#undef STMT_START
-#undef STMT_END
-#ifdef PERL_USE_GCC_BRACE_GROUPS
-# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
-# define STMT_END )
-#else
-# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
-# define STMT_START if (1)
-# define STMT_END else (void)0
-# else
-# define STMT_START do
-# define STMT_END while (0)
-# endif
-#endif
-#ifndef boolSV
-# define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
-#endif
-
-/* DEFSV appears first in 5.004_56 */
-#ifndef DEFSV
-# define DEFSV GvSV(PL_defgv)
-#endif
-
-#ifndef SAVE_DEFSV
-# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
-#endif
-
-/* Older perls (<=5.003) lack AvFILLp */
-#ifndef AvFILLp
-# define AvFILLp AvFILL
-#endif
-#ifndef ERRSV
-# define ERRSV get_sv("@",FALSE)
-#endif
-
-/* Hint: gv_stashpvn
- * This function's backport doesn't support the length parameter, but
- * rather ignores it. Portability can only be ensured if the length
- * parameter is used for speed reasons, but the length can always be
- * correctly computed from the string argument.
- */
-#ifndef gv_stashpvn
-# define gv_stashpvn(str,len,create) gv_stashpv(str,create)
-#endif
-
-/* Replace: 1 */
-#ifndef get_cv
-# define get_cv perl_get_cv
-#endif
-
-#ifndef get_sv
-# define get_sv perl_get_sv
-#endif
-
-#ifndef get_av
-# define get_av perl_get_av
-#endif
-
-#ifndef get_hv
-# define get_hv perl_get_hv
-#endif
-
-/* Replace: 0 */
-#ifndef dUNDERBAR
-# define dUNDERBAR dNOOP
-#endif
-
-#ifndef UNDERBAR
-# define UNDERBAR DEFSV
-#endif
-#ifndef dAX
-# define dAX I32 ax = MARK - PL_stack_base + 1
-#endif
-
-#ifndef dITEMS
-# define dITEMS I32 items = SP - MARK
-#endif
-#ifndef dXSTARG
-# define dXSTARG SV * targ = sv_newmortal()
-#endif
-#ifndef dAXMARK
-# define dAXMARK I32 ax = POPMARK; \
- register SV ** const mark = PL_stack_base + ax++
-#endif
-#ifndef XSprePUSH
-# define XSprePUSH (sp = PL_stack_base + ax - 1)
-#endif
-
-#if (PERL_BCDVERSION < 0x5005000)
-# undef XSRETURN
-# define XSRETURN(off) \
- STMT_START { \
- PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
- return; \
- } STMT_END
-#endif
-#ifndef PERL_ABS
-# define PERL_ABS(x) ((x) < 0 ? -(x) : (x))
-#endif
-#ifndef dVAR
-# define dVAR dNOOP
-#endif
-#ifndef SVf
-# define SVf "_"
-#endif
-#ifndef UTF8_MAXBYTES
-# define UTF8_MAXBYTES UTF8_MAXLEN
-#endif
-#ifndef PERL_HASH
-# define PERL_HASH(hash,str,len) \
- STMT_START { \
- const char *s_PeRlHaSh = str; \
- I32 i_PeRlHaSh = len; \
- U32 hash_PeRlHaSh = 0; \
- while (i_PeRlHaSh--) \
- hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
- (hash) = hash_PeRlHaSh; \
- } STMT_END
-#endif
-
-#ifndef PERL_SIGNALS_UNSAFE_FLAG
-
-#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
-
-#if (PERL_BCDVERSION < 0x5008000)
-# define D_PPP_PERL_SIGNALS_INIT PERL_SIGNALS_UNSAFE_FLAG
-#else
-# define D_PPP_PERL_SIGNALS_INIT 0
-#endif
-
-#if defined(NEED_PL_signals)
-static U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT;
-#elif defined(NEED_PL_signals_GLOBAL)
-U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT;
-#else
-extern U32 DPPP_(my_PL_signals);
-#endif
-#define PL_signals DPPP_(my_PL_signals)
-
-#endif
-
-/* Hint: PL_ppaddr
- * Calling an op via PL_ppaddr requires passing a context argument
- * for threaded builds. Since the context argument is different for
- * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will
- * automatically be defined as the correct argument.
- */
-
-#if (PERL_BCDVERSION <= 0x5005005)
-/* Replace: 1 */
-# define PL_ppaddr ppaddr
-# define PL_no_modify no_modify
-/* Replace: 0 */
-#endif
-
-#if (PERL_BCDVERSION <= 0x5004005)
-/* Replace: 1 */
-# define PL_DBsignal DBsignal
-# define PL_DBsingle DBsingle
-# define PL_DBsub DBsub
-# define PL_DBtrace DBtrace
-# define PL_Sv Sv
-# define PL_compiling compiling
-# define PL_copline copline
-# define PL_curcop curcop
-# define PL_curstash curstash
-# define PL_debstash debstash
-# define PL_defgv defgv
-# define PL_diehook diehook
-# define PL_dirty dirty
-# define PL_dowarn dowarn
-# define PL_errgv errgv
-# define PL_expect expect
-# define PL_hexdigit hexdigit
-# define PL_hints hints
-# define PL_laststatval laststatval
-# define PL_na na
-# define PL_perl_destruct_level perl_destruct_level
-# define PL_perldb perldb
-# define PL_rsfp_filters rsfp_filters
-# define PL_rsfp rsfp
-# define PL_stack_base stack_base
-# define PL_stack_sp stack_sp
-# define PL_statcache statcache
-# define PL_stdingv stdingv
-# define PL_sv_arenaroot sv_arenaroot
-# define PL_sv_no sv_no
-# define PL_sv_undef sv_undef
-# define PL_sv_yes sv_yes
-# define PL_tainted tainted
-# define PL_tainting tainting
-/* Replace: 0 */
-#endif
-
-/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters
- * Do not use this variable. It is internal to the perl parser
- * and may change or even be removed in the future. Note that
- * as of perl 5.9.5 you cannot assign to this variable anymore.
- */
-
-/* TODO: cannot assign to these vars; is it worth fixing? */
-#if (PERL_BCDVERSION >= 0x5009005)
-# define PL_expect (PL_parser ? PL_parser->expect : 0)
-# define PL_copline (PL_parser ? PL_parser->copline : 0)
-# define PL_rsfp (PL_parser ? PL_parser->rsfp : (PerlIO *) 0)
-# define PL_rsfp_filters (PL_parser ? PL_parser->rsfp_filters : (AV *) 0)
-#endif
-#ifndef dTHR
-# define dTHR dNOOP
-#endif
-#ifndef dTHX
-# define dTHX dNOOP
-#endif
-
-#ifndef dTHXa
-# define dTHXa(x) dNOOP
-#endif
-#ifndef pTHX
-# define pTHX void
-#endif
-
-#ifndef pTHX_
-# define pTHX_
-#endif
-
-#ifndef aTHX
-# define aTHX
-#endif
-
-#ifndef aTHX_
-# define aTHX_
-#endif
-
-#if (PERL_BCDVERSION < 0x5006000)
-# ifdef USE_THREADS
-# define aTHXR thr
-# define aTHXR_ thr,
-# else
-# define aTHXR
-# define aTHXR_
-# endif
-# define dTHXR dTHR
-#else
-# define aTHXR aTHX
-# define aTHXR_ aTHX_
-# define dTHXR dTHX
-#endif
-#ifndef dTHXoa
-# define dTHXoa(x) dTHXa(x)
-#endif
-#ifndef mPUSHs
-# define mPUSHs(s) PUSHs(sv_2mortal(s))
-#endif
-
-#ifndef PUSHmortal
-# define PUSHmortal PUSHs(sv_newmortal())
-#endif
-
-#ifndef mPUSHp
-# define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l))
-#endif
-
-#ifndef mPUSHn
-# define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n))
-#endif
-
-#ifndef mPUSHi
-# define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i))
-#endif
-
-#ifndef mPUSHu
-# define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u))
-#endif
-#ifndef mXPUSHs
-# define mXPUSHs(s) XPUSHs(sv_2mortal(s))
-#endif
-
-#ifndef XPUSHmortal
-# define XPUSHmortal XPUSHs(sv_newmortal())
-#endif
-
-#ifndef mXPUSHp
-# define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END
-#endif
-
-#ifndef mXPUSHn
-# define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
-#endif
-
-#ifndef mXPUSHi
-# define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
-#endif
-
-#ifndef mXPUSHu
-# define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END
-#endif
-
-/* Replace: 1 */
-#ifndef call_sv
-# define call_sv perl_call_sv
-#endif
-
-#ifndef call_pv
-# define call_pv perl_call_pv
-#endif
-
-#ifndef call_argv
-# define call_argv perl_call_argv
-#endif
-
-#ifndef call_method
-# define call_method perl_call_method
-#endif
-#ifndef eval_sv
-# define eval_sv perl_eval_sv
-#endif
-#ifndef PERL_LOADMOD_DENY
-# define PERL_LOADMOD_DENY 0x1
-#endif
-
-#ifndef PERL_LOADMOD_NOIMPORT
-# define PERL_LOADMOD_NOIMPORT 0x2
-#endif
-
-#ifndef PERL_LOADMOD_IMPORT_OPS
-# define PERL_LOADMOD_IMPORT_OPS 0x4
-#endif
-
-/* Replace: 0 */
-
-/* Replace perl_eval_pv with eval_pv */
-
-#ifndef eval_pv
-#if defined(NEED_eval_pv)
-static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
-static
-#else
-extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
-#endif
-
-#ifdef eval_pv
-# undef eval_pv
-#endif
-#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b)
-#define Perl_eval_pv DPPP_(my_eval_pv)
-
-#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
-
-SV*
-DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
-{
- dSP;
- SV* sv = newSVpv(p, 0);
-
- PUSHMARK(sp);
- eval_sv(sv, G_SCALAR);
- SvREFCNT_dec(sv);
-
- SPAGAIN;
- sv = POPs;
- PUTBACK;
-
- if (croak_on_error && SvTRUE(GvSV(errgv)))
- croak(SvPVx(GvSV(errgv), na));
-
- return sv;
-}
-
-#endif
-#endif
-
-#ifndef vload_module
-#if defined(NEED_vload_module)
-static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
-static
-#else
-extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
-#endif
-
-#ifdef vload_module
-# undef vload_module
-#endif
-#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d)
-#define Perl_vload_module DPPP_(my_vload_module)
-
-#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
-
-void
-DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
-{
- dTHR;
- dVAR;
- OP *veop, *imop;
-
- OP * const modname = newSVOP(OP_CONST, 0, name);
- /* 5.005 has a somewhat hacky force_normal that doesn't croak on
- SvREADONLY() if PL_compling is true. Current perls take care in
- ck_require() to correctly turn off SvREADONLY before calling
- force_normal_flags(). This seems a better fix than fudging PL_compling
- */
- SvREADONLY_off(((SVOP*)modname)->op_sv);
- modname->op_private |= OPpCONST_BARE;
- if (ver) {
- veop = newSVOP(OP_CONST, 0, ver);
- }
- else
- veop = NULL;
- if (flags & PERL_LOADMOD_NOIMPORT) {
- imop = sawparens(newNULLLIST());
- }
- else if (flags & PERL_LOADMOD_IMPORT_OPS) {
- imop = va_arg(*args, OP*);
- }
- else {
- SV *sv;
- imop = NULL;
- sv = va_arg(*args, SV*);
- while (sv) {
- imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
- sv = va_arg(*args, SV*);
- }
- }
- {
- const line_t ocopline = PL_copline;
- COP * const ocurcop = PL_curcop;
- const int oexpect = PL_expect;
-
-#if (PERL_BCDVERSION >= 0x5004000)
- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
- veop, modname, imop);
-#else
- utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
- modname, imop);
-#endif
- PL_expect = oexpect;
- PL_copline = ocopline;
- PL_curcop = ocurcop;
- }
-}
-
-#endif
-#endif
-
-#ifndef load_module
-#if defined(NEED_load_module)
-static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
-static
-#else
-extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
-#endif
-
-#ifdef load_module
-# undef load_module
-#endif
-#define load_module DPPP_(my_load_module)
-#define Perl_load_module DPPP_(my_load_module)
-
-#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
-
-void
-DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...)
-{
- va_list args;
- va_start(args, ver);
- vload_module(flags, name, ver, &args);
- va_end(args);
-}
-
-#endif
-#endif
-#ifndef newRV_inc
-# define newRV_inc(sv) newRV(sv) /* Replace */
-#endif
-
-#ifndef newRV_noinc
-#if defined(NEED_newRV_noinc)
-static SV * DPPP_(my_newRV_noinc)(SV *sv);
-static
-#else
-extern SV * DPPP_(my_newRV_noinc)(SV *sv);
-#endif
-
-#ifdef newRV_noinc
-# undef newRV_noinc
-#endif
-#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a)
-#define Perl_newRV_noinc DPPP_(my_newRV_noinc)
-
-#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
-SV *
-DPPP_(my_newRV_noinc)(SV *sv)
-{
- SV *rv = (SV *)newRV(sv);
- SvREFCNT_dec(sv);
- return rv;
-}
-#endif
-#endif
-
-/* Hint: newCONSTSUB
- * Returns a CV* as of perl-5.7.1. This return value is not supported
- * by Devel::PPPort.
- */
-
-/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
-#if (PERL_BCDVERSION < 0x5004063) && (PERL_BCDVERSION != 0x5004005)
-#if defined(NEED_newCONSTSUB)
-static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
-static
-#else
-extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
-#endif
-
-#ifdef newCONSTSUB
-# undef newCONSTSUB
-#endif
-#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
-#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
-
-#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
-
-void
-DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
-{
- U32 oldhints = PL_hints;
- HV *old_cop_stash = PL_curcop->cop_stash;
- HV *old_curstash = PL_curstash;
- line_t oldline = PL_curcop->cop_line;
- PL_curcop->cop_line = PL_copline;
-
- PL_hints &= ~HINT_BLOCK_SCOPE;
- if (stash)
- PL_curstash = PL_curcop->cop_stash = stash;
-
- newSUB(
-
-#if (PERL_BCDVERSION < 0x5003022)
- start_subparse(),
-#elif (PERL_BCDVERSION == 0x5003022)
- start_subparse(0),
-#else /* 5.003_23 onwards */
- start_subparse(FALSE, 0),
-#endif
-
- newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
- newSVOP(OP_CONST, 0, &PL_sv_no), /* SvPV(&PL_sv_no) == "" -- GMB */
- newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
- );
-
- PL_hints = oldhints;
- PL_curcop->cop_stash = old_cop_stash;
- PL_curstash = old_curstash;
- PL_curcop->cop_line = oldline;
-}
-#endif
-#endif
-
-/*
- * Boilerplate macros for initializing and accessing interpreter-local
- * data from C. All statics in extensions should be reworked to use
- * this, if you want to make the extension thread-safe. See ext/re/re.xs
- * for an example of the use of these macros.
- *
- * Code that uses these macros is responsible for the following:
- * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts"
- * 2. Declare a typedef named my_cxt_t that is a structure that contains
- * all the data that needs to be interpreter-local.
- * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
- * 4. Use the MY_CXT_INIT macro such that it is called exactly once
- * (typically put in the BOOT: section).
- * 5. Use the members of the my_cxt_t structure everywhere as
- * MY_CXT.member.
- * 6. Use the dMY_CXT macro (a declaration) in all the functions that
- * access MY_CXT.
- */
-
-#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
- defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT)
-
-#ifndef START_MY_CXT
-
-/* This must appear in all extensions that define a my_cxt_t structure,
- * right after the definition (i.e. at file scope). The non-threads
- * case below uses it to declare the data as static. */
-#define START_MY_CXT
-
-#if (PERL_BCDVERSION < 0x5004068)
-/* Fetches the SV that keeps the per-interpreter data. */
-#define dMY_CXT_SV \
- SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
-#else /* >= perl5.004_68 */
-#define dMY_CXT_SV \
- SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY, \
- sizeof(MY_CXT_KEY)-1, TRUE)
-#endif /* < perl5.004_68 */
-
-/* This declaration should be used within all functions that use the
- * interpreter-local data. */
-#define dMY_CXT \
- dMY_CXT_SV; \
- my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv))
-
-/* Creates and zeroes the per-interpreter data.
- * (We allocate my_cxtp in a Perl SV so that it will be released when
- * the interpreter goes away.) */
-#define MY_CXT_INIT \
- dMY_CXT_SV; \
- /* newSV() allocates one more than needed */ \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Zero(my_cxtp, 1, my_cxt_t); \
- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
-
-/* This macro must be used to access members of the my_cxt_t structure.
- * e.g. MYCXT.some_data */
-#define MY_CXT (*my_cxtp)
-
-/* Judicious use of these macros can reduce the number of times dMY_CXT
- * is used. Use is similar to pTHX, aTHX etc. */
-#define pMY_CXT my_cxt_t *my_cxtp
-#define pMY_CXT_ pMY_CXT,
-#define _pMY_CXT ,pMY_CXT
-#define aMY_CXT my_cxtp
-#define aMY_CXT_ aMY_CXT,
-#define _aMY_CXT ,aMY_CXT
-
-#endif /* START_MY_CXT */
-
-#ifndef MY_CXT_CLONE
-/* Clones the per-interpreter data. */
-#define MY_CXT_CLONE \
- dMY_CXT_SV; \
- my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
- Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
- sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
-#endif
-
-#else /* single interpreter */
-
-#ifndef START_MY_CXT
-
-#define START_MY_CXT static my_cxt_t my_cxt;
-#define dMY_CXT_SV dNOOP
-#define dMY_CXT dNOOP
-#define MY_CXT_INIT NOOP
-#define MY_CXT my_cxt
-
-#define pMY_CXT void
-#define pMY_CXT_
-#define _pMY_CXT
-#define aMY_CXT
-#define aMY_CXT_
-#define _aMY_CXT
-
-#endif /* START_MY_CXT */
-
-#ifndef MY_CXT_CLONE
-#define MY_CXT_CLONE NOOP
-#endif
-
-#endif
-
-#ifndef IVdf
-# if IVSIZE == LONGSIZE
-# define IVdf "ld"
-# define UVuf "lu"
-# define UVof "lo"
-# define UVxf "lx"
-# define UVXf "lX"
-# else
-# if IVSIZE == INTSIZE
-# define IVdf "d"
-# define UVuf "u"
-# define UVof "o"
-# define UVxf "x"
-# define UVXf "X"
-# endif
-# endif
-#endif
-
-#ifndef NVef
-# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
- defined(PERL_PRIfldbl) && (PERL_BCDVERSION != 0x5006000)
- /* Not very likely, but let's try anyway. */
-# define NVef PERL_PRIeldbl
-# define NVff PERL_PRIfldbl
-# define NVgf PERL_PRIgldbl
-# else
-# define NVef "e"
-# define NVff "f"
-# define NVgf "g"
-# endif
-#endif
-
-#ifndef SvREFCNT_inc
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (SvREFCNT(_sv))++; \
- _sv; \
- })
-# else
-# define SvREFCNT_inc(sv) \
- ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
-# endif
-#endif
-
-#ifndef SvREFCNT_inc_simple
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_simple(sv) \
- ({ \
- if (sv) \
- (SvREFCNT(sv))++; \
- (SV *)(sv); \
- })
-# else
-# define SvREFCNT_inc_simple(sv) \
- ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL)
-# endif
-#endif
-
-#ifndef SvREFCNT_inc_NN
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_NN(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- SvREFCNT(_sv)++; \
- _sv; \
- })
-# else
-# define SvREFCNT_inc_NN(sv) \
- (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv)
-# endif
-#endif
-
-#ifndef SvREFCNT_inc_void
-# ifdef PERL_USE_GCC_BRACE_GROUPS
-# define SvREFCNT_inc_void(sv) \
- ({ \
- SV * const _sv = (SV*)(sv); \
- if (_sv) \
- (void)(SvREFCNT(_sv)++); \
- })
-# else
-# define SvREFCNT_inc_void(sv) \
- (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
-# endif
-#endif
-#ifndef SvREFCNT_inc_simple_void
-# define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
-#endif
-
-#ifndef SvREFCNT_inc_simple_NN
-# define SvREFCNT_inc_simple_NN(sv) (++SvREFCNT(sv), (SV*)(sv))
-#endif
-
-#ifndef SvREFCNT_inc_void_NN
-# define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
-#endif
-
-#ifndef SvREFCNT_inc_simple_void_NN
-# define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
-#endif
-#ifndef newSVpvn
-# define newSVpvn(data,len) ((data) \
- ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \
- : newSV(0))
-#endif
-#ifndef newSVpvn_utf8
-# define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
-#endif
-#ifndef SVf_UTF8
-# define SVf_UTF8 0
-#endif
-
-#ifndef newSVpvn_flags
-
-#if defined(NEED_newSVpvn_flags)
-static SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char * s, STRLEN len, U32 flags);
-static
-#else
-extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char * s, STRLEN len, U32 flags);
-#endif
-
-#ifdef newSVpvn_flags
-# undef newSVpvn_flags
-#endif
-#define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c)
-#define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags)
-
-#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL)
-
-SV *
-DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags)
-{
- SV *sv = newSVpvn(s, len);
- SvFLAGS(sv) |= (flags & SVf_UTF8);
- return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv;
-}
-
-#endif
-
-#endif
-
-/* Backwards compatibility stuff... :-( */
-#if !defined(NEED_sv_2pv_flags) && defined(NEED_sv_2pv_nolen)
-# define NEED_sv_2pv_flags
-#endif
-#if !defined(NEED_sv_2pv_flags_GLOBAL) && defined(NEED_sv_2pv_nolen_GLOBAL)
-# define NEED_sv_2pv_flags_GLOBAL
-#endif
-
-/* Hint: sv_2pv_nolen
- * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen().
- */
-#ifndef sv_2pv_nolen
-# define sv_2pv_nolen(sv) SvPV_nolen(sv)
-#endif
-
-#ifdef SvPVbyte
-
-/* Hint: SvPVbyte
- * Does not work in perl-5.6.1, ppport.h implements a version
- * borrowed from perl-5.7.3.
- */
-
-#if (PERL_BCDVERSION < 0x5007000)
-
-#if defined(NEED_sv_2pvbyte)
-static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV * sv, STRLEN * lp);
-static
-#else
-extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV * sv, STRLEN * lp);
-#endif
-
-#ifdef sv_2pvbyte
-# undef sv_2pvbyte
-#endif
-#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b)
-#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte)
-
-#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
-
-char *
-DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp)
-{
- sv_utf8_downgrade(sv,0);
- return SvPV(sv,*lp);
-}
-
-#endif
-
-/* Hint: sv_2pvbyte
- * Use the SvPVbyte() macro instead of sv_2pvbyte().
- */
-
-#undef SvPVbyte
-
-#define SvPVbyte(sv, lp) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
-
-#endif
-
-#else
-
-# define SvPVbyte SvPV
-# define sv_2pvbyte sv_2pv
-
-#endif
-#ifndef sv_2pvbyte_nolen
-# define sv_2pvbyte_nolen(sv) sv_2pv_nolen(sv)
-#endif
-
-/* Hint: sv_pvn
- * Always use the SvPV() macro instead of sv_pvn().
- */
-
-/* Hint: sv_pvn_force
- * Always use the SvPV_force() macro instead of sv_pvn_force().
- */
-
-/* If these are undefined, they're not handled by the core anyway */
-#ifndef SV_IMMEDIATE_UNREF
-# define SV_IMMEDIATE_UNREF 0
-#endif
-
-#ifndef SV_GMAGIC
-# define SV_GMAGIC 0
-#endif
-
-#ifndef SV_COW_DROP_PV
-# define SV_COW_DROP_PV 0
-#endif
-
-#ifndef SV_UTF8_NO_ENCODING
-# define SV_UTF8_NO_ENCODING 0
-#endif
-
-#ifndef SV_NOSTEAL
-# define SV_NOSTEAL 0
-#endif
-
-#ifndef SV_CONST_RETURN
-# define SV_CONST_RETURN 0
-#endif
-
-#ifndef SV_MUTABLE_RETURN
-# define SV_MUTABLE_RETURN 0
-#endif
-
-#ifndef SV_SMAGIC
-# define SV_SMAGIC 0
-#endif
-
-#ifndef SV_HAS_TRAILING_NUL
-# define SV_HAS_TRAILING_NUL 0
-#endif
-
-#ifndef SV_COW_SHARED_HASH_KEYS
-# define SV_COW_SHARED_HASH_KEYS 0
-#endif
-
-#if (PERL_BCDVERSION < 0x5007002)
-
-#if defined(NEED_sv_2pv_flags)
-static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
-static
-#else
-extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
-#endif
-
-#ifdef sv_2pv_flags
-# undef sv_2pv_flags
-#endif
-#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c)
-#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags)
-
-#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
-
-char *
-DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
-{
- STRLEN n_a = (STRLEN) flags;
- return sv_2pv(sv, lp ? lp : &n_a);
-}
-
-#endif
-
-#if defined(NEED_sv_pvn_force_flags)
-static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
-static
-#else
-extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
-#endif
-
-#ifdef sv_pvn_force_flags
-# undef sv_pvn_force_flags
-#endif
-#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c)
-#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags)
-
-#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
-
-char *
-DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
-{
- STRLEN n_a = (STRLEN) flags;
- return sv_pvn_force(sv, lp ? lp : &n_a);
-}
-
-#endif
-
-#endif
-
-#if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) )
-# define DPPP_SVPV_NOLEN_LP_ARG &PL_na
-#else
-# define DPPP_SVPV_NOLEN_LP_ARG 0
-#endif
-#ifndef SvPV_const
-# define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
-#endif
-
-#ifndef SvPV_mutable
-# define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC)
-#endif
-#ifndef SvPV_flags
-# define SvPV_flags(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
-#endif
-#ifndef SvPV_flags_const
-# define SvPV_flags_const(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
- (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
-#endif
-#ifndef SvPV_flags_const_nolen
-# define SvPV_flags_const_nolen(sv, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX_const(sv) : \
- (const char*) sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
-#endif
-#ifndef SvPV_flags_mutable
-# define SvPV_flags_mutable(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
- sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
-#endif
-#ifndef SvPV_force
-# define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC)
-#endif
-
-#ifndef SvPV_force_nolen
-# define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC)
-#endif
-
-#ifndef SvPV_force_mutable
-# define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
-#endif
-
-#ifndef SvPV_force_nomg
-# define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0)
-#endif
-
-#ifndef SvPV_force_nomg_nolen
-# define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
-#endif
-#ifndef SvPV_force_flags
-# define SvPV_force_flags(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
-#endif
-#ifndef SvPV_force_flags_nolen
-# define SvPV_force_flags_nolen(sv, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? SvPVX(sv) : sv_pvn_force_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags))
-#endif
-#ifndef SvPV_force_flags_mutable
-# define SvPV_force_flags_mutable(sv, lp, flags) \
- ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
- ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
- : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
-#endif
-#ifndef SvPV_nolen
-# define SvPV_nolen(sv) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
-#endif
-#ifndef SvPV_nolen_const
-# define SvPV_nolen_const(sv) \
- ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
- ? SvPVX_const(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
-#endif
-#ifndef SvPV_nomg
-# define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
-#endif
-
-#ifndef SvPV_nomg_const
-# define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0)
-#endif
-
-#ifndef SvPV_nomg_const_nolen
-# define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
-#endif
-#ifndef SvMAGIC_set
-# define SvMAGIC_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
- (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END
-#endif
-
-#if (PERL_BCDVERSION < 0x5009003)
-#ifndef SvPVX_const
-# define SvPVX_const(sv) ((const char*) (0 + SvPVX(sv)))
-#endif
-
-#ifndef SvPVX_mutable
-# define SvPVX_mutable(sv) (0 + SvPVX(sv))
-#endif
-#ifndef SvRV_set
-# define SvRV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_RV); \
- (((XRV*) SvANY(sv))->xrv_rv = (val)); } STMT_END
-#endif
-
-#else
-#ifndef SvPVX_const
-# define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv))
-#endif
-
-#ifndef SvPVX_mutable
-# define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv)
-#endif
-#ifndef SvRV_set
-# define SvRV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_RV); \
- ((sv)->sv_u.svu_rv = (val)); } STMT_END
-#endif
-
-#endif
-#ifndef SvSTASH_set
-# define SvSTASH_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
- (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END
-#endif
-
-#if (PERL_BCDVERSION < 0x5004000)
-#ifndef SvUV_set
-# define SvUV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- (((XPVIV*) SvANY(sv))->xiv_iv = (IV) (val)); } STMT_END
-#endif
-
-#else
-#ifndef SvUV_set
-# define SvUV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- (((XPVUV*) SvANY(sv))->xuv_uv = (val)); } STMT_END
-#endif
-
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(vnewSVpvf)
-#if defined(NEED_vnewSVpvf)
-static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char * pat, va_list * args);
-static
-#else
-extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char * pat, va_list * args);
-#endif
-
-#ifdef vnewSVpvf
-# undef vnewSVpvf
-#endif
-#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b)
-#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf)
-
-#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
-
-SV *
-DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args)
-{
- register SV *sv = newSV(0);
- sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));
- return sv;
-}
-
-#endif
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf)
-# define sv_vcatpvf(sv, pat, args) sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf)
-# define sv_vsetpvf(sv, pat, args) sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg)
-#if defined(NEED_sv_catpvf_mg)
-static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
-static
-#else
-extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
-#endif
-
-#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
-
-#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL)
-
-void
-DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
-{
- va_list args;
- va_start(args, pat);
- sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
- SvSETMAGIC(sv);
- va_end(args);
-}
-
-#endif
-#endif
-
-#ifdef PERL_IMPLICIT_CONTEXT
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_catpvf_mg_nocontext)
-#if defined(NEED_sv_catpvf_mg_nocontext)
-static void DPPP_(my_sv_catpvf_mg_nocontext)(SV * sv, const char * pat, ...);
-static
-#else
-extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV * sv, const char * pat, ...);
-#endif
-
-#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
-#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
-
-#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
-
-void
-DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...)
-{
- dTHX;
- va_list args;
- va_start(args, pat);
- sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
- SvSETMAGIC(sv);
- va_end(args);
-}
-
-#endif
-#endif
-#endif
-
-/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */
-#ifndef sv_catpvf_mg
-# ifdef PERL_IMPLICIT_CONTEXT
-# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
-# else
-# define sv_catpvf_mg Perl_sv_catpvf_mg
-# endif
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vcatpvf_mg)
-# define sv_vcatpvf_mg(sv, pat, args) \
- STMT_START { \
- sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
- SvSETMAGIC(sv); \
- } STMT_END
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg)
-#if defined(NEED_sv_setpvf_mg)
-static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
-static
-#else
-extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
-#endif
-
-#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
-
-#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL)
-
-void
-DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
-{
- va_list args;
- va_start(args, pat);
- sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
- SvSETMAGIC(sv);
- va_end(args);
-}
-
-#endif
-#endif
-
-#ifdef PERL_IMPLICIT_CONTEXT
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_setpvf_mg_nocontext)
-#if defined(NEED_sv_setpvf_mg_nocontext)
-static void DPPP_(my_sv_setpvf_mg_nocontext)(SV * sv, const char * pat, ...);
-static
-#else
-extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV * sv, const char * pat, ...);
-#endif
-
-#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
-#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
-
-#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
-
-void
-DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...)
-{
- dTHX;
- va_list args;
- va_start(args, pat);
- sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
- SvSETMAGIC(sv);
- va_end(args);
-}
-
-#endif
-#endif
-#endif
-
-/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */
-#ifndef sv_setpvf_mg
-# ifdef PERL_IMPLICIT_CONTEXT
-# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
-# else
-# define sv_setpvf_mg Perl_sv_setpvf_mg
-# endif
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(sv_vsetpvf_mg)
-# define sv_vsetpvf_mg(sv, pat, args) \
- STMT_START { \
- sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*)); \
- SvSETMAGIC(sv); \
- } STMT_END
-#endif
-
-#ifndef newSVpvn_share
-
-#if defined(NEED_newSVpvn_share)
-static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
-static
-#else
-extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
-#endif
-
-#ifdef newSVpvn_share
-# undef newSVpvn_share
-#endif
-#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c)
-#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share)
-
-#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
-
-SV *
-DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
-{
- SV *sv;
- if (len < 0)
- len = -len;
- if (!hash)
- PERL_HASH(hash, (char*) src, len);
- sv = newSVpvn((char *) src, len);
- sv_upgrade(sv, SVt_PVIV);
- SvIVX(sv) = hash;
- SvREADONLY_on(sv);
- SvPOK_on(sv);
- return sv;
-}
-
-#endif
-
-#endif
-#ifndef SvSHARED_HASH
-# define SvSHARED_HASH(sv) (0 + SvUVX(sv))
-#endif
-#ifndef WARN_ALL
-# define WARN_ALL 0
-#endif
-
-#ifndef WARN_CLOSURE
-# define WARN_CLOSURE 1
-#endif
-
-#ifndef WARN_DEPRECATED
-# define WARN_DEPRECATED 2
-#endif
-
-#ifndef WARN_EXITING
-# define WARN_EXITING 3
-#endif
-
-#ifndef WARN_GLOB
-# define WARN_GLOB 4
-#endif
-
-#ifndef WARN_IO
-# define WARN_IO 5
-#endif
-
-#ifndef WARN_CLOSED
-# define WARN_CLOSED 6
-#endif
-
-#ifndef WARN_EXEC
-# define WARN_EXEC 7
-#endif
-
-#ifndef WARN_LAYER
-# define WARN_LAYER 8
-#endif
-
-#ifndef WARN_NEWLINE
-# define WARN_NEWLINE 9
-#endif
-
-#ifndef WARN_PIPE
-# define WARN_PIPE 10
-#endif
-
-#ifndef WARN_UNOPENED
-# define WARN_UNOPENED 11
-#endif
-
-#ifndef WARN_MISC
-# define WARN_MISC 12
-#endif
-
-#ifndef WARN_NUMERIC
-# define WARN_NUMERIC 13
-#endif
-
-#ifndef WARN_ONCE
-# define WARN_ONCE 14
-#endif
-
-#ifndef WARN_OVERFLOW
-# define WARN_OVERFLOW 15
-#endif
-
-#ifndef WARN_PACK
-# define WARN_PACK 16
-#endif
-
-#ifndef WARN_PORTABLE
-# define WARN_PORTABLE 17
-#endif
-
-#ifndef WARN_RECURSION
-# define WARN_RECURSION 18
-#endif
-
-#ifndef WARN_REDEFINE
-# define WARN_REDEFINE 19
-#endif
-
-#ifndef WARN_REGEXP
-# define WARN_REGEXP 20
-#endif
-
-#ifndef WARN_SEVERE
-# define WARN_SEVERE 21
-#endif
-
-#ifndef WARN_DEBUGGING
-# define WARN_DEBUGGING 22
-#endif
-
-#ifndef WARN_INPLACE
-# define WARN_INPLACE 23
-#endif
-
-#ifndef WARN_INTERNAL
-# define WARN_INTERNAL 24
-#endif
-
-#ifndef WARN_MALLOC
-# define WARN_MALLOC 25
-#endif
-
-#ifndef WARN_SIGNAL
-# define WARN_SIGNAL 26
-#endif
-
-#ifndef WARN_SUBSTR
-# define WARN_SUBSTR 27
-#endif
-
-#ifndef WARN_SYNTAX
-# define WARN_SYNTAX 28
-#endif
-
-#ifndef WARN_AMBIGUOUS
-# define WARN_AMBIGUOUS 29
-#endif
-
-#ifndef WARN_BAREWORD
-# define WARN_BAREWORD 30
-#endif
-
-#ifndef WARN_DIGIT
-# define WARN_DIGIT 31
-#endif
-
-#ifndef WARN_PARENTHESIS
-# define WARN_PARENTHESIS 32
-#endif
-
-#ifndef WARN_PRECEDENCE
-# define WARN_PRECEDENCE 33
-#endif
-
-#ifndef WARN_PRINTF
-# define WARN_PRINTF 34
-#endif
-
-#ifndef WARN_PROTOTYPE
-# define WARN_PROTOTYPE 35
-#endif
-
-#ifndef WARN_QW
-# define WARN_QW 36
-#endif
-
-#ifndef WARN_RESERVED
-# define WARN_RESERVED 37
-#endif
-
-#ifndef WARN_SEMICOLON
-# define WARN_SEMICOLON 38
-#endif
-
-#ifndef WARN_TAINT
-# define WARN_TAINT 39
-#endif
-
-#ifndef WARN_THREADS
-# define WARN_THREADS 40
-#endif
-
-#ifndef WARN_UNINITIALIZED
-# define WARN_UNINITIALIZED 41
-#endif
-
-#ifndef WARN_UNPACK
-# define WARN_UNPACK 42
-#endif
-
-#ifndef WARN_UNTIE
-# define WARN_UNTIE 43
-#endif
-
-#ifndef WARN_UTF8
-# define WARN_UTF8 44
-#endif
-
-#ifndef WARN_VOID
-# define WARN_VOID 45
-#endif
-
-#ifndef WARN_ASSERTIONS
-# define WARN_ASSERTIONS 46
-#endif
-#ifndef packWARN
-# define packWARN(a) (a)
-#endif
-
-#ifndef ckWARN
-# ifdef G_WARN_ON
-# define ckWARN(a) (PL_dowarn & G_WARN_ON)
-# else
-# define ckWARN(a) PL_dowarn
-# endif
-#endif
-
-#if (PERL_BCDVERSION >= 0x5004000) && !defined(warner)
-#if defined(NEED_warner)
-static void DPPP_(my_warner)(U32 err, const char *pat, ...);
-static
-#else
-extern void DPPP_(my_warner)(U32 err, const char *pat, ...);
-#endif
-
-#define Perl_warner DPPP_(my_warner)
-
-#if defined(NEED_warner) || defined(NEED_warner_GLOBAL)
-
-void
-DPPP_(my_warner)(U32 err, const char *pat, ...)
-{
- SV *sv;
- va_list args;
-
- PERL_UNUSED_ARG(err);
-
- va_start(args, pat);
- sv = vnewSVpvf(pat, &args);
- va_end(args);
- sv_2mortal(sv);
- warn("%s", SvPV_nolen(sv));
-}
-
-#define warner Perl_warner
-
-#define Perl_warner_nocontext Perl_warner
-
-#endif
-#endif
-
-/* concatenating with "" ensures that only literal strings are accepted as argument
- * note that STR_WITH_LEN() can't be used as argument to macros or functions that
- * under some configurations might be macros
- */
-#ifndef STR_WITH_LEN
-# define STR_WITH_LEN(s) (s ""), (sizeof(s)-1)
-#endif
-#ifndef newSVpvs
-# define newSVpvs(str) newSVpvn(str "", sizeof(str) - 1)
-#endif
-
-#ifndef newSVpvs_flags
-# define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags)
-#endif
-
-#ifndef sv_catpvs
-# define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1)
-#endif
-
-#ifndef sv_setpvs
-# define sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1)
-#endif
-
-#ifndef hv_fetchs
-# define hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval)
-#endif
-
-#ifndef hv_stores
-# define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0)
-#endif
-#ifndef SvGETMAGIC
-# define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
-#endif
-#ifndef PERL_MAGIC_sv
-# define PERL_MAGIC_sv '\0'
-#endif
-
-#ifndef PERL_MAGIC_overload
-# define PERL_MAGIC_overload 'A'
-#endif
-
-#ifndef PERL_MAGIC_overload_elem
-# define PERL_MAGIC_overload_elem 'a'
-#endif
-
-#ifndef PERL_MAGIC_overload_table
-# define PERL_MAGIC_overload_table 'c'
-#endif
-
-#ifndef PERL_MAGIC_bm
-# define PERL_MAGIC_bm 'B'
-#endif
-
-#ifndef PERL_MAGIC_regdata
-# define PERL_MAGIC_regdata 'D'
-#endif
-
-#ifndef PERL_MAGIC_regdatum
-# define PERL_MAGIC_regdatum 'd'
-#endif
-
-#ifndef PERL_MAGIC_env
-# define PERL_MAGIC_env 'E'
-#endif
-
-#ifndef PERL_MAGIC_envelem
-# define PERL_MAGIC_envelem 'e'
-#endif
-
-#ifndef PERL_MAGIC_fm
-# define PERL_MAGIC_fm 'f'
-#endif
-
-#ifndef PERL_MAGIC_regex_global
-# define PERL_MAGIC_regex_global 'g'
-#endif
-
-#ifndef PERL_MAGIC_isa
-# define PERL_MAGIC_isa 'I'
-#endif
-
-#ifndef PERL_MAGIC_isaelem
-# define PERL_MAGIC_isaelem 'i'
-#endif
-
-#ifndef PERL_MAGIC_nkeys
-# define PERL_MAGIC_nkeys 'k'
-#endif
-
-#ifndef PERL_MAGIC_dbfile
-# define PERL_MAGIC_dbfile 'L'
-#endif
-
-#ifndef PERL_MAGIC_dbline
-# define PERL_MAGIC_dbline 'l'
-#endif
-
-#ifndef PERL_MAGIC_mutex
-# define PERL_MAGIC_mutex 'm'
-#endif
-
-#ifndef PERL_MAGIC_shared
-# define PERL_MAGIC_shared 'N'
-#endif
-
-#ifndef PERL_MAGIC_shared_scalar
-# define PERL_MAGIC_shared_scalar 'n'
-#endif
-
-#ifndef PERL_MAGIC_collxfrm
-# define PERL_MAGIC_collxfrm 'o'
-#endif
-
-#ifndef PERL_MAGIC_tied
-# define PERL_MAGIC_tied 'P'
-#endif
-
-#ifndef PERL_MAGIC_tiedelem
-# define PERL_MAGIC_tiedelem 'p'
-#endif
-
-#ifndef PERL_MAGIC_tiedscalar
-# define PERL_MAGIC_tiedscalar 'q'
-#endif
-
-#ifndef PERL_MAGIC_qr
-# define PERL_MAGIC_qr 'r'
-#endif
-
-#ifndef PERL_MAGIC_sig
-# define PERL_MAGIC_sig 'S'
-#endif
-
-#ifndef PERL_MAGIC_sigelem
-# define PERL_MAGIC_sigelem 's'
-#endif
-
-#ifndef PERL_MAGIC_taint
-# define PERL_MAGIC_taint 't'
-#endif
-
-#ifndef PERL_MAGIC_uvar
-# define PERL_MAGIC_uvar 'U'
-#endif
-
-#ifndef PERL_MAGIC_uvar_elem
-# define PERL_MAGIC_uvar_elem 'u'
-#endif
-
-#ifndef PERL_MAGIC_vstring
-# define PERL_MAGIC_vstring 'V'
-#endif
-
-#ifndef PERL_MAGIC_vec
-# define PERL_MAGIC_vec 'v'
-#endif
-
-#ifndef PERL_MAGIC_utf8
-# define PERL_MAGIC_utf8 'w'
-#endif
-
-#ifndef PERL_MAGIC_substr
-# define PERL_MAGIC_substr 'x'
-#endif
-
-#ifndef PERL_MAGIC_defelem
-# define PERL_MAGIC_defelem 'y'
-#endif
-
-#ifndef PERL_MAGIC_glob
-# define PERL_MAGIC_glob '*'
-#endif
-
-#ifndef PERL_MAGIC_arylen
-# define PERL_MAGIC_arylen '#'
-#endif
-
-#ifndef PERL_MAGIC_pos
-# define PERL_MAGIC_pos '.'
-#endif
-
-#ifndef PERL_MAGIC_backref
-# define PERL_MAGIC_backref '<'
-#endif
-
-#ifndef PERL_MAGIC_ext
-# define PERL_MAGIC_ext '~'
-#endif
-
-/* That's the best we can do... */
-#ifndef sv_catpvn_nomg
-# define sv_catpvn_nomg sv_catpvn
-#endif
-
-#ifndef sv_catsv_nomg
-# define sv_catsv_nomg sv_catsv
-#endif
-
-#ifndef sv_setsv_nomg
-# define sv_setsv_nomg sv_setsv
-#endif
-
-#ifndef sv_pvn_nomg
-# define sv_pvn_nomg sv_pvn
-#endif
-
-#ifndef SvIV_nomg
-# define SvIV_nomg SvIV
-#endif
-
-#ifndef SvUV_nomg
-# define SvUV_nomg SvUV
-#endif
-
-#ifndef sv_catpv_mg
-# define sv_catpv_mg(sv, ptr) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_catpv(TeMpSv,ptr); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_catpvn_mg
-# define sv_catpvn_mg(sv, ptr, len) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_catpvn(TeMpSv,ptr,len); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_catsv_mg
-# define sv_catsv_mg(dsv, ssv) \
- STMT_START { \
- SV *TeMpSv = dsv; \
- sv_catsv(TeMpSv,ssv); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setiv_mg
-# define sv_setiv_mg(sv, i) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_setiv(TeMpSv,i); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setnv_mg
-# define sv_setnv_mg(sv, num) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_setnv(TeMpSv,num); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setpv_mg
-# define sv_setpv_mg(sv, ptr) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_setpv(TeMpSv,ptr); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setpvn_mg
-# define sv_setpvn_mg(sv, ptr, len) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_setpvn(TeMpSv,ptr,len); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setsv_mg
-# define sv_setsv_mg(dsv, ssv) \
- STMT_START { \
- SV *TeMpSv = dsv; \
- sv_setsv(TeMpSv,ssv); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_setuv_mg
-# define sv_setuv_mg(sv, i) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_setuv(TeMpSv,i); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-
-#ifndef sv_usepvn_mg
-# define sv_usepvn_mg(sv, ptr, len) \
- STMT_START { \
- SV *TeMpSv = sv; \
- sv_usepvn(TeMpSv,ptr,len); \
- SvSETMAGIC(TeMpSv); \
- } STMT_END
-#endif
-#ifndef SvVSTRING_mg
-# define SvVSTRING_mg(sv) (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL)
-#endif
-
-/* Hint: sv_magic_portable
- * This is a compatibility function that is only available with
- * Devel::PPPort. It is NOT in the perl core.
- * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when
- * it is being passed a name pointer with namlen == 0. In that
- * case, perl 5.8.0 and later store the pointer, not a copy of it.
- * The compatibility can be provided back to perl 5.004. With
- * earlier versions, the code will not compile.
- */
-
-#if (PERL_BCDVERSION < 0x5004000)
-
- /* code that uses sv_magic_portable will not compile */
-
-#elif (PERL_BCDVERSION < 0x5008000)
-
-# define sv_magic_portable(sv, obj, how, name, namlen) \
- STMT_START { \
- SV *SvMp_sv = (sv); \
- char *SvMp_name = (char *) (name); \
- I32 SvMp_namlen = (namlen); \
- if (SvMp_name && SvMp_namlen == 0) \
- { \
- MAGIC *mg; \
- sv_magic(SvMp_sv, obj, how, 0, 0); \
- mg = SvMAGIC(SvMp_sv); \
- mg->mg_len = -42; /* XXX: this is the tricky part */ \
- mg->mg_ptr = SvMp_name; \
- } \
- else \
- { \
- sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \
- } \
- } STMT_END
-
-#else
-
-# define sv_magic_portable(a, b, c, d, e) sv_magic(a, b, c, d, e)
-
-#endif
-
-#ifdef USE_ITHREADS
-#ifndef CopFILE
-# define CopFILE(c) ((c)->cop_file)
-#endif
-
-#ifndef CopFILEGV
-# define CopFILEGV(c) (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv)
-#endif
-
-#ifndef CopFILE_set
-# define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv))
-#endif
-
-#ifndef CopFILESV
-# define CopFILESV(c) (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv)
-#endif
-
-#ifndef CopFILEAV
-# define CopFILEAV(c) (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav)
-#endif
-
-#ifndef CopSTASHPV
-# define CopSTASHPV(c) ((c)->cop_stashpv)
-#endif
-
-#ifndef CopSTASHPV_set
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : Nullch))
-#endif
-
-#ifndef CopSTASH
-# define CopSTASH(c) (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv)
-#endif
-
-#ifndef CopSTASH_set
-# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch)
-#endif
-
-#ifndef CopSTASH_eq
-# define CopSTASH_eq(c,hv) ((hv) && (CopSTASHPV(c) == HvNAME(hv) \
- || (CopSTASHPV(c) && HvNAME(hv) \
- && strEQ(CopSTASHPV(c), HvNAME(hv)))))
-#endif
-
-#else
-#ifndef CopFILEGV
-# define CopFILEGV(c) ((c)->cop_filegv)
-#endif
-
-#ifndef CopFILEGV_set
-# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv))
-#endif
-
-#ifndef CopFILE_set
-# define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv))
-#endif
-
-#ifndef CopFILESV
-# define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv)
-#endif
-
-#ifndef CopFILEAV
-# define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav)
-#endif
-
-#ifndef CopFILE
-# define CopFILE(c) (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch)
-#endif
-
-#ifndef CopSTASH
-# define CopSTASH(c) ((c)->cop_stash)
-#endif
-
-#ifndef CopSTASH_set
-# define CopSTASH_set(c,hv) ((c)->cop_stash = (hv))
-#endif
-
-#ifndef CopSTASHPV
-# define CopSTASHPV(c) (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch)
-#endif
-
-#ifndef CopSTASHPV_set
-# define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
-#endif
-
-#ifndef CopSTASH_eq
-# define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv))
-#endif
-
-#endif /* USE_ITHREADS */
-#ifndef IN_PERL_COMPILETIME
-# define IN_PERL_COMPILETIME (PL_curcop == &PL_compiling)
-#endif
-
-#ifndef IN_LOCALE_RUNTIME
-# define IN_LOCALE_RUNTIME (PL_curcop->op_private & HINT_LOCALE)
-#endif
-
-#ifndef IN_LOCALE_COMPILETIME
-# define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE)
-#endif
-
-#ifndef IN_LOCALE
-# define IN_LOCALE (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
-#endif
-#ifndef IS_NUMBER_IN_UV
-# define IS_NUMBER_IN_UV 0x01
-#endif
-
-#ifndef IS_NUMBER_GREATER_THAN_UV_MAX
-# define IS_NUMBER_GREATER_THAN_UV_MAX 0x02
-#endif
-
-#ifndef IS_NUMBER_NOT_INT
-# define IS_NUMBER_NOT_INT 0x04
-#endif
-
-#ifndef IS_NUMBER_NEG
-# define IS_NUMBER_NEG 0x08
-#endif
-
-#ifndef IS_NUMBER_INFINITY
-# define IS_NUMBER_INFINITY 0x10
-#endif
-
-#ifndef IS_NUMBER_NAN
-# define IS_NUMBER_NAN 0x20
-#endif
-#ifndef GROK_NUMERIC_RADIX
-# define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send)
-#endif
-#ifndef PERL_SCAN_GREATER_THAN_UV_MAX
-# define PERL_SCAN_GREATER_THAN_UV_MAX 0x02
-#endif
-
-#ifndef PERL_SCAN_SILENT_ILLDIGIT
-# define PERL_SCAN_SILENT_ILLDIGIT 0x04
-#endif
-
-#ifndef PERL_SCAN_ALLOW_UNDERSCORES
-# define PERL_SCAN_ALLOW_UNDERSCORES 0x01
-#endif
-
-#ifndef PERL_SCAN_DISALLOW_PREFIX
-# define PERL_SCAN_DISALLOW_PREFIX 0x02
-#endif
-
-#ifndef grok_numeric_radix
-#if defined(NEED_grok_numeric_radix)
-static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
-static
-#else
-extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
-#endif
-
-#ifdef grok_numeric_radix
-# undef grok_numeric_radix
-#endif
-#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b)
-#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix)
-
-#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
-bool
-DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send)
-{
-#ifdef USE_LOCALE_NUMERIC
-#ifdef PL_numeric_radix_sv
- if (PL_numeric_radix_sv && IN_LOCALE) {
- STRLEN len;
- char* radix = SvPV(PL_numeric_radix_sv, len);
- if (*sp + len <= send && memEQ(*sp, radix, len)) {
- *sp += len;
- return TRUE;
- }
- }
-#else
- /* older perls don't have PL_numeric_radix_sv so the radix
- * must manually be requested from locale.h
- */
-#include <locale.h>
- dTHR; /* needed for older threaded perls */
- struct lconv *lc = localeconv();
- char *radix = lc->decimal_point;
- if (radix && IN_LOCALE) {
- STRLEN len = strlen(radix);
- if (*sp + len <= send && memEQ(*sp, radix, len)) {
- *sp += len;
- return TRUE;
- }
- }
-#endif
-#endif /* USE_LOCALE_NUMERIC */
- /* always try "." if numeric radix didn't match because
- * we may have data from different locales mixed */
- if (*sp < send && **sp == '.') {
- ++*sp;
- return TRUE;
- }
- return FALSE;
-}
-#endif
-#endif
-
-#ifndef grok_number
-#if defined(NEED_grok_number)
-static int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
-static
-#else
-extern int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
-#endif
-
-#ifdef grok_number
-# undef grok_number
-#endif
-#define grok_number(a,b,c) DPPP_(my_grok_number)(aTHX_ a,b,c)
-#define Perl_grok_number DPPP_(my_grok_number)
-
-#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL)
-int
-DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
-{
- const char *s = pv;
- const char *send = pv + len;
- const UV max_div_10 = UV_MAX / 10;
- const char max_mod_10 = UV_MAX % 10;
- int numtype = 0;
- int sawinf = 0;
- int sawnan = 0;
-
- while (s < send && isSPACE(*s))
- s++;
- if (s == send) {
- return 0;
- } else if (*s == '-') {
- s++;
- numtype = IS_NUMBER_NEG;
- }
- else if (*s == '+')
- s++;
-
- if (s == send)
- return 0;
-
- /* next must be digit or the radix separator or beginning of infinity */
- if (isDIGIT(*s)) {
- /* UVs are at least 32 bits, so the first 9 decimal digits cannot
- overflow. */
- UV value = *s - '0';
- /* This construction seems to be more optimiser friendly.
- (without it gcc does the isDIGIT test and the *s - '0' separately)
- With it gcc on arm is managing 6 instructions (6 cycles) per digit.
- In theory the optimiser could deduce how far to unroll the loop
- before checking for overflow. */
- if (++s < send) {
- int digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- digit = *s - '0';
- if (digit >= 0 && digit <= 9) {
- value = value * 10 + digit;
- if (++s < send) {
- /* Now got 9 digits, so need to check
- each time for overflow. */
- digit = *s - '0';
- while (digit >= 0 && digit <= 9
- && (value < max_div_10
- || (value == max_div_10
- && digit <= max_mod_10))) {
- value = value * 10 + digit;
- if (++s < send)
- digit = *s - '0';
- else
- break;
- }
- if (digit >= 0 && digit <= 9
- && (s < send)) {
- /* value overflowed.
- skip the remaining digits, don't
- worry about setting *valuep. */
- do {
- s++;
- } while (s < send && isDIGIT(*s));
- numtype |=
- IS_NUMBER_GREATER_THAN_UV_MAX;
- goto skip_value;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- numtype |= IS_NUMBER_IN_UV;
- if (valuep)
- *valuep = value;
-
- skip_value:
- if (GROK_NUMERIC_RADIX(&s, send)) {
- numtype |= IS_NUMBER_NOT_INT;
- while (s < send && isDIGIT(*s)) /* optional digits after the radix */
- s++;
- }
- }
- else if (GROK_NUMERIC_RADIX(&s, send)) {
- numtype |= IS_NUMBER_NOT_INT | IS_NUMBER_IN_UV; /* valuep assigned below */
- /* no digits before the radix means we need digits after it */
- if (s < send && isDIGIT(*s)) {
- do {
- s++;
- } while (s < send && isDIGIT(*s));
- if (valuep) {
- /* integer approximation is valid - it's 0. */
- *valuep = 0;
- }
- }
- else
- return 0;
- } else if (*s == 'I' || *s == 'i') {
- s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
- s++; if (s == send || (*s != 'F' && *s != 'f')) return 0;
- s++; if (s < send && (*s == 'I' || *s == 'i')) {
- s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
- s++; if (s == send || (*s != 'I' && *s != 'i')) return 0;
- s++; if (s == send || (*s != 'T' && *s != 't')) return 0;
- s++; if (s == send || (*s != 'Y' && *s != 'y')) return 0;
- s++;
- }
- sawinf = 1;
- } else if (*s == 'N' || *s == 'n') {
- /* XXX TODO: There are signaling NaNs and quiet NaNs. */
- s++; if (s == send || (*s != 'A' && *s != 'a')) return 0;
- s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
- s++;
- sawnan = 1;
- } else
- return 0;
-
- if (sawinf) {
- numtype &= IS_NUMBER_NEG; /* Keep track of sign */
- numtype |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT;
- } else if (sawnan) {
- numtype &= IS_NUMBER_NEG; /* Keep track of sign */
- numtype |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT;
- } else if (s < send) {
- /* we can have an optional exponent part */
- if (*s == 'e' || *s == 'E') {
- /* The only flag we keep is sign. Blow away any "it's UV" */
- numtype &= IS_NUMBER_NEG;
- numtype |= IS_NUMBER_NOT_INT;
- s++;
- if (s < send && (*s == '-' || *s == '+'))
- s++;
- if (s < send && isDIGIT(*s)) {
- do {
- s++;
- } while (s < send && isDIGIT(*s));
- }
- else
- return 0;
- }
- }
- while (s < send && isSPACE(*s))
- s++;
- if (s >= send)
- return numtype;
- if (len == 10 && memEQ(pv, "0 but true", 10)) {
- if (valuep)
- *valuep = 0;
- return IS_NUMBER_IN_UV;
- }
- return 0;
-}
-#endif
-#endif
-
-/*
- * The grok_* routines have been modified to use warn() instead of
- * Perl_warner(). Also, 'hexdigit' was the former name of PL_hexdigit,
- * which is why the stack variable has been renamed to 'xdigit'.
- */
-
-#ifndef grok_bin
-#if defined(NEED_grok_bin)
-static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-static
-#else
-extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-#endif
-
-#ifdef grok_bin
-# undef grok_bin
-#endif
-#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d)
-#define Perl_grok_bin DPPP_(my_grok_bin)
-
-#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)
-UV
-DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
-{
- const char *s = start;
- STRLEN len = *len_p;
- UV value = 0;
- NV value_nv = 0;
-
- const UV max_div_2 = UV_MAX / 2;
- bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
- bool overflowed = FALSE;
-
- if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
- /* strip off leading b or 0b.
- for compatibility silently suffer "b" and "0b" as valid binary
- numbers. */
- if (len >= 1) {
- if (s[0] == 'b') {
- s++;
- len--;
- }
- else if (len >= 2 && s[0] == '0' && s[1] == 'b') {
- s+=2;
- len-=2;
- }
- }
- }
-
- for (; len-- && *s; s++) {
- char bit = *s;
- if (bit == '0' || bit == '1') {
- /* Write it in this wonky order with a goto to attempt to get the
- compiler to make the common case integer-only loop pretty tight.
- With gcc seems to be much straighter code than old scan_bin. */
- redo:
- if (!overflowed) {
- if (value <= max_div_2) {
- value = (value << 1) | (bit - '0');
- continue;
- }
- /* Bah. We're just overflowed. */
- warn("Integer overflow in binary number");
- overflowed = TRUE;
- value_nv = (NV) value;
- }
- value_nv *= 2.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount. */
- value_nv += (NV)(bit - '0');
- continue;
- }
- if (bit == '_' && len && allow_underscores && (bit = s[1])
- && (bit == '0' || bit == '1'))
- {
- --len;
- ++s;
- goto redo;
- }
- if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
- warn("Illegal binary digit '%c' ignored", *s);
- break;
- }
-
- if ( ( overflowed && value_nv > 4294967295.0)
-#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
-#endif
- ) {
- warn("Binary number > 0b11111111111111111111111111111111 non-portable");
- }
- *len_p = s - start;
- if (!overflowed) {
- *flags = 0;
- return value;
- }
- *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
- if (result)
- *result = value_nv;
- return UV_MAX;
-}
-#endif
-#endif
-
-#ifndef grok_hex
-#if defined(NEED_grok_hex)
-static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-static
-#else
-extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-#endif
-
-#ifdef grok_hex
-# undef grok_hex
-#endif
-#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d)
-#define Perl_grok_hex DPPP_(my_grok_hex)
-
-#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL)
-UV
-DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
-{
- const char *s = start;
- STRLEN len = *len_p;
- UV value = 0;
- NV value_nv = 0;
-
- const UV max_div_16 = UV_MAX / 16;
- bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
- bool overflowed = FALSE;
- const char *xdigit;
-
- if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
- /* strip off leading x or 0x.
- for compatibility silently suffer "x" and "0x" as valid hex numbers.
- */
- if (len >= 1) {
- if (s[0] == 'x') {
- s++;
- len--;
- }
- else if (len >= 2 && s[0] == '0' && s[1] == 'x') {
- s+=2;
- len-=2;
- }
- }
- }
-
- for (; len-- && *s; s++) {
- xdigit = strchr((char *) PL_hexdigit, *s);
- if (xdigit) {
- /* Write it in this wonky order with a goto to attempt to get the
- compiler to make the common case integer-only loop pretty tight.
- With gcc seems to be much straighter code than old scan_hex. */
- redo:
- if (!overflowed) {
- if (value <= max_div_16) {
- value = (value << 4) | ((xdigit - PL_hexdigit) & 15);
- continue;
- }
- warn("Integer overflow in hexadecimal number");
- overflowed = TRUE;
- value_nv = (NV) value;
- }
- value_nv *= 16.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount of 16-tuples. */
- value_nv += (NV)((xdigit - PL_hexdigit) & 15);
- continue;
- }
- if (*s == '_' && len && allow_underscores && s[1]
- && (xdigit = strchr((char *) PL_hexdigit, s[1])))
- {
- --len;
- ++s;
- goto redo;
- }
- if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
- warn("Illegal hexadecimal digit '%c' ignored", *s);
- break;
- }
-
- if ( ( overflowed && value_nv > 4294967295.0)
-#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
-#endif
- ) {
- warn("Hexadecimal number > 0xffffffff non-portable");
- }
- *len_p = s - start;
- if (!overflowed) {
- *flags = 0;
- return value;
- }
- *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
- if (result)
- *result = value_nv;
- return UV_MAX;
-}
-#endif
-#endif
-
-#ifndef grok_oct
-#if defined(NEED_grok_oct)
-static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-static
-#else
-extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
-#endif
-
-#ifdef grok_oct
-# undef grok_oct
-#endif
-#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d)
-#define Perl_grok_oct DPPP_(my_grok_oct)
-
-#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL)
-UV
-DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
-{
- const char *s = start;
- STRLEN len = *len_p;
- UV value = 0;
- NV value_nv = 0;
-
- const UV max_div_8 = UV_MAX / 8;
- bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
- bool overflowed = FALSE;
-
- for (; len-- && *s; s++) {
- /* gcc 2.95 optimiser not smart enough to figure that this subtraction
- out front allows slicker code. */
- int digit = *s - '0';
- if (digit >= 0 && digit <= 7) {
- /* Write it in this wonky order with a goto to attempt to get the
- compiler to make the common case integer-only loop pretty tight.
- */
- redo:
- if (!overflowed) {
- if (value <= max_div_8) {
- value = (value << 3) | digit;
- continue;
- }
- /* Bah. We're just overflowed. */
- warn("Integer overflow in octal number");
- overflowed = TRUE;
- value_nv = (NV) value;
- }
- value_nv *= 8.0;
- /* If an NV has not enough bits in its mantissa to
- * represent a UV this summing of small low-order numbers
- * is a waste of time (because the NV cannot preserve
- * the low-order bits anyway): we could just remember when
- * did we overflow and in the end just multiply value_nv by the
- * right amount of 8-tuples. */
- value_nv += (NV)digit;
- continue;
- }
- if (digit == ('_' - '0') && len && allow_underscores
- && (digit = s[1] - '0') && (digit >= 0 && digit <= 7))
- {
- --len;
- ++s;
- goto redo;
- }
- /* Allow \octal to work the DWIM way (that is, stop scanning
- * as soon as non-octal characters are seen, complain only iff
- * someone seems to want to use the digits eight and nine). */
- if (digit == 8 || digit == 9) {
- if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
- warn("Illegal octal digit '%c' ignored", *s);
- }
- break;
- }
-
- if ( ( overflowed && value_nv > 4294967295.0)
-#if UVSIZE > 4
- || (!overflowed && value > 0xffffffff )
-#endif
- ) {
- warn("Octal number > 037777777777 non-portable");
- }
- *len_p = s - start;
- if (!overflowed) {
- *flags = 0;
- return value;
- }
- *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
- if (result)
- *result = value_nv;
- return UV_MAX;
-}
-#endif
-#endif
-
-#if !defined(my_snprintf)
-#if defined(NEED_my_snprintf)
-static int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...);
-static
-#else
-extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...);
-#endif
-
-#define my_snprintf DPPP_(my_my_snprintf)
-#define Perl_my_snprintf DPPP_(my_my_snprintf)
-
-#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL)
-
-int
-DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...)
-{
- dTHX;
- int retval;
- va_list ap;
- va_start(ap, format);
-#ifdef HAS_VSNPRINTF
- retval = vsnprintf(buffer, len, format, ap);
-#else
- retval = vsprintf(buffer, format, ap);
-#endif
- va_end(ap);
- if (retval >= (int)len)
- Perl_croak(aTHX_ "panic: my_snprintf buffer overflow");
- return retval;
-}
-
-#endif
-#endif
-
-#ifdef NO_XSLOCKS
-# ifdef dJMPENV
-# define dXCPT dJMPENV; int rEtV = 0
-# define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0)
-# define XCPT_TRY_END JMPENV_POP;
-# define XCPT_CATCH if (rEtV != 0)
-# define XCPT_RETHROW JMPENV_JUMP(rEtV)
-# else
-# define dXCPT Sigjmp_buf oldTOP; int rEtV = 0
-# define XCPT_TRY_START Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0)
-# define XCPT_TRY_END Copy(oldTOP, top_env, 1, Sigjmp_buf);
-# define XCPT_CATCH if (rEtV != 0)
-# define XCPT_RETHROW Siglongjmp(top_env, rEtV)
-# endif
-#endif
-
-#if !defined(my_strlcat)
-#if defined(NEED_my_strlcat)
-static Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size);
-static
-#else
-extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size);
-#endif
-
-#define my_strlcat DPPP_(my_my_strlcat)
-#define Perl_my_strlcat DPPP_(my_my_strlcat)
-
-#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL)
-
-Size_t
-DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size)
-{
- Size_t used, length, copy;
-
- used = strlen(dst);
- length = strlen(src);
- if (size > 0 && used < size - 1) {
- copy = (length >= size - used) ? size - used - 1 : length;
- memcpy(dst + used, src, copy);
- dst[used + copy] = '\0';
- }
- return used + length;
-}
-#endif
-#endif
-
-#if !defined(my_strlcpy)
-#if defined(NEED_my_strlcpy)
-static Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size);
-static
-#else
-extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size);
-#endif
-
-#define my_strlcpy DPPP_(my_my_strlcpy)
-#define Perl_my_strlcpy DPPP_(my_my_strlcpy)
-
-#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL)
-
-Size_t
-DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size)
-{
- Size_t length, copy;
-
- length = strlen(src);
- if (size > 0) {
- copy = (length >= size) ? size - 1 : length;
- memcpy(dst, src, copy);
- dst[copy] = '\0';
- }
- return length;
-}
-
-#endif
-#endif
-
-#endif /* _P_P_PORTABILITY_H_ */
-
-/* End of File ppport.h */
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/Peek.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/Peek.pm
deleted file mode 100644
index 2fced312f2e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Devel/Peek.pm
+++ /dev/null
@@ -1,570 +0,0 @@
-# Devel::Peek - A data debugging tool for the XS programmer
-# The documentation is after the __END__
-
-package Devel::Peek;
-
-$VERSION = '1.04';
-$XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-require Exporter;
-use XSLoader ();
-
-@ISA = qw(Exporter);
-@EXPORT = qw(Dump mstat DeadCode DumpArray DumpWithOP DumpProg
- fill_mstats mstats_fillhash mstats2hash runops_debug debug_flags);
-@EXPORT_OK = qw(SvREFCNT SvREFCNT_inc SvREFCNT_dec CvGV);
-%EXPORT_TAGS = ('ALL' => [@EXPORT, @EXPORT_OK]);
-
-XSLoader::load 'Devel::Peek';
-
-sub import {
- my $c = shift;
- my $ops_rx = qr/^:opd(=[stP]*)?\b/;
- my @db = grep m/$ops_rx/, @_;
- @_ = grep !m/$ops_rx/, @_;
- if (@db) {
- die "Too many :opd options" if @db > 1;
- runops_debug(1);
- my $flags = ($db[0] =~ m/$ops_rx/ and $1);
- $flags = 'st' unless defined $flags;
- my $f = 0;
- $f |= 2 if $flags =~ /s/;
- $f |= 8 if $flags =~ /t/;
- $f |= 64 if $flags =~ /P/;
- $^D |= $f if $f;
- }
- unshift @_, $c;
- goto &Exporter::import;
-}
-
-sub DumpWithOP ($;$) {
- local($Devel::Peek::dump_ops)=1;
- my $depth = @_ > 1 ? $_[1] : 4 ;
- Dump($_[0],$depth);
-}
-
-$D_flags = 'psltocPmfrxuLHXDSTR';
-
-sub debug_flags (;$) {
- my $out = "";
- for my $i (0 .. length($D_flags)-1) {
- $out .= substr $D_flags, $i, 1 if $^D & (1<<$i);
- }
- my $arg = shift;
- my $num = $arg;
- if (defined $arg and $arg =~ /\D/) {
- die "unknown flags in debug_flags()" if $arg =~ /[^-$D_flags]/;
- my ($on,$off) = split /-/, "$arg-";
- $num = $^D;
- $num |= (1<<index($D_flags, $_)) for split //, $on;
- $num &= ~(1<<index($D_flags, $_)) for split //, $off;
- }
- $^D = $num if defined $arg;
- $out
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Devel::Peek - A data debugging tool for the XS programmer
-
-=head1 SYNOPSIS
-
- use Devel::Peek;
- Dump( $a );
- Dump( $a, 5 );
- DumpArray( 5, $a, $b, ... );
- mstat "Point 5";
-
- use Devel::Peek ':opd=st';
-
-=head1 DESCRIPTION
-
-Devel::Peek contains functions which allows raw Perl datatypes to be
-manipulated from a Perl script. This is used by those who do XS programming
-to check that the data they are sending from C to Perl looks as they think
-it should look. The trick, then, is to know what the raw datatype is
-supposed to look like when it gets to Perl. This document offers some tips
-and hints to describe good and bad raw data.
-
-It is very possible that this document will fall far short of being useful
-to the casual reader. The reader is expected to understand the material in
-the first few sections of L<perlguts>.
-
-Devel::Peek supplies a C<Dump()> function which can dump a raw Perl
-datatype, and C<mstat("marker")> function to report on memory usage
-(if perl is compiled with corresponding option). The function
-DeadCode() provides statistics on the data "frozen" into inactive
-C<CV>. Devel::Peek also supplies C<SvREFCNT()>, C<SvREFCNT_inc()>, and
-C<SvREFCNT_dec()> which can query, increment, and decrement reference
-counts on SVs. This document will take a passive, and safe, approach
-to data debugging and for that it will describe only the C<Dump()>
-function.
-
-Function C<DumpArray()> allows dumping of multiple values (useful when you
-need to analyze returns of functions).
-
-The global variable $Devel::Peek::pv_limit can be set to limit the
-number of character printed in various string values. Setting it to 0
-means no limit.
-
-If C<use Devel::Peek> directive has a C<:opd=FLAGS> argument,
-this switches on debugging of opcode dispatch. C<FLAGS> should be a
-combination of C<s>, C<t>, and C<P> (see B<-D> flags in L<perlrun>).
-C<:opd> is a shortcut for C<:opd=st>.
-
-=head2 Runtime debugging
-
-C<CvGV($cv)> return one of the globs associated to a subroutine reference $cv.
-
-debug_flags() returns a string representation of C<$^D> (similar to
-what is allowed for B<-D> flag). When called with a numeric argument,
-sets $^D to the corresponding value. When called with an argument of
-the form C<"flags-flags">, set on/off bits of C<$^D> corresponding to
-letters before/after C<->. (The returned value is for C<$^D> before
-the modification.)
-
-runops_debug() returns true if the current I<opcode dispatcher> is the
-debugging one. When called with an argument, switches to debugging or
-non-debugging dispatcher depending on the argument (active for
-newly-entered subs/etc only). (The returned value is for the dispatcher before the modification.)
-
-=head2 Memory footprint debugging
-
-When perl is compiled with support for memory footprint debugging
-(default with Perl's malloc()), Devel::Peek provides an access to this API.
-
-Use mstat() function to emit a memory state statistic to the terminal.
-For more information on the format of output of mstat() see
-L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>.
-
-Three additional functions allow access to this statistic from Perl.
-First, use C<mstats_fillhash(%hash)> to get the information contained
-in the output of mstat() into %hash. The field of this hash are
-
- minbucket nbuckets sbrk_good sbrk_slack sbrked_remains sbrks start_slack
- topbucket topbucket_ev topbucket_odd total total_chain total_sbrk totfree
-
-Two additional fields C<free>, C<used> contain array references which
-provide per-bucket count of free and used chunks. Two other fields
-C<mem_size>, C<available_size> contain array references which provide
-the information about the allocated size and usable size of chunks in
-each bucket. Again, see L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>
-for details.
-
-Keep in mind that only the first several "odd-numbered" buckets are
-used, so the information on size of the "odd-numbered" buckets which are
-not used is probably meaningless.
-
-The information in
-
- mem_size available_size minbucket nbuckets
-
-is the property of a particular build of perl, and does not depend on
-the current process. If you do not provide the optional argument to
-the functions mstats_fillhash(), fill_mstats(), mstats2hash(), then
-the information in fields C<mem_size>, C<available_size> is not
-updated.
-
-C<fill_mstats($buf)> is a much cheaper call (both speedwise and
-memory-wise) which collects the statistic into $buf in
-machine-readable form. At a later moment you may need to call
-C<mstats2hash($buf, %hash)> to use this information to fill %hash.
-
-All three APIs C<fill_mstats($buf)>, C<mstats_fillhash(%hash)>, and
-C<mstats2hash($buf, %hash)> are designed to allocate no memory if used
-I<the second time> on the same $buf and/or %hash.
-
-So, if you want to collect memory info in a cycle, you may call
-
- $#buf = 999;
- fill_mstats($_) for @buf;
- mstats_fillhash(%report, 1); # Static info too
-
- foreach (@buf) {
- # Do something...
- fill_mstats $_; # Collect statistic
- }
- foreach (@buf) {
- mstats2hash($_, %report); # Preserve static info
- # Do something with %report
- }
-
-=head1 EXAMPLES
-
-The following examples don't attempt to show everything as that would be a
-monumental task, and, frankly, we don't want this manpage to be an internals
-document for Perl. The examples do demonstrate some basics of the raw Perl
-datatypes, and should suffice to get most determined people on their way.
-There are no guidewires or safety nets, nor blazed trails, so be prepared to
-travel alone from this point and on and, if at all possible, don't fall into
-the quicksand (it's bad for business).
-
-Oh, one final bit of advice: take L<perlguts> with you. When you return we
-expect to see it well-thumbed.
-
-=head2 A simple scalar string
-
-Let's begin by looking a simple scalar which is holding a string.
-
- use Devel::Peek;
- $a = "hello";
- Dump $a;
-
-The output:
-
- SV = PVIV(0xbc288)
- REFCNT = 1
- FLAGS = (POK,pPOK)
- IV = 0
- PV = 0xb2048 "hello"\0
- CUR = 5
- LEN = 6
-
-This says C<$a> is an SV, a scalar. The scalar is a PVIV, a string.
-Its reference count is 1. It has the C<POK> flag set, meaning its
-current PV field is valid. Because POK is set we look at the PV item
-to see what is in the scalar. The \0 at the end indicate that this
-PV is properly NUL-terminated.
-If the FLAGS had been IOK we would look
-at the IV item. CUR indicates the number of characters in the PV.
-LEN indicates the number of bytes requested for the PV (one more than
-CUR, in this case, because LEN includes an extra byte for the
-end-of-string marker).
-
-=head2 A simple scalar number
-
-If the scalar contains a number the raw SV will be leaner.
-
- use Devel::Peek;
- $a = 42;
- Dump $a;
-
-The output:
-
- SV = IV(0xbc818)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
-
-This says C<$a> is an SV, a scalar. The scalar is an IV, a number. Its
-reference count is 1. It has the C<IOK> flag set, meaning it is currently
-being evaluated as a number. Because IOK is set we look at the IV item to
-see what is in the scalar.
-
-=head2 A simple scalar with an extra reference
-
-If the scalar from the previous example had an extra reference:
-
- use Devel::Peek;
- $a = 42;
- $b = \$a;
- Dump $a;
-
-The output:
-
- SV = IV(0xbe860)
- REFCNT = 2
- FLAGS = (IOK,pIOK)
- IV = 42
-
-Notice that this example differs from the previous example only in its
-reference count. Compare this to the next example, where we dump C<$b>
-instead of C<$a>.
-
-=head2 A reference to a simple scalar
-
-This shows what a reference looks like when it references a simple scalar.
-
- use Devel::Peek;
- $a = 42;
- $b = \$a;
- Dump $b;
-
-The output:
-
- SV = RV(0xf041c)
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0xbab08
- SV = IV(0xbe860)
- REFCNT = 2
- FLAGS = (IOK,pIOK)
- IV = 42
-
-Starting from the top, this says C<$b> is an SV. The scalar is an RV, a
-reference. It has the C<ROK> flag set, meaning it is a reference. Because
-ROK is set we have an RV item rather than an IV or PV. Notice that Dump
-follows the reference and shows us what C<$b> was referencing. We see the
-same C<$a> that we found in the previous example.
-
-Note that the value of C<RV> coincides with the numbers we see when we
-stringify $b. The addresses inside RV() and IV() are addresses of
-C<X***> structure which holds the current state of an C<SV>. This
-address may change during lifetime of an SV.
-
-=head2 A reference to an array
-
-This shows what a reference to an array looks like.
-
- use Devel::Peek;
- $a = [42];
- Dump $a;
-
-The output:
-
- SV = RV(0xf041c)
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0xb2850
- SV = PVAV(0xbd448)
- REFCNT = 1
- FLAGS = ()
- IV = 0
- NV = 0
- ARRAY = 0xb2048
- ALLOC = 0xb2048
- FILL = 0
- MAX = 0
- ARYLEN = 0x0
- FLAGS = (REAL)
- Elt No. 0 0xb5658
- SV = IV(0xbe860)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
-
-This says C<$a> is an SV and that it is an RV. That RV points to
-another SV which is a PVAV, an array. The array has one element,
-element zero, which is another SV. The field C<FILL> above indicates
-the last element in the array, similar to C<$#$a>.
-
-If C<$a> pointed to an array of two elements then we would see the
-following.
-
- use Devel::Peek 'Dump';
- $a = [42,24];
- Dump $a;
-
-The output:
-
- SV = RV(0xf041c)
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0xb2850
- SV = PVAV(0xbd448)
- REFCNT = 1
- FLAGS = ()
- IV = 0
- NV = 0
- ARRAY = 0xb2048
- ALLOC = 0xb2048
- FILL = 0
- MAX = 0
- ARYLEN = 0x0
- FLAGS = (REAL)
- Elt No. 0 0xb5658
- SV = IV(0xbe860)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
- Elt No. 1 0xb5680
- SV = IV(0xbe818)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 24
-
-Note that C<Dump> will not report I<all> the elements in the array,
-only several first (depending on how deep it already went into the
-report tree).
-
-=head2 A reference to a hash
-
-The following shows the raw form of a reference to a hash.
-
- use Devel::Peek;
- $a = {hello=>42};
- Dump $a;
-
-The output:
-
- SV = RV(0x8177858) at 0x816a618
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0x814fc10
- SV = PVHV(0x8167768) at 0x814fc10
- REFCNT = 1
- FLAGS = (SHAREKEYS)
- IV = 1
- NV = 0
- ARRAY = 0x816c5b8 (0:7, 1:1)
- hash quality = 100.0%
- KEYS = 1
- FILL = 1
- MAX = 7
- RITER = -1
- EITER = 0x0
- Elt "hello" HASH = 0xc8fd181b
- SV = IV(0x816c030) at 0x814fcf4
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 42
-
-This shows C<$a> is a reference pointing to an SV. That SV is a PVHV, a
-hash. Fields RITER and EITER are used by C<L<each>>.
-
-The "quality" of a hash is defined as the total number of comparisons needed
-to access every element once, relative to the expected number needed for a
-random hash. The value can go over 100%.
-
-The total number of comparisons is equal to the sum of the squares of the
-number of entries in each bucket. For a random hash of C<<n>> keys into
-C<<k>> buckets, the expected value is:
-
- n + n(n-1)/2k
-
-=head2 Dumping a large array or hash
-
-The C<Dump()> function, by default, dumps up to 4 elements from a
-toplevel array or hash. This number can be increased by supplying a
-second argument to the function.
-
- use Devel::Peek;
- $a = [10,11,12,13,14];
- Dump $a;
-
-Notice that C<Dump()> prints only elements 10 through 13 in the above code.
-The following code will print all of the elements.
-
- use Devel::Peek 'Dump';
- $a = [10,11,12,13,14];
- Dump $a, 5;
-
-=head2 A reference to an SV which holds a C pointer
-
-This is what you really need to know as an XS programmer, of course. When
-an XSUB returns a pointer to a C structure that pointer is stored in an SV
-and a reference to that SV is placed on the XSUB stack. So the output from
-an XSUB which uses something like the T_PTROBJ map might look something like
-this:
-
- SV = RV(0xf381c)
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0xb8ad8
- SV = PVMG(0xbb3c8)
- REFCNT = 1
- FLAGS = (OBJECT,IOK,pIOK)
- IV = 729160
- NV = 0
- PV = 0
- STASH = 0xc1d10 "CookBookB::Opaque"
-
-This shows that we have an SV which is an RV. That RV points at another
-SV. In this case that second SV is a PVMG, a blessed scalar. Because it is
-blessed it has the C<OBJECT> flag set. Note that an SV which holds a C
-pointer also has the C<IOK> flag set. The C<STASH> is set to the package
-name which this SV was blessed into.
-
-The output from an XSUB which uses something like the T_PTRREF map, which
-doesn't bless the object, might look something like this:
-
- SV = RV(0xf381c)
- REFCNT = 1
- FLAGS = (ROK)
- RV = 0xb8ad8
- SV = PVMG(0xbb3c8)
- REFCNT = 1
- FLAGS = (IOK,pIOK)
- IV = 729160
- NV = 0
- PV = 0
-
-=head2 A reference to a subroutine
-
-Looks like this:
-
- SV = RV(0x798ec)
- REFCNT = 1
- FLAGS = (TEMP,ROK)
- RV = 0x1d453c
- SV = PVCV(0x1c768c)
- REFCNT = 2
- FLAGS = ()
- IV = 0
- NV = 0
- COMP_STASH = 0x31068 "main"
- START = 0xb20e0
- ROOT = 0xbece0
- XSUB = 0x0
- XSUBANY = 0
- GVGV::GV = 0x1d44e8 "MY" :: "top_targets"
- FILE = "(eval 5)"
- DEPTH = 0
- PADLIST = 0x1c9338
-
-This shows that
-
-=over 4
-
-=item *
-
-the subroutine is not an XSUB (since C<START> and C<ROOT> are
-non-zero, and C<XSUB> is zero);
-
-=item *
-
-that it was compiled in the package C<main>;
-
-=item *
-
-under the name C<MY::top_targets>;
-
-=item *
-
-inside a 5th eval in the program;
-
-=item *
-
-it is not currently executed (see C<DEPTH>);
-
-=item *
-
-it has no prototype (C<PROTOTYPE> field is missing).
-
-=back
-
-=head1 EXPORTS
-
-C<Dump>, C<mstat>, C<DeadCode>, C<DumpArray>, C<DumpWithOP> and
-C<DumpProg>, C<fill_mstats>, C<mstats_fillhash>, C<mstats2hash> by
-default. Additionally available C<SvREFCNT>, C<SvREFCNT_inc> and
-C<SvREFCNT_dec>.
-
-=head1 BUGS
-
-Readers have been known to skip important parts of L<perlguts>, causing much
-frustration for all.
-
-=head1 AUTHOR
-
-Ilya Zakharevich ilya@math.ohio-state.edu
-
-Copyright (c) 1995-98 Ilya Zakharevich. All rights reserved.
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-Author of this software makes no claim whatsoever about suitability,
-reliability, edability, editability or usability of this product, and
-should not be kept liable for any damage resulting from the use of
-it. If you can use it, you are in luck, if not, I should not be kept
-responsible. Keep a handy copy of your backup tape at hand.
-
-=head1 SEE ALSO
-
-L<perlguts>, and L<perlguts>, again.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/MD5.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/MD5.pm
deleted file mode 100644
index e9ff18e93a8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/MD5.pm
+++ /dev/null
@@ -1,376 +0,0 @@
-package Digest::MD5;
-
-use strict;
-use vars qw($VERSION @ISA @EXPORT_OK);
-
-$VERSION = '2.36_01'; # $Date: 2005/11/30 13:46:47 $
-
-require Exporter;
-*import = \&Exporter::import;
-@EXPORT_OK = qw(md5 md5_hex md5_base64);
-
-eval {
- require Digest::base;
- push(@ISA, 'Digest::base');
-};
-if ($@) {
- my $err = $@;
- *add_bits = sub { die $err };
-}
-
-
-eval {
- require XSLoader;
- XSLoader::load('Digest::MD5', $VERSION);
-};
-if ($@) {
- my $olderr = $@;
- eval {
- # Try to load the pure perl version
- require Digest::Perl::MD5;
-
- Digest::Perl::MD5->import(qw(md5 md5_hex md5_base64));
- push(@ISA, "Digest::Perl::MD5"); # make OO interface work
- };
- if ($@) {
- # restore the original error
- die $olderr;
- }
-}
-else {
- *reset = \&new;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Digest::MD5 - Perl interface to the MD5 Algorithm
-
-=head1 SYNOPSIS
-
- # Functional style
- use Digest::MD5 qw(md5 md5_hex md5_base64);
-
- $digest = md5($data);
- $digest = md5_hex($data);
- $digest = md5_base64($data);
-
- # OO style
- use Digest::MD5;
-
- $ctx = Digest::MD5->new;
-
- $ctx->add($data);
- $ctx->addfile(*FILE);
-
- $digest = $ctx->digest;
- $digest = $ctx->hexdigest;
- $digest = $ctx->b64digest;
-
-=head1 DESCRIPTION
-
-The C<Digest::MD5> module allows you to use the RSA Data Security
-Inc. MD5 Message Digest algorithm from within Perl programs. The
-algorithm takes as input a message of arbitrary length and produces as
-output a 128-bit "fingerprint" or "message digest" of the input.
-
-Note that the MD5 algorithm is not as strong as it used to be. It has
-since 2005 been easy to generate different messages that produce the
-same MD5 digest. It still seems hard to generate messages that
-produce a given digest, but it is probably wise to move to stronger
-algorithms for applications that depend on the digest to uniquely identify
-a message.
-
-The C<Digest::MD5> module provide a procedural interface for simple
-use, as well as an object oriented interface that can handle messages
-of arbitrary length and which can read files directly.
-
-=head1 FUNCTIONS
-
-The following functions are provided by the C<Digest::MD5> module.
-None of these functions are exported by default.
-
-=over 4
-
-=item md5($data,...)
-
-This function will concatenate all arguments, calculate the MD5 digest
-of this "message", and return it in binary form. The returned string
-will be 16 bytes long.
-
-The result of md5("a", "b", "c") will be exactly the same as the
-result of md5("abc").
-
-=item md5_hex($data,...)
-
-Same as md5(), but will return the digest in hexadecimal form. The
-length of the returned string will be 32 and it will only contain
-characters from this set: '0'..'9' and 'a'..'f'.
-
-=item md5_base64($data,...)
-
-Same as md5(), but will return the digest as a base64 encoded string.
-The length of the returned string will be 22 and it will only contain
-characters from this set: 'A'..'Z', 'a'..'z', '0'..'9', '+' and
-'/'.
-
-Note that the base64 encoded string returned is not padded to be a
-multiple of 4 bytes long. If you want interoperability with other
-base64 encoded md5 digests you might want to append the redundant
-string "==" to the result.
-
-=back
-
-=head1 METHODS
-
-The object oriented interface to C<Digest::MD5> is described in this
-section. After a C<Digest::MD5> object has been created, you will add
-data to it and finally ask for the digest in a suitable format. A
-single object can be used to calculate multiple digests.
-
-The following methods are provided:
-
-=over 4
-
-=item $md5 = Digest::MD5->new
-
-The constructor returns a new C<Digest::MD5> object which encapsulate
-the state of the MD5 message-digest algorithm.
-
-If called as an instance method (i.e. $md5->new) it will just reset the
-state the object to the state of a newly created object. No new
-object is created in this case.
-
-=item $md5->reset
-
-This is just an alias for $md5->new.
-
-=item $md5->clone
-
-This a copy of the $md5 object. It is useful when you do not want to
-destroy the digests state, but need an intermediate value of the
-digest, e.g. when calculating digests iteratively on a continuous data
-stream. Example:
-
- my $md5 = Digest::MD5->new;
- while (<>) {
- $md5->add($_);
- print "Line $.: ", $md5->clone->hexdigest, "\n";
- }
-
-=item $md5->add($data,...)
-
-The $data provided as argument are appended to the message we
-calculate the digest for. The return value is the $md5 object itself.
-
-All these lines will have the same effect on the state of the $md5
-object:
-
- $md5->add("a"); $md5->add("b"); $md5->add("c");
- $md5->add("a")->add("b")->add("c");
- $md5->add("a", "b", "c");
- $md5->add("abc");
-
-=item $md5->addfile($io_handle)
-
-The $io_handle will be read until EOF and its content appended to the
-message we calculate the digest for. The return value is the $md5
-object itself.
-
-The addfile() method will croak() if it fails reading data for some
-reason. If it croaks it is unpredictable what the state of the $md5
-object will be in. The addfile() method might have been able to read
-the file partially before it failed. It is probably wise to discard
-or reset the $md5 object if this occurs.
-
-In most cases you want to make sure that the $io_handle is in
-C<binmode> before you pass it as argument to the addfile() method.
-
-=item $md5->add_bits($data, $nbits)
-
-=item $md5->add_bits($bitstring)
-
-Since the MD5 algorithm is byte oriented you might only add bits as
-multiples of 8, so you probably want to just use add() instead. The
-add_bits() method is provided for compatibility with other digest
-implementations. See L<Digest> for description of the arguments
-that add_bits() take.
-
-=item $md5->digest
-
-Return the binary digest for the message. The returned string will be
-16 bytes long.
-
-Note that the C<digest> operation is effectively a destructive,
-read-once operation. Once it has been performed, the C<Digest::MD5>
-object is automatically C<reset> and can be used to calculate another
-digest value. Call $md5->clone->digest if you want to calculate the
-digest without resetting the digest state.
-
-=item $md5->hexdigest
-
-Same as $md5->digest, but will return the digest in hexadecimal
-form. The length of the returned string will be 32 and it will only
-contain characters from this set: '0'..'9' and 'a'..'f'.
-
-=item $md5->b64digest
-
-Same as $md5->digest, but will return the digest as a base64 encoded
-string. The length of the returned string will be 22 and it will only
-contain characters from this set: 'A'..'Z', 'a'..'z', '0'..'9', '+'
-and '/'.
-
-
-The base64 encoded string returned is not padded to be a multiple of 4
-bytes long. If you want interoperability with other base64 encoded
-md5 digests you might want to append the string "==" to the result.
-
-=back
-
-
-=head1 EXAMPLES
-
-The simplest way to use this library is to import the md5_hex()
-function (or one of its cousins):
-
- use Digest::MD5 qw(md5_hex);
- print "Digest is ", md5_hex("foobarbaz"), "\n";
-
-The above example would print out the message:
-
- Digest is 6df23dc03f9b54cc38a0fc1483df6e21
-
-The same checksum can also be calculated in OO style:
-
- use Digest::MD5;
-
- $md5 = Digest::MD5->new;
- $md5->add('foo', 'bar');
- $md5->add('baz');
- $digest = $md5->hexdigest;
-
- print "Digest is $digest\n";
-
-With OO style you can break the message arbitrary. This means that we
-are no longer limited to have space for the whole message in memory, i.e.
-we can handle messages of any size.
-
-This is useful when calculating checksum for files:
-
- use Digest::MD5;
-
- my $file = shift || "/etc/passwd";
- open(FILE, $file) or die "Can't open '$file': $!";
- binmode(FILE);
-
- $md5 = Digest::MD5->new;
- while (<FILE>) {
- $md5->add($_);
- }
- close(FILE);
- print $md5->b64digest, " $file\n";
-
-Or we can use the addfile method for more efficient reading of
-the file:
-
- use Digest::MD5;
-
- my $file = shift || "/etc/passwd";
- open(FILE, $file) or die "Can't open '$file': $!";
- binmode(FILE);
-
- print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
-
-Perl 5.8 support Unicode characters in strings. Since the MD5
-algorithm is only defined for strings of bytes, it can not be used on
-strings that contains chars with ordinal number above 255. The MD5
-functions and methods will croak if you try to feed them such input
-data:
-
- use Digest::MD5 qw(md5_hex);
-
- my $str = "abc\x{300}";
- print md5_hex($str), "\n"; # croaks
- # Wide character in subroutine entry
-
-What you can do is calculate the MD5 checksum of the UTF-8
-representation of such strings. This is achieved by filtering the
-string through encode_utf8() function:
-
- use Digest::MD5 qw(md5_hex);
- use Encode qw(encode_utf8);
-
- my $str = "abc\x{300}";
- print md5_hex(encode_utf8($str)), "\n";
- # 8c2d46911f3f5a326455f0ed7a8ed3b3
-
-=head1 SEE ALSO
-
-L<Digest>,
-L<Digest::MD2>,
-L<Digest::SHA1>,
-L<Digest::HMAC>
-
-L<md5sum(1)>
-
-RFC 1321
-
-http://en.wikipedia.org/wiki/MD5
-
-The paper "How to Break MD5 and Other Hash Functions" by Xiaoyun Wang
-and Hongbo Yu.
-
-=head1 COPYRIGHT
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
- Copyright 1998-2003 Gisle Aas.
- Copyright 1995-1996 Neil Winton.
- Copyright 1991-1992 RSA Data Security, Inc.
-
-The MD5 algorithm is defined in RFC 1321. This implementation is
-derived from the reference C code in RFC 1321 which is covered by
-the following copyright statement:
-
-=over 4
-
-=item
-
-Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
-
-=back
-
-This copyright does not prohibit distribution of any version of Perl
-containing this extension under the terms of the GNU or Artistic
-licenses.
-
-=head1 AUTHORS
-
-The original C<MD5> interface was written by Neil Winton
-(C<N.Winton@axion.bt.co.uk>).
-
-The C<Digest::MD5> module is written by Gisle Aas <gisle@ActiveState.com>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/SHA.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Digest/SHA.pm
deleted file mode 100644
index d57c16fce59..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/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/5.10/i686-cygwin/DynaLoader.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DynaLoader.pm
deleted file mode 100644
index 72cb2f9b32f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/DynaLoader.pm
+++ /dev/null
@@ -1,773 +0,0 @@
-
-# Generated from DynaLoader_pm.PL
-
-package DynaLoader;
-
-# And Gandalf said: 'Many folk like to know beforehand what is to
-# be set on the table; but those who have laboured to prepare the
-# feast like to keep their secret; for wonder makes the words of
-# praise louder.'
-
-# (Quote from Tolkien suggested by Anno Siegel.)
-#
-# See pod text at end of file for documentation.
-# See also ext/DynaLoader/README in source tree for other information.
-#
-# Tim.Bunce@ig.co.uk, August 1994
-
-BEGIN {
- $VERSION = '1.09';
-}
-
-require AutoLoader;
-*AUTOLOAD = \&AutoLoader::AUTOLOAD;
-
-use Config;
-
-# enable debug/trace messages from DynaLoader perl code
-$dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
-
-#
-# Flags to alter dl_load_file behaviour. Assigned bits:
-# 0x01 make symbols available for linking later dl_load_file's.
-# (only known to work on Solaris 2 using dlopen(RTLD_GLOBAL))
-# (ignored under VMS; effect is built-in to image linking)
-#
-# This is called as a class method $module->dl_load_flags. The
-# definition here will be inherited and result on "default" loading
-# behaviour unless a sub-class of DynaLoader defines its own version.
-#
-
-sub dl_load_flags { 0x00 }
-
-($dl_dlext, $dl_so, $dlsrc) = @Config::Config{qw(dlext so dlsrc)};
-
-
-$do_expand = 0;
-
-
-
-@dl_require_symbols = (); # names of symbols we need
-@dl_resolve_using = (); # names of files to link with
-@dl_library_path = (); # path to look for files
-
-#XSLoader.pm may have added elements before we were required
-#@dl_shared_objects = (); # shared objects for symbols we have
-#@dl_librefs = (); # things we have loaded
-#@dl_modules = (); # Modules we have loaded
-
-# This is a fix to support DLD's unfortunate desire to relink -lc
-@dl_resolve_using = dl_findfile('-lc') if $dlsrc eq "dl_dld.xs";
-
-# Initialise @dl_library_path with the 'standard' library path
-# for this platform as determined by Configure.
-
-push(@dl_library_path, split(' ', $Config::Config{libpth}));
-
-
-my $ldlibpthname = $Config::Config{ldlibpthname};
-my $ldlibpthname_defined = defined $Config::Config{ldlibpthname};
-my $pthsep = $Config::Config{path_sep};
-
-# Add to @dl_library_path any extra directories we can gather from environment
-# during runtime.
-
-if ($ldlibpthname_defined &&
- exists $ENV{$ldlibpthname}) {
- push(@dl_library_path, split(/$pthsep/, $ENV{$ldlibpthname}));
-}
-
-# E.g. HP-UX supports both its native SHLIB_PATH *and* LD_LIBRARY_PATH.
-
-if ($ldlibpthname_defined &&
- $ldlibpthname ne 'LD_LIBRARY_PATH' &&
- exists $ENV{LD_LIBRARY_PATH}) {
- push(@dl_library_path, split(/$pthsep/, $ENV{LD_LIBRARY_PATH}));
-}
-
-
-# No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
-# NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB
-boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) &&
- !defined(&dl_error);
-
-if ($dl_debug) {
- print STDERR "DynaLoader.pm loaded (@INC, @dl_library_path)\n";
- print STDERR "DynaLoader not linked into this perl\n"
- unless defined(&boot_DynaLoader);
-}
-
-1; # End of main code
-
-
-sub croak { require Carp; Carp::croak(@_) }
-
-sub bootstrap_inherit {
- my $module = $_[0];
- local *isa = *{"$module\::ISA"};
- local @isa = (@isa, 'DynaLoader');
- # Cannot goto due to delocalization. Will report errors on a wrong line?
- bootstrap(@_);
-}
-
-# The bootstrap function cannot be autoloaded (without complications)
-# so we define it here:
-
-sub bootstrap {
- # use local vars to enable $module.bs script to edit values
- local(@args) = @_;
- local($module) = $args[0];
- local(@dirs, $file);
-
- unless ($module) {
- require Carp;
- Carp::confess("Usage: DynaLoader::bootstrap(module)");
- }
-
- # A common error on platforms which don't support dynamic loading.
- # Since it's fatal and potentially confusing we give a detailed message.
- croak("Can't load module $module, dynamic loading not available in this perl.\n".
- " (You may need to build a new perl executable which either supports\n".
- " dynamic loading or has the $module module statically linked into it.)\n")
- unless defined(&dl_load_file);
-
-
-
- my @modparts = split(/::/,$module);
- my $modfname = $modparts[-1];
-
- # Some systems have restrictions on files names for DLL's etc.
- # mod2fname returns appropriate file base name (typically truncated)
- # It may also edit @modparts if required.
- $modfname = &mod2fname(\@modparts) if defined &mod2fname;
-
-
-
- my $modpname = join('/',@modparts);
-
- print STDERR "DynaLoader::bootstrap for $module ",
- "(auto/$modpname/$modfname.$dl_dlext)\n"
- if $dl_debug;
-
- foreach (@INC) {
-
-
- my $dir = "$_/auto/$modpname";
-
-
- next unless -d $dir; # skip over uninteresting directories
-
- # check for common cases to avoid autoload of dl_findfile
- my $try = "$dir/$modfname.$dl_dlext";
- last if $file = (-f $try) && $try;
-
-
- # no luck here, save dir for possible later dl_findfile search
- push @dirs, $dir;
- }
- # last resort, let dl_findfile have a go in all known locations
- $file = dl_findfile(map("-L$_",@dirs,@INC), $modfname) unless $file;
-
- croak("Can't locate loadable object for module $module in \@INC (\@INC contains: @INC)")
- unless $file; # wording similar to error from 'require'
-
-
- my $bootname = "boot_$module";
- $bootname =~ s/\W/_/g;
- @dl_require_symbols = ($bootname);
-
- # Execute optional '.bootstrap' perl script for this module.
- # The .bs file can be used to configure @dl_resolve_using etc to
- # match the needs of the individual module on this architecture.
- my $bs = $file;
- $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library
- if (-s $bs) { # only read file if it's not empty
- print STDERR "BS: $bs ($^O, $dlsrc)\n" if $dl_debug;
- eval { do $bs; };
- warn "$bs: $@\n" if $@;
- }
-
- my $boot_symbol_ref;
-
-
-
- # Many dynamic extension loading problems will appear to come from
- # this section of code: XYZ failed at line 123 of DynaLoader.pm.
- # Often these errors are actually occurring in the initialisation
- # C code of the extension XS file. Perl reports the error as being
- # in this perl code simply because this was the last perl code
- # it executed.
-
- my $libref = dl_load_file($file, $module->dl_load_flags) or
- croak("Can't load '$file' for module $module: ".dl_error());
-
- push(@dl_librefs,$libref); # record loaded object
-
- my @unresolved = dl_undef_symbols();
- if (@unresolved) {
- require Carp;
- Carp::carp("Undefined symbols present after loading $file: @unresolved\n");
- }
-
- $boot_symbol_ref = dl_find_symbol($libref, $bootname) or
- croak("Can't find '$bootname' symbol in $file\n");
-
- push(@dl_modules, $module); # record loaded module
-
- boot:
- my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
-
- # See comment block above
-
- push(@dl_shared_objects, $file); # record files loaded
-
- &$xs(@args);
-}
-
-
-#sub _check_file { # private utility to handle dl_expandspec vs -f tests
-# my($file) = @_;
-# return $file if (!$do_expand && -f $file); # the common case
-# return $file if ( $do_expand && ($file=dl_expandspec($file)));
-# return undef;
-#}
-
-
-# Let autosplit and the autoloader deal with these functions:
-__END__
-
-
-sub dl_findfile {
- # Read ext/DynaLoader/DynaLoader.doc for detailed information.
- # This function does not automatically consider the architecture
- # or the perl library auto directories.
- my (@args) = @_;
- my (@dirs, $dir); # which directories to search
- my (@found); # full paths to real files we have found
- #my $dl_ext= 'dll'; # $Config::Config{'dlext'} suffix for perl extensions
- #my $dl_so = 'dll'; # $Config::Config{'so'} suffix for shared libraries
-
- print STDERR "dl_findfile(@args)\n" if $dl_debug;
-
- # accumulate directories but process files as they appear
- arg: foreach(@args) {
- # Special fast case: full filepath requires no search
-
-
-
- if (m:/: && -f $_) {
- push(@found,$_);
- last arg unless wantarray;
- next;
- }
-
-
- # Deal with directories first:
- # Using a -L prefix is the preferred option (faster and more robust)
- if (m:^-L:) { s/^-L//; push(@dirs, $_); next; }
-
-
-
- # Otherwise we try to try to spot directories by a heuristic
- # (this is a more complicated issue than it first appears)
- if (m:/: && -d $_) { push(@dirs, $_); next; }
-
-
-
- # Only files should get this far...
- my(@names, $name); # what filenames to look for
- if (m:-l: ) { # convert -lname to appropriate library name
- s/-l//;
- push(@names,"lib$_.$dl_so");
- push(@names,"lib$_.a");
- } else { # Umm, a bare name. Try various alternatives:
- # these should be ordered with the most likely first
- push(@names,"$_.$dl_dlext") unless m/\.$dl_dlext$/o;
- push(@names,"$_.$dl_so") unless m/\.$dl_so$/o;
- push(@names,"cyg$_.") if !m:/: and $^O eq 'cygwin';
- push(@names,"lib$_.$dl_so") unless m:/:;
- push(@names,"$_.a") if !m/\.a$/ and $dlsrc eq "dl_dld.xs";
- push(@names, $_);
- }
- my $dirsep = '/';
-
- foreach $dir (@dirs, @dl_library_path) {
- next unless -d $dir;
-
- foreach $name (@names) {
- my($file) = "$dir$dirsep$name";
- print STDERR " checking in $dir for $name\n" if $dl_debug;
- $file = ($do_expand) ? dl_expandspec($file) : (-f $file && $file);
- #$file = _check_file($file);
- if ($file) {
- push(@found, $file);
- next arg; # no need to look any further
- }
- }
- }
- }
- if ($dl_debug) {
- foreach(@dirs) {
- print STDERR " dl_findfile ignored non-existent directory: $_\n" unless -d $_;
- }
- print STDERR "dl_findfile found: @found\n";
- }
- return $found[0] unless wantarray;
- @found;
-}
-
-
-sub dl_expandspec {
- my($spec) = @_;
- # Optional function invoked if DynaLoader.pm sets $do_expand.
- # Most systems do not require or use this function.
- # Some systems may implement it in the dl_*.xs file in which case
- # this autoload version will not be called but is harmless.
-
- # This function is designed to deal with systems which treat some
- # 'filenames' in a special way. For example VMS 'Logical Names'
- # (something like unix environment variables - but different).
- # This function should recognise such names and expand them into
- # full file paths.
- # Must return undef if $spec is invalid or file does not exist.
-
- my $file = $spec; # default output to input
-
-
- return undef unless -f $file;
-
- print STDERR "dl_expandspec($spec) => $file\n" if $dl_debug;
- $file;
-}
-
-sub dl_find_symbol_anywhere
-{
- my $sym = shift;
- my $libref;
- foreach $libref (@dl_librefs) {
- my $symref = dl_find_symbol($libref,$sym);
- return $symref if $symref;
- }
- return undef;
-}
-
-=head1 NAME
-
-DynaLoader - Dynamically load C libraries into Perl code
-
-=head1 SYNOPSIS
-
- package YourPackage;
- require DynaLoader;
- @ISA = qw(... DynaLoader ...);
- bootstrap YourPackage;
-
- # optional method for 'global' loading
- sub dl_load_flags { 0x01 }
-
-
-=head1 DESCRIPTION
-
-This document defines a standard generic interface to the dynamic
-linking mechanisms available on many platforms. Its primary purpose is
-to implement automatic dynamic loading of Perl modules.
-
-This document serves as both a specification for anyone wishing to
-implement the DynaLoader for a new platform and as a guide for
-anyone wishing to use the DynaLoader directly in an application.
-
-The DynaLoader is designed to be a very simple high-level
-interface that is sufficiently general to cover the requirements
-of SunOS, HP-UX, NeXT, Linux, VMS and other platforms.
-
-It is also hoped that the interface will cover the needs of OS/2, NT
-etc and also allow pseudo-dynamic linking (using C<ld -A> at runtime).
-
-It must be stressed that the DynaLoader, by itself, is practically
-useless for accessing non-Perl libraries because it provides almost no
-Perl-to-C 'glue'. There is, for example, no mechanism for calling a C
-library function or supplying arguments. A C::DynaLib module
-is available from CPAN sites which performs that function for some
-common system types. And since the year 2000, there's also Inline::C,
-a module that allows you to write Perl subroutines in C. Also available
-from your local CPAN site.
-
-DynaLoader Interface Summary
-
- @dl_library_path
- @dl_resolve_using
- @dl_require_symbols
- $dl_debug
- @dl_librefs
- @dl_modules
- @dl_shared_objects
- Implemented in:
- bootstrap($modulename) Perl
- @filepaths = dl_findfile(@names) Perl
- $flags = $modulename->dl_load_flags Perl
- $symref = dl_find_symbol_anywhere($symbol) Perl
-
- $libref = dl_load_file($filename, $flags) C
- $status = dl_unload_file($libref) C
- $symref = dl_find_symbol($libref, $symbol) C
- @symbols = dl_undef_symbols() C
- dl_install_xsub($name, $symref [, $filename]) C
- $message = dl_error C
-
-=over 4
-
-=item @dl_library_path
-
-The standard/default list of directories in which dl_findfile() will
-search for libraries etc. Directories are searched in order:
-$dl_library_path[0], [1], ... etc
-
-@dl_library_path is initialised to hold the list of 'normal' directories
-(F</usr/lib>, etc) determined by B<Configure> (C<$Config{'libpth'}>). This should
-ensure portability across a wide range of platforms.
-
-@dl_library_path should also be initialised with any other directories
-that can be determined from the environment at runtime (such as
-LD_LIBRARY_PATH for SunOS).
-
-After initialisation @dl_library_path can be manipulated by an
-application using push and unshift before calling dl_findfile().
-Unshift can be used to add directories to the front of the search order
-either to save search time or to override libraries with the same name
-in the 'normal' directories.
-
-The load function that dl_load_file() calls may require an absolute
-pathname. The dl_findfile() function and @dl_library_path can be
-used to search for and return the absolute pathname for the
-library/object that you wish to load.
-
-=item @dl_resolve_using
-
-A list of additional libraries or other shared objects which can be
-used to resolve any undefined symbols that might be generated by a
-later call to load_file().
-
-This is only required on some platforms which do not handle dependent
-libraries automatically. For example the Socket Perl extension
-library (F<auto/Socket/Socket.so>) contains references to many socket
-functions which need to be resolved when it's loaded. Most platforms
-will automatically know where to find the 'dependent' library (e.g.,
-F</usr/lib/libsocket.so>). A few platforms need to be told the
-location of the dependent library explicitly. Use @dl_resolve_using
-for this.
-
-Example usage:
-
- @dl_resolve_using = dl_findfile('-lsocket');
-
-=item @dl_require_symbols
-
-A list of one or more symbol names that are in the library/object file
-to be dynamically loaded. This is only required on some platforms.
-
-=item @dl_librefs
-
-An array of the handles returned by successful calls to dl_load_file(),
-made by bootstrap, in the order in which they were loaded.
-Can be used with dl_find_symbol() to look for a symbol in any of
-the loaded files.
-
-=item @dl_modules
-
-An array of module (package) names that have been bootstrap'ed.
-
-=item @dl_shared_objects
-
-An array of file names for the shared objects that were loaded.
-
-=item dl_error()
-
-Syntax:
-
- $message = dl_error();
-
-Error message text from the last failed DynaLoader function. Note
-that, similar to errno in unix, a successful function call does not
-reset this message.
-
-Implementations should detect the error as soon as it occurs in any of
-the other functions and save the corresponding message for later
-retrieval. This will avoid problems on some platforms (such as SunOS)
-where the error message is very temporary (e.g., dlerror()).
-
-=item $dl_debug
-
-Internal debugging messages are enabled when $dl_debug is set true.
-Currently setting $dl_debug only affects the Perl side of the
-DynaLoader. These messages should help an application developer to
-resolve any DynaLoader usage problems.
-
-$dl_debug is set to C<$ENV{'PERL_DL_DEBUG'}> if defined.
-
-For the DynaLoader developer/porter there is a similar debugging
-variable added to the C code (see dlutils.c) and enabled if Perl was
-built with the B<-DDEBUGGING> flag. This can also be set via the
-PERL_DL_DEBUG environment variable. Set to 1 for minimal information or
-higher for more.
-
-=item dl_findfile()
-
-Syntax:
-
- @filepaths = dl_findfile(@names)
-
-Determine the full paths (including file suffix) of one or more
-loadable files given their generic names and optionally one or more
-directories. Searches directories in @dl_library_path by default and
-returns an empty list if no files were found.
-
-Names can be specified in a variety of platform independent forms. Any
-names in the form B<-lname> are converted into F<libname.*>, where F<.*> is
-an appropriate suffix for the platform.
-
-If a name does not already have a suitable prefix and/or suffix then
-the corresponding file will be searched for by trying combinations of
-prefix and suffix appropriate to the platform: "$name.o", "lib$name.*"
-and "$name".
-
-If any directories are included in @names they are searched before
-@dl_library_path. Directories may be specified as B<-Ldir>. Any other
-names are treated as filenames to be searched for.
-
-Using arguments of the form C<-Ldir> and C<-lname> is recommended.
-
-Example:
-
- @dl_resolve_using = dl_findfile(qw(-L/usr/5lib -lposix));
-
-
-=item dl_expandspec()
-
-Syntax:
-
- $filepath = dl_expandspec($spec)
-
-Some unusual systems, such as VMS, require special filename handling in
-order to deal with symbolic names for files (i.e., VMS's Logical Names).
-
-To support these systems a dl_expandspec() function can be implemented
-either in the F<dl_*.xs> file or code can be added to the autoloadable
-dl_expandspec() function in F<DynaLoader.pm>. See F<DynaLoader.pm> for
-more information.
-
-=item dl_load_file()
-
-Syntax:
-
- $libref = dl_load_file($filename, $flags)
-
-Dynamically load $filename, which must be the path to a shared object
-or library. An opaque 'library reference' is returned as a handle for
-the loaded object. Returns undef on error.
-
-The $flags argument to alters dl_load_file behaviour.
-Assigned bits:
-
- 0x01 make symbols available for linking later dl_load_file's.
- (only known to work on Solaris 2 using dlopen(RTLD_GLOBAL))
- (ignored under VMS; this is a normal part of image linking)
-
-(On systems that provide a handle for the loaded object such as SunOS
-and HPUX, $libref will be that handle. On other systems $libref will
-typically be $filename or a pointer to a buffer containing $filename.
-The application should not examine or alter $libref in any way.)
-
-This is the function that does the real work. It should use the
-current values of @dl_require_symbols and @dl_resolve_using if required.
-
- SunOS: dlopen($filename)
- HP-UX: shl_load($filename)
- Linux: dld_create_reference(@dl_require_symbols); dld_link($filename)
- NeXT: rld_load($filename, @dl_resolve_using)
- VMS: lib$find_image_symbol($filename,$dl_require_symbols[0])
-
-(The dlopen() function is also used by Solaris and some versions of
-Linux, and is a common choice when providing a "wrapper" on other
-mechanisms as is done in the OS/2 port.)
-
-=item dl_unload_file()
-
-Syntax:
-
- $status = dl_unload_file($libref)
-
-Dynamically unload $libref, which must be an opaque 'library reference' as
-returned from dl_load_file. Returns one on success and zero on failure.
-
-This function is optional and may not necessarily be provided on all platforms.
-If it is defined, it is called automatically when the interpreter exits for
-every shared object or library loaded by DynaLoader::bootstrap. All such
-library references are stored in @dl_librefs by DynaLoader::Bootstrap as it
-loads the libraries. The files are unloaded in last-in, first-out order.
-
-This unloading is usually necessary when embedding a shared-object perl (e.g.
-one configured with -Duseshrplib) within a larger application, and the perl
-interpreter is created and destroyed several times within the lifetime of the
-application. In this case it is possible that the system dynamic linker will
-unload and then subsequently reload the shared libperl without relocating any
-references to it from any files DynaLoaded by the previous incarnation of the
-interpreter. As a result, any shared objects opened by DynaLoader may point to
-a now invalid 'ghost' of the libperl shared object, causing apparently random
-memory corruption and crashes. This behaviour is most commonly seen when using
-Apache and mod_perl built with the APXS mechanism.
-
- SunOS: dlclose($libref)
- HP-UX: ???
- Linux: ???
- NeXT: ???
- VMS: ???
-
-(The dlclose() function is also used by Solaris and some versions of
-Linux, and is a common choice when providing a "wrapper" on other
-mechanisms as is done in the OS/2 port.)
-
-=item dl_load_flags()
-
-Syntax:
-
- $flags = dl_load_flags $modulename;
-
-Designed to be a method call, and to be overridden by a derived class
-(i.e. a class which has DynaLoader in its @ISA). The definition in
-DynaLoader itself returns 0, which produces standard behavior from
-dl_load_file().
-
-=item dl_find_symbol()
-
-Syntax:
-
- $symref = dl_find_symbol($libref, $symbol)
-
-Return the address of the symbol $symbol or C<undef> if not found. If the
-target system has separate functions to search for symbols of different
-types then dl_find_symbol() should search for function symbols first and
-then other types.
-
-The exact manner in which the address is returned in $symref is not
-currently defined. The only initial requirement is that $symref can
-be passed to, and understood by, dl_install_xsub().
-
- SunOS: dlsym($libref, $symbol)
- HP-UX: shl_findsym($libref, $symbol)
- Linux: dld_get_func($symbol) and/or dld_get_symbol($symbol)
- NeXT: rld_lookup("_$symbol")
- VMS: lib$find_image_symbol($libref,$symbol)
-
-
-=item dl_find_symbol_anywhere()
-
-Syntax:
-
- $symref = dl_find_symbol_anywhere($symbol)
-
-Applies dl_find_symbol() to the members of @dl_librefs and returns
-the first match found.
-
-=item dl_undef_symbols()
-
-Example
-
- @symbols = dl_undef_symbols()
-
-Return a list of symbol names which remain undefined after load_file().
-Returns C<()> if not known. Don't worry if your platform does not provide
-a mechanism for this. Most do not need it and hence do not provide it,
-they just return an empty list.
-
-
-=item dl_install_xsub()
-
-Syntax:
-
- dl_install_xsub($perl_name, $symref [, $filename])
-
-Create a new Perl external subroutine named $perl_name using $symref as
-a pointer to the function which implements the routine. This is simply
-a direct call to newXSUB(). Returns a reference to the installed
-function.
-
-The $filename parameter is used by Perl to identify the source file for
-the function if required by die(), caller() or the debugger. If
-$filename is not defined then "DynaLoader" will be used.
-
-
-=item bootstrap()
-
-Syntax:
-
-bootstrap($module)
-
-This is the normal entry point for automatic dynamic loading in Perl.
-
-It performs the following actions:
-
-=over 8
-
-=item *
-
-locates an auto/$module directory by searching @INC
-
-=item *
-
-uses dl_findfile() to determine the filename to load
-
-=item *
-
-sets @dl_require_symbols to C<("boot_$module")>
-
-=item *
-
-executes an F<auto/$module/$module.bs> file if it exists
-(typically used to add to @dl_resolve_using any files which
-are required to load the module on the current platform)
-
-=item *
-
-calls dl_load_flags() to determine how to load the file.
-
-=item *
-
-calls dl_load_file() to load the file
-
-=item *
-
-calls dl_undef_symbols() and warns if any symbols are undefined
-
-=item *
-
-calls dl_find_symbol() for "boot_$module"
-
-=item *
-
-calls dl_install_xsub() to install it as "${module}::bootstrap"
-
-=item *
-
-calls &{"${module}::bootstrap"} to bootstrap the module (actually
-it uses the function reference returned by dl_install_xsub for speed)
-
-=back
-
-=back
-
-
-=head1 AUTHOR
-
-Tim Bunce, 11 August 1994.
-
-This interface is based on the work and comments of (in no particular
-order): Larry Wall, Robert Sanders, Dean Roehrich, Jeff Okamoto, Anno
-Siegel, Thomas Neumann, Paul Marquess, Charles Bailey, myself and others.
-
-Larry Wall designed the elegant inherited bootstrap mechanism and
-implemented the first Perl 5 dynamic loader using it.
-
-Solaris global loading added by Nick Ing-Simmons with design/coding
-assistance from Tim Bunce, January 1996.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode.pm
deleted file mode 100644
index 24a544a7a02..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode.pm
+++ /dev/null
@@ -1,948 +0,0 @@
-#
-# $Id: Encode.pm,v 2.25 2008/05/07 20:56:05 dankogai Exp dankogai $
-#
-package Encode;
-use strict;
-use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.25 $ =~ /(\d+)/g;
-sub DEBUG () { 0 }
-use XSLoader ();
-XSLoader::load( __PACKAGE__, $VERSION );
-
-require Exporter;
-use base qw/Exporter/;
-
-# Public, encouraged API is exported by default
-
-our @EXPORT = qw(
- decode decode_utf8 encode encode_utf8 str2bytes bytes2str
- encodings find_encoding clone_encoding
-);
-our @FB_FLAGS = qw(
- DIE_ON_ERR WARN_ON_ERR RETURN_ON_ERR LEAVE_SRC
- PERLQQ HTMLCREF XMLCREF STOP_AT_PARTIAL
-);
-our @FB_CONSTS = qw(
- FB_DEFAULT FB_CROAK FB_QUIET FB_WARN
- FB_PERLQQ FB_HTMLCREF FB_XMLCREF
-);
-our @EXPORT_OK = (
- qw(
- _utf8_off _utf8_on define_encoding from_to is_16bit is_8bit
- is_utf8 perlio_ok resolve_alias utf8_downgrade utf8_upgrade
- ),
- @FB_FLAGS, @FB_CONSTS,
-);
-
-our %EXPORT_TAGS = (
- all => [ @EXPORT, @EXPORT_OK ],
- default => [ @EXPORT ],
- fallbacks => [ @FB_CONSTS ],
- fallback_all => [ @FB_CONSTS, @FB_FLAGS ],
-);
-
-# Documentation moved after __END__ for speed - NI-S
-
-our $ON_EBCDIC = ( ord("A") == 193 );
-
-use Encode::Alias;
-
-# Make a %Encoding package variable to allow a certain amount of cheating
-our %Encoding;
-our %ExtModule;
-require Encode::Config;
-eval { require Encode::ConfigLocal };
-
-sub encodings {
- my $class = shift;
- my %enc;
- if ( @_ and $_[0] eq ":all" ) {
- %enc = ( %Encoding, %ExtModule );
- }
- else {
- %enc = %Encoding;
- for my $mod ( map { m/::/o ? $_ : "Encode::$_" } @_ ) {
- DEBUG and warn $mod;
- for my $enc ( keys %ExtModule ) {
- $ExtModule{$enc} eq $mod and $enc{$enc} = $mod;
- }
- }
- }
- return sort { lc $a cmp lc $b }
- grep { !/^(?:Internal|Unicode|Guess)$/o } keys %enc;
-}
-
-sub perlio_ok {
- my $obj = ref( $_[0] ) ? $_[0] : find_encoding( $_[0] );
- $obj->can("perlio_ok") and return $obj->perlio_ok();
- return 0; # safety net
-}
-
-sub define_encoding {
- my $obj = shift;
- my $name = shift;
- $Encoding{$name} = $obj;
- my $lc = lc($name);
- define_alias( $lc => $obj ) unless $lc eq $name;
- while (@_) {
- my $alias = shift;
- define_alias( $alias, $obj );
- }
- return $obj;
-}
-
-sub getEncoding {
- my ( $class, $name, $skip_external ) = @_;
-
- ref($name) && $name->can('renew') and return $name;
- exists $Encoding{$name} and return $Encoding{$name};
- my $lc = lc $name;
- exists $Encoding{$lc} and return $Encoding{$lc};
-
- my $oc = $class->find_alias($name);
- defined($oc) and return $oc;
- $lc ne $name and $oc = $class->find_alias($lc);
- defined($oc) and return $oc;
-
- unless ($skip_external) {
- if ( my $mod = $ExtModule{$name} || $ExtModule{$lc} ) {
- $mod =~ s,::,/,g;
- $mod .= '.pm';
- eval { require $mod; };
- exists $Encoding{$name} and return $Encoding{$name};
- }
- }
- return;
-}
-
-sub find_encoding($;$) {
- my ( $name, $skip_external ) = @_;
- return __PACKAGE__->getEncoding( $name, $skip_external );
-}
-
-sub resolve_alias($) {
- my $obj = find_encoding(shift);
- defined $obj and return $obj->name;
- return;
-}
-
-sub clone_encoding($) {
- my $obj = find_encoding(shift);
- ref $obj or return;
- eval { require Storable };
- $@ and return;
- return Storable::dclone($obj);
-}
-
-sub encode($$;$) {
- my ( $name, $string, $check ) = @_;
- return undef unless defined $string;
- $string .= '' if ref $string; # stringify;
- $check ||= 0;
- my $enc = find_encoding($name);
- unless ( defined $enc ) {
- require Carp;
- Carp::croak("Unknown encoding '$name'");
- }
- my $octets = $enc->encode( $string, $check );
- $_[1] = $string if $check and !ref $check and !( $check & LEAVE_SRC() );
- return $octets;
-}
-*str2bytes = \&encode;
-
-sub decode($$;$) {
- my ( $name, $octets, $check ) = @_;
- return undef unless defined $octets;
- $octets .= '' if ref $octets;
- $check ||= 0;
- my $enc = find_encoding($name);
- unless ( defined $enc ) {
- require Carp;
- Carp::croak("Unknown encoding '$name'");
- }
- my $string = $enc->decode( $octets, $check );
- $_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
- return $string;
-}
-*bytes2str = \&decode;
-
-sub from_to($$$;$) {
- my ( $string, $from, $to, $check ) = @_;
- return undef unless defined $string;
- $check ||= 0;
- my $f = find_encoding($from);
- unless ( defined $f ) {
- require Carp;
- Carp::croak("Unknown encoding '$from'");
- }
- my $t = find_encoding($to);
- unless ( defined $t ) {
- require Carp;
- Carp::croak("Unknown encoding '$to'");
- }
- my $uni = $f->decode($string);
- $_[0] = $string = $t->encode( $uni, $check );
- return undef if ( $check && length($uni) );
- return defined( $_[0] ) ? length($string) : undef;
-}
-
-sub encode_utf8($) {
- my ($str) = @_;
- utf8::encode($str);
- return $str;
-}
-
-sub decode_utf8($;$) {
- my ( $str, $check ) = @_;
- return $str if is_utf8($str);
- if ($check) {
- return decode( "utf8", $str, $check );
- }
- else {
- return decode( "utf8", $str );
- return $str;
- }
-}
-
-predefine_encodings(1);
-
-#
-# This is to restore %Encoding if really needed;
-#
-
-sub predefine_encodings {
- require Encode::Encoding;
- no warnings 'redefine';
- my $use_xs = shift;
- if ($ON_EBCDIC) {
-
- # was in Encode::UTF_EBCDIC
- package Encode::UTF_EBCDIC;
- push @Encode::UTF_EBCDIC::ISA, 'Encode::Encoding';
- *decode = sub {
- my ( $obj, $str, $chk ) = @_;
- my $res = '';
- for ( my $i = 0 ; $i < length($str) ; $i++ ) {
- $res .=
- chr(
- utf8::unicode_to_native( ord( substr( $str, $i, 1 ) ) )
- );
- }
- $_[1] = '' if $chk;
- return $res;
- };
- *encode = sub {
- my ( $obj, $str, $chk ) = @_;
- my $res = '';
- for ( my $i = 0 ; $i < length($str) ; $i++ ) {
- $res .=
- chr(
- utf8::native_to_unicode( ord( substr( $str, $i, 1 ) ) )
- );
- }
- $_[1] = '' if $chk;
- return $res;
- };
- $Encode::Encoding{Unicode} =
- bless { Name => "UTF_EBCDIC" } => "Encode::UTF_EBCDIC";
- }
- else {
-
- package Encode::Internal;
- push @Encode::Internal::ISA, 'Encode::Encoding';
- *decode = sub {
- my ( $obj, $str, $chk ) = @_;
- utf8::upgrade($str);
- $_[1] = '' if $chk;
- return $str;
- };
- *encode = \&decode;
- $Encode::Encoding{Unicode} =
- bless { Name => "Internal" } => "Encode::Internal";
- }
-
- {
-
- # was in Encode::utf8
- package Encode::utf8;
- push @Encode::utf8::ISA, 'Encode::Encoding';
-
- #
- if ($use_xs) {
- Encode::DEBUG and warn __PACKAGE__, " XS on";
- *decode = \&decode_xs;
- *encode = \&encode_xs;
- }
- else {
- Encode::DEBUG and warn __PACKAGE__, " XS off";
- *decode = sub {
- my ( $obj, $octets, $chk ) = @_;
- my $str = Encode::decode_utf8($octets);
- if ( defined $str ) {
- $_[1] = '' if $chk;
- return $str;
- }
- return undef;
- };
- *encode = sub {
- my ( $obj, $string, $chk ) = @_;
- my $octets = Encode::encode_utf8($string);
- $_[1] = '' if $chk;
- return $octets;
- };
- }
- *cat_decode = sub { # ($obj, $dst, $src, $pos, $trm, $chk)
- # currently ignores $chk
- my ( $obj, undef, undef, $pos, $trm ) = @_;
- my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
- use bytes;
- if ( ( my $npos = index( $$rsrc, $trm, $pos ) ) >= 0 ) {
- $$rdst .=
- substr( $$rsrc, $pos, $npos - $pos + length($trm) );
- $$rpos = $npos + length($trm);
- return 1;
- }
- $$rdst .= substr( $$rsrc, $pos );
- $$rpos = length($$rsrc);
- return '';
- };
- $Encode::Encoding{utf8} =
- bless { Name => "utf8" } => "Encode::utf8";
- $Encode::Encoding{"utf-8-strict"} =
- bless { Name => "utf-8-strict", strict_utf8 => 1 } =>
- "Encode::utf8";
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Encode - character encodings
-
-=head1 SYNOPSIS
-
- use Encode;
-
-=head2 Table of Contents
-
-Encode consists of a collection of modules whose details are too big
-to fit in one document. This POD itself explains the top-level APIs
-and general topics at a glance. For other topics and more details,
-see the PODs below:
-
- Name Description
- --------------------------------------------------------
- Encode::Alias Alias definitions to encodings
- Encode::Encoding Encode Implementation Base Class
- Encode::Supported List of Supported Encodings
- Encode::CN Simplified Chinese Encodings
- Encode::JP Japanese Encodings
- Encode::KR Korean Encodings
- Encode::TW Traditional Chinese Encodings
- --------------------------------------------------------
-
-=head1 DESCRIPTION
-
-The C<Encode> module provides the interfaces between Perl's strings
-and the rest of the system. Perl strings are sequences of
-B<characters>.
-
-The repertoire of characters that Perl can represent is at least that
-defined by the Unicode Consortium. On most platforms the ordinal
-values of the characters (as returned by C<ord(ch)>) is the "Unicode
-codepoint" for the character (the exceptions are those platforms where
-the legacy encoding is some variant of EBCDIC rather than a super-set
-of ASCII - see L<perlebcdic>).
-
-Traditionally, computer data has been moved around in 8-bit chunks
-often called "bytes". These chunks are also known as "octets" in
-networking standards. Perl is widely used to manipulate data of many
-types - not only strings of characters representing human or computer
-languages but also "binary" data being the machine's representation of
-numbers, pixels in an image - or just about anything.
-
-When Perl is processing "binary data", the programmer wants Perl to
-process "sequences of bytes". This is not a problem for Perl - as a
-byte has 256 possible values, it easily fits in Perl's much larger
-"logical character".
-
-=head2 TERMINOLOGY
-
-=over 2
-
-=item *
-
-I<character>: a character in the range 0..(2**32-1) (or more).
-(What Perl's strings are made of.)
-
-=item *
-
-I<byte>: a character in the range 0..255
-(A special case of a Perl character.)
-
-=item *
-
-I<octet>: 8 bits of data, with ordinal values 0..255
-(Term for bytes passed to or from a non-Perl context, e.g. a disk file.)
-
-=back
-
-=head1 PERL ENCODING API
-
-=over 2
-
-=item $octets = encode(ENCODING, $string [, CHECK])
-
-Encodes a string from Perl's internal form into I<ENCODING> and returns
-a sequence of octets. ENCODING can be either a canonical name or
-an alias. For encoding names and aliases, see L</"Defining Aliases">.
-For CHECK, see L</"Handling Malformed Data">.
-
-For example, to convert a string from Perl's internal format to
-iso-8859-1 (also known as Latin1),
-
- $octets = encode("iso-8859-1", $string);
-
-B<CAVEAT>: When you run C<$octets = encode("utf8", $string)>, then
-$octets B<may not be equal to> $string. Though they both contain the
-same data, the UTF8 flag for $octets is B<always> off. When you
-encode anything, UTF8 flag of the result is always off, even when it
-contains completely valid utf8 string. See L</"The UTF8 flag"> below.
-
-If the $string is C<undef> then C<undef> is returned.
-
-=item $string = decode(ENCODING, $octets [, CHECK])
-
-Decodes a sequence of octets assumed to be in I<ENCODING> into Perl's
-internal form and returns the resulting string. As in encode(),
-ENCODING can be either a canonical name or an alias. For encoding names
-and aliases, see L</"Defining Aliases">. For CHECK, see
-L</"Handling Malformed Data">.
-
-For example, to convert ISO-8859-1 data to a string in Perl's internal format:
-
- $string = decode("iso-8859-1", $octets);
-
-B<CAVEAT>: When you run C<$string = decode("utf8", $octets)>, then $string
-B<may not be equal to> $octets. Though they both contain the same data,
-the UTF8 flag for $string is on unless $octets entirely consists of
-ASCII data (or EBCDIC on EBCDIC machines). See L</"The UTF8 flag">
-below.
-
-If the $string is C<undef> then C<undef> is returned.
-
-=item [$obj =] find_encoding(ENCODING)
-
-Returns the I<encoding object> corresponding to ENCODING. Returns
-undef if no matching ENCODING is find.
-
-This object is what actually does the actual (en|de)coding.
-
- $utf8 = decode($name, $bytes);
-
-is in fact
-
- $utf8 = do{
- $obj = find_encoding($name);
- croak qq(encoding "$name" not found) unless ref $obj;
- $obj->decode($bytes)
- };
-
-with more error checking.
-
-Therefore you can save time by reusing this object as follows;
-
- my $enc = find_encoding("iso-8859-1");
- while(<>){
- my $utf8 = $enc->decode($_);
- # and do someting with $utf8;
- }
-
-Besides C<< ->decode >> and C<< ->encode >>, other methods are
-available as well. For instance, C<< -> name >> returns the canonical
-name of the encoding object.
-
- find_encoding("latin1")->name; # iso-8859-1
-
-See L<Encode::Encoding> for details.
-
-=item [$length =] from_to($octets, FROM_ENC, TO_ENC [, CHECK])
-
-Converts B<in-place> data between two encodings. The data in $octets
-must be encoded as octets and not as characters in Perl's internal
-format. For example, to convert ISO-8859-1 data to Microsoft's CP1250
-encoding:
-
- from_to($octets, "iso-8859-1", "cp1250");
-
-and to convert it back:
-
- from_to($octets, "cp1250", "iso-8859-1");
-
-Note that because the conversion happens in place, the data to be
-converted cannot be a string constant; it must be a scalar variable.
-
-from_to() returns the length of the converted string in octets on
-success, I<undef> on error.
-
-B<CAVEAT>: The following operations look the same but are not quite so;
-
- from_to($data, "iso-8859-1", "utf8"); #1
- $data = decode("iso-8859-1", $data); #2
-
-Both #1 and #2 make $data consist of a completely valid UTF-8 string
-but only #2 turns UTF8 flag on. #1 is equivalent to
-
- $data = encode("utf8", decode("iso-8859-1", $data));
-
-See L</"The UTF8 flag"> below.
-
-Also note that
-
- from_to($octets, $from, $to, $check);
-
-is equivalent to
-
- $octets = encode($to, decode($from, $octets), $check);
-
-Yes, it does not respect the $check during decoding. It is
-deliberately done that way. If you need minute control, C<decode>
-then C<encode> as follows;
-
- $octets = encode($to, decode($from, $octets, $check_from), $check_to);
-
-=item $octets = encode_utf8($string);
-
-Equivalent to C<$octets = encode("utf8", $string);> The characters
-that comprise $string are encoded in Perl's internal format and the
-result is returned as a sequence of octets. All possible
-characters have a UTF-8 representation so this function cannot fail.
-
-
-=item $string = decode_utf8($octets [, CHECK]);
-
-equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
-The sequence of octets represented by
-$octets is decoded from UTF-8 into a sequence of logical
-characters. Not all sequences of octets form valid UTF-8 encodings, so
-it is possible for this call to fail. For CHECK, see
-L</"Handling Malformed Data">.
-
-=back
-
-=head2 Listing available encodings
-
- use Encode;
- @list = Encode->encodings();
-
-Returns a list of the canonical names of the available encodings that
-are loaded. To get a list of all available encodings including the
-ones that are not loaded yet, say
-
- @all_encodings = Encode->encodings(":all");
-
-Or you can give the name of a specific module.
-
- @with_jp = Encode->encodings("Encode::JP");
-
-When "::" is not in the name, "Encode::" is assumed.
-
- @ebcdic = Encode->encodings("EBCDIC");
-
-To find out in detail which encodings are supported by this package,
-see L<Encode::Supported>.
-
-=head2 Defining Aliases
-
-To add a new alias to a given encoding, use:
-
- use Encode;
- use Encode::Alias;
- define_alias(newName => ENCODING);
-
-After that, newName can be used as an alias for ENCODING.
-ENCODING may be either the name of an encoding or an
-I<encoding object>
-
-But before you do so, make sure the alias is nonexistent with
-C<resolve_alias()>, which returns the canonical name thereof.
-i.e.
-
- Encode::resolve_alias("latin1") eq "iso-8859-1" # true
- Encode::resolve_alias("iso-8859-12") # false; nonexistent
- Encode::resolve_alias($name) eq $name # true if $name is canonical
-
-resolve_alias() does not need C<use Encode::Alias>; it can be
-exported via C<use Encode qw(resolve_alias)>.
-
-See L<Encode::Alias> for details.
-
-=head2 Finding IANA Character Set Registry names
-
-The canonical name of a given encoding does not necessarily agree with
-IANA IANA Character Set Registry, commonly seen as C<< Content-Type:
-text/plain; charset=I<whatever> >>. For most cases canonical names
-work but sometimes it does not (notably 'utf-8-strict').
-
-Therefore as of Encode version 2.21, a new method C<mime_name()> is added.
-
- use Encode;
- my $enc = find_encoding('UTF-8');
- warn $enc->name; # utf-8-strict
- warn $enc->mime_name; # UTF-8
-
-See also: L<Encode::Encoding>
-
-=head1 Encoding via PerlIO
-
-If your perl supports I<PerlIO> (which is the default), you can use a
-PerlIO layer to decode and encode directly via a filehandle. The
-following two examples are totally identical in their functionality.
-
- # via PerlIO
- open my $in, "<:encoding(shiftjis)", $infile or die;
- open my $out, ">:encoding(euc-jp)", $outfile or die;
- while(<$in>){ print $out $_; }
-
- # via from_to
- open my $in, "<", $infile or die;
- open my $out, ">", $outfile or die;
- while(<$in>){
- from_to($_, "shiftjis", "euc-jp", 1);
- print $out $_;
- }
-
-Unfortunately, it may be that encodings are PerlIO-savvy. You can check
-if your encoding is supported by PerlIO by calling the C<perlio_ok>
-method.
-
- Encode::perlio_ok("hz"); # False
- find_encoding("euc-cn")->perlio_ok; # True where PerlIO is available
-
- use Encode qw(perlio_ok); # exported upon request
- perlio_ok("euc-jp")
-
-Fortunately, all encodings that come with Encode core are PerlIO-savvy
-except for hz and ISO-2022-kr. For gory details, see
-L<Encode::Encoding> and L<Encode::PerlIO>.
-
-=head1 Handling Malformed Data
-
-The optional I<CHECK> argument tells Encode what to do when it
-encounters malformed data. Without CHECK, Encode::FB_DEFAULT ( == 0 )
-is assumed.
-
-As of version 2.12 Encode supports coderef values for CHECK. See below.
-
-=over 2
-
-=item B<NOTE:> Not all encoding support this feature
-
-Some encodings ignore I<CHECK> argument. For example,
-L<Encode::Unicode> ignores I<CHECK> and it always croaks on error.
-
-=back
-
-Now here is the list of I<CHECK> values available
-
-=over 2
-
-=item I<CHECK> = Encode::FB_DEFAULT ( == 0)
-
-If I<CHECK> is 0, (en|de)code will put a I<substitution character> in
-place of a malformed character. When you encode, E<lt>subcharE<gt>
-will be used. When you decode the code point C<0xFFFD> is used. If
-the data is supposed to be UTF-8, an optional lexical warning
-(category utf8) is given.
-
-=item I<CHECK> = Encode::FB_CROAK ( == 1)
-
-If I<CHECK> is 1, methods will die on error immediately with an error
-message. Therefore, when I<CHECK> is set to 1, you should trap the
-error with eval{} unless you really want to let it die.
-
-=item I<CHECK> = Encode::FB_QUIET
-
-If I<CHECK> is set to Encode::FB_QUIET, (en|de)code will immediately
-return the portion of the data that has been processed so far when an
-error occurs. The data argument will be overwritten with everything
-after that point (that is, the unprocessed part of data). This is
-handy when you have to call decode repeatedly in the case where your
-source data may contain partial multi-byte character sequences,
-(i.e. you are reading with a fixed-width buffer). Here is a sample
-code that does exactly this:
-
- my $buffer = ''; my $string = '';
- while(read $fh, $buffer, 256, length($buffer)){
- $string .= decode($encoding, $buffer, Encode::FB_QUIET);
- # $buffer now contains the unprocessed partial character
- }
-
-=item I<CHECK> = Encode::FB_WARN
-
-This is the same as above, except that it warns on error. Handy when
-you are debugging the mode above.
-
-=item perlqq mode (I<CHECK> = Encode::FB_PERLQQ)
-
-=item HTML charref mode (I<CHECK> = Encode::FB_HTMLCREF)
-
-=item XML charref mode (I<CHECK> = Encode::FB_XMLCREF)
-
-For encodings that are implemented by Encode::XS, CHECK ==
-Encode::FB_PERLQQ turns (en|de)code into C<perlqq> fallback mode.
-
-When you decode, C<\xI<HH>> will be inserted for a malformed character,
-where I<HH> is the hex representation of the octet that could not be
-decoded to utf8. And when you encode, C<\x{I<HHHH>}> will be inserted,
-where I<HHHH> is the Unicode ID of the character that cannot be found
-in the character repertoire of the encoding.
-
-HTML/XML character reference modes are about the same, in place of
-C<\x{I<HHHH>}>, HTML uses C<&#I<NNN>;> where I<NNN> is a decimal number and
-XML uses C<&#xI<HHHH>;> where I<HHHH> is the hexadecimal number.
-
-In Encode 2.10 or later, C<LEAVE_SRC> is also implied.
-
-=item The bitmask
-
-These modes are actually set via a bitmask. Here is how the FB_XX
-constants are laid out. You can import the FB_XX constants via
-C<use Encode qw(:fallbacks)>; you can import the generic bitmask
-constants via C<use Encode qw(:fallback_all)>.
-
- FB_DEFAULT FB_CROAK FB_QUIET FB_WARN FB_PERLQQ
- DIE_ON_ERR 0x0001 X
- WARN_ON_ERR 0x0002 X
- RETURN_ON_ERR 0x0004 X X
- LEAVE_SRC 0x0008 X
- PERLQQ 0x0100 X
- HTMLCREF 0x0200
- XMLCREF 0x0400
-
-=back
-
-=over 2
-
-=item Encode::LEAVE_SRC
-
-If the C<Encode::LEAVE_SRC> bit is not set, but I<CHECK> is, then the second
-argument to C<encode()> or C<decode()> may be assigned to by the functions. If
-you're not interested in this, then bitwise-or the bitmask with it.
-
-=back
-
-=head2 coderef for CHECK
-
-As of Encode 2.12 CHECK can also be a code reference which takes the
-ord value of unmapped caharacter as an argument and returns a string
-that represents the fallback character. For instance,
-
- $ascii = encode("ascii", $utf8, sub{ sprintf "<U+%04X>", shift });
-
-Acts like FB_PERLQQ but E<lt>U+I<XXXX>E<gt> is used instead of
-\x{I<XXXX>}.
-
-=head1 Defining Encodings
-
-To define a new encoding, use:
-
- use Encode qw(define_encoding);
- define_encoding($object, 'canonicalName' [, alias...]);
-
-I<canonicalName> will be associated with I<$object>. The object
-should provide the interface described in L<Encode::Encoding>.
-If more than two arguments are provided then additional
-arguments are taken as aliases for I<$object>.
-
-See L<Encode::Encoding> for more details.
-
-=head1 The UTF8 flag
-
-Before the introduction of Unicode support in perl, The C<eq> operator
-just compared the strings represented by two scalars. Beginning with
-perl 5.8, C<eq> compares two strings with simultaneous consideration of
-I<the UTF8 flag>. To explain why we made it so, I will quote page 402 of
-C<Programming Perl, 3rd ed.>
-
-=over 2
-
-=item Goal #1:
-
-Old byte-oriented programs should not spontaneously break on the old
-byte-oriented data they used to work on.
-
-=item Goal #2:
-
-Old byte-oriented programs should magically start working on the new
-character-oriented data when appropriate.
-
-=item Goal #3:
-
-Programs should run just as fast in the new character-oriented mode
-as in the old byte-oriented mode.
-
-=item Goal #4:
-
-Perl should remain one language, rather than forking into a
-byte-oriented Perl and a character-oriented Perl.
-
-=back
-
-Back when C<Programming Perl, 3rd ed.> was written, not even Perl 5.6.0
-was born and many features documented in the book remained
-unimplemented for a long time. Perl 5.8 corrected this and the introduction
-of the UTF8 flag is one of them. You can think of this perl notion as of a
-byte-oriented mode (UTF8 flag off) and a character-oriented mode (UTF8
-flag on).
-
-Here is how Encode takes care of the UTF8 flag.
-
-=over 2
-
-=item *
-
-When you encode, the resulting UTF8 flag is always off.
-
-=item *
-
-When you decode, the resulting UTF8 flag is on unless you can
-unambiguously represent data. Here is the definition of
-dis-ambiguity.
-
-After C<$utf8 = decode('foo', $octet);>,
-
- When $octet is... The UTF8 flag in $utf8 is
- ---------------------------------------------
- In ASCII only (or EBCDIC only) OFF
- In ISO-8859-1 ON
- In any other Encoding ON
- ---------------------------------------------
-
-As you see, there is one exception, In ASCII. That way you can assume
-Goal #1. And with Encode Goal #2 is assumed but you still have to be
-careful in such cases mentioned in B<CAVEAT> paragraphs.
-
-This UTF8 flag is not visible in perl scripts, exactly for the same
-reason you cannot (or you I<don't have to>) see if a scalar contains a
-string, integer, or floating point number. But you can still peek
-and poke these if you will. See the section below.
-
-=back
-
-=head2 Messing with Perl's Internals
-
-The following API uses parts of Perl's internals in the current
-implementation. As such, they are efficient but may change.
-
-=over 2
-
-=item is_utf8(STRING [, CHECK])
-
-[INTERNAL] Tests whether the UTF8 flag is turned on in the STRING.
-If CHECK is true, also checks the data in STRING for being well-formed
-UTF-8. Returns true if successful, false otherwise.
-
-As of perl 5.8.1, L<utf8> also has utf8::is_utf8().
-
-=item _utf8_on(STRING)
-
-[INTERNAL] Turns on the UTF8 flag in STRING. The data in STRING is
-B<not> checked for being well-formed UTF-8. Do not use unless you
-B<know> that the STRING is well-formed UTF-8. Returns the previous
-state of the UTF8 flag (so please don't treat the return value as
-indicating success or failure), or C<undef> if STRING is not a string.
-
-=item _utf8_off(STRING)
-
-[INTERNAL] Turns off the UTF8 flag in STRING. Do not use frivolously.
-Returns the previous state of the UTF8 flag (so please don't treat the
-return value as indicating success or failure), or C<undef> if STRING is
-not a string.
-
-=back
-
-=head1 UTF-8 vs. utf8 vs. UTF8
-
- ....We now view strings not as sequences of bytes, but as sequences
- of numbers in the range 0 .. 2**32-1 (or in the case of 64-bit
- computers, 0 .. 2**64-1) -- Programming Perl, 3rd ed.
-
-That has been the perl's notion of UTF-8 but official UTF-8 is more
-strict; Its ranges is much narrower (0 .. 10FFFF), some sequences are
-not allowed (i.e. Those used in the surrogate pair, 0xFFFE, et al).
-
-Now that is overruled by Larry Wall himself.
-
- From: Larry Wall <larry@wall.org>
- Date: December 04, 2004 11:51:58 JST
- To: perl-unicode@perl.org
- Subject: Re: Make Encode.pm support the real UTF-8
- Message-Id: <20041204025158.GA28754@wall.org>
-
- On Fri, Dec 03, 2004 at 10:12:12PM +0000, Tim Bunce wrote:
- : I've no problem with 'utf8' being perl's unrestricted uft8 encoding,
- : but "UTF-8" is the name of the standard and should give the
- : corresponding behaviour.
-
- For what it's worth, that's how I've always kept them straight in my
- head.
-
- Also for what it's worth, Perl 6 will mostly default to strict but
- make it easy to switch back to lax.
-
- Larry
-
-Do you copy? As of Perl 5.8.7, B<UTF-8> means strict, official UTF-8
-while B<utf8> means liberal, lax, version thereof. And Encode version
-2.10 or later thus groks the difference between C<UTF-8> and C"utf8".
-
- encode("utf8", "\x{FFFF_FFFF}", 1); # okay
- encode("UTF-8", "\x{FFFF_FFFF}", 1); # croaks
-
-C<UTF-8> in Encode is actually a canonical name for C<utf-8-strict>.
-Yes, the hyphen between "UTF" and "8" is important. Without it Encode
-goes "liberal"
-
- find_encoding("UTF-8")->name # is 'utf-8-strict'
- find_encoding("utf-8")->name # ditto. names are case insensitive
- find_encoding("utf_8")->name # ditto. "_" are treated as "-"
- find_encoding("UTF8")->name # is 'utf8'.
-
-The UTF8 flag is internally called UTF8, without a hyphen. It indicates
-whether a string is internally encoded as utf8, also without a hypen.
-
-=head1 SEE ALSO
-
-L<Encode::Encoding>,
-L<Encode::Supported>,
-L<Encode::PerlIO>,
-L<encoding>,
-L<perlebcdic>,
-L<perlfunc/open>,
-L<perlunicode>, L<perluniintro>, L<perlunifaq>, L<perlunitut>
-L<utf8>,
-the Perl Unicode Mailing List E<lt>perl-unicode@perl.orgE<gt>
-
-=head1 MAINTAINER
-
-This project was originated by Nick Ing-Simmons and later maintained
-by Dan Kogai E<lt>dankogai@dan.co.jpE<gt>. See AUTHORS for a full
-list of people involved. For any questions, use
-E<lt>perl-unicode@perl.orgE<gt> so we can all share.
-
-While Dan Kogai retains the copyright as a maintainer, the credit
-should go to all those involoved. See AUTHORS for those submitted
-codes.
-
-=head1 COPYRIGHT
-
-Copyright 2002-2006 Dan Kogai E<lt>dankogai@dan.co.jpE<gt>
-
-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/5.10/i686-cygwin/Encode/Alias.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Alias.pm
deleted file mode 100644
index e7db0ca719b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Alias.pm
+++ /dev/null
@@ -1,375 +0,0 @@
-package Encode::Alias;
-use strict;
-use warnings;
-no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.9 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-sub DEBUG () { 0 }
-
-use base qw(Exporter);
-
-# Public, encouraged API is exported by default
-
-our @EXPORT =
- qw (
- define_alias
- find_alias
-);
-
-our @Alias; # ordered matching list
-our %Alias; # cached known aliases
-
-sub find_alias {
- require Encode;
- my $class = shift;
- my $find = shift;
- unless ( exists $Alias{$find} ) {
- $Alias{$find} = undef; # Recursion guard
- for ( my $i = 0 ; $i < @Alias ; $i += 2 ) {
- my $alias = $Alias[$i];
- my $val = $Alias[ $i + 1 ];
- my $new;
- if ( ref($alias) eq 'Regexp' && $find =~ $alias ) {
- DEBUG and warn "eval $val";
- $new = eval $val;
- DEBUG and $@ and warn "$val, $@";
- }
- elsif ( ref($alias) eq 'CODE' ) {
- DEBUG and warn "$alias", "->", "($find)";
- $new = $alias->($find);
- }
- elsif ( lc($find) eq lc($alias) ) {
- $new = $val;
- }
- if ( defined($new) ) {
- next if $new eq $find; # avoid (direct) recursion on bugs
- DEBUG and warn "$alias, $new";
- my $enc =
- ( ref($new) ) ? $new : Encode::find_encoding($new);
- if ($enc) {
- $Alias{$find} = $enc;
- last;
- }
- }
- }
-
- # case insensitive search when canonical is not in all lowercase
- # RT ticket #7835
- unless ( $Alias{$find} ) {
- my $lcfind = lc($find);
- for my $name ( keys %Encode::Encoding, keys %Encode::ExtModule )
- {
- $lcfind eq lc($name) or next;
- $Alias{$find} = Encode::find_encoding($name);
- DEBUG and warn "$find => $name";
- }
- }
- }
- if (DEBUG) {
- my $name;
- if ( my $e = $Alias{$find} ) {
- $name = $e->name;
- }
- else {
- $name = "";
- }
- warn "find_alias($class, $find)->name = $name";
- }
- return $Alias{$find};
-}
-
-sub define_alias {
- while (@_) {
- my ( $alias, $name ) = splice( @_, 0, 2 );
- unshift( @Alias, $alias => $name ); # newer one has precedence
- if ( ref($alias) ) {
-
- # clear %Alias cache to allow overrides
- my @a = keys %Alias;
- for my $k (@a) {
- if ( ref($alias) eq 'Regexp' && $k =~ $alias ) {
- DEBUG and warn "delete \$Alias\{$k\}";
- delete $Alias{$k};
- }
- elsif ( ref($alias) eq 'CODE' ) {
- DEBUG and warn "delete \$Alias\{$k\}";
- delete $Alias{ $alias->($name) };
- }
- }
- }
- else {
- DEBUG and warn "delete \$Alias\{$alias\}";
- delete $Alias{$alias};
- }
- }
-}
-
-# Allow latin-1 style names as well
-# 0 1 2 3 4 5 6 7 8 9 10
-our @Latin2iso = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
-
-# Allow winlatin1 style names as well
-our %Winlatin2cp = (
- 'latin1' => 1252,
- 'latin2' => 1250,
- 'cyrillic' => 1251,
- 'greek' => 1253,
- 'turkish' => 1254,
- 'hebrew' => 1255,
- 'arabic' => 1256,
- 'baltic' => 1257,
- 'vietnamese' => 1258,
-);
-
-init_aliases();
-
-sub undef_aliases {
- @Alias = ();
- %Alias = ();
-}
-
-sub init_aliases {
- require Encode;
- undef_aliases();
-
- # Try all-lower-case version should all else fails
- define_alias( qr/^(.*)$/ => '"\L$1"' );
-
- # UTF/UCS stuff
- define_alias( qr/^UTF-?7$/i => '"UTF-7"' );
- define_alias( qr/^UCS-?2-?LE$/i => '"UCS-2LE"' );
- define_alias(
- qr/^UCS-?2-?(BE)?$/i => '"UCS-2BE"',
- qr/^UCS-?4-?(BE|LE)?$/i => 'uc("UTF-32$1")',
- qr/^iso-10646-1$/i => '"UCS-2BE"'
- );
- define_alias(
- qr/^UTF-?(16|32)-?BE$/i => '"UTF-$1BE"',
- qr/^UTF-?(16|32)-?LE$/i => '"UTF-$1LE"',
- qr/^UTF-?(16|32)$/i => '"UTF-$1"',
- );
-
- # ASCII
- define_alias( qr/^(?:US-?)ascii$/i => '"ascii"' );
- define_alias( 'C' => 'ascii' );
- define_alias( qr/\b(?:ISO[-_]?)?646(?:[-_]?US)?$/i => '"ascii"' );
-
- # Allow variants of iso-8859-1 etc.
- define_alias( qr/\biso[-_]?(\d+)[-_](\d+)$/i => '"iso-$1-$2"' );
-
- # At least HP-UX has these.
- define_alias( qr/\biso8859(\d+)$/i => '"iso-8859-$1"' );
-
- # More HP stuff.
- define_alias(
- qr/\b(?:hp-)?(arabic|greek|hebrew|kana|roman|thai|turkish)8$/i =>
- '"${1}8"' );
-
- # The Official name of ASCII.
- define_alias( qr/\bANSI[-_]?X3\.4[-_]?1968$/i => '"ascii"' );
-
- # This is a font issue, not an encoding issue.
- # (The currency symbol of the Latin 1 upper half
- # has been redefined as the euro symbol.)
- define_alias( qr/^(.+)\@euro$/i => '"$1"' );
-
- define_alias( qr/\b(?:iso[-_]?)?latin[-_]?(\d+)$/i =>
-'defined $Encode::Alias::Latin2iso[$1] ? "iso-8859-$Encode::Alias::Latin2iso[$1]" : undef'
- );
-
- define_alias(
- qr/\bwin(latin[12]|cyrillic|baltic|greek|turkish|
- hebrew|arabic|baltic|vietnamese)$/ix =>
- '"cp" . $Encode::Alias::Winlatin2cp{lc($1)}'
- );
-
- # Common names for non-latin preferred MIME names
- define_alias(
- 'ascii' => 'US-ascii',
- 'cyrillic' => 'iso-8859-5',
- 'arabic' => 'iso-8859-6',
- 'greek' => 'iso-8859-7',
- 'hebrew' => 'iso-8859-8',
- 'thai' => 'iso-8859-11',
- );
- # RT #20781
- define_alias(qr/\btis-?620\b/i => '"iso-8859-11"');
-
- # At least AIX has IBM-NNN (surprisingly...) instead of cpNNN.
- # And Microsoft has their own naming (again, surprisingly).
- # And windows-* is registered in IANA!
- define_alias(
- qr/\b(?:cp|ibm|ms|windows)[-_ ]?(\d{2,4})$/i => '"cp$1"' );
-
- # Sometimes seen with a leading zero.
- # define_alias( qr/\bcp037\b/i => '"cp37"');
-
- # Mac Mappings
- # predefined in *.ucm; unneeded
- # define_alias( qr/\bmacIcelandic$/i => '"macIceland"');
- define_alias( qr/^mac_(.*)$/i => '"mac$1"' );
-
- # Ououououou. gone. They are differente!
- # define_alias( qr/\bmacRomanian$/i => '"macRumanian"');
-
- # Standardize on the dashed versions.
- define_alias( qr/\bkoi8[\s\-_]*([ru])$/i => '"koi8-$1"' );
-
- unless ($Encode::ON_EBCDIC) {
-
- # for Encode::CN
- define_alias( qr/\beuc.*cn$/i => '"euc-cn"' );
- define_alias( qr/\bcn.*euc$/i => '"euc-cn"' );
-
- # define_alias( qr/\bGB[- ]?(\d+)$/i => '"euc-cn"' )
- # CP936 doesn't have vendor-addon for GBK, so they're identical.
- define_alias( qr/^gbk$/i => '"cp936"' );
-
- # This fixes gb2312 vs. euc-cn confusion, practically
- define_alias( qr/\bGB[-_ ]?2312(?!-?raw)/i => '"euc-cn"' );
-
- # for Encode::JP
- define_alias( qr/\bjis$/i => '"7bit-jis"' );
- define_alias( qr/\beuc.*jp$/i => '"euc-jp"' );
- define_alias( qr/\bjp.*euc$/i => '"euc-jp"' );
- define_alias( qr/\bujis$/i => '"euc-jp"' );
- define_alias( qr/\bshift.*jis$/i => '"shiftjis"' );
- define_alias( qr/\bsjis$/i => '"shiftjis"' );
- define_alias( qr/\bwindows-31j$/i => '"cp932"' );
-
- # for Encode::KR
- define_alias( qr/\beuc.*kr$/i => '"euc-kr"' );
- define_alias( qr/\bkr.*euc$/i => '"euc-kr"' );
-
- # This fixes ksc5601 vs. euc-kr confusion, practically
- define_alias( qr/(?:x-)?uhc$/i => '"cp949"' );
- define_alias( qr/(?:x-)?windows-949$/i => '"cp949"' );
- define_alias( qr/\bks_c_5601-1987$/i => '"cp949"' );
-
- # for Encode::TW
- define_alias( qr/\bbig-?5$/i => '"big5-eten"' );
- define_alias( qr/\bbig5-?et(?:en)?$/i => '"big5-eten"' );
- define_alias( qr/\btca[-_]?big5$/i => '"big5-eten"' );
- define_alias( qr/\bbig5-?hk(?:scs)?$/i => '"big5-hkscs"' );
- define_alias( qr/\bhk(?:scs)?[-_]?big5$/i => '"big5-hkscs"' );
- }
-
- # utf8 is blessed :)
- define_alias( qr/^UTF-8$/i => '"utf-8-strict"' );
-
- # At last, Map white space and _ to '-'
- define_alias( qr/^(\S+)[\s_]+(.*)$/i => '"$1-$2"' );
-}
-
-1;
-__END__
-
-# TODO: HP-UX '8' encodings arabic8 greek8 hebrew8 kana8 thai8 turkish8
-# TODO: HP-UX '15' encodings japanese15 korean15 roi15
-# TODO: Cyrillic encoding ISO-IR-111 (useful?)
-# TODO: Armenian encoding ARMSCII-8
-# TODO: Hebrew encoding ISO-8859-8-1
-# TODO: Thai encoding TCVN
-# TODO: Vietnamese encodings VPS
-# TODO: Mac Asian+African encodings: Arabic Armenian Bengali Burmese
-# ChineseSimp ChineseTrad Devanagari Ethiopic ExtArabic
-# Farsi Georgian Gujarati Gurmukhi Hebrew Japanese
-# Kannada Khmer Korean Laotian Malayalam Mongolian
-# Oriya Sinhalese Symbol Tamil Telugu Tibetan Vietnamese
-
-=head1 NAME
-
-Encode::Alias - alias definitions to encodings
-
-=head1 SYNOPSIS
-
- use Encode;
- use Encode::Alias;
- define_alias( newName => ENCODING);
-
-=head1 DESCRIPTION
-
-Allows newName to be used as an alias for ENCODING. ENCODING may be
-either the name of an encoding or an encoding object (as described
-in L<Encode>).
-
-Currently I<newName> can be specified in the following ways:
-
-=over 4
-
-=item As a simple string.
-
-=item As a qr// compiled regular expression, e.g.:
-
- define_alias( qr/^iso8859-(\d+)$/i => '"iso-8859-$1"' );
-
-In this case, if I<ENCODING> is not a reference, it is C<eval>-ed
-in order to allow C<$1> etc. to be substituted. The example is one
-way to alias names as used in X11 fonts to the MIME names for the
-iso-8859-* family. Note the double quotes inside the single quotes.
-
-(or, you don't have to do this yourself because this example is predefined)
-
-If you are using a regex here, you have to use the quotes as shown or
-it won't work. Also note that regex handling is tricky even for the
-experienced. Use this feature with caution.
-
-=item As a code reference, e.g.:
-
- define_alias( sub {shift =~ /^iso8859-(\d+)$/i ? "iso-8859-$1" : undef } );
-
-The same effect as the example above in a different way. The coderef
-takes the alias name as an argument and returns a canonical name on
-success or undef if not. Note the second argument is not required.
-Use this with even more caution than the regex version.
-
-=back
-
-=head3 Changes in code reference aliasing
-
-As of Encode 1.87, the older form
-
- define_alias( sub { return /^iso8859-(\d+)$/i ? "iso-8859-$1" : undef } );
-
-no longer works.
-
-Encode up to 1.86 internally used "local $_" to implement ths older
-form. But consider the code below;
-
- use Encode;
- $_ = "eeeee" ;
- while (/(e)/g) {
- my $utf = decode('aliased-encoding-name', $1);
- print "position:",pos,"\n";
- }
-
-Prior to Encode 1.86 this fails because of "local $_".
-
-=head2 Alias overloading
-
-You can override predefined aliases by simply applying define_alias().
-The new alias is always evaluated first, and when necessary,
-define_alias() flushes the internal cache to make the new definition
-available.
-
- # redirect SHIFT_JIS to MS/IBM Code Page 932, which is a
- # superset of SHIFT_JIS
-
- define_alias( qr/shift.*jis$/i => '"cp932"' );
- define_alias( qr/sjis$/i => '"cp932"' );
-
-If you want to zap all predefined aliases, you can use
-
- Encode::Alias->undef_aliases;
-
-to do so. And
-
- Encode::Alias->init_aliases;
-
-gets the factory settings back.
-
-=head1 SEE ALSO
-
-L<Encode>, L<Encode::Supported>
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Byte.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Byte.pm
deleted file mode 100644
index 3ea9035b7bd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Byte.pm
+++ /dev/null
@@ -1,120 +0,0 @@
-package Encode::Byte;
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Byte - Single Byte Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $greek = encode("iso-8859-7", $utf8); # loads Encode::Byte implicitly
- $utf8 = decode("iso-8859-7", $greek); # ditto
-
-=head1 ABSTRACT
-
-This module implements various single byte encodings. For most cases it uses
-\x80-\xff (upper half) to map non-ASCII characters. Encodings
-supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- # ISO 8859 series
- (iso-8859-1 is in built-in)
- iso-8859-2 latin2 [ISO]
- iso-8859-3 latin3 [ISO]
- iso-8859-4 latin4 [ISO]
- iso-8859-5 [ISO]
- iso-8859-6 [ISO]
- iso-8859-7 [ISO]
- iso-8859-8 [ISO]
- iso-8859-9 latin5 [ISO]
- iso-8859-10 latin6 [ISO]
- iso-8859-11
- (iso-8859-12 is nonexistent)
- iso-8859-13 latin7 [ISO]
- iso-8859-14 latin8 [ISO]
- iso-8859-15 latin9 [ISO]
- iso-8859-16 latin10 [ISO]
-
- # Cyrillic
- koi8-f
- koi8-r cp878 [RFC1489]
- koi8-u [RFC2319]
-
- # Vietnamese
- viscii
-
- # all cp* are also available as ibm-*, ms-*, and windows-*
- # also see L<http://msdn.microsoft.com/workshop/author/dhtml/reference/charsets/charset4.asp>
-
- cp424
- cp437
- cp737
- cp775
- cp850
- cp852
- cp855
- cp856
- cp857
- cp860
- cp861
- cp862
- cp863
- cp864
- cp865
- cp866
- cp869
- cp874
- cp1006
- cp1250 WinLatin2
- cp1251 WinCyrillic
- cp1252 WinLatin1
- cp1253 WinGreek
- cp1254 WinTurkish
- cp1255 WinHebrew
- cp1256 WinArabic
- cp1257 WinBaltic
- cp1258 WinVietnamese
-
- # Macintosh
- # Also see L<http://developer.apple.com/technotes/tn/tn1150.html>
- MacArabic
- MacCentralEurRoman
- MacCroatian
- MacCyrillic
- MacFarsi
- MacGreek
- MacHebrew
- MacIcelandic
- MacRoman
- MacRomanian
- MacRumanian
- MacSami
- MacThai
- MacTurkish
- MacUkrainian
-
- # More vendor encodings
- AdobeStandardEncoding
- nextstep
- hp-roman8
-
-=head1 DESCRIPTION
-
-To find how to use this module in detail, see L<Encode>.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CJKConstants.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CJKConstants.pm
deleted file mode 100644
index 43d20337544..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CJKConstants.pm
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# $Id: CJKConstants.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $
-#
-
-package Encode::CJKConstants;
-
-use strict;
-use warnings;
-our $RCSID = q$Id: CJKConstants.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Carp;
-
-require Exporter;
-our @ISA = qw(Exporter);
-our @EXPORT = qw();
-our @EXPORT_OK = qw(%CHARCODE %ESC %RE);
-our %EXPORT_TAGS = ( 'all' => [ @EXPORT_OK, @EXPORT ] );
-
-my %_0208 = (
- 1978 => '\e\$\@',
- 1983 => '\e\$B',
- 1990 => '\e&\@\e\$B',
-);
-
-our %CHARCODE = (
- UNDEF_EUC => "\xa2\xae", # ¢® in EUC
- UNDEF_SJIS => "\x81\xac", # ¢® in SJIS
- UNDEF_JIS => "\xa2\xf7", # ¢÷ -- used in unicode
- UNDEF_UNICODE => "\x20\x20", # ¢÷ -- used in unicode
-);
-
-our %ESC = (
- GB_2312 => "\e\$A",
- JIS_0208 => "\e\$B",
- JIS_0212 => "\e\$(D",
- KSC_5601 => "\e\$(C",
- ASC => "\e\(B",
- KANA => "\e\(I",
- '2022_KR' => "\e\$)C",
-);
-
-our %RE = (
- ASCII => '[\x00-\x7f]',
- BIN => '[\x00-\x06\x7f\xff]',
- EUC_0212 => '\x8f[\xa1-\xfe][\xa1-\xfe]',
- EUC_C => '[\xa1-\xfe][\xa1-\xfe]',
- EUC_KANA => '\x8e[\xa1-\xdf]',
- JIS_0208 => "$_0208{1978}|$_0208{1983}|$_0208{1990}",
- JIS_0212 => "\e" . '\$\(D',
- ISO_ASC => "\e" . '\([BJ]',
- JIS_KANA => "\e" . '\(I',
- '2022_KR' => "\e" . '\$\)C',
- SJIS_C => '[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]',
- SJIS_KANA => '[\xa1-\xdf]',
- UTF8 => '[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf][\x80-\xbf]'
-);
-
-1;
-
-=head1 NAME
-
-Encode::CJKConstants.pm -- Internally used by Encode::??::ISO_2022_*
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN.pm
deleted file mode 100644
index 9f120fb7f15..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN.pm
+++ /dev/null
@@ -1,78 +0,0 @@
-package Encode::CN;
-BEGIN {
- if ( ord("A") == 193 ) {
- die "Encode::CN not supported on EBCDIC\n";
- }
-}
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-# Relocated from Encode.pm
-
-use Encode::CN::HZ;
-
-# use Encode::CN::2022_CN;
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::CN - China-based Chinese Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $euc_cn = encode("euc-cn", $utf8); # loads Encode::CN implicitly
- $utf8 = decode("euc-cn", $euc_cn); # ditto
-
-=head1 DESCRIPTION
-
-This module implements China-based Chinese charset encodings.
-Encodings supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- euc-cn /\beuc.*cn$/i EUC (Extended Unix Character)
- /\bcn.*euc$/i
- /\bGB[-_ ]?2312(?:\D.*$|$)/i (see below)
- gb2312-raw The raw (low-bit) GB2312 character map
- gb12345-raw Traditional chinese counterpart to
- GB2312 (raw)
- iso-ir-165 GB2312 + GB6345 + GB8565 + additions
- MacChineseSimp GB2312 + Apple Additions
- cp936 Code Page 936, also known as GBK
- (Extended GuoBiao)
- hz 7-bit escaped GB2312 encoding
- --------------------------------------------------------------------
-
-To find how to use this module in detail, see L<Encode>.
-
-=head1 NOTES
-
-Due to size concerns, C<GB 18030> (an extension to C<GBK>) is distributed
-separately on CPAN, under the name L<Encode::HanExtra>. That module
-also contains extra Taiwan-based encodings.
-
-=head1 BUGS
-
-When you see C<charset=gb2312> on mails and web pages, they really
-mean C<euc-cn> encodings. To fix that, C<gb2312> is aliased to C<euc-cn>.
-Use C<gb2312-raw> when you really mean it.
-
-The ASCII region (0x00-0x7f) is preserved for all encodings, even though
-this conflicts with mappings by the Unicode Consortium. See
-
-L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
-
-to find out why it is implemented that way.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN/HZ.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN/HZ.pm
deleted file mode 100644
index 98c16a9053a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/CN/HZ.pm
+++ /dev/null
@@ -1,198 +0,0 @@
-package Encode::CN::HZ;
-
-use strict;
-use warnings;
-use utf8 ();
-
-use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Encode qw(:fallbacks);
-
-use base qw(Encode::Encoding);
-__PACKAGE__->Define('hz');
-
-# HZ is a combination of ASCII and escaped GB, so we implement it
-# with the GB2312(raw) encoding here. Cf. RFCs 1842 & 1843.
-
-# not ported for EBCDIC. Which should be used, "~" or "\x7E"?
-
-sub needs_lines { 1 }
-
-sub decode ($$;$) {
- my ( $obj, $str, $chk ) = @_;
-
- my $GB = Encode::find_encoding('gb2312-raw');
- my $ret = '';
- my $in_ascii = 1; # default mode is ASCII.
-
- while ( length $str ) {
- if ($in_ascii) { # ASCII mode
- if ( $str =~ s/^([\x00-\x7D\x7F]+)// ) { # no '~' => ASCII
- $ret .= $1;
-
- # EBCDIC should need ascii2native, but not ported.
- }
- elsif ( $str =~ s/^\x7E\x7E// ) { # escaped tilde
- $ret .= '~';
- }
- elsif ( $str =~ s/^\x7E\cJ// ) { # '\cJ' == LF in ASCII
- 1; # no-op
- }
- elsif ( $str =~ s/^\x7E\x7B// ) { # '~{'
- $in_ascii = 0; # to GB
- }
- else { # encounters an invalid escape, \x80 or greater
- last;
- }
- }
- else { # GB mode; the byte ranges are as in RFC 1843.
- no warnings 'uninitialized';
- if ( $str =~ s/^((?:[\x21-\x77][\x21-\x7E])+)// ) {
- $ret .= $GB->decode( $1, $chk );
- }
- elsif ( $str =~ s/^\x7E\x7D// ) { # '~}'
- $in_ascii = 1;
- }
- else { # invalid
- last;
- }
- }
- }
- $_[1] = '' if $chk; # needs_lines guarantees no partial character
- return $ret;
-}
-
-sub cat_decode {
- my ( $obj, undef, $src, $pos, $trm, $chk ) = @_;
- my ( $rdst, $rsrc, $rpos ) = \@_[ 1 .. 3 ];
-
- my $GB = Encode::find_encoding('gb2312-raw');
- my $ret = '';
- my $in_ascii = 1; # default mode is ASCII.
-
- my $ini_pos = pos($$rsrc);
-
- substr( $src, 0, $pos ) = '';
-
- my $ini_len = bytes::length($src);
-
- # $trm is the first of the pair '~~', then 2nd tilde is to be removed.
- # XXX: Is better C<$src =~ s/^\x7E// or die if ...>?
- $src =~ s/^\x7E// if $trm eq "\x7E";
-
- while ( length $src ) {
- my $now;
- if ($in_ascii) { # ASCII mode
- if ( $src =~ s/^([\x00-\x7D\x7F])// ) { # no '~' => ASCII
- $now = $1;
- }
- elsif ( $src =~ s/^\x7E\x7E// ) { # escaped tilde
- $now = '~';
- }
- elsif ( $src =~ s/^\x7E\cJ// ) { # '\cJ' == LF in ASCII
- next;
- }
- elsif ( $src =~ s/^\x7E\x7B// ) { # '~{'
- $in_ascii = 0; # to GB
- next;
- }
- else { # encounters an invalid escape, \x80 or greater
- last;
- }
- }
- else { # GB mode; the byte ranges are as in RFC 1843.
- if ( $src =~ s/^((?:[\x21-\x77][\x21-\x7F])+)// ) {
- $now = $GB->decode( $1, $chk );
- }
- elsif ( $src =~ s/^\x7E\x7D// ) { # '~}'
- $in_ascii = 1;
- next;
- }
- else { # invalid
- last;
- }
- }
-
- next if !defined $now;
-
- $ret .= $now;
-
- if ( $now eq $trm ) {
- $$rdst .= $ret;
- $$rpos = $ini_pos + $pos + $ini_len - bytes::length($src);
- pos($$rsrc) = $ini_pos;
- return 1;
- }
- }
-
- $$rdst .= $ret;
- $$rpos = $ini_pos + $pos + $ini_len - bytes::length($src);
- pos($$rsrc) = $ini_pos;
- return ''; # terminator not found
-}
-
-sub encode($$;$) {
- my ( $obj, $str, $chk ) = @_;
-
- my $GB = Encode::find_encoding('gb2312-raw');
- my $ret = '';
- my $in_ascii = 1; # default mode is ASCII.
-
- no warnings 'utf8'; # $str may be malformed UTF8 at the end of a chunk.
-
- while ( length $str ) {
- if ( $str =~ s/^([[:ascii:]]+)// ) {
- my $tmp = $1;
- $tmp =~ s/~/~~/g; # escapes tildes
- if ( !$in_ascii ) {
- $ret .= "\x7E\x7D"; # '~}'
- $in_ascii = 1;
- }
- $ret .= pack 'a*', $tmp; # remove UTF8 flag.
- }
- elsif ( $str =~ s/(.)// ) {
- my $s = $1;
- my $tmp = $GB->encode( $s, $chk );
- last if !defined $tmp;
- if ( length $tmp == 2 ) { # maybe a valid GB char (XXX)
- if ($in_ascii) {
- $ret .= "\x7E\x7B"; # '~{'
- $in_ascii = 0;
- }
- $ret .= $tmp;
- }
- elsif ( length $tmp ) { # maybe FALLBACK in ASCII (XXX)
- if ( !$in_ascii ) {
- $ret .= "\x7E\x7D"; # '~}'
- $in_ascii = 1;
- }
- $ret .= $tmp;
- }
- }
- else { # if $str is malformed UTF8 *and* if length $str != 0.
- last;
- }
- }
- $_[1] = $str if $chk;
-
- # The state at the end of the chunk is discarded, even if in GB mode.
- # That results in the combination of GB-OUT and GB-IN, i.e. "~}~{".
- # Parhaps it is harmless, but further investigations may be required...
-
- if ( !$in_ascii ) {
- $ret .= "\x7E\x7D"; # '~}'
- $in_ascii = 1;
- }
- utf8::encode($ret); # https://rt.cpan.org/Ticket/Display.html?id=35120
- return $ret;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::CN::HZ -- internally used by Encode::CN
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Config.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Config.pm
deleted file mode 100644
index 1286a479998..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Config.pm
+++ /dev/null
@@ -1,170 +0,0 @@
-#
-# Demand-load module list
-#
-package Encode::Config;
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use strict;
-use warnings;
-
-our %ExtModule = (
-
- # Encode::Byte
- #iso-8859-1 is in Encode.pm itself
- 'iso-8859-2' => 'Encode::Byte',
- 'iso-8859-3' => 'Encode::Byte',
- 'iso-8859-4' => 'Encode::Byte',
- 'iso-8859-5' => 'Encode::Byte',
- 'iso-8859-6' => 'Encode::Byte',
- 'iso-8859-7' => 'Encode::Byte',
- 'iso-8859-8' => 'Encode::Byte',
- 'iso-8859-9' => 'Encode::Byte',
- 'iso-8859-10' => 'Encode::Byte',
- 'iso-8859-11' => 'Encode::Byte',
- 'iso-8859-13' => 'Encode::Byte',
- 'iso-8859-14' => 'Encode::Byte',
- 'iso-8859-15' => 'Encode::Byte',
- 'iso-8859-16' => 'Encode::Byte',
- 'koi8-f' => 'Encode::Byte',
- 'koi8-r' => 'Encode::Byte',
- 'koi8-u' => 'Encode::Byte',
- 'viscii' => 'Encode::Byte',
- 'cp424' => 'Encode::Byte',
- 'cp437' => 'Encode::Byte',
- 'cp737' => 'Encode::Byte',
- 'cp775' => 'Encode::Byte',
- 'cp850' => 'Encode::Byte',
- 'cp852' => 'Encode::Byte',
- 'cp855' => 'Encode::Byte',
- 'cp856' => 'Encode::Byte',
- 'cp857' => 'Encode::Byte',
- 'cp858' => 'Encode::Byte',
- 'cp860' => 'Encode::Byte',
- 'cp861' => 'Encode::Byte',
- 'cp862' => 'Encode::Byte',
- 'cp863' => 'Encode::Byte',
- 'cp864' => 'Encode::Byte',
- 'cp865' => 'Encode::Byte',
- 'cp866' => 'Encode::Byte',
- 'cp869' => 'Encode::Byte',
- 'cp874' => 'Encode::Byte',
- 'cp1006' => 'Encode::Byte',
- 'cp1250' => 'Encode::Byte',
- 'cp1251' => 'Encode::Byte',
- 'cp1252' => 'Encode::Byte',
- 'cp1253' => 'Encode::Byte',
- 'cp1254' => 'Encode::Byte',
- 'cp1255' => 'Encode::Byte',
- 'cp1256' => 'Encode::Byte',
- 'cp1257' => 'Encode::Byte',
- 'cp1258' => 'Encode::Byte',
- 'AdobeStandardEncoding' => 'Encode::Byte',
- 'MacArabic' => 'Encode::Byte',
- 'MacCentralEurRoman' => 'Encode::Byte',
- 'MacCroatian' => 'Encode::Byte',
- 'MacCyrillic' => 'Encode::Byte',
- 'MacFarsi' => 'Encode::Byte',
- 'MacGreek' => 'Encode::Byte',
- 'MacHebrew' => 'Encode::Byte',
- 'MacIcelandic' => 'Encode::Byte',
- 'MacRoman' => 'Encode::Byte',
- 'MacRomanian' => 'Encode::Byte',
- 'MacRumanian' => 'Encode::Byte',
- 'MacSami' => 'Encode::Byte',
- 'MacThai' => 'Encode::Byte',
- 'MacTurkish' => 'Encode::Byte',
- 'MacUkrainian' => 'Encode::Byte',
- 'nextstep' => 'Encode::Byte',
- 'hp-roman8' => 'Encode::Byte',
- #'gsm0338' => 'Encode::Byte',
- 'gsm0338' => 'Encode::GSM0338',
-
- # Encode::EBCDIC
- 'cp37' => 'Encode::EBCDIC',
- 'cp500' => 'Encode::EBCDIC',
- 'cp875' => 'Encode::EBCDIC',
- 'cp1026' => 'Encode::EBCDIC',
- 'cp1047' => 'Encode::EBCDIC',
- 'posix-bc' => 'Encode::EBCDIC',
-
- # Encode::Symbol
- 'dingbats' => 'Encode::Symbol',
- 'symbol' => 'Encode::Symbol',
- 'AdobeSymbol' => 'Encode::Symbol',
- 'AdobeZdingbat' => 'Encode::Symbol',
- 'MacDingbats' => 'Encode::Symbol',
- 'MacSymbol' => 'Encode::Symbol',
-
- # Encode::Unicode
- 'UCS-2BE' => 'Encode::Unicode',
- 'UCS-2LE' => 'Encode::Unicode',
- 'UTF-16' => 'Encode::Unicode',
- 'UTF-16BE' => 'Encode::Unicode',
- 'UTF-16LE' => 'Encode::Unicode',
- 'UTF-32' => 'Encode::Unicode',
- 'UTF-32BE' => 'Encode::Unicode',
- 'UTF-32LE' => 'Encode::Unicode',
- 'UTF-7' => 'Encode::Unicode::UTF7',
-);
-
-unless ( ord("A") == 193 ) {
- %ExtModule = (
- %ExtModule,
- 'euc-cn' => 'Encode::CN',
- 'gb12345-raw' => 'Encode::CN',
- 'gb2312-raw' => 'Encode::CN',
- 'hz' => 'Encode::CN',
- 'iso-ir-165' => 'Encode::CN',
- 'cp936' => 'Encode::CN',
- 'MacChineseSimp' => 'Encode::CN',
-
- '7bit-jis' => 'Encode::JP',
- 'euc-jp' => 'Encode::JP',
- 'iso-2022-jp' => 'Encode::JP',
- 'iso-2022-jp-1' => 'Encode::JP',
- 'jis0201-raw' => 'Encode::JP',
- 'jis0208-raw' => 'Encode::JP',
- 'jis0212-raw' => 'Encode::JP',
- 'cp932' => 'Encode::JP',
- 'MacJapanese' => 'Encode::JP',
- 'shiftjis' => 'Encode::JP',
-
- 'euc-kr' => 'Encode::KR',
- 'iso-2022-kr' => 'Encode::KR',
- 'johab' => 'Encode::KR',
- 'ksc5601-raw' => 'Encode::KR',
- 'cp949' => 'Encode::KR',
- 'MacKorean' => 'Encode::KR',
-
- 'big5-eten' => 'Encode::TW',
- 'big5-hkscs' => 'Encode::TW',
- 'cp950' => 'Encode::TW',
- 'MacChineseTrad' => 'Encode::TW',
-
- #'big5plus' => 'Encode::HanExtra',
- #'euc-tw' => 'Encode::HanExtra',
- #'gb18030' => 'Encode::HanExtra',
-
- 'MIME-Header' => 'Encode::MIME::Header',
- 'MIME-B' => 'Encode::MIME::Header',
- 'MIME-Q' => 'Encode::MIME::Header',
-
- 'MIME-Header-ISO_2022_JP' => 'Encode::MIME::Header::ISO_2022_JP',
- );
-}
-
-#
-# Why not export ? to keep ConfigLocal Happy!
-#
-while ( my ( $enc, $mod ) = each %ExtModule ) {
- $Encode::ExtModule{$enc} = $mod;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Config -- internally used by Encode
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/EBCDIC.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/EBCDIC.pm
deleted file mode 100644
index 8024c130da1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/EBCDIC.pm
+++ /dev/null
@@ -1,45 +0,0 @@
-package Encode::EBCDIC;
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::EBCDIC - EBCDIC Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $posix_bc = encode("posix-bc", $utf8); # loads Encode::EBCDIC implicitly
- $utf8 = decode("", $posix_bc); # ditto
-
-=head1 ABSTRACT
-
-This module implements various EBCDIC-Based encodings. Encodings
-supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- cp37
- cp500
- cp875
- cp1026
- cp1047
- posix-bc
-
-=head1 DESCRIPTION
-
-To find how to use this module in detail, see L<Encode>.
-
-=head1 SEE ALSO
-
-L<Encode>, L<perlebcdic>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoder.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoder.pm
deleted file mode 100644
index f7194f81ac4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoder.pm
+++ /dev/null
@@ -1,253 +0,0 @@
-#
-# $Id: Encoder.pm,v 2.1 2006/05/03 18:24:10 dankogai Exp $
-#
-package Encode::Encoder;
-use strict;
-use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-require Exporter;
-our @ISA = qw(Exporter);
-our @EXPORT_OK = qw ( encoder );
-
-our $AUTOLOAD;
-sub DEBUG () { 0 }
-use Encode qw(encode decode find_encoding from_to);
-use Carp;
-
-sub new {
- my ( $class, $data, $encname ) = @_;
- unless ($encname) {
- $encname = Encode::is_utf8($data) ? 'utf8' : '';
- }
- else {
- my $obj = find_encoding($encname)
- or croak __PACKAGE__, ": unknown encoding: $encname";
- $encname = $obj->name;
- }
- my $self = {
- data => $data,
- encoding => $encname,
- };
- bless $self => $class;
-}
-
-sub encoder { __PACKAGE__->new(@_) }
-
-sub data {
- my ( $self, $data ) = @_;
- if ( defined $data ) {
- $self->{data} = $data;
- return $data;
- }
- else {
- return $self->{data};
- }
-}
-
-sub encoding {
- my ( $self, $encname ) = @_;
- if ($encname) {
- my $obj = find_encoding($encname)
- or confess __PACKAGE__, ": unknown encoding: $encname";
- $self->{encoding} = $obj->name;
- return $self;
- }
- else {
- return $self->{encoding};
- }
-}
-
-sub bytes {
- my ( $self, $encname ) = @_;
- $encname ||= $self->{encoding};
- my $obj = find_encoding($encname)
- or confess __PACKAGE__, ": unknown encoding: $encname";
- $self->{data} = $obj->decode( $self->{data}, 1 );
- $self->{encoding} = '';
- return $self;
-}
-
-sub DESTROY { # defined so it won't autoload.
- DEBUG and warn shift;
-}
-
-sub AUTOLOAD {
- my $self = shift;
- my $type = ref($self)
- or confess "$self is not an object";
- my $myname = $AUTOLOAD;
- $myname =~ s/.*://; # strip fully-qualified portion
- my $obj = find_encoding($myname)
- or confess __PACKAGE__, ": unknown encoding: $myname";
- DEBUG and warn $self->{encoding}, " => ", $obj->name;
- if ( $self->{encoding} ) {
- from_to( $self->{data}, $self->{encoding}, $obj->name, 1 );
- }
- else {
- $self->{data} = $obj->encode( $self->{data}, 1 );
- }
- $self->{encoding} = $obj->name;
- return $self;
-}
-
-use overload
- q("") => sub { $_[0]->{data} },
- q(0+) => sub { use bytes(); bytes::length( $_[0]->{data} ) },
- fallback => 1,
- ;
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Encoder -- Object Oriented Encoder
-
-=head1 SYNOPSIS
-
- use Encode::Encoder;
- # Encode::encode("ISO-8859-1", $data);
- Encode::Encoder->new($data)->iso_8859_1; # OOP way
- # shortcut
- use Encode::Encoder qw(encoder);
- encoder($data)->iso_8859_1;
- # you can stack them!
- encoder($data)->iso_8859_1->base64; # provided base64() is defined
- # you can use it as a decoder as well
- encoder($base64)->bytes('base64')->latin1;
- # stringified
- print encoder($data)->utf8->latin1; # prints the string in latin1
- # numified
- encoder("\x{abcd}\x{ef}g")->utf8 == 6; # true. bytes::length($data)
-
-=head1 ABSTRACT
-
-B<Encode::Encoder> allows you to use Encode in an object-oriented
-style. This is not only more intuitive than a functional approach,
-but also handier when you want to stack encodings. Suppose you want
-your UTF-8 string converted to Latin1 then Base64: you can simply say
-
- my $base64 = encoder($utf8)->latin1->base64;
-
-instead of
-
- my $latin1 = encode("latin1", $utf8);
- my $base64 = encode_base64($utf8);
-
-or the lazier and more convoluted
-
- my $base64 = encode_base64(encode("latin1", $utf8));
-
-=head1 Description
-
-Here is how to use this module.
-
-=over 4
-
-=item *
-
-There are at least two instance variables stored in a hash reference,
-{data} and {encoding}.
-
-=item *
-
-When there is no method, it takes the method name as the name of the
-encoding and encodes the instance I<data> with I<encoding>. If successful,
-the instance I<encoding> is set accordingly.
-
-=item *
-
-You can retrieve the result via -E<gt>data but usually you don't have to
-because the stringify operator ("") is overridden to do exactly that.
-
-=back
-
-=head2 Predefined Methods
-
-This module predefines the methods below:
-
-=over 4
-
-=item $e = Encode::Encoder-E<gt>new([$data, $encoding]);
-
-returns an encoder object. Its data is initialized with $data if
-present, and its encoding is set to $encoding if present.
-
-When $encoding is omitted, it defaults to utf8 if $data is already in
-utf8 or "" (empty string) otherwise.
-
-=item encoder()
-
-is an alias of Encode::Encoder-E<gt>new(). This one is exported on demand.
-
-=item $e-E<gt>data([$data])
-
-When $data is present, sets the instance data to $data and returns the
-object itself. Otherwise, the current instance data is returned.
-
-=item $e-E<gt>encoding([$encoding])
-
-When $encoding is present, sets the instance encoding to $encoding and
-returns the object itself. Otherwise, the current instance encoding is
-returned.
-
-=item $e-E<gt>bytes([$encoding])
-
-decodes instance data from $encoding, or the instance encoding if
-omitted. If the conversion is successful, the instance encoding
-will be set to "".
-
-The name I<bytes> was deliberately picked to avoid namespace tainting
--- this module may be used as a base class so method names that appear
-in Encode::Encoding are avoided.
-
-=back
-
-=head2 Example: base64 transcoder
-
-This module is designed to work with L<Encode::Encoding>.
-To make the Base64 transcoder example above really work, you could
-write a module like this:
-
- package Encode::Base64;
- use base 'Encode::Encoding';
- __PACKAGE__->Define('base64');
- use MIME::Base64;
- sub encode{
- my ($obj, $data) = @_;
- return encode_base64($data);
- }
- sub decode{
- my ($obj, $data) = @_;
- return decode_base64($data);
- }
- 1;
- __END__
-
-And your caller module would be something like this:
-
- use Encode::Encoder;
- use Encode::Base64;
-
- # now you can really do the following
-
- encoder($data)->iso_8859_1->base64;
- encoder($base64)->bytes('base64')->latin1;
-
-=head2 Operator Overloading
-
-This module overloads two operators, stringify ("") and numify (0+).
-
-Stringify dumps the data inside the object.
-
-Numify returns the number of bytes in the instance data.
-
-They come in handy when you want to print or find the size of data.
-
-=head1 SEE ALSO
-
-L<Encode>,
-L<Encode::Encoding>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoding.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoding.pm
deleted file mode 100644
index 768d6d126ac..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Encoding.pm
+++ /dev/null
@@ -1,360 +0,0 @@
-package Encode::Encoding;
-
-# Base class for classes which implement encodings
-use strict;
-use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-require Encode;
-
-sub DEBUG { 0 }
-
-sub Define {
- my $obj = shift;
- my $canonical = shift;
- $obj = bless { Name => $canonical }, $obj unless ref $obj;
-
- # warn "$canonical => $obj\n";
- Encode::define_encoding( $obj, $canonical, @_ );
-}
-
-sub name { return shift->{'Name'} }
-
-sub mime_name{
- require Encode::MIME::Name;
- return Encode::MIME::Name::get_mime_name(shift->name);
-}
-
-# sub renew { return $_[0] }
-
-sub renew {
- my $self = shift;
- my $clone = bless {%$self} => ref($self);
- $clone->{renewed}++; # so the caller can see it
- DEBUG and warn $clone->{renewed};
- return $clone;
-}
-
-sub renewed { return $_[0]->{renewed} || 0 }
-
-*new_sequence = \&renew;
-
-sub needs_lines { 0 }
-
-sub perlio_ok {
- eval { require PerlIO::encoding };
- return $@ ? 0 : 1;
-}
-
-# (Temporary|legacy) methods
-
-sub toUnicode { shift->decode(@_) }
-sub fromUnicode { shift->encode(@_) }
-
-#
-# Needs to be overloaded or just croak
-#
-
-sub encode {
- require Carp;
- my $obj = shift;
- my $class = ref($obj) ? ref($obj) : $obj;
- Carp::croak( $class . "->encode() not defined!" );
-}
-
-sub decode {
- require Carp;
- my $obj = shift;
- my $class = ref($obj) ? ref($obj) : $obj;
- Carp::croak( $class . "->encode() not defined!" );
-}
-
-sub DESTROY { }
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Encoding - Encode Implementation Base Class
-
-=head1 SYNOPSIS
-
- package Encode::MyEncoding;
- use base qw(Encode::Encoding);
-
- __PACKAGE__->Define(qw(myCanonical myAlias));
-
-=head1 DESCRIPTION
-
-As mentioned in L<Encode>, encodings are (in the current
-implementation at least) defined as objects. The mapping of encoding
-name to object is via the C<%Encode::Encoding> hash. Though you can
-directly manipulate this hash, it is strongly encouraged to use this
-base class module and add encode() and decode() methods.
-
-=head2 Methods you should implement
-
-You are strongly encouraged to implement methods below, at least
-either encode() or decode().
-
-=over 4
-
-=item -E<gt>encode($string [,$check])
-
-MUST return the octet sequence representing I<$string>.
-
-=over 2
-
-=item *
-
-If I<$check> is true, it SHOULD modify I<$string> in place to remove
-the converted part (i.e. the whole string unless there is an error).
-If perlio_ok() is true, SHOULD becomes MUST.
-
-=item *
-
-If an error occurs, it SHOULD return the octet sequence for the
-fragment of string that has been converted and modify $string in-place
-to remove the converted part leaving it starting with the problem
-fragment. If perlio_ok() is true, SHOULD becomes MUST.
-
-=item *
-
-If I<$check> is is false then C<encode> MUST make a "best effort" to
-convert the string - for example, by using a replacement character.
-
-=back
-
-=item -E<gt>decode($octets [,$check])
-
-MUST return the string that I<$octets> represents.
-
-=over 2
-
-=item *
-
-If I<$check> is true, it SHOULD modify I<$octets> in place to remove
-the converted part (i.e. the whole sequence unless there is an
-error). If perlio_ok() is true, SHOULD becomes MUST.
-
-=item *
-
-If an error occurs, it SHOULD return the fragment of string that has
-been converted and modify $octets in-place to remove the converted
-part leaving it starting with the problem fragment. If perlio_ok() is
-true, SHOULD becomes MUST.
-
-=item *
-
-If I<$check> is false then C<decode> should make a "best effort" to
-convert the string - for example by using Unicode's "\x{FFFD}" as a
-replacement character.
-
-=back
-
-=back
-
-If you want your encoding to work with L<encoding> pragma, you should
-also implement the method below.
-
-=over 4
-
-=item -E<gt>cat_decode($destination, $octets, $offset, $terminator [,$check])
-
-MUST decode I<$octets> with I<$offset> and concatenate it to I<$destination>.
-Decoding will terminate when $terminator (a string) appears in output.
-I<$offset> will be modified to the last $octets position at end of decode.
-Returns true if $terminator appears output, else returns false.
-
-=back
-
-=head2 Other methods defined in Encode::Encodings
-
-You do not have to override methods shown below unless you have to.
-
-=over 4
-
-=item -E<gt>name
-
-Predefined As:
-
- sub name { return shift->{'Name'} }
-
-MUST return the string representing the canonical name of the encoding.
-
-=item -E<gt>mime_name
-
-Predefined As:
-
- sub mime_name{
- require Encode::MIME::Name;
- return Encode::MIME::Name::get_mime_name(shift->name);
- }
-
-MUST return the string representing the IANA charset name of the encoding.
-
-=item -E<gt>renew
-
-Predefined As:
-
- sub renew {
- my $self = shift;
- my $clone = bless { %$self } => ref($self);
- $clone->{renewed}++;
- return $clone;
- }
-
-This method reconstructs the encoding object if necessary. If you need
-to store the state during encoding, this is where you clone your object.
-
-PerlIO ALWAYS calls this method to make sure it has its own private
-encoding object.
-
-=item -E<gt>renewed
-
-Predefined As:
-
- sub renewed { $_[0]->{renewed} || 0 }
-
-Tells whether the object is renewed (and how many times). Some
-modules emit C<Use of uninitialized value in null operation> warning
-unless the value is numeric so return 0 for false.
-
-=item -E<gt>perlio_ok()
-
-Predefined As:
-
- sub perlio_ok {
- eval{ require PerlIO::encoding };
- return $@ ? 0 : 1;
- }
-
-If your encoding does not support PerlIO for some reasons, just;
-
- sub perlio_ok { 0 }
-
-=item -E<gt>needs_lines()
-
-Predefined As:
-
- sub needs_lines { 0 };
-
-If your encoding can work with PerlIO but needs line buffering, you
-MUST define this method so it returns true. 7bit ISO-2022 encodings
-are one example that needs this. When this method is missing, false
-is assumed.
-
-=back
-
-=head2 Example: Encode::ROT13
-
- package Encode::ROT13;
- use strict;
- use base qw(Encode::Encoding);
-
- __PACKAGE__->Define('rot13');
-
- sub encode($$;$){
- my ($obj, $str, $chk) = @_;
- $str =~ tr/A-Za-z/N-ZA-Mn-za-m/;
- $_[1] = '' if $chk; # this is what in-place edit means
- return $str;
- }
-
- # Jr pna or ynml yvxr guvf;
- *decode = \&encode;
-
- 1;
-
-=head1 Why the heck Encode API is different?
-
-It should be noted that the I<$check> behaviour is different from the
-outer public API. The logic is that the "unchecked" case is useful
-when the encoding is part of a stream which may be reporting errors
-(e.g. STDERR). In such cases, it is desirable to get everything
-through somehow without causing additional errors which obscure the
-original one. Also, the encoding is best placed to know what the
-correct replacement character is, so if that is the desired behaviour
-then letting low level code do it is the most efficient.
-
-By contrast, if I<$check> is true, the scheme above allows the
-encoding to do as much as it can and tell the layer above how much
-that was. What is lacking at present is a mechanism to report what
-went wrong. The most likely interface will be an additional method
-call to the object, or perhaps (to avoid forcing per-stream objects
-on otherwise stateless encodings) an additional parameter.
-
-It is also highly desirable that encoding classes inherit from
-C<Encode::Encoding> as a base class. This allows that class to define
-additional behaviour for all encoding objects.
-
- package Encode::MyEncoding;
- use base qw(Encode::Encoding);
-
- __PACKAGE__->Define(qw(myCanonical myAlias));
-
-to create an object with C<< bless {Name => ...}, $class >>, and call
-define_encoding. They inherit their C<name> method from
-C<Encode::Encoding>.
-
-=head2 Compiled Encodings
-
-For the sake of speed and efficiency, most of the encodings are now
-supported via a I<compiled form>: XS modules generated from UCM
-files. Encode provides the enc2xs tool to achieve that. Please see
-L<enc2xs> for more details.
-
-=head1 SEE ALSO
-
-L<perlmod>, L<enc2xs>
-
-=begin future
-
-=over 4
-
-=item Scheme 1
-
-The fixup routine gets passed the remaining fragment of string being
-processed. It modifies it in place to remove bytes/characters it can
-understand and returns a string used to represent them. For example:
-
- sub fixup {
- my $ch = substr($_[0],0,1,'');
- return sprintf("\x{%02X}",ord($ch);
- }
-
-This scheme is close to how the underlying C code for Encode works,
-but gives the fixup routine very little context.
-
-=item Scheme 2
-
-The fixup routine gets passed the original string, an index into
-it of the problem area, and the output string so far. It appends
-what it wants to the output string and returns a new index into the
-original string. For example:
-
- sub fixup {
- # my ($s,$i,$d) = @_;
- my $ch = substr($_[0],$_[1],1);
- $_[2] .= sprintf("\x{%02X}",ord($ch);
- return $_[1]+1;
- }
-
-This scheme gives maximal control to the fixup routine but is more
-complicated to code, and may require that the internals of Encode be tweaked to
-keep the original string intact.
-
-=item Other Schemes
-
-Hybrids of the above.
-
-Multiple return values rather than in-place modifications.
-
-Index into the string could be C<pos($str)> allowing C<s/\G...//>.
-
-=back
-
-=end future
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/GSM0338.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/GSM0338.pm
deleted file mode 100644
index 5e57056e399..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/GSM0338.pm
+++ /dev/null
@@ -1,292 +0,0 @@
-#
-# $Id: GSM0338.pm,v 2.1 2008/05/07 20:56:05 dankogai Exp dankogai $
-#
-package Encode::GSM0338;
-
-use strict;
-use warnings;
-use Carp;
-
-use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Encode qw(:fallbacks);
-
-use base qw(Encode::Encoding);
-__PACKAGE__->Define('gsm0338');
-
-sub needs_lines { 1 }
-sub perlio_ok { 0 }
-
-use utf8;
-our %UNI2GSM = (
- "\x{0040}" => "\x00", # COMMERCIAL AT
- "\x{000A}" => "\x0A", # LINE FEED
- "\x{000C}" => "\x1B\x0A", # FORM FEED
- "\x{000D}" => "\x0D", # CARRIAGE RETURN
- "\x{0020}" => "\x20", # SPACE
- "\x{0021}" => "\x21", # EXCLAMATION MARK
- "\x{0022}" => "\x22", # QUOTATION MARK
- "\x{0023}" => "\x23", # NUMBER SIGN
- "\x{0024}" => "\x02", # DOLLAR SIGN
- "\x{0025}" => "\x25", # PERCENT SIGN
- "\x{0026}" => "\x26", # AMPERSAND
- "\x{0027}" => "\x27", # APOSTROPHE
- "\x{0028}" => "\x28", # LEFT PARENTHESIS
- "\x{0029}" => "\x29", # RIGHT PARENTHESIS
- "\x{002A}" => "\x2A", # ASTERISK
- "\x{002B}" => "\x2B", # PLUS SIGN
- "\x{002C}" => "\x2C", # COMMA
- "\x{002D}" => "\x2D", # HYPHEN-MINUS
- "\x{002E}" => "\x2E", # FULL STOP
- "\x{002F}" => "\x2F", # SOLIDUS
- "\x{0030}" => "\x30", # DIGIT ZERO
- "\x{0031}" => "\x31", # DIGIT ONE
- "\x{0032}" => "\x32", # DIGIT TWO
- "\x{0033}" => "\x33", # DIGIT THREE
- "\x{0034}" => "\x34", # DIGIT FOUR
- "\x{0035}" => "\x35", # DIGIT FIVE
- "\x{0036}" => "\x36", # DIGIT SIX
- "\x{0037}" => "\x37", # DIGIT SEVEN
- "\x{0038}" => "\x38", # DIGIT EIGHT
- "\x{0039}" => "\x39", # DIGIT NINE
- "\x{003A}" => "\x3A", # COLON
- "\x{003B}" => "\x3B", # SEMICOLON
- "\x{003C}" => "\x3C", # LESS-THAN SIGN
- "\x{003D}" => "\x3D", # EQUALS SIGN
- "\x{003E}" => "\x3E", # GREATER-THAN SIGN
- "\x{003F}" => "\x3F", # QUESTION MARK
- "\x{0041}" => "\x41", # LATIN CAPITAL LETTER A
- "\x{0042}" => "\x42", # LATIN CAPITAL LETTER B
- "\x{0043}" => "\x43", # LATIN CAPITAL LETTER C
- "\x{0044}" => "\x44", # LATIN CAPITAL LETTER D
- "\x{0045}" => "\x45", # LATIN CAPITAL LETTER E
- "\x{0046}" => "\x46", # LATIN CAPITAL LETTER F
- "\x{0047}" => "\x47", # LATIN CAPITAL LETTER G
- "\x{0048}" => "\x48", # LATIN CAPITAL LETTER H
- "\x{0049}" => "\x49", # LATIN CAPITAL LETTER I
- "\x{004A}" => "\x4A", # LATIN CAPITAL LETTER J
- "\x{004B}" => "\x4B", # LATIN CAPITAL LETTER K
- "\x{004C}" => "\x4C", # LATIN CAPITAL LETTER L
- "\x{004D}" => "\x4D", # LATIN CAPITAL LETTER M
- "\x{004E}" => "\x4E", # LATIN CAPITAL LETTER N
- "\x{004F}" => "\x4F", # LATIN CAPITAL LETTER O
- "\x{0050}" => "\x50", # LATIN CAPITAL LETTER P
- "\x{0051}" => "\x51", # LATIN CAPITAL LETTER Q
- "\x{0052}" => "\x52", # LATIN CAPITAL LETTER R
- "\x{0053}" => "\x53", # LATIN CAPITAL LETTER S
- "\x{0054}" => "\x54", # LATIN CAPITAL LETTER T
- "\x{0055}" => "\x55", # LATIN CAPITAL LETTER U
- "\x{0056}" => "\x56", # LATIN CAPITAL LETTER V
- "\x{0057}" => "\x57", # LATIN CAPITAL LETTER W
- "\x{0058}" => "\x58", # LATIN CAPITAL LETTER X
- "\x{0059}" => "\x59", # LATIN CAPITAL LETTER Y
- "\x{005A}" => "\x5A", # LATIN CAPITAL LETTER Z
- "\x{005F}" => "\x11", # LOW LINE
- "\x{0061}" => "\x61", # LATIN SMALL LETTER A
- "\x{0062}" => "\x62", # LATIN SMALL LETTER B
- "\x{0063}" => "\x63", # LATIN SMALL LETTER C
- "\x{0064}" => "\x64", # LATIN SMALL LETTER D
- "\x{0065}" => "\x65", # LATIN SMALL LETTER E
- "\x{0066}" => "\x66", # LATIN SMALL LETTER F
- "\x{0067}" => "\x67", # LATIN SMALL LETTER G
- "\x{0068}" => "\x68", # LATIN SMALL LETTER H
- "\x{0069}" => "\x69", # LATIN SMALL LETTER I
- "\x{006A}" => "\x6A", # LATIN SMALL LETTER J
- "\x{006B}" => "\x6B", # LATIN SMALL LETTER K
- "\x{006C}" => "\x6C", # LATIN SMALL LETTER L
- "\x{006D}" => "\x6D", # LATIN SMALL LETTER M
- "\x{006E}" => "\x6E", # LATIN SMALL LETTER N
- "\x{006F}" => "\x6F", # LATIN SMALL LETTER O
- "\x{0070}" => "\x70", # LATIN SMALL LETTER P
- "\x{0071}" => "\x71", # LATIN SMALL LETTER Q
- "\x{0072}" => "\x72", # LATIN SMALL LETTER R
- "\x{0073}" => "\x73", # LATIN SMALL LETTER S
- "\x{0074}" => "\x74", # LATIN SMALL LETTER T
- "\x{0075}" => "\x75", # LATIN SMALL LETTER U
- "\x{0076}" => "\x76", # LATIN SMALL LETTER V
- "\x{0077}" => "\x77", # LATIN SMALL LETTER W
- "\x{0078}" => "\x78", # LATIN SMALL LETTER X
- "\x{0079}" => "\x79", # LATIN SMALL LETTER Y
- "\x{007A}" => "\x7A", # LATIN SMALL LETTER Z
- "\x{000C}" => "\x1B\x0A", # FORM FEED
- "\x{005B}" => "\x1B\x3C", # LEFT SQUARE BRACKET
- "\x{005C}" => "\x1B\x2F", # REVERSE SOLIDUS
- "\x{005D}" => "\x1B\x3E", # RIGHT SQUARE BRACKET
- "\x{005E}" => "\x1B\x14", # CIRCUMFLEX ACCENT
- "\x{007B}" => "\x1B\x28", # LEFT CURLY BRACKET
- "\x{007C}" => "\x1B\x40", # VERTICAL LINE
- "\x{007D}" => "\x1B\x29", # RIGHT CURLY BRACKET
- "\x{007E}" => "\x1B\x3D", # TILDE
- "\x{00A0}" => "\x1B", # NO-BREAK SPACE
- "\x{00A1}" => "\x40", # INVERTED EXCLAMATION MARK
- "\x{00A3}" => "\x01", # POUND SIGN
- "\x{00A4}" => "\x24", # CURRENCY SIGN
- "\x{00A5}" => "\x03", # YEN SIGN
- "\x{00A7}" => "\x5F", # SECTION SIGN
- "\x{00BF}" => "\x60", # INVERTED QUESTION MARK
- "\x{00C4}" => "\x5B", # LATIN CAPITAL LETTER A WITH DIAERESIS
- "\x{00C5}" => "\x0E", # LATIN CAPITAL LETTER A WITH RING ABOVE
- "\x{00C6}" => "\x1C", # LATIN CAPITAL LETTER AE
- "\x{00C9}" => "\x1F", # LATIN CAPITAL LETTER E WITH ACUTE
- "\x{00D1}" => "\x5D", # LATIN CAPITAL LETTER N WITH TILDE
- "\x{00D6}" => "\x5C", # LATIN CAPITAL LETTER O WITH DIAERESIS
- "\x{00D8}" => "\x0B", # LATIN CAPITAL LETTER O WITH STROKE
- "\x{00DC}" => "\x5E", # LATIN CAPITAL LETTER U WITH DIAERESIS
- "\x{00DF}" => "\x1E", # LATIN SMALL LETTER SHARP S
- "\x{00E0}" => "\x7F", # LATIN SMALL LETTER A WITH GRAVE
- "\x{00E4}" => "\x7B", # LATIN SMALL LETTER A WITH DIAERESIS
- "\x{00E5}" => "\x0F", # LATIN SMALL LETTER A WITH RING ABOVE
- "\x{00E6}" => "\x1D", # LATIN SMALL LETTER AE
- "\x{00E7}" => "\x09", # LATIN SMALL LETTER C WITH CEDILLA
- "\x{00E8}" => "\x04", # LATIN SMALL LETTER E WITH GRAVE
- "\x{00E9}" => "\x05", # LATIN SMALL LETTER E WITH ACUTE
- "\x{00EC}" => "\x07", # LATIN SMALL LETTER I WITH GRAVE
- "\x{00F1}" => "\x7D", # LATIN SMALL LETTER N WITH TILDE
- "\x{00F2}" => "\x08", # LATIN SMALL LETTER O WITH GRAVE
- "\x{00F6}" => "\x7C", # LATIN SMALL LETTER O WITH DIAERESIS
- "\x{00F8}" => "\x0C", # LATIN SMALL LETTER O WITH STROKE
- "\x{00F9}" => "\x06", # LATIN SMALL LETTER U WITH GRAVE
- "\x{00FC}" => "\x7E", # LATIN SMALL LETTER U WITH DIAERESIS
- "\x{0393}" => "\x13", # GREEK CAPITAL LETTER GAMMA
- "\x{0394}" => "\x10", # GREEK CAPITAL LETTER DELTA
- "\x{0398}" => "\x19", # GREEK CAPITAL LETTER THETA
- "\x{039B}" => "\x14", # GREEK CAPITAL LETTER LAMDA
- "\x{039E}" => "\x1A", # GREEK CAPITAL LETTER XI
- "\x{03A0}" => "\x16", # GREEK CAPITAL LETTER PI
- "\x{03A3}" => "\x18", # GREEK CAPITAL LETTER SIGMA
- "\x{03A6}" => "\x12", # GREEK CAPITAL LETTER PHI
- "\x{03A8}" => "\x17", # GREEK CAPITAL LETTER PSI
- "\x{03A9}" => "\x15", # GREEK CAPITAL LETTER OMEGA
- "\x{20AC}" => "\x1B\x65", # EURO SIGN
-);
-our %GSM2UNI = reverse %UNI2GSM;
-our $ESC = "\x1b";
-our $ATMARK = "\x40";
-our $FBCHAR = "\x3F";
-our $NBSP = "\x{00A0}";
-
-#define ERR_DECODE_NOMAP "%s \"\\x%02" UVXf "\" does not map to Unicode"
-
-sub decode ($$;$) {
- my ( $obj, $bytes, $chk ) = @_;
- my $str;
- while ( length $bytes ) {
- my $c = substr( $bytes, 0, 1, '' );
- my $u;
- if ( $c eq "\x00" ) {
- my $c2 = substr( $bytes, 0, 1, '' );
- $u =
- !length $c2 ? $ATMARK
- : $c2 eq "\x00" ? "\x{0000}"
- : exists $GSM2UNI{$c2} ? $ATMARK . $GSM2UNI{$c2}
- : $chk
- ? croak sprintf( "\\x%02X\\x%02X does not map to Unicode",
- ord($c), ord($c2) )
- : $ATMARK . $FBCHAR;
-
- }
- elsif ( $c eq $ESC ) {
- my $c2 = substr( $bytes, 0, 1, '' );
- $u =
- exists $GSM2UNI{ $c . $c2 } ? $GSM2UNI{ $c . $c2 }
- : exists $GSM2UNI{$c2} ? $NBSP . $GSM2UNI{$c2}
- : $chk
- ? croak sprintf( "\\x%02X\\x%02X does not map to Unicode",
- ord($c), ord($c2) )
- : $NBSP . $FBCHAR;
- }
- else {
- $u =
- exists $GSM2UNI{$c}
- ? $GSM2UNI{$c}
- : $chk ? ref $chk eq 'CODE'
- ? $chk->( ord $c )
- : croak sprintf( "\\x%02X does not map to Unicode", ord($c) )
- : $FBCHAR;
- }
- $str .= $u;
- }
- $_[1] = $bytes if $chk;
- return $str;
-}
-
-#define ERR_ENCODE_NOMAP "\"\\x{%04" UVxf "}\" does not map to %s"
-
-sub encode($$;$) {
- my ( $obj, $str, $chk ) = @_;
- my $bytes;
- while ( length $str ) {
- my $u = substr( $str, 0, 1, '' );
- my $c;
- $bytes .=
- exists $UNI2GSM{$u}
- ? $UNI2GSM{$u}
- : $chk ? ref $chk eq 'CODE'
- ? $chk->( ord($u) )
- : croak sprintf( "\\x{%04x} does not map to %s",
- ord($u), $obj->name )
- : $FBCHAR;
- }
- $_[1] = $str if $chk;
- return $bytes;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::GSM0338 -- ESTI GSM 03.38 Encoding
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $gsm0338 = encode("gsm0338", $utf8); # loads Encode::GSM0338 implicitly
- $utf8 = decode("gsm0338", $gsm0338); # ditto
-
-=head1 DESCRIPTION
-
-GSM0338 is for GSM handsets. Though it shares alphanumerals with ASCII,
-control character ranges and other parts are mapped very differently,
-mainly to store Greek characters. There are also escape sequences
-(starting with 0x1B) to cover e.g. the Euro sign.
-
-This was once handled by L<Encode::Bytes> but because of all those
-unusual specifications, Encode 2.20 has relocated the support to
-this module.
-
-=head1 NOTES
-
-Unlike most other encodings, the following aways croaks on error
-for any $chk that evaluates to true.
-
- $gsm0338 = encode("gsm0338", $utf8 $chk);
- $utf8 = decode("gsm0338", $gsm0338, $chk);
-
-So if you want to check the validity of the encoding, surround the
-expression with C<eval {}> block as follows;
-
- eval {
- $utf8 = decode("gsm0338", $gsm0338, $chk);
- };
- if ($@){
- # handle exception here
- }
-
-=head1 BUGS
-
-ESTI GSM 03.38 Encoding itself.
-
-Mapping \x00 to '@' causes too much pain everywhere.
-
-Its use of \x1b (escape) is also very questionable.
-
-Because of those two, the code paging approach used use in ucm-based
-Encoding SOMETIMES fails so this module was written.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Guess.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Guess.pm
deleted file mode 100644
index 1bc4df777d8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Guess.pm
+++ /dev/null
@@ -1,355 +0,0 @@
-package Encode::Guess;
-use strict;
-use warnings;
-use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-my $Canon = 'Guess';
-sub DEBUG () { 0 }
-our %DEF_SUSPECTS = map { $_ => find_encoding($_) } qw(ascii utf8);
-$Encode::Encoding{$Canon} = bless {
- Name => $Canon,
- Suspects => {%DEF_SUSPECTS},
-} => __PACKAGE__;
-
-use base qw(Encode::Encoding);
-sub needs_lines { 1 }
-sub perlio_ok { 0 }
-
-our @EXPORT = qw(guess_encoding);
-our $NoUTFAutoGuess = 0;
-our $UTF8_BOM = pack( "C3", 0xef, 0xbb, 0xbf );
-
-sub import { # Exporter not used so we do it on our own
- my $callpkg = caller;
- for my $item (@EXPORT) {
- no strict 'refs';
- *{"$callpkg\::$item"} = \&{"$item"};
- }
- set_suspects(@_);
-}
-
-sub set_suspects {
- my $class = shift;
- my $self = ref($class) ? $class : $Encode::Encoding{$Canon};
- $self->{Suspects} = {%DEF_SUSPECTS};
- $self->add_suspects(@_);
-}
-
-sub add_suspects {
- my $class = shift;
- my $self = ref($class) ? $class : $Encode::Encoding{$Canon};
- for my $c (@_) {
- my $e = find_encoding($c) or die "Unknown encoding: $c";
- $self->{Suspects}{ $e->name } = $e;
- DEBUG and warn "Added: ", $e->name;
- }
-}
-
-sub decode($$;$) {
- my ( $obj, $octet, $chk ) = @_;
- my $guessed = guess( $obj, $octet );
- unless ( ref($guessed) ) {
- require Carp;
- Carp::croak($guessed);
- }
- my $utf8 = $guessed->decode( $octet, $chk );
- $_[1] = $octet if $chk;
- return $utf8;
-}
-
-sub guess_encoding {
- guess( $Encode::Encoding{$Canon}, @_ );
-}
-
-sub guess {
- my $class = shift;
- my $obj = ref($class) ? $class : $Encode::Encoding{$Canon};
- my $octet = shift;
-
- # sanity check
- return unless defined $octet and length $octet;
-
- # cheat 0: utf8 flag;
- if ( Encode::is_utf8($octet) ) {
- return find_encoding('utf8') unless $NoUTFAutoGuess;
- Encode::_utf8_off($octet);
- }
-
- # cheat 1: BOM
- use Encode::Unicode;
- unless ($NoUTFAutoGuess) {
- my $BOM = pack( 'C3', unpack( "C3", $octet ) );
- return find_encoding('utf8')
- if ( defined $BOM and $BOM eq $UTF8_BOM );
- $BOM = unpack( 'N', $octet );
- return find_encoding('UTF-32')
- if ( defined $BOM and ( $BOM == 0xFeFF or $BOM == 0xFFFe0000 ) );
- $BOM = unpack( 'n', $octet );
- return find_encoding('UTF-16')
- if ( defined $BOM and ( $BOM == 0xFeFF or $BOM == 0xFFFe ) );
- if ( $octet =~ /\x00/o )
- { # if \x00 found, we assume UTF-(16|32)(BE|LE)
- my $utf;
- my ( $be, $le ) = ( 0, 0 );
- if ( $octet =~ /\x00\x00/o ) { # UTF-32(BE|LE) assumed
- $utf = "UTF-32";
- for my $char ( unpack( 'N*', $octet ) ) {
- $char & 0x0000ffff and $be++;
- $char & 0xffff0000 and $le++;
- }
- }
- else { # UTF-16(BE|LE) assumed
- $utf = "UTF-16";
- for my $char ( unpack( 'n*', $octet ) ) {
- $char & 0x00ff and $be++;
- $char & 0xff00 and $le++;
- }
- }
- DEBUG and warn "$utf, be == $be, le == $le";
- $be == $le
- and return
- "Encodings ambiguous between $utf BE and LE ($be, $le)";
- $utf .= ( $be > $le ) ? 'BE' : 'LE';
- return find_encoding($utf);
- }
- }
- my %try = %{ $obj->{Suspects} };
- for my $c (@_) {
- my $e = find_encoding($c) or die "Unknown encoding: $c";
- $try{ $e->name } = $e;
- DEBUG and warn "Added: ", $e->name;
- }
- my $nline = 1;
- for my $line ( split /\r\n?|\n/, $octet ) {
-
- # cheat 2 -- \e in the string
- if ( $line =~ /\e/o ) {
- my @keys = keys %try;
- delete @try{qw/utf8 ascii/};
- for my $k (@keys) {
- ref( $try{$k} ) eq 'Encode::XS' and delete $try{$k};
- }
- }
- my %ok = %try;
-
- # warn join(",", keys %try);
- for my $k ( keys %try ) {
- my $scratch = $line;
- $try{$k}->decode( $scratch, FB_QUIET );
- if ( $scratch eq '' ) {
- DEBUG and warn sprintf( "%4d:%-24s ok\n", $nline, $k );
- }
- else {
- use bytes ();
- DEBUG
- and warn sprintf( "%4d:%-24s not ok; %d bytes left\n",
- $nline, $k, bytes::length($scratch) );
- delete $ok{$k};
- }
- }
- %ok or return "No appropriate encodings found!";
- if ( scalar( keys(%ok) ) == 1 ) {
- my ($retval) = values(%ok);
- return $retval;
- }
- %try = %ok;
- $nline++;
- }
- $try{ascii}
- or return "Encodings too ambiguous: ", join( " or ", keys %try );
- return $try{ascii};
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Guess -- Guesses encoding from data
-
-=head1 SYNOPSIS
-
- # if you are sure $data won't contain anything bogus
-
- use Encode;
- use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;
- my $utf8 = decode("Guess", $data);
- my $data = encode("Guess", $utf8); # this doesn't work!
-
- # more elaborate way
- use Encode::Guess;
- my $enc = guess_encoding($data, qw/euc-jp shiftjis 7bit-jis/);
- ref($enc) or die "Can't guess: $enc"; # trap error this way
- $utf8 = $enc->decode($data);
- # or
- $utf8 = decode($enc->name, $data)
-
-=head1 ABSTRACT
-
-Encode::Guess enables you to guess in what encoding a given data is
-encoded, or at least tries to.
-
-=head1 DESCRIPTION
-
-By default, it checks only ascii, utf8 and UTF-16/32 with BOM.
-
- use Encode::Guess; # ascii/utf8/BOMed UTF
-
-To use it more practically, you have to give the names of encodings to
-check (I<suspects> as follows). The name of suspects can either be
-canonical names or aliases.
-
-CAVEAT: Unlike UTF-(16|32), BOM in utf8 is NOT AUTOMATICALLY STRIPPED.
-
- # tries all major Japanese Encodings as well
- use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;
-
-If the C<$Encode::Guess::NoUTFAutoGuess> variable is set to a true
-value, no heuristics will be applied to UTF8/16/32, and the result
-will be limited to the suspects and C<ascii>.
-
-=over 4
-
-=item Encode::Guess->set_suspects
-
-You can also change the internal suspects list via C<set_suspects>
-method.
-
- use Encode::Guess;
- Encode::Guess->set_suspects(qw/euc-jp shiftjis 7bit-jis/);
-
-=item Encode::Guess->add_suspects
-
-Or you can use C<add_suspects> method. The difference is that
-C<set_suspects> flushes the current suspects list while
-C<add_suspects> adds.
-
- use Encode::Guess;
- Encode::Guess->add_suspects(qw/euc-jp shiftjis 7bit-jis/);
- # now the suspects are euc-jp,shiftjis,7bit-jis, AND
- # euc-kr,euc-cn, and big5-eten
- Encode::Guess->add_suspects(qw/euc-kr euc-cn big5-eten/);
-
-=item Encode::decode("Guess" ...)
-
-When you are content with suspects list, you can now
-
- my $utf8 = Encode::decode("Guess", $data);
-
-=item Encode::Guess->guess($data)
-
-But it will croak if:
-
-=over
-
-=item *
-
-Two or more suspects remain
-
-=item *
-
-No suspects left
-
-=back
-
-So you should instead try this;
-
- my $decoder = Encode::Guess->guess($data);
-
-On success, $decoder is an object that is documented in
-L<Encode::Encoding>. So you can now do this;
-
- my $utf8 = $decoder->decode($data);
-
-On failure, $decoder now contains an error message so the whole thing
-would be as follows;
-
- my $decoder = Encode::Guess->guess($data);
- die $decoder unless ref($decoder);
- my $utf8 = $decoder->decode($data);
-
-=item guess_encoding($data, [, I<list of suspects>])
-
-You can also try C<guess_encoding> function which is exported by
-default. It takes $data to check and it also takes the list of
-suspects by option. The optional suspect list is I<not reflected> to
-the internal suspects list.
-
- my $decoder = guess_encoding($data, qw/euc-jp euc-kr euc-cn/);
- die $decoder unless ref($decoder);
- my $utf8 = $decoder->decode($data);
- # check only ascii and utf8
- my $decoder = guess_encoding($data);
-
-=back
-
-=head1 CAVEATS
-
-=over 4
-
-=item *
-
-Because of the algorithm used, ISO-8859 series and other single-byte
-encodings do not work well unless either one of ISO-8859 is the only
-one suspect (besides ascii and utf8).
-
- use Encode::Guess;
- # perhaps ok
- my $decoder = guess_encoding($data, 'latin1');
- # definitely NOT ok
- my $decoder = guess_encoding($data, qw/latin1 greek/);
-
-The reason is that Encode::Guess guesses encoding by trial and error.
-It first splits $data into lines and tries to decode the line for each
-suspect. It keeps it going until all but one encoding is eliminated
-out of suspects list. ISO-8859 series is just too successful for most
-cases (because it fills almost all code points in \x00-\xff).
-
-=item *
-
-Do not mix national standard encodings and the corresponding vendor
-encodings.
-
- # a very bad idea
- my $decoder
- = guess_encoding($data, qw/shiftjis MacJapanese cp932/);
-
-The reason is that vendor encoding is usually a superset of national
-standard so it becomes too ambiguous for most cases.
-
-=item *
-
-On the other hand, mixing various national standard encodings
-automagically works unless $data is too short to allow for guessing.
-
- # This is ok if $data is long enough
- my $decoder =
- guess_encoding($data, qw/euc-cn
- euc-jp shiftjis 7bit-jis
- euc-kr
- big5-eten/);
-
-=item *
-
-DO NOT PUT TOO MANY SUSPECTS! Don't you try something like this!
-
- my $decoder = guess_encoding($data,
- Encode->encodings(":all"));
-
-=back
-
-It is, after all, just a guess. You should alway be explicit when it
-comes to encodings. But there are some, especially Japanese,
-environment that guess-coding is a must. Use this module with care.
-
-=head1 TO DO
-
-Encode::Guess does not work on EBCDIC platforms.
-
-=head1 SEE ALSO
-
-L<Encode>, L<Encode::Encoding>
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP.pm
deleted file mode 100644
index e78e54d0522..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP.pm
+++ /dev/null
@@ -1,99 +0,0 @@
-package Encode::JP;
-BEGIN {
- if ( ord("A") == 193 ) {
- die "Encode::JP not supported on EBCDIC\n";
- }
-}
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-use Encode::JP::JIS7;
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::JP - Japanese Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $euc_jp = encode("euc-jp", $utf8); # loads Encode::JP implicitly
- $utf8 = decode("euc-jp", $euc_jp); # ditto
-
-=head1 ABSTRACT
-
-This module implements Japanese charset encodings. Encodings
-supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- euc-jp /\beuc.*jp$/i EUC (Extended Unix Character)
- /\bjp.*euc/i
- /\bujis$/i
- shiftjis /\bshift.*jis$/i Shift JIS (aka MS Kanji)
- /\bsjis$/i
- 7bit-jis /\bjis$/i 7bit JIS
- iso-2022-jp ISO-2022-JP [RFC1468]
- = 7bit JIS with all Halfwidth Kana
- converted to Fullwidth
- iso-2022-jp-1 ISO-2022-JP-1 [RFC2237]
- = ISO-2022-JP with JIS X 0212-1990
- support. See below
- MacJapanese Shift JIS + Apple vendor mappings
- cp932 /\bwindows-31j$/i Code Page 932
- = Shift JIS + MS/IBM vendor mappings
- jis0201-raw JIS0201, raw format
- jis0208-raw JIS0201, raw format
- jis0212-raw JIS0201, raw format
- --------------------------------------------------------------------
-
-=head1 DESCRIPTION
-
-To find out how to use this module in detail, see L<Encode>.
-
-=head1 Note on ISO-2022-JP(-1)?
-
-ISO-2022-JP-1 (RFC2237) is a superset of ISO-2022-JP (RFC1468) which
-adds support for JIS X 0212-1990. That means you can use the same
-code to decode to utf8 but not vice versa.
-
- $utf8 = decode('iso-2022-jp-1', $stream);
-
-and
-
- $utf8 = decode('iso-2022-jp', $stream);
-
-yield the same result but
-
- $with_0212 = encode('iso-2022-jp-1', $utf8);
-
-is now different from
-
- $without_0212 = encode('iso-2022-jp', $utf8 );
-
-In the latter case, characters that map to 0212 are first converted
-to U+3013 (0xA2AE in EUC-JP; a white square also known as 'Tofu' or
-'geta mark') then fed to the decoding engine. U+FFFD is not used,
-in order to preserve text layout as much as possible.
-
-=head1 BUGS
-
-The ASCII region (0x00-0x7f) is preserved for all encodings, even
-though this conflicts with mappings by the Unicode Consortium. See
-
-L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
-
-to find out why it is implemented that way.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/H2Z.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/H2Z.pm
deleted file mode 100644
index f8e2230da11..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/H2Z.pm
+++ /dev/null
@@ -1,176 +0,0 @@
-#
-# $Id: H2Z.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $
-#
-
-package Encode::JP::H2Z;
-
-use strict;
-use warnings;
-
-our $RCSID = q$Id: H2Z.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Encode::CJKConstants qw(:all);
-
-use vars qw(%_D2Z $_PAT_D2Z
- %_Z2D $_PAT_Z2D
- %_H2Z $_PAT_H2Z
- %_Z2H $_PAT_Z2H);
-
-%_H2Z = (
- "\x8e\xa1" => "\xa1\xa3", #¡£
- "\x8e\xa2" => "\xa1\xd6", #¡Ö
- "\x8e\xa3" => "\xa1\xd7", #¡×
- "\x8e\xa4" => "\xa1\xa2", #¡¢
- "\x8e\xa5" => "\xa1\xa6", #¡¦
- "\x8e\xa6" => "\xa5\xf2", #¥ò
- "\x8e\xa7" => "\xa5\xa1", #¥¡
- "\x8e\xa8" => "\xa5\xa3", #¥£
- "\x8e\xa9" => "\xa5\xa5", #¥¥
- "\x8e\xaa" => "\xa5\xa7", #¥§
- "\x8e\xab" => "\xa5\xa9", #¥©
- "\x8e\xac" => "\xa5\xe3", #¥ã
- "\x8e\xad" => "\xa5\xe5", #¥å
- "\x8e\xae" => "\xa5\xe7", #¥ç
- "\x8e\xaf" => "\xa5\xc3", #¥Ã
- "\x8e\xb0" => "\xa1\xbc", #¡¼
- "\x8e\xb1" => "\xa5\xa2", #¥¢
- "\x8e\xb2" => "\xa5\xa4", #¥¤
- "\x8e\xb3" => "\xa5\xa6", #¥¦
- "\x8e\xb4" => "\xa5\xa8", #¥¨
- "\x8e\xb5" => "\xa5\xaa", #¥ª
- "\x8e\xb6" => "\xa5\xab", #¥«
- "\x8e\xb7" => "\xa5\xad", #¥­
- "\x8e\xb8" => "\xa5\xaf", #¥¯
- "\x8e\xb9" => "\xa5\xb1", #¥±
- "\x8e\xba" => "\xa5\xb3", #¥³
- "\x8e\xbb" => "\xa5\xb5", #¥µ
- "\x8e\xbc" => "\xa5\xb7", #¥·
- "\x8e\xbd" => "\xa5\xb9", #¥¹
- "\x8e\xbe" => "\xa5\xbb", #¥»
- "\x8e\xbf" => "\xa5\xbd", #¥½
- "\x8e\xc0" => "\xa5\xbf", #¥¿
- "\x8e\xc1" => "\xa5\xc1", #¥Á
- "\x8e\xc2" => "\xa5\xc4", #¥Ä
- "\x8e\xc3" => "\xa5\xc6", #¥Æ
- "\x8e\xc4" => "\xa5\xc8", #¥È
- "\x8e\xc5" => "\xa5\xca", #¥Ê
- "\x8e\xc6" => "\xa5\xcb", #¥Ë
- "\x8e\xc7" => "\xa5\xcc", #¥Ì
- "\x8e\xc8" => "\xa5\xcd", #¥Í
- "\x8e\xc9" => "\xa5\xce", #¥Î
- "\x8e\xca" => "\xa5\xcf", #¥Ï
- "\x8e\xcb" => "\xa5\xd2", #¥Ò
- "\x8e\xcc" => "\xa5\xd5", #¥Õ
- "\x8e\xcd" => "\xa5\xd8", #¥Ø
- "\x8e\xce" => "\xa5\xdb", #¥Û
- "\x8e\xcf" => "\xa5\xde", #¥Þ
- "\x8e\xd0" => "\xa5\xdf", #¥ß
- "\x8e\xd1" => "\xa5\xe0", #¥à
- "\x8e\xd2" => "\xa5\xe1", #¥á
- "\x8e\xd3" => "\xa5\xe2", #¥â
- "\x8e\xd4" => "\xa5\xe4", #¥ä
- "\x8e\xd5" => "\xa5\xe6", #¥æ
- "\x8e\xd6" => "\xa5\xe8", #¥è
- "\x8e\xd7" => "\xa5\xe9", #¥é
- "\x8e\xd8" => "\xa5\xea", #¥ê
- "\x8e\xd9" => "\xa5\xeb", #¥ë
- "\x8e\xda" => "\xa5\xec", #¥ì
- "\x8e\xdb" => "\xa5\xed", #¥í
- "\x8e\xdc" => "\xa5\xef", #¥ï
- "\x8e\xdd" => "\xa5\xf3", #¥ó
- "\x8e\xde" => "\xa1\xab", #¡«
- "\x8e\xdf" => "\xa1\xac", #¡¬
-);
-
-%_D2Z = (
- "\x8e\xb6\x8e\xde" => "\xa5\xac", #¥¬
- "\x8e\xb7\x8e\xde" => "\xa5\xae", #¥®
- "\x8e\xb8\x8e\xde" => "\xa5\xb0", #¥°
- "\x8e\xb9\x8e\xde" => "\xa5\xb2", #¥²
- "\x8e\xba\x8e\xde" => "\xa5\xb4", #¥´
- "\x8e\xbb\x8e\xde" => "\xa5\xb6", #¥¶
- "\x8e\xbc\x8e\xde" => "\xa5\xb8", #¥¸
- "\x8e\xbd\x8e\xde" => "\xa5\xba", #¥º
- "\x8e\xbe\x8e\xde" => "\xa5\xbc", #¥¼
- "\x8e\xbf\x8e\xde" => "\xa5\xbe", #¥¾
- "\x8e\xc0\x8e\xde" => "\xa5\xc0", #¥À
- "\x8e\xc1\x8e\xde" => "\xa5\xc2", #¥Â
- "\x8e\xc2\x8e\xde" => "\xa5\xc5", #¥Å
- "\x8e\xc3\x8e\xde" => "\xa5\xc7", #¥Ç
- "\x8e\xc4\x8e\xde" => "\xa5\xc9", #¥É
- "\x8e\xca\x8e\xde" => "\xa5\xd0", #¥Ð
- "\x8e\xcb\x8e\xde" => "\xa5\xd3", #¥Ó
- "\x8e\xcc\x8e\xde" => "\xa5\xd6", #¥Ö
- "\x8e\xcd\x8e\xde" => "\xa5\xd9", #¥Ù
- "\x8e\xce\x8e\xde" => "\xa5\xdc", #¥Ü
- "\x8e\xca\x8e\xdf" => "\xa5\xd1", #¥Ñ
- "\x8e\xcb\x8e\xdf" => "\xa5\xd4", #¥Ô
- "\x8e\xcc\x8e\xdf" => "\xa5\xd7", #¥×
- "\x8e\xcd\x8e\xdf" => "\xa5\xda", #¥Ú
- "\x8e\xce\x8e\xdf" => "\xa5\xdd", #¥Ý
- "\x8e\xb3\x8e\xde" => "\xa5\xf4", #¥ô
-);
-
-# init only once;
-
-#$_PAT_D2Z = join("|", keys %_D2Z);
-#$_PAT_H2Z = join("|", keys %_H2Z);
-
-%_Z2H = reverse %_H2Z;
-%_Z2D = reverse %_D2Z;
-
-#$_PAT_Z2H = join("|", keys %_Z2H);
-#$_PAT_Z2D = join("|", keys %_Z2D);
-
-sub h2z {
- no warnings qw(uninitialized);
- my $r_str = shift;
- my ($keep_dakuten) = @_;
- my $n = 0;
- unless ($keep_dakuten) {
- $n = (
- $$r_str =~ s(
- ($RE{EUC_KANA}
- (?:\x8e[\xde\xdf])?)
- ){
- my $str = $1;
- $_D2Z{$str} || $_H2Z{$str} ||
- # in case dakuten and handakuten are side-by-side!
- $_H2Z{substr($str,0,2)} . $_H2Z{substr($str,2,2)};
- }eogx
- );
- }
- else {
- $n = (
- $$r_str =~ s(
- ($RE{EUC_KANA})
- ){
- $_H2Z{$1};
- }eogx
- );
- }
- $n;
-}
-
-sub z2h {
- my $r_str = shift;
- my $n = (
- $$r_str =~ s(
- ($RE{EUC_C}|$RE{EUC_0212}|$RE{EUC_KANA})
- ){
- $_Z2D{$1} || $_Z2H{$1} || $1;
- }eogx
- );
- $n;
-}
-
-1;
-__END__
-
-
-=head1 NAME
-
-Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/JIS7.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/JIS7.pm
deleted file mode 100644
index bb048fdf4ac..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/JP/JIS7.pm
+++ /dev/null
@@ -1,164 +0,0 @@
-package Encode::JP::JIS7;
-use strict;
-use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Encode qw(:fallbacks);
-
-for my $name ( '7bit-jis', 'iso-2022-jp', 'iso-2022-jp-1' ) {
- my $h2z = ( $name eq '7bit-jis' ) ? 0 : 1;
- my $jis0212 = ( $name eq 'iso-2022-jp' ) ? 0 : 1;
-
- $Encode::Encoding{$name} = bless {
- Name => $name,
- h2z => $h2z,
- jis0212 => $jis0212,
- } => __PACKAGE__;
-}
-
-use base qw(Encode::Encoding);
-
-# we override this to 1 so PerlIO works
-sub needs_lines { 1 }
-
-use Encode::CJKConstants qw(:all);
-
-#
-# decode is identical for all 2022 variants
-#
-
-sub decode($$;$) {
- my ( $obj, $str, $chk ) = @_;
- my $residue = '';
- if ($chk) {
- $str =~ s/([^\x00-\x7f].*)$//so and $residue = $1;
- }
- $residue .= jis_euc( \$str );
- $_[1] = $residue if $chk;
- return Encode::decode( 'euc-jp', $str, FB_PERLQQ );
-}
-
-#
-# encode is different
-#
-
-sub encode($$;$) {
- require Encode::JP::H2Z;
- my ( $obj, $utf8, $chk ) = @_;
-
- # empty the input string in the stack so perlio is ok
- $_[1] = '' if $chk;
- my ( $h2z, $jis0212 ) = @$obj{qw(h2z jis0212)};
- my $octet = Encode::encode( 'euc-jp', $utf8, $chk );
- $h2z and &Encode::JP::H2Z::h2z( \$octet );
- euc_jis( \$octet, $jis0212 );
- return $octet;
-}
-
-#
-# cat_decode
-#
-my $re_scan_jis_g = qr{
- \G ( ($RE{JIS_0212}) | $RE{JIS_0208} |
- ($RE{ISO_ASC}) | ($RE{JIS_KANA}) | )
- ([^\e]*)
-}x;
-
-sub cat_decode { # ($obj, $dst, $src, $pos, $trm, $chk)
- my ( $obj, undef, undef, $pos, $trm ) = @_; # currently ignores $chk
- my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
- local ${^ENCODING};
- use bytes;
- my $opos = pos($$rsrc);
- pos($$rsrc) = $pos;
- while ( $$rsrc =~ /$re_scan_jis_g/gc ) {
- my ( $esc, $esc_0212, $esc_asc, $esc_kana, $chunk ) =
- ( $1, $2, $3, $4, $5 );
-
- unless ($chunk) { $esc or last; next; }
-
- if ( $esc && !$esc_asc ) {
- $chunk =~ tr/\x21-\x7e/\xa1-\xfe/;
- if ($esc_kana) {
- $chunk =~ s/([\xa1-\xdf])/\x8e$1/og;
- }
- elsif ($esc_0212) {
- $chunk =~ s/([\xa1-\xfe][\xa1-\xfe])/\x8f$1/og;
- }
- $chunk = Encode::decode( 'euc-jp', $chunk, 0 );
- }
- elsif ( ( my $npos = index( $chunk, $trm ) ) >= 0 ) {
- $$rdst .= substr( $chunk, 0, $npos + length($trm) );
- $$rpos += length($esc) + $npos + length($trm);
- pos($$rsrc) = $opos;
- return 1;
- }
- $$rdst .= $chunk;
- $$rpos = pos($$rsrc);
- }
- $$rpos = pos($$rsrc);
- pos($$rsrc) = $opos;
- return '';
-}
-
-# JIS<->EUC
-my $re_scan_jis = qr{
- (?:($RE{JIS_0212})|$RE{JIS_0208}|($RE{ISO_ASC})|($RE{JIS_KANA}))([^\e]*)
-}x;
-
-sub jis_euc {
- local ${^ENCODING};
- my $r_str = shift;
- $$r_str =~ s($re_scan_jis)
- {
- my ($esc_0212, $esc_asc, $esc_kana, $chunk) =
- ($1, $2, $3, $4);
- if (!$esc_asc) {
- $chunk =~ tr/\x21-\x7e/\xa1-\xfe/;
- if ($esc_kana) {
- $chunk =~ s/([\xa1-\xdf])/\x8e$1/og;
- }
- elsif ($esc_0212) {
- $chunk =~ s/([\xa1-\xfe][\xa1-\xfe])/\x8f$1/og;
- }
- }
- $chunk;
- }geox;
- my ($residue) = ( $$r_str =~ s/(\e.*)$//so );
- return $residue;
-}
-
-sub euc_jis {
- no warnings qw(uninitialized);
- my $r_str = shift;
- my $jis0212 = shift;
- $$r_str =~ s{
- ((?:$RE{EUC_C})+|(?:$RE{EUC_KANA})+|(?:$RE{EUC_0212})+)
- }{
- my $chunk = $1;
- my $esc =
- ( $chunk =~ tr/\x8E//d ) ? $ESC{KANA} :
- ( $chunk =~ tr/\x8F//d ) ? $ESC{JIS_0212} :
- $ESC{JIS_0208};
- if ($esc eq $ESC{JIS_0212} && !$jis0212){
- # fallback to '?'
- $chunk =~ tr/\xA1-\xFE/\x3F/;
- }else{
- $chunk =~ tr/\xA1-\xFE/\x21-\x7E/;
- }
- $esc . $chunk . $ESC{ASC};
- }geox;
- $$r_str =~ s/\Q$ESC{ASC}\E
- (\Q$ESC{KANA}\E|\Q$ESC{JIS_0212}\E|\Q$ESC{JIS_0208}\E)/$1/gox;
- $$r_str;
-}
-
-1;
-__END__
-
-
-=head1 NAME
-
-Encode::JP::JIS7 -- internally used by Encode::JP
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR.pm
deleted file mode 100644
index 8cb2c63b162..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR.pm
+++ /dev/null
@@ -1,73 +0,0 @@
-package Encode::KR;
-BEGIN {
- if ( ord("A") == 193 ) {
- die "Encode::KR not supported on EBCDIC\n";
- }
-}
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-use Encode::KR::2022_KR;
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::KR - Korean Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $euc_kr = encode("euc-kr", $utf8); # loads Encode::KR implicitly
- $utf8 = decode("euc-kr", $euc_kr); # ditto
-
-=head1 DESCRIPTION
-
-This module implements Korean charset encodings. Encodings supported
-are as follows.
-
-
- Canonical Alias Description
- --------------------------------------------------------------------
- euc-kr /\beuc.*kr$/i EUC (Extended Unix Character)
- /\bkr.*euc$/i
- ksc5601-raw Korean standard code set (as is)
- cp949 /(?:x-)?uhc$/i
- /(?:x-)?windows-949$/i
- /\bks_c_5601-1987$/i
- Code Page 949 (EUC-KR + 8,822
- (additional Hangul syllables)
- MacKorean EUC-KR + Apple Vendor Mappings
- johab JOHAB A supplementary encoding defined in
- Annex 3 of KS X 1001:1998
- iso-2022-kr iso-2022-kr [RFC1557]
- --------------------------------------------------------------------
-
-To find how to use this module in detail, see L<Encode>.
-
-=head1 BUGS
-
-When you see C<charset=ks_c_5601-1987> on mails and web pages, they really
-mean "cp949" encodings. To fix that, the following aliases are set;
-
- qr/(?:x-)?uhc$/i => '"cp949"'
- qr/(?:x-)?windows-949$/i => '"cp949"'
- qr/ks_c_5601-1987$/i => '"cp949"'
-
-The ASCII region (0x00-0x7f) is preserved for all encodings, even
-though this conflicts with mappings by the Unicode Consortium. See
-
-L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
-
-to find out why it is implemented that way.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR/2022_KR.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR/2022_KR.pm
deleted file mode 100644
index 0218d971ee2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/KR/2022_KR.pm
+++ /dev/null
@@ -1,81 +0,0 @@
-package Encode::KR::2022_KR;
-use strict;
-use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use Encode qw(:fallbacks);
-
-use base qw(Encode::Encoding);
-__PACKAGE__->Define('iso-2022-kr');
-
-sub needs_lines { 1 }
-
-sub perlio_ok {
- return 0; # for the time being
-}
-
-sub decode {
- my ( $obj, $str, $chk ) = @_;
- my $res = $str;
- my $residue = iso_euc( \$res );
-
- # This is for PerlIO
- $_[1] = $residue if $chk;
- return Encode::decode( 'euc-kr', $res, FB_PERLQQ );
-}
-
-sub encode {
- my ( $obj, $utf8, $chk ) = @_;
-
- # empty the input string in the stack so perlio is ok
- $_[1] = '' if $chk;
- my $octet = Encode::encode( 'euc-kr', $utf8, FB_PERLQQ );
- euc_iso( \$octet );
- return $octet;
-}
-
-use Encode::CJKConstants qw(:all);
-
-# ISO<->EUC
-
-sub iso_euc {
- my $r_str = shift;
- $$r_str =~ s/$RE{'2022_KR'}//gox; # remove the designator
- $$r_str =~ s{ # replace characters in GL
- \x0e # between SO(\x0e) and SI(\x0f)
- ([^\x0f]*) # with characters in GR
- \x0f
- }
- {
- my $out= $1;
- $out =~ tr/\x21-\x7e/\xa1-\xfe/;
- $out;
- }geox;
- my ($residue) = ( $$r_str =~ s/(\e.*)$//so );
- return $residue;
-}
-
-sub euc_iso {
- no warnings qw(uninitialized);
- my $r_str = shift;
- substr( $$r_str, 0, 0 ) =
- $ESC{'2022_KR'}; # put the designator at the beg.
- $$r_str =~
- s{ # move KS X 1001 characters in GR to GL
- ($RE{EUC_C}+) # and enclose them with SO and SI
- }{
- my $str = $1;
- $str =~ tr/\xA1-\xFE/\x21-\x7E/;
- "\x0e" . $str . "\x0f";
- }geox;
- $$r_str;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::KR::2022_KR -- internally used by Encode::KR
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header.pm
deleted file mode 100644
index b664d888b3f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header.pm
+++ /dev/null
@@ -1,242 +0,0 @@
-package Encode::MIME::Header;
-use strict;
-use warnings;
-no warnings 'redefine';
-
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-use Encode qw(find_encoding encode_utf8 decode_utf8);
-use MIME::Base64;
-use Carp;
-
-my %seed = (
- decode_b => '1', # decodes 'B' encoding ?
- decode_q => '1', # decodes 'Q' encoding ?
- encode => 'B', # encode with 'B' or 'Q' ?
- bpl => 75, # bytes per line
-);
-
-$Encode::Encoding{'MIME-Header'} =
- bless { %seed, Name => 'MIME-Header', } => __PACKAGE__;
-
-$Encode::Encoding{'MIME-B'} = bless {
- %seed,
- decode_q => 0,
- Name => 'MIME-B',
-} => __PACKAGE__;
-
-$Encode::Encoding{'MIME-Q'} = bless {
- %seed,
- decode_q => 1,
- encode => 'Q',
- Name => 'MIME-Q',
-} => __PACKAGE__;
-
-use base qw(Encode::Encoding);
-
-sub needs_lines { 1 }
-sub perlio_ok { 0 }
-
-sub decode($$;$) {
- use utf8;
- my ( $obj, $str, $chk ) = @_;
-
- # zap spaces between encoded words
- $str =~ s/\?=\s+=\?/\?==\?/gos;
-
- # multi-line header to single line
- $str =~ s/(:?\r|\n|\r\n)[ \t]//gos;
-
- 1 while ( $str =~
- s/(\=\?[0-9A-Za-z\-_]+\?[Qq]\?)(.*?)\?\=\1(.*?)\?\=/$1$2$3\?\=/ )
- ; # Concat consecutive QP encoded mime headers
- # Fixes breaking inside multi-byte characters
-
- $str =~ s{
- =\? # begin encoded word
- ([0-9A-Za-z\-_]+) # charset (encoding)
- (?:\*[A-Za-z]{1,8}(?:-[A-Za-z]{1,8})*)? # language (RFC 2231)
- \?([QqBb])\? # delimiter
- (.*?) # Base64-encodede contents
- \?= # end encoded word
- }{
- if (uc($2) eq 'B'){
- $obj->{decode_b} or croak qq(MIME "B" unsupported);
- decode_b($1, $3);
- }elsif(uc($2) eq 'Q'){
- $obj->{decode_q} or croak qq(MIME "Q" unsupported);
- decode_q($1, $3);
- }else{
- croak qq(MIME "$2" encoding is nonexistent!);
- }
- }egox;
- $_[1] = '' if $chk;
- return $str;
-}
-
-sub decode_b {
- my $enc = shift;
- my $d = find_encoding($enc) or croak qq(Unknown encoding "$enc");
- my $db64 = decode_base64(shift);
- return $d->name eq 'utf8'
- ? Encode::decode_utf8($db64)
- : $d->decode( $db64, Encode::FB_PERLQQ );
-}
-
-sub decode_q {
- my ( $enc, $q ) = @_;
- my $d = find_encoding($enc) or croak qq(Unknown encoding "$enc");
- $q =~ s/_/ /go;
- $q =~ s/=([0-9A-Fa-f]{2})/pack("C", hex($1))/ego;
- return $d->name eq 'utf8'
- ? Encode::decode_utf8($q)
- : $d->decode( $q, Encode::FB_PERLQQ );
-}
-
-my $especials =
- join( '|' => map { quotemeta( chr($_) ) }
- unpack( "C*", qq{()<>@,;:\"\'/[]?.=} ) );
-
-my $re_encoded_word = qr{
- (?:
- =\? # begin encoded word
- (?:[0-9A-Za-z\-_]+) # charset (encoding)
- (?:\*\w+(?:-\w+)*)? # language (RFC 2231)
- \?(?:[QqBb])\? # delimiter
- (?:.*?) # Base64-encodede contents
- \?= # end encoded word
- )
- }xo;
-
-my $re_especials = qr{$re_encoded_word|$especials}xo;
-
-sub encode($$;$) {
- my ( $obj, $str, $chk ) = @_;
- my @line = ();
- for my $line ( split /\r|\n|\r\n/o, $str ) {
- my ( @word, @subline );
- for my $word ( split /($re_especials)/o, $line ) {
- if ( $word =~ /[^\x00-\x7f]/o
- or $word =~ /^$re_encoded_word$/o )
- {
- push @word, $obj->_encode($word);
- }
- else {
- push @word, $word;
- }
- }
- my $subline = '';
- for my $word (@word) {
- use bytes ();
- if ( bytes::length($subline) + bytes::length($word) >
- $obj->{bpl} )
- {
- push @subline, $subline;
- $subline = '';
- }
- $subline .= $word;
- }
- $subline and push @subline, $subline;
- push @line, join( "\n " => @subline );
- }
- $_[1] = '' if $chk;
- return join( "\n", @line );
-}
-
-use constant HEAD => '=?UTF-8?';
-use constant TAIL => '?=';
-use constant SINGLE => { B => \&_encode_b, Q => \&_encode_q, };
-
-sub _encode {
- my ( $o, $str ) = @_;
- my $enc = $o->{encode};
- my $llen = ( $o->{bpl} - length(HEAD) - 2 - length(TAIL) );
-
- # to coerce a floating-point arithmetics, the following contains
- # .0 in numbers -- dankogai
- $llen *= $enc eq 'B' ? 3.0 / 4.0 : 1.0 / 3.0;
- my @result = ();
- my $chunk = '';
- while ( length( my $chr = substr( $str, 0, 1, '' ) ) ) {
- use bytes ();
- if ( bytes::length($chunk) + bytes::length($chr) > $llen ) {
- push @result, SINGLE->{$enc}($chunk);
- $chunk = '';
- }
- $chunk .= $chr;
- }
- $chunk and push @result, SINGLE->{$enc}($chunk);
- return @result;
-}
-
-sub _encode_b {
- HEAD . 'B?' . encode_base64( encode_utf8(shift), '' ) . TAIL;
-}
-
-sub _encode_q {
- my $chunk = shift;
- $chunk = encode_utf8($chunk);
- $chunk =~ s{
- ([^0-9A-Za-z])
- }{
- join("" => map {sprintf "=%02X", $_} unpack("C*", $1))
- }egox;
- return HEAD . 'Q?' . $chunk . TAIL;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $utf8 = decode('MIME-Header', $header);
- $header = encode('MIME-Header', $utf8);
-
-=head1 ABSTRACT
-
-This module implements RFC 2047 Mime Header Encoding. There are 3
-variant encoding names; C<MIME-Header>, C<MIME-B> and C<MIME-Q>. The
-difference is described below
-
- decode() encode()
- ----------------------------------------------
- MIME-Header Both B and Q =?UTF-8?B?....?=
- MIME-B B only; Q croaks =?UTF-8?B?....?=
- MIME-Q Q only; B croaks =?UTF-8?Q?....?=
-
-=head1 DESCRIPTION
-
-When you decode(=?I<encoding>?I<X>?I<ENCODED WORD>?=), I<ENCODED WORD>
-is extracted and decoded for I<X> encoding (B for Base64, Q for
-Quoted-Printable). Then the decoded chunk is fed to
-decode(I<encoding>). So long as I<encoding> is supported by Encode,
-any source encoding is fine.
-
-When you encode, it just encodes UTF-8 string with I<X> encoding then
-quoted with =?UTF-8?I<X>?....?= . The parts that RFC 2047 forbids to
-encode are left as is and long lines are folded within 76 bytes per
-line.
-
-=head1 BUGS
-
-It would be nice to support encoding to non-UTF8, such as =?ISO-2022-JP?
-and =?ISO-8859-1?= but that makes the implementation too complicated.
-These days major mail agents all support =?UTF-8? so I think it is
-just good enough.
-
-Due to popular demand, 'MIME-Header-ISO_2022_JP' was introduced by
-Makamaka. Thre are still too many MUAs especially cellular phone
-handsets which does not grok UTF-8.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-RFC 2047, L<http://www.faqs.org/rfcs/rfc2047.html> and many other
-locations.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header/ISO_2022_JP.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header/ISO_2022_JP.pm
deleted file mode 100644
index 4abfbd05ef8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Header/ISO_2022_JP.pm
+++ /dev/null
@@ -1,131 +0,0 @@
-package Encode::MIME::Header::ISO_2022_JP;
-
-use strict;
-use warnings;
-
-use base qw(Encode::MIME::Header);
-
-$Encode::Encoding{'MIME-Header-ISO_2022_JP'} =
- bless { encode => 'B', bpl => 76, Name => 'MIME-Header-ISO_2022_JP' } =>
- __PACKAGE__;
-
-use constant HEAD => '=?ISO-2022-JP?B?';
-use constant TAIL => '?=';
-
-use Encode::CJKConstants qw(%RE);
-
-our $VERSION = do { my @r = ( q$Revision: 1.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-# I owe the below codes totally to
-# Jcode by Dan Kogai & http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
-
-sub encode {
- my $self = shift;
- my $str = shift;
-
- utf8::encode($str) if ( Encode::is_utf8($str) );
- Encode::from_to( $str, 'utf8', 'euc-jp' );
-
- my ($trailing_crlf) = ( $str =~ /(\n|\r|\x0d\x0a)$/o );
-
- $str = _mime_unstructured_header( $str, $self->{bpl} );
-
- not $trailing_crlf and $str =~ s/(\n|\r|\x0d\x0a)$//o;
-
- return $str;
-}
-
-sub _mime_unstructured_header {
- my ( $oldheader, $bpl ) = @_;
- my $crlf = $oldheader =~ /\n$/;
- my ( $header, @words, @wordstmp, $i ) = ('');
-
- $oldheader =~ s/\s+$//;
-
- @wordstmp = split /\s+/, $oldheader;
-
- for ( $i = 0 ; $i < $#wordstmp ; $i++ ) {
- if ( $wordstmp[$i] !~ /^[\x21-\x7E]+$/
- and $wordstmp[ $i + 1 ] !~ /^[\x21-\x7E]+$/ )
- {
- $wordstmp[ $i + 1 ] = "$wordstmp[$i] $wordstmp[$i + 1]";
- }
- else {
- push( @words, $wordstmp[$i] );
- }
- }
-
- push( @words, $wordstmp[-1] );
-
- for my $word (@words) {
- if ( $word =~ /^[\x21-\x7E]+$/ ) {
- $header =~ /(?:.*\n)*(.*)/;
- if ( length($1) + length($word) > $bpl ) {
- $header .= "\n $word";
- }
- else {
- $header .= $word;
- }
- }
- else {
- $header = _add_encoded_word( $word, $header, $bpl );
- }
-
- $header =~ /(?:.*\n)*(.*)/;
-
- if ( length($1) == $bpl ) {
- $header .= "\n ";
- }
- else {
- $header .= ' ';
- }
- }
-
- $header =~ s/\n? $//mg;
-
- $crlf ? "$header\n" : $header;
-}
-
-sub _add_encoded_word {
- my ( $str, $line, $bpl ) = @_;
- my $result = '';
-
- while ( length($str) ) {
- my $target = $str;
- $str = '';
-
- if (
- length($line) + 22 +
- ( $target =~ /^(?:$RE{EUC_0212}|$RE{EUC_C})/o ) * 8 > $bpl )
- {
- $line =~ s/[ \t\n\r]*$/\n/;
- $result .= $line;
- $line = ' ';
- }
-
- while (1) {
- my $iso_2022_jp = $target;
- Encode::from_to( $iso_2022_jp, 'euc-jp', 'iso-2022-jp' );
-
- my $encoded =
- HEAD . MIME::Base64::encode_base64( $iso_2022_jp, '' ) . TAIL;
-
- if ( length($encoded) + length($line) > $bpl ) {
- $target =~
- s/($RE{EUC_0212}|$RE{EUC_KANA}|$RE{EUC_C}|$RE{ASCII})$//o;
- $str = $1 . $str;
- }
- else {
- $line .= $encoded;
- last;
- }
- }
-
- }
-
- $result . $line;
-}
-
-1;
-__END__
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Name.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Name.pm
deleted file mode 100644
index 10d86a746dc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/MIME/Name.pm
+++ /dev/null
@@ -1,94 +0,0 @@
-package Encode::MIME::Name;
-use strict;
-use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-our %MIME_NAME_OF = (
- 'AdobeStandardEncoding' => 'Adobe-Standard-Encoding',
- 'AdobeSymbol' => 'Adobe-Symbol-Encoding',
- 'ascii' => 'US-ASCII',
- 'big5-hkscs' => 'Big5-HKSCS',
- 'cp1026' => 'IBM1026',
- 'cp1047' => 'IBM1047',
- 'cp1250' => 'windows-1250',
- 'cp1251' => 'windows-1251',
- 'cp1252' => 'windows-1252',
- 'cp1253' => 'windows-1253',
- 'cp1254' => 'windows-1254',
- 'cp1255' => 'windows-1255',
- 'cp1256' => 'windows-1256',
- 'cp1257' => 'windows-1257',
- 'cp1258' => 'windows-1258',
- 'cp37' => 'IBM037',
- 'cp424' => 'IBM424',
- 'cp437' => 'IBM437',
- 'cp500' => 'IBM500',
- 'cp775' => 'IBM775',
- 'cp850' => 'IBM850',
- 'cp852' => 'IBM852',
- 'cp855' => 'IBM855',
- 'cp857' => 'IBM857',
- 'cp860' => 'IBM860',
- 'cp861' => 'IBM861',
- 'cp862' => 'IBM862',
- 'cp863' => 'IBM863',
- 'cp864' => 'IBM864',
- 'cp865' => 'IBM865',
- 'cp866' => 'IBM866',
- 'cp869' => 'IBM869',
- 'cp936' => 'GBK',
- 'euc-jp' => 'EUC-JP',
- 'euc-kr' => 'EUC-KR',
- #'gb2312-raw' => 'GB2312', # no, you're wrong, I18N::Charset
- 'hp-roman8' => 'hp-roman8',
- 'hz' => 'HZ-GB-2312',
- 'iso-2022-jp' => 'ISO-2022-JP',
- 'iso-2022-jp-1' => 'ISO-2022-JP',
- 'iso-2022-kr' => 'ISO-2022-KR',
- 'iso-8859-1' => 'ISO-8859-1',
- 'iso-8859-10' => 'ISO-8859-10',
- 'iso-8859-13' => 'ISO-8859-13',
- 'iso-8859-14' => 'ISO-8859-14',
- 'iso-8859-15' => 'ISO-8859-15',
- 'iso-8859-16' => 'ISO-8859-16',
- 'iso-8859-2' => 'ISO-8859-2',
- 'iso-8859-3' => 'ISO-8859-3',
- 'iso-8859-4' => 'ISO-8859-4',
- 'iso-8859-5' => 'ISO-8859-5',
- 'iso-8859-6' => 'ISO-8859-6',
- 'iso-8859-7' => 'ISO-8859-7',
- 'iso-8859-8' => 'ISO-8859-8',
- 'iso-8859-9' => 'ISO-8859-9',
- #'jis0201-raw' => 'JIS_X0201',
- #'jis0208-raw' => 'JIS_C6226-1983',
- #'jis0212-raw' => 'JIS_X0212-1990',
- 'koi8-r' => 'KOI8-R',
- 'koi8-u' => 'KOI8-U',
- #'ksc5601-raw' => 'KS_C_5601-1987',
- 'shiftjis' => 'Shift_JIS',
- 'UTF-16' => 'UTF-16',
- 'UTF-16BE' => 'UTF-16BE',
- 'UTF-16LE' => 'UTF-16LE',
- 'UTF-32' => 'UTF-32',
- 'UTF-32BE' => 'UTF-32BE',
- 'UTF-32LE' => 'UTF-32LE',
- 'UTF-7' => 'UTF-7',
- 'utf8' => 'UTF-8',
- 'utf-8-strict' => 'UTF-8',
- 'viscii' => 'VISCII',
-);
-
-sub get_mime_name($) { $MIME_NAME_OF{$_[0]} };
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::MIME::NAME -- internally used by Encode
-
-=head1 SEE ALSO
-
-L<I18N::Charset>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Symbol.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Symbol.pm
deleted file mode 100644
index 77031aad75c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Symbol.pm
+++ /dev/null
@@ -1,44 +0,0 @@
-package Encode::Symbol;
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Symbol - Symbol Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $symbol = encode("symbol", $utf8); # loads Encode::Symbol implicitly
- $utf8 = decode("", $symbol); # ditto
-
-=head1 ABSTRACT
-
-This module implements symbol and dingbats encodings. Encodings
-supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- symbol
- dingbats
- AdobeZDingbat
- AdobeSymbol
- MacDingbats
-
-=head1 DESCRIPTION
-
-To find out how to use this module in detail, see L<Encode>.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/TW.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/TW.pm
deleted file mode 100644
index ffaa8442040..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/TW.pm
+++ /dev/null
@@ -1,79 +0,0 @@
-package Encode::TW;
-BEGIN {
- if ( ord("A") == 193 ) {
- die "Encode::TW not supported on EBCDIC\n";
- }
-}
-use strict;
-use warnings;
-use Encode;
-our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::TW - Taiwan-based Chinese Encodings
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $big5 = encode("big5", $utf8); # loads Encode::TW implicitly
- $utf8 = decode("big5", $big5); # ditto
-
-=head1 DESCRIPTION
-
-This module implements tradition Chinese charset encodings as used
-in Taiwan and Hong Kong.
-Encodings supported are as follows.
-
- Canonical Alias Description
- --------------------------------------------------------------------
- big5-eten /\bbig-?5$/i Big5 encoding (with ETen extensions)
- /\bbig5-?et(en)?$/i
- /\btca-?big5$/i
- big5-hkscs /\bbig5-?hk(scs)?$/i
- /\bhk(scs)?-?big5$/i
- Big5 + Cantonese characters in Hong Kong
- MacChineseTrad Big5 + Apple Vendor Mappings
- cp950 Code Page 950
- = Big5 + Microsoft vendor mappings
- --------------------------------------------------------------------
-
-To find out how to use this module in detail, see L<Encode>.
-
-=head1 NOTES
-
-Due to size concerns, C<EUC-TW> (Extended Unix Character), C<CCCII>
-(Chinese Character Code for Information Interchange), C<BIG5PLUS>
-(CMEX's Big5+) and C<BIG5EXT> (CMEX's Big5e) are distributed separately
-on CPAN, under the name L<Encode::HanExtra>. That module also contains
-extra China-based encodings.
-
-=head1 BUGS
-
-Since the original C<big5> encoding (1984) is not supported anywhere
-(glibc and DOS-based systems uses C<big5> to mean C<big5-eten>; Microsoft
-uses C<big5> to mean C<cp950>), a conscious decision was made to alias
-C<big5> to C<big5-eten>, which is the de facto superset of the original
-big5.
-
-The C<CNS11643> encoding files are not complete. For common C<CNS11643>
-manipulation, please use C<EUC-TW> in L<Encode::HanExtra>, which contains
-planes 1-7.
-
-The ASCII region (0x00-0x7f) is preserved for all encodings, even
-though this conflicts with mappings by the Unicode Consortium. See
-
-L<http://www.debian.or.jp/~kubota/unicode-symbols.html.en>
-
-to find out why it is implemented that way.
-
-=head1 SEE ALSO
-
-L<Encode>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode.pm
deleted file mode 100644
index cdfe02d673c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode.pm
+++ /dev/null
@@ -1,270 +0,0 @@
-package Encode::Unicode;
-
-use strict;
-use warnings;
-no warnings 'redefine';
-
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-
-use XSLoader;
-XSLoader::load( __PACKAGE__, $VERSION );
-
-#
-# Object Generator 8 transcoders all at once!
-#
-
-require Encode;
-
-our %BOM_Unknown = map { $_ => 1 } qw(UTF-16 UTF-32);
-
-for my $name (
- qw(UTF-16 UTF-16BE UTF-16LE
- UTF-32 UTF-32BE UTF-32LE
- UCS-2BE UCS-2LE)
- )
-{
- my ( $size, $endian, $ucs2, $mask );
- $name =~ /^(\w+)-(\d+)(\w*)$/o;
- if ( $ucs2 = ( $1 eq 'UCS' ) ) {
- $size = 2;
- }
- else {
- $size = $2 / 8;
- }
- $endian = ( $3 eq 'BE' ) ? 'n' : ( $3 eq 'LE' ) ? 'v' : '';
- $size == 4 and $endian = uc($endian);
-
- $Encode::Encoding{$name} = bless {
- Name => $name,
- size => $size,
- endian => $endian,
- ucs2 => $ucs2,
- } => __PACKAGE__;
-}
-
-use base qw(Encode::Encoding);
-
-sub renew {
- my $self = shift;
- $BOM_Unknown{ $self->name } or return $self;
- my $clone = bless {%$self} => ref($self);
- $clone->{renewed}++; # so the caller knows it is renewed.
- return $clone;
-}
-
-# There used to be a perl implemntation of (en|de)code but with
-# XS version is ripe, perl version is zapped for optimal speed
-
-*decode = \&decode_xs;
-*encode = \&encode_xs;
-
-1;
-__END__
-
-=head1 NAME
-
-Encode::Unicode -- Various Unicode Transformation Formats
-
-=cut
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $ucs2 = encode("UCS-2BE", $utf8);
- $utf8 = decode("UCS-2BE", $ucs2);
-
-=head1 ABSTRACT
-
-This module implements all Character Encoding Schemes of Unicode that
-are officially documented by Unicode Consortium (except, of course,
-for UTF-8, which is a native format in perl).
-
-=over 4
-
-=item L<http://www.unicode.org/glossary/> says:
-
-I<Character Encoding Scheme> A character encoding form plus byte
-serialization. There are Seven character encoding schemes in Unicode:
-UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32 (UCS-4), UTF-32BE (UCS-4BE) and
-UTF-32LE (UCS-4LE), and UTF-7.
-
-Since UTF-7 is a 7-bit (re)encoded version of UTF-16BE, It is not part of
-Unicode's Character Encoding Scheme. It is separately implemented in
-Encode::Unicode::UTF7. For details see L<Encode::Unicode::UTF7>.
-
-=item Quick Reference
-
- Decodes from ord(N) Encodes chr(N) to...
- octet/char BOM S.P d800-dfff ord > 0xffff \x{1abcd} ==
- ---------------+-----------------+------------------------------
- UCS-2BE 2 N N is bogus Not Available
- UCS-2LE 2 N N bogus Not Available
- UTF-16 2/4 Y Y is S.P S.P BE/LE
- UTF-16BE 2/4 N Y S.P S.P 0xd82a,0xdfcd
- UTF-16LE 2/4 N Y S.P S.P 0x2ad8,0xcddf
- UTF-32 4 Y - is bogus As is BE/LE
- UTF-32BE 4 N - bogus As is 0x0001abcd
- UTF-32LE 4 N - bogus As is 0xcdab0100
- UTF-8 1-4 - - bogus >= 4 octets \xf0\x9a\af\8d
- ---------------+-----------------+------------------------------
-
-=back
-
-=head1 Size, Endianness, and BOM
-
-You can categorize these CES by 3 criteria: size of each character,
-endianness, and Byte Order Mark.
-
-=head2 by size
-
-UCS-2 is a fixed-length encoding with each character taking 16 bits.
-It B<does not> support I<surrogate pairs>. When a surrogate pair
-is encountered during decode(), its place is filled with \x{FFFD}
-if I<CHECK> is 0, or the routine croaks if I<CHECK> is 1. When a
-character whose ord value is larger than 0xFFFF is encountered,
-its place is filled with \x{FFFD} if I<CHECK> is 0, or the routine
-croaks if I<CHECK> is 1.
-
-UTF-16 is almost the same as UCS-2 but it supports I<surrogate pairs>.
-When it encounters a high surrogate (0xD800-0xDBFF), it fetches the
-following low surrogate (0xDC00-0xDFFF) and C<desurrogate>s them to
-form a character. Bogus surrogates result in death. When \x{10000}
-or above is encountered during encode(), it C<ensurrogate>s them and
-pushes the surrogate pair to the output stream.
-
-UTF-32 (UCS-4) is a fixed-length encoding with each character taking 32 bits.
-Since it is 32-bit, there is no need for I<surrogate pairs>.
-
-=head2 by endianness
-
-The first (and now failed) goal of Unicode was to map all character
-repertoires into a fixed-length integer so that programmers are happy.
-Since each character is either a I<short> or I<long> in C, you have to
-pay attention to the endianness of each platform when you pass data
-to one another.
-
-Anything marked as BE is Big Endian (or network byte order) and LE is
-Little Endian (aka VAX byte order). For anything not marked either
-BE or LE, a character called Byte Order Mark (BOM) indicating the
-endianness is prepended to the string.
-
-CAVEAT: Though BOM in utf8 (\xEF\xBB\xBF) is valid, it is meaningless
-and as of this writing Encode suite just leave it as is (\x{FeFF}).
-
-=over 4
-
-=item BOM as integer when fetched in network byte order
-
- 16 32 bits/char
- -------------------------
- BE 0xFeFF 0x0000FeFF
- LE 0xFFFe 0xFFFe0000
- -------------------------
-
-=back
-
-This modules handles the BOM as follows.
-
-=over 4
-
-=item *
-
-When BE or LE is explicitly stated as the name of encoding, BOM is
-simply treated as a normal character (ZERO WIDTH NO-BREAK SPACE).
-
-=item *
-
-When BE or LE is omitted during decode(), it checks if BOM is at the
-beginning of the string; if one is found, the endianness is set to
-what the BOM says. If no BOM is found, the routine dies.
-
-=item *
-
-When BE or LE is omitted during encode(), it returns a BE-encoded
-string with BOM prepended. So when you want to encode a whole text
-file, make sure you encode() the whole text at once, not line by line
-or each line, not file, will have a BOM prepended.
-
-=item *
-
-C<UCS-2> is an exception. Unlike others, this is an alias of UCS-2BE.
-UCS-2 is already registered by IANA and others that way.
-
-=back
-
-=head1 Surrogate Pairs
-
-To say the least, surrogate pairs were the biggest mistake of the
-Unicode Consortium. But according to the late Douglas Adams in I<The
-Hitchhiker's Guide to the Galaxy> Trilogy, C<In the beginning the
-Universe was created. This has made a lot of people very angry and
-been widely regarded as a bad move>. Their mistake was not of this
-magnitude so let's forgive them.
-
-(I don't dare make any comparison with Unicode Consortium and the
-Vogons here ;) Or, comparing Encode to Babel Fish is completely
-appropriate -- if you can only stick this into your ear :)
-
-Surrogate pairs were born when the Unicode Consortium finally
-admitted that 16 bits were not big enough to hold all the world's
-character repertoires. But they already made UCS-2 16-bit. What
-do we do?
-
-Back then, the range 0xD800-0xDFFF was not allocated. Let's split
-that range in half and use the first half to represent the C<upper
-half of a character> and the second half to represent the C<lower
-half of a character>. That way, you can represent 1024 * 1024 =
-1048576 more characters. Now we can store character ranges up to
-\x{10ffff} even with 16-bit encodings. This pair of half-character is
-now called a I<surrogate pair> and UTF-16 is the name of the encoding
-that embraces them.
-
-Here is a formula to ensurrogate a Unicode character \x{10000} and
-above;
-
- $hi = ($uni - 0x10000) / 0x400 + 0xD800;
- $lo = ($uni - 0x10000) % 0x400 + 0xDC00;
-
-And to desurrogate;
-
- $uni = 0x10000 + ($hi - 0xD800) * 0x400 + ($lo - 0xDC00);
-
-Note this move has made \x{D800}-\x{DFFF} into a forbidden zone but
-perl does not prohibit the use of characters within this range. To perl,
-every one of \x{0000_0000} up to \x{ffff_ffff} (*) is I<a character>.
-
- (*) or \x{ffff_ffff_ffff_ffff} if your perl is compiled with 64-bit
- integer support!
-
-=head1 Error Checking
-
-Unlike most encodings which accept various ways to handle errors,
-Unicode encodings simply croaks.
-
- % perl -MEncode -e '$_ = "\xfe\xff\xd8\xd9\xda\xdb\0\n"' \
- -e 'Encode::from_to($_, "utf16","shift_jis", 0); print'
- UTF-16:Malformed LO surrogate d8d9 at /path/to/Encode.pm line 184.
- % perl -MEncode -e '$a = "BOM missing"' \
- -e ' Encode::from_to($a, "utf16", "shift_jis", 0); print'
- UTF-16:Unrecognised BOM 424f at /path/to/Encode.pm line 184.
-
-Unlike other encodings where mappings are not one-to-one against
-Unicode, UTFs are supposed to map 100% against one another. So Encode
-is more strict on UTFs.
-
-Consider that "division by zero" of Encode :)
-
-=head1 SEE ALSO
-
-L<Encode>, L<Encode::Unicode::UTF7>, L<http://www.unicode.org/glossary/>,
-L<http://www.unicode.org/unicode/faq/utf_bom.html>,
-
-RFC 2781 L<http://rfc.net/rfc2781.html>,
-
-The whole Unicode standard L<http://www.unicode.org/unicode/uni2book/u2.html>
-
-Ch. 15, pp. 403 of C<Programming Perl (3rd Edition)>
-by Larry Wall, Tom Christiansen, Jon Orwant;
-O'Reilly & Associates; ISBN 0-596-00027-8
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode/UTF7.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode/UTF7.pm
deleted file mode 100644
index 6ee46195854..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Encode/Unicode/UTF7.pm
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-# $Id: UTF7.pm,v 2.4 2006/06/03 20:28:48 dankogai Exp $
-#
-package Encode::Unicode::UTF7;
-use strict;
-use warnings;
-no warnings 'redefine';
-use base qw(Encode::Encoding);
-__PACKAGE__->Define('UTF-7');
-our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-use MIME::Base64;
-use Encode;
-
-#
-# Algorithms taken from Unicode::String by Gisle Aas
-#
-
-our $OPTIONAL_DIRECT_CHARS = 1;
-my $specials = quotemeta "\'(),-./:?";
-$OPTIONAL_DIRECT_CHARS
- and $specials .= quotemeta "!\"#$%&*;<=>@[]^_`{|}";
-
-# \s will not work because it matches U+3000 DEOGRAPHIC SPACE
-# We use qr/[\n\r\t\ ] instead
-my $re_asis = qr/(?:[\n\r\t\ A-Za-z0-9$specials])/;
-my $re_encoded = qr/(?:[^\n\r\t\ A-Za-z0-9$specials])/;
-my $e_utf16 = find_encoding("UTF-16BE");
-
-sub needs_lines { 1 }
-
-sub encode($$;$) {
- my ( $obj, $str, $chk ) = @_;
- my $len = length($str);
- pos($str) = 0;
- my $bytes = '';
- while ( pos($str) < $len ) {
- if ( $str =~ /\G($re_asis+)/ogc ) {
- $bytes .= $1;
- }
- elsif ( $str =~ /\G($re_encoded+)/ogsc ) {
- if ( $1 eq "+" ) {
- $bytes .= "+-";
- }
- else {
- my $s = $1;
- my $base64 = encode_base64( $e_utf16->encode($s), '' );
- $base64 =~ s/=+$//;
- $bytes .= "+$base64-";
- }
- }
- else {
- die "This should not happen! (pos=" . pos($str) . ")";
- }
- }
- $_[1] = '' if $chk;
- return $bytes;
-}
-
-sub decode($$;$) {
- my ( $obj, $bytes, $chk ) = @_;
- my $len = length($bytes);
- my $str = "";
- no warnings 'uninitialized';
- while ( pos($bytes) < $len ) {
- if ( $bytes =~ /\G([^+]+)/ogc ) {
- $str .= $1;
- }
- elsif ( $bytes =~ /\G\+-/ogc ) {
- $str .= "+";
- }
- elsif ( $bytes =~ /\G\+([A-Za-z0-9+\/]+)-?/ogsc ) {
- my $base64 = $1;
- my $pad = length($base64) % 4;
- $base64 .= "=" x ( 4 - $pad ) if $pad;
- $str .= $e_utf16->decode( decode_base64($base64) );
- }
- elsif ( $bytes =~ /\G\+/ogc ) {
- $^W and warn "Bad UTF7 data escape";
- $str .= "+";
- }
- else {
- die "This should not happen " . pos($bytes);
- }
- }
- $_[1] = '' if $chk;
- return $str;
-}
-1;
-__END__
-
-=head1 NAME
-
-Encode::Unicode::UTF7 -- UTF-7 encoding
-
-=head1 SYNOPSIS
-
- use Encode qw/encode decode/;
- $utf7 = encode("UTF-7", $utf8);
- $utf8 = decode("UTF-7", $ucs2);
-
-=head1 ABSTRACT
-
-This module implements UTF-7 encoding documented in RFC 2152. UTF-7,
-as its name suggests, is a 7-bit re-encoded version of UTF-16BE. It
-is designed to be MTA-safe and expected to be a standard way to
-exchange Unicoded mails via mails. But with the advent of UTF-8 and
-8-bit compliant MTAs, UTF-7 is hardly ever used.
-
-UTF-7 was not supported by Encode until version 1.95 because of that.
-But Unicode::String, a module by Gisle Aas which adds Unicode supports
-to non-utf8-savvy perl did support UTF-7, the UTF-7 support was added
-so Encode can supersede Unicode::String 100%.
-
-=head1 In Practice
-
-When you want to encode Unicode for mails and web pages, however, do
-not use UTF-7 unless you are sure your recipients and readers can
-handle it. Very few MUAs and WWW Browsers support these days (only
-Mozilla seems to support one). For general cases, use UTF-8 for
-message body and MIME-Header for header instead.
-
-=head1 SEE ALSO
-
-L<Encode>, L<Encode::Unicode>, L<Unicode::String>
-
-RFC 2781 L<http://www.ietf.org/rfc/rfc2152.txt>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Errno.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Errno.pm
deleted file mode 100644
index 070c5f5b501..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Errno.pm
+++ /dev/null
@@ -1,275 +0,0 @@
-#
-# This file is auto-generated. ***ANY*** changes here will be lost
-#
-
-package Errno;
-our (@EXPORT_OK,%EXPORT_TAGS,@ISA,$VERSION,%errno,$AUTOLOAD);
-use Exporter ();
-use Config;
-use strict;
-
-"$Config{'archname'}-$Config{'osvers'}" eq
-"cygwin-thread-multi-64int-1.5.25(0.15642)" or
- die "Errno architecture (cygwin-thread-multi-64int-1.5.25(0.15642)) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";
-
-$VERSION = "1.10";
-$VERSION = eval $VERSION;
-@ISA = qw(Exporter);
-
-@EXPORT_OK = qw(EBADR EADV ENOMSG EROFS ENOTSUP ESHUTDOWN EMULTIHOP
- EPROTONOSUPPORT ENOLCK ENFILE EADDRINUSE EL3HLT ECONNABORTED EBADF
- ENOTBLK EDEADLK ECHRNG ENOLINK ESRMNT ELNRNG ETIME ENOTDIR ENOTTY
- EINVAL ENOANO EXDEV EBADE EBADSLT ELOOP ECONNREFUSED ENOSTR ENONET
- EOVERFLOW EISCONN EFBIG EPFNOSUPPORT ECONNRESET ENOENT EWOULDBLOCK
- ELIBMAX EBADMSG ENOMEDIUM EL2HLT ECASECLASH ENOPKG EBFONT EDOM ELIBSCN
- EMSGSIZE ENOCSI EL3RST ENOTSOCK EDESTADDRREQ EIDRM EIO ENOSPC
- EINPROGRESS ERANGE ENOBUFS EAFNOSUPPORT EADDRNOTAVAIL ENOSYS EINTR
- EHOSTDOWN EREMOTE EILSEQ EBADFD ENOSR ENOMEM EPIPE ENETUNREACH
- ENOTCONN ESTALE ENODATA EDQUOT EUSERS EOPNOTSUPP EPROTO EFTYPE ESPIPE
- EALREADY ENAMETOOLONG EMFILE EACCES ENOEXEC EPROCLIM EISDIR ELBIN
- EBUSY EBADRQC EPERM E2BIG ELIBEXEC EEXIST EDOTDOT ETOOMANYREFS ELIBACC
- ENOTUNIQ ECOMM ELIBBAD ENOSHARE EUNATCH ESOCKTNOSUPPORT ETIMEDOUT
- ENXIO ESRCH ETXTBSY ENODEV EFAULT EXFULL EMLINK ENMFILE EDEADLOCK
- EAGAIN ENOPROTOOPT ECHILD EHOSTUNREACH ENETDOWN EPROTOTYPE EREMCHG
- EL2NSYNC ENETRESET ENOTEMPTY);
-
-%EXPORT_TAGS = (
- POSIX => [qw(
- E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY
- EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
- EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
- EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
- ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK
- ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE
- EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT
- ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
- )]
-);
-
-sub EPERM () { 1 }
-sub ENOENT () { 2 }
-sub ESRCH () { 3 }
-sub EINTR () { 4 }
-sub EIO () { 5 }
-sub ENXIO () { 6 }
-sub E2BIG () { 7 }
-sub ENOEXEC () { 8 }
-sub EBADF () { 9 }
-sub ECHILD () { 10 }
-sub EWOULDBLOCK () { 11 }
-sub EAGAIN () { 11 }
-sub ENOMEM () { 12 }
-sub EACCES () { 13 }
-sub EFAULT () { 14 }
-sub ENOTBLK () { 15 }
-sub EBUSY () { 16 }
-sub EEXIST () { 17 }
-sub EXDEV () { 18 }
-sub ENODEV () { 19 }
-sub ENOTDIR () { 20 }
-sub EISDIR () { 21 }
-sub EINVAL () { 22 }
-sub ENFILE () { 23 }
-sub EMFILE () { 24 }
-sub ENOTTY () { 25 }
-sub ETXTBSY () { 26 }
-sub EFBIG () { 27 }
-sub ENOSPC () { 28 }
-sub ESPIPE () { 29 }
-sub EROFS () { 30 }
-sub EMLINK () { 31 }
-sub EPIPE () { 32 }
-sub EDOM () { 33 }
-sub ERANGE () { 34 }
-sub ENOMSG () { 35 }
-sub EIDRM () { 36 }
-sub ECHRNG () { 37 }
-sub EL2NSYNC () { 38 }
-sub EL3HLT () { 39 }
-sub EL3RST () { 40 }
-sub ELNRNG () { 41 }
-sub EUNATCH () { 42 }
-sub ENOCSI () { 43 }
-sub EL2HLT () { 44 }
-sub EDEADLK () { 45 }
-sub ENOLCK () { 46 }
-sub EBADE () { 50 }
-sub EBADR () { 51 }
-sub EXFULL () { 52 }
-sub ENOANO () { 53 }
-sub EBADRQC () { 54 }
-sub EBADSLT () { 55 }
-sub EDEADLOCK () { 56 }
-sub EBFONT () { 57 }
-sub ENOSTR () { 60 }
-sub ENODATA () { 61 }
-sub ETIME () { 62 }
-sub ENOSR () { 63 }
-sub ENONET () { 64 }
-sub ENOPKG () { 65 }
-sub EREMOTE () { 66 }
-sub ENOLINK () { 67 }
-sub EADV () { 68 }
-sub ESRMNT () { 69 }
-sub ECOMM () { 70 }
-sub EPROTO () { 71 }
-sub EMULTIHOP () { 74 }
-sub ELBIN () { 75 }
-sub EDOTDOT () { 76 }
-sub EBADMSG () { 77 }
-sub EFTYPE () { 79 }
-sub ENOTUNIQ () { 80 }
-sub EBADFD () { 81 }
-sub EREMCHG () { 82 }
-sub ELIBACC () { 83 }
-sub ELIBBAD () { 84 }
-sub ELIBSCN () { 85 }
-sub ELIBMAX () { 86 }
-sub ELIBEXEC () { 87 }
-sub ENOSYS () { 88 }
-sub ENMFILE () { 89 }
-sub ENOTEMPTY () { 90 }
-sub ENAMETOOLONG () { 91 }
-sub ELOOP () { 92 }
-sub EOPNOTSUPP () { 95 }
-sub EPFNOSUPPORT () { 96 }
-sub ECONNRESET () { 104 }
-sub ENOBUFS () { 105 }
-sub EAFNOSUPPORT () { 106 }
-sub EPROTOTYPE () { 107 }
-sub ENOTSOCK () { 108 }
-sub ENOPROTOOPT () { 109 }
-sub ESHUTDOWN () { 110 }
-sub ECONNREFUSED () { 111 }
-sub EADDRINUSE () { 112 }
-sub ECONNABORTED () { 113 }
-sub ENETUNREACH () { 114 }
-sub ENETDOWN () { 115 }
-sub ETIMEDOUT () { 116 }
-sub EHOSTDOWN () { 117 }
-sub EHOSTUNREACH () { 118 }
-sub EINPROGRESS () { 119 }
-sub EALREADY () { 120 }
-sub EDESTADDRREQ () { 121 }
-sub EMSGSIZE () { 122 }
-sub EPROTONOSUPPORT () { 123 }
-sub ESOCKTNOSUPPORT () { 124 }
-sub EADDRNOTAVAIL () { 125 }
-sub ENETRESET () { 126 }
-sub EISCONN () { 127 }
-sub ENOTCONN () { 128 }
-sub ETOOMANYREFS () { 129 }
-sub EPROCLIM () { 130 }
-sub EUSERS () { 131 }
-sub EDQUOT () { 132 }
-sub ESTALE () { 133 }
-sub ENOTSUP () { 134 }
-sub ENOMEDIUM () { 135 }
-sub ENOSHARE () { 136 }
-sub ECASECLASH () { 137 }
-sub EILSEQ () { 138 }
-sub EOVERFLOW () { 139 }
-
-sub TIEHASH { bless [] }
-
-sub FETCH {
- my ($self, $errname) = @_;
- my $proto = prototype("Errno::$errname");
- my $errno = "";
- if (defined($proto) && $proto eq "") {
- no strict 'refs';
- $errno = &$errname;
- $errno = 0 unless $! == $errno;
- }
- return $errno;
-}
-
-sub STORE {
- require Carp;
- Carp::confess("ERRNO hash is read only!");
-}
-
-*CLEAR = \&STORE;
-*DELETE = \&STORE;
-
-sub NEXTKEY {
- my($k,$v);
- while(($k,$v) = each %Errno::) {
- my $proto = prototype("Errno::$k");
- last if (defined($proto) && $proto eq "");
- }
- $k
-}
-
-sub FIRSTKEY {
- my $s = scalar keys %Errno::; # initialize iterator
- goto &NEXTKEY;
-}
-
-sub EXISTS {
- my ($self, $errname) = @_;
- my $r = ref $errname;
- my $proto = !$r || $r eq 'CODE' ? prototype($errname) : undef;
- defined($proto) && $proto eq "";
-}
-
-tie %!, __PACKAGE__;
-
-1;
-__END__
-
-=head1 NAME
-
-Errno - System errno constants
-
-=head1 SYNOPSIS
-
- use Errno qw(EINTR EIO :POSIX);
-
-=head1 DESCRIPTION
-
-C<Errno> defines and conditionally exports all the error constants
-defined in your system C<errno.h> include file. It has a single export
-tag, C<:POSIX>, which will export all POSIX defined error numbers.
-
-C<Errno> also makes C<%!> magic such that each element of C<%!> has a
-non-zero value only if C<$!> is set to that value. For example:
-
- use Errno;
-
- unless (open(FH, "/fangorn/spouse")) {
- if ($!{ENOENT}) {
- warn "Get a wife!\n";
- } else {
- warn "This path is barred: $!";
- }
- }
-
-If a specified constant C<EFOO> does not exist on the system, C<$!{EFOO}>
-returns C<"">. You may use C<exists $!{EFOO}> to check whether the
-constant is available on the system.
-
-=head1 CAVEATS
-
-Importing a particular constant may not be very portable, because the
-import will fail on platforms that do not have that constant. A more
-portable way to set C<$!> to a valid value is to use:
-
- if (exists &Errno::EFOO) {
- $! = &Errno::EFOO;
- }
-
-=head1 AUTHOR
-
-Graham Barr <gbarr@pobox.com>
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-8 Graham Barr. 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/5.10/i686-cygwin/Fcntl.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Fcntl.pm
deleted file mode 100644
index 83edeb60d85..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Fcntl.pm
+++ /dev/null
@@ -1,244 +0,0 @@
-package Fcntl;
-
-=head1 NAME
-
-Fcntl - load the C Fcntl.h defines
-
-=head1 SYNOPSIS
-
- use Fcntl;
- use Fcntl qw(:DEFAULT :flock);
-
-=head1 DESCRIPTION
-
-This module is just a translation of the C F<fcntl.h> file.
-Unlike the old mechanism of requiring a translated F<fcntl.ph>
-file, this uses the B<h2xs> program (see the Perl source distribution)
-and your native C compiler. This means that it has a
-far more likely chance of getting the numbers right.
-
-=head1 NOTE
-
-Only C<#define> symbols get translated; you must still correctly
-pack up your own arguments to pass as args for locking functions, etc.
-
-=head1 EXPORTED SYMBOLS
-
-By default your system's F_* and O_* constants (eg, F_DUPFD and
-O_CREAT) and the FD_CLOEXEC constant are exported into your namespace.
-
-You can request that the flock() constants (LOCK_SH, LOCK_EX, LOCK_NB
-and LOCK_UN) be provided by using the tag C<:flock>. See L<Exporter>.
-
-You can request that the old constants (FAPPEND, FASYNC, FCREAT,
-FDEFER, FEXCL, FNDELAY, FNONBLOCK, FSYNC, FTRUNC) be provided for
-compatibility reasons by using the tag C<:Fcompat>. For new
-applications the newer versions of these constants are suggested
-(O_APPEND, O_ASYNC, O_CREAT, O_DEFER, O_EXCL, O_NDELAY, O_NONBLOCK,
-O_SYNC, O_TRUNC).
-
-For ease of use also the SEEK_* constants (for seek() and sysseek(),
-e.g. SEEK_END) and the S_I* constants (for chmod() and stat()) are
-available for import. They can be imported either separately or using
-the tags C<:seek> and C<:mode>.
-
-Please refer to your native fcntl(2), open(2), fseek(3), lseek(2)
-(equal to Perl's seek() and sysseek(), respectively), and chmod(2)
-documentation to see what constants are implemented in your system.
-
-See L<perlopentut> to learn about the uses of the O_* constants
-with sysopen().
-
-See L<perlfunc/seek> and L<perlfunc/sysseek> about the SEEK_* constants.
-
-See L<perlfunc/stat> about the S_I* constants.
-
-=cut
-
-use strict;
-our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $AUTOLOAD);
-
-require Exporter;
-use XSLoader ();
-@ISA = qw(Exporter);
-BEGIN {
- $VERSION = "1.06";
-}
-
-# Items to export into callers namespace by default
-# (move infrequently used names to @EXPORT_OK below)
-@EXPORT =
- qw(
- FD_CLOEXEC
- F_ALLOCSP
- F_ALLOCSP64
- F_COMPAT
- F_DUP2FD
- F_DUPFD
- F_EXLCK
- F_FREESP
- F_FREESP64
- F_FSYNC
- F_FSYNC64
- F_GETFD
- F_GETFL
- F_GETLK
- F_GETLK64
- F_GETOWN
- F_NODNY
- F_POSIX
- F_RDACC
- F_RDDNY
- F_RDLCK
- F_RWACC
- F_RWDNY
- F_SETFD
- F_SETFL
- F_SETLK
- F_SETLK64
- F_SETLKW
- F_SETLKW64
- F_SETOWN
- F_SHARE
- F_SHLCK
- F_UNLCK
- F_UNSHARE
- F_WRACC
- F_WRDNY
- F_WRLCK
- O_ACCMODE
- O_ALIAS
- O_APPEND
- O_ASYNC
- O_BINARY
- O_CREAT
- O_DEFER
- O_DIRECT
- O_DIRECTORY
- O_DSYNC
- O_EXCL
- O_EXLOCK
- O_LARGEFILE
- O_NDELAY
- O_NOCTTY
- O_NOFOLLOW
- O_NOINHERIT
- O_NONBLOCK
- O_RANDOM
- O_RAW
- O_RDONLY
- O_RDWR
- O_RSRC
- O_RSYNC
- O_SEQUENTIAL
- O_SHLOCK
- O_SYNC
- O_TEMPORARY
- O_TEXT
- O_TRUNC
- O_WRONLY
- );
-
-# Other items we are prepared to export if requested
-@EXPORT_OK = qw(
- DN_ACCESS
- DN_ATTRIB
- DN_CREATE
- DN_DELETE
- DN_MODIFY
- DN_MULTISHOT
- DN_RENAME
- FAPPEND
- FASYNC
- FCREAT
- FDEFER
- FDSYNC
- FEXCL
- FLARGEFILE
- FNDELAY
- FNONBLOCK
- FRSYNC
- FSYNC
- FTRUNC
- F_GETLEASE
- F_GETSIG
- F_NOTIFY
- F_SETLEASE
- F_SETSIG
- LOCK_EX
- LOCK_MAND
- LOCK_NB
- LOCK_READ
- LOCK_RW
- LOCK_SH
- LOCK_UN
- LOCK_WRITE
- O_IGNORE_CTTY
- O_NOATIME
- O_NOLINK
- O_NOTRANS
- SEEK_CUR
- SEEK_END
- SEEK_SET
- S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
- S_IREAD S_IWRITE S_IEXEC
- S_IRGRP S_IWGRP S_IXGRP S_IRWXG
- S_IROTH S_IWOTH S_IXOTH S_IRWXO
- S_IRUSR S_IWUSR S_IXUSR S_IRWXU
- S_ISUID S_ISGID S_ISVTX S_ISTXT
- _S_IFMT S_IFREG S_IFDIR S_IFLNK
- &S_ISREG &S_ISDIR &S_ISLNK &S_ISSOCK &S_ISBLK &S_ISCHR &S_ISFIFO
- &S_ISWHT &S_ISENFMT &S_IFMT &S_IMODE
-);
-# Named groups of exports
-%EXPORT_TAGS = (
- 'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
- 'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
- FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
- 'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
- 'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
- _S_IFMT S_IFREG S_IFDIR S_IFLNK
- S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
- S_IRUSR S_IWUSR S_IXUSR S_IRWXU
- S_IRGRP S_IWGRP S_IXGRP S_IRWXG
- S_IROTH S_IWOTH S_IXOTH S_IRWXO
- S_IREAD S_IWRITE S_IEXEC
- S_ISREG S_ISDIR S_ISLNK S_ISSOCK
- S_ISBLK S_ISCHR S_ISFIFO
- S_ISWHT S_ISENFMT
- S_IFMT S_IMODE
- )],
-);
-
-# Force the constants to become inlined
-BEGIN {
- XSLoader::load 'Fcntl', $VERSION;
-}
-
-sub S_IFMT { @_ ? ( $_[0] & _S_IFMT() ) : _S_IFMT() }
-sub S_IMODE { $_[0] & 07777 }
-
-sub S_ISREG { ( $_[0] & _S_IFMT() ) == S_IFREG() }
-sub S_ISDIR { ( $_[0] & _S_IFMT() ) == S_IFDIR() }
-sub S_ISLNK { ( $_[0] & _S_IFMT() ) == S_IFLNK() }
-sub S_ISSOCK { ( $_[0] & _S_IFMT() ) == S_IFSOCK() }
-sub S_ISBLK { ( $_[0] & _S_IFMT() ) == S_IFBLK() }
-sub S_ISCHR { ( $_[0] & _S_IFMT() ) == S_IFCHR() }
-sub S_ISFIFO { ( $_[0] & _S_IFMT() ) == S_IFIFO() }
-sub S_ISWHT { ( $_[0] & _S_IFMT() ) == S_IFWHT() }
-sub S_ISENFMT { ( $_[0] & _S_IFMT() ) == S_IFENFMT() }
-
-sub AUTOLOAD {
- (my $constname = $AUTOLOAD) =~ s/.*:://;
- die "&Fcntl::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- if ($error) {
- my (undef,$file,$line) = caller;
- die "$error at $file line $line.\n";
- }
- no strict 'refs';
- *$AUTOLOAD = sub { $val };
- goto &$AUTOLOAD;
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/Glob.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/Glob.pm
deleted file mode 100644
index 15d4adb6bbe..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/Glob.pm
+++ /dev/null
@@ -1,496 +0,0 @@
-package File::Glob;
-
-use strict;
-our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS,
- $AUTOLOAD, $DEFAULT_FLAGS);
-
-use XSLoader ();
-
-@ISA = qw(Exporter);
-
-# NOTE: The glob() export is only here for compatibility with 5.6.0.
-# csh_glob() should not be used directly, unless you know what you're doing.
-
-@EXPORT_OK = qw(
- csh_glob
- bsd_glob
- glob
- GLOB_ABEND
- GLOB_ALPHASORT
- GLOB_ALTDIRFUNC
- GLOB_BRACE
- GLOB_CSH
- GLOB_ERR
- GLOB_ERROR
- GLOB_LIMIT
- GLOB_MARK
- GLOB_NOCASE
- GLOB_NOCHECK
- GLOB_NOMAGIC
- GLOB_NOSORT
- GLOB_NOSPACE
- GLOB_QUOTE
- GLOB_TILDE
-);
-
-%EXPORT_TAGS = (
- 'glob' => [ qw(
- GLOB_ABEND
- GLOB_ALPHASORT
- GLOB_ALTDIRFUNC
- GLOB_BRACE
- GLOB_CSH
- GLOB_ERR
- GLOB_ERROR
- GLOB_LIMIT
- GLOB_MARK
- GLOB_NOCASE
- GLOB_NOCHECK
- GLOB_NOMAGIC
- GLOB_NOSORT
- GLOB_NOSPACE
- GLOB_QUOTE
- GLOB_TILDE
- glob
- bsd_glob
- ) ],
-);
-
-$VERSION = '1.06';
-
-sub import {
- require Exporter;
- my $i = 1;
- while ($i < @_) {
- if ($_[$i] =~ /^:(case|nocase|globally)$/) {
- splice(@_, $i, 1);
- $DEFAULT_FLAGS &= ~GLOB_NOCASE() if $1 eq 'case';
- $DEFAULT_FLAGS |= GLOB_NOCASE() if $1 eq 'nocase';
- if ($1 eq 'globally') {
- local $^W;
- *CORE::GLOBAL::glob = \&File::Glob::csh_glob;
- }
- next;
- }
- ++$i;
- }
- goto &Exporter::import;
-}
-
-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 ($error, $val) = constant($constname);
- if ($error) {
- require Carp;
- Carp::croak($error);
- }
- eval "sub $AUTOLOAD { $val }";
- goto &$AUTOLOAD;
-}
-
-XSLoader::load 'File::Glob', $VERSION;
-
-# Preloaded methods go here.
-
-sub GLOB_ERROR {
- return (constant('GLOB_ERROR'))[1];
-}
-
-sub GLOB_CSH () {
- GLOB_BRACE()
- | GLOB_NOMAGIC()
- | GLOB_QUOTE()
- | GLOB_TILDE()
- | GLOB_ALPHASORT()
-}
-
-$DEFAULT_FLAGS = GLOB_CSH();
-if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos|MacOS)$/) {
- $DEFAULT_FLAGS |= GLOB_NOCASE();
-}
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-sub bsd_glob {
- my ($pat,$flags) = @_;
- $flags = $DEFAULT_FLAGS if @_ < 2;
- return doglob($pat,$flags);
-}
-
-# File::Glob::glob() is deprecated because its prototype is different from
-# CORE::glob() (use bsd_glob() instead)
-sub glob {
- splice @_, 1; # don't pass PL_glob_index as flags!
- goto &bsd_glob;
-}
-
-## borrowed heavily from gsar's File::DosGlob
-my %iter;
-my %entries;
-
-sub csh_glob {
- my $pat = shift;
- my $cxix = shift;
- my @pat;
-
- # glob without args defaults to $_
- $pat = $_ unless defined $pat;
-
- # extract patterns
- $pat =~ s/^\s+//; # Protect against empty elements in
- $pat =~ s/\s+$//; # things like < *.c> and <*.c >.
- # These alone shouldn't trigger ParseWords.
- if ($pat =~ /\s/) {
- # XXX this is needed for compatibility with the csh
- # implementation in Perl. Need to support a flag
- # to disable this behavior.
- require Text::ParseWords;
- @pat = Text::ParseWords::parse_line('\s+',0,$pat);
- }
-
- # assume global context if not provided one
- $cxix = '_G_' unless defined $cxix;
- $iter{$cxix} = 0 unless exists $iter{$cxix};
-
- # if we're just beginning, do it all first
- if ($iter{$cxix} == 0) {
- if (@pat) {
- $entries{$cxix} = [ map { doglob($_, $DEFAULT_FLAGS) } @pat ];
- }
- else {
- $entries{$cxix} = [ doglob($pat, $DEFAULT_FLAGS) ];
- }
- }
-
- # chuck it all out, quick or slow
- if (wantarray) {
- delete $iter{$cxix};
- return @{delete $entries{$cxix}};
- }
- else {
- if ($iter{$cxix} = scalar @{$entries{$cxix}}) {
- return shift @{$entries{$cxix}};
- }
- else {
- # return undef for EOL
- delete $iter{$cxix};
- delete $entries{$cxix};
- return undef;
- }
- }
-}
-
-1;
-__END__
-
-=head1 NAME
-
-File::Glob - Perl extension for BSD glob routine
-
-=head1 SYNOPSIS
-
- use File::Glob ':glob';
-
- @list = bsd_glob('*.[ch]');
- $homedir = bsd_glob('~gnat', GLOB_TILDE | GLOB_ERR);
-
- if (GLOB_ERROR) {
- # an error occurred reading $homedir
- }
-
- ## override the core glob (CORE::glob() does this automatically
- ## by default anyway, since v5.6.0)
- use File::Glob ':globally';
- my @sources = <*.{c,h,y}>;
-
- ## override the core glob, forcing case sensitivity
- use File::Glob qw(:globally :case);
- my @sources = <*.{c,h,y}>;
-
- ## override the core glob forcing case insensitivity
- use File::Glob qw(:globally :nocase);
- my @sources = <*.{c,h,y}>;
-
- ## glob on all files in home directory
- use File::Glob ':globally';
- my @sources = <~gnat/*>;
-
-=head1 DESCRIPTION
-
-The glob angle-bracket operator C<< <> >> is a pathname generator that
-implements the rules for file name pattern matching used by Unix-like shells
-such as the Bourne shell or C shell.
-
-File::Glob::bsd_glob() implements the FreeBSD glob(3) routine, which is
-a superset of the POSIX glob() (described in IEEE Std 1003.2 "POSIX.2").
-bsd_glob() takes a mandatory C<pattern> argument, and an optional
-C<flags> argument, and returns a list of filenames matching the
-pattern, with interpretation of the pattern modified by the C<flags>
-variable.
-
-Since v5.6.0, Perl's CORE::glob() is implemented in terms of bsd_glob().
-Note that they don't share the same prototype--CORE::glob() only accepts
-a single argument. Due to historical reasons, CORE::glob() will also
-split its argument on whitespace, treating it as multiple patterns,
-whereas bsd_glob() considers them as one pattern.
-
-=head2 META CHARACTERS
-
- \ Quote the next metacharacter
- [] Character class
- {} Multiple pattern
- * Match any string of characters
- ? Match any single character
- ~ User name home directory
-
-The metanotation C<a{b,c,d}e> is a shorthand for C<abe ace ade>. Left to
-right order is preserved, with results of matches being sorted separately
-at a low level to preserve this order. As a special case C<{>, C<}>, and
-C<{}> are passed undisturbed.
-
-=head2 POSIX FLAGS
-
-The POSIX defined flags for bsd_glob() are:
-
-=over 4
-
-=item C<GLOB_ERR>
-
-Force bsd_glob() to return an error when it encounters a directory it
-cannot open or read. Ordinarily bsd_glob() continues to find matches.
-
-=item C<GLOB_LIMIT>
-
-Make bsd_glob() return an error (GLOB_NOSPACE) when the pattern expands
-to a size bigger than the system constant C<ARG_MAX> (usually found in
-limits.h). If your system does not define this constant, bsd_glob() uses
-C<sysconf(_SC_ARG_MAX)> or C<_POSIX_ARG_MAX> where available (in that
-order). You can inspect these values using the standard C<POSIX>
-extension.
-
-=item C<GLOB_MARK>
-
-Each pathname that is a directory that matches the pattern has a slash
-appended.
-
-=item C<GLOB_NOCASE>
-
-By default, file names are assumed to be case sensitive; this flag
-makes bsd_glob() treat case differences as not significant.
-
-=item C<GLOB_NOCHECK>
-
-If the pattern does not match any pathname, then bsd_glob() returns a list
-consisting of only the pattern. If C<GLOB_QUOTE> is set, its effect
-is present in the pattern returned.
-
-=item C<GLOB_NOSORT>
-
-By default, the pathnames are sorted in ascending ASCII order; this
-flag prevents that sorting (speeding up bsd_glob()).
-
-=back
-
-The FreeBSD extensions to the POSIX standard are the following flags:
-
-=over 4
-
-=item C<GLOB_BRACE>
-
-Pre-process the string to expand C<{pat,pat,...}> strings like csh(1).
-The pattern '{}' is left unexpanded for historical reasons (and csh(1)
-does the same thing to ease typing of find(1) patterns).
-
-=item C<GLOB_NOMAGIC>
-
-Same as C<GLOB_NOCHECK> but it only returns the pattern if it does not
-contain any of the special characters "*", "?" or "[". C<NOMAGIC> is
-provided to simplify implementing the historic csh(1) globbing
-behaviour and should probably not be used anywhere else.
-
-=item C<GLOB_QUOTE>
-
-Use the backslash ('\') character for quoting: every occurrence of a
-backslash followed by a character in the pattern is replaced by that
-character, avoiding any special interpretation of the character.
-(But see below for exceptions on DOSISH systems).
-
-=item C<GLOB_TILDE>
-
-Expand patterns that start with '~' to user name home directories.
-
-=item C<GLOB_CSH>
-
-For convenience, C<GLOB_CSH> is a synonym for
-C<GLOB_BRACE | GLOB_NOMAGIC | GLOB_QUOTE | GLOB_TILDE | GLOB_ALPHASORT>.
-
-=back
-
-The POSIX provided C<GLOB_APPEND>, C<GLOB_DOOFFS>, and the FreeBSD
-extensions C<GLOB_ALTDIRFUNC>, and C<GLOB_MAGCHAR> flags have not been
-implemented in the Perl version because they involve more complex
-interaction with the underlying C structures.
-
-The following flag has been added in the Perl implementation for
-csh compatibility:
-
-=over 4
-
-=item C<GLOB_ALPHASORT>
-
-If C<GLOB_NOSORT> is not in effect, sort filenames is alphabetical
-order (case does not matter) rather than in ASCII order.
-
-=back
-
-=head1 DIAGNOSTICS
-
-bsd_glob() returns a list of matching paths, possibly zero length. If an
-error occurred, &File::Glob::GLOB_ERROR will be non-zero and C<$!> will be
-set. &File::Glob::GLOB_ERROR is guaranteed to be zero if no error occurred,
-or one of the following values otherwise:
-
-=over 4
-
-=item C<GLOB_NOSPACE>
-
-An attempt to allocate memory failed.
-
-=item C<GLOB_ABEND>
-
-The glob was stopped because an error was encountered.
-
-=back
-
-In the case where bsd_glob() has found some matching paths, but is
-interrupted by an error, it will return a list of filenames B<and>
-set &File::Glob::ERROR.
-
-Note that bsd_glob() deviates from POSIX and FreeBSD glob(3) behaviour
-by not considering C<ENOENT> and C<ENOTDIR> as errors - bsd_glob() will
-continue processing despite those errors, unless the C<GLOB_ERR> flag is
-set.
-
-Be aware that all filenames returned from File::Glob are tainted.
-
-=head1 NOTES
-
-=over 4
-
-=item *
-
-If you want to use multiple patterns, e.g. C<bsd_glob("a* b*")>, you should
-probably throw them in a set as in C<bsd_glob("{a*,b*}")>. This is because
-the argument to bsd_glob() isn't subjected to parsing by the C shell.
-Remember that you can use a backslash to escape things.
-
-=item *
-
-On DOSISH systems, backslash is a valid directory separator character.
-In this case, use of backslash as a quoting character (via GLOB_QUOTE)
-interferes with the use of backslash as a directory separator. The
-best (simplest, most portable) solution is to use forward slashes for
-directory separators, and backslashes for quoting. However, this does
-not match "normal practice" on these systems. As a concession to user
-expectation, therefore, backslashes (under GLOB_QUOTE) only quote the
-glob metacharacters '[', ']', '{', '}', '-', '~', and backslash itself.
-All other backslashes are passed through unchanged.
-
-=item *
-
-Win32 users should use the real slash. If you really want to use
-backslashes, consider using Sarathy's File::DosGlob, which comes with
-the standard Perl distribution.
-
-=item *
-
-Mac OS (Classic) users should note a few differences. Since
-Mac OS is not Unix, when the glob code encounters a tilde glob (e.g.
-~user) and the C<GLOB_TILDE> flag is used, it simply returns that
-pattern without doing any expansion.
-
-Glob on Mac OS is case-insensitive by default (if you don't use any
-flags). If you specify any flags at all and still want glob
-to be case-insensitive, you must include C<GLOB_NOCASE> in the flags.
-
-The path separator is ':' (aka colon), not '/' (aka slash). Mac OS users
-should be careful about specifying relative pathnames. While a full path
-always begins with a volume name, a relative pathname should always
-begin with a ':'. If specifying a volume name only, a trailing ':' is
-required.
-
-The specification of pathnames in glob patterns adheres to the usual Mac
-OS conventions: The path separator is a colon ':', not a slash '/'. A
-full path always begins with a volume name. A relative pathname on Mac
-OS must always begin with a ':', except when specifying a file or
-directory name in the current working directory, where the leading colon
-is optional. If specifying a volume name only, a trailing ':' is
-required. Due to these rules, a glob like E<lt>*:E<gt> will find all
-mounted volumes, while a glob like E<lt>*E<gt> or E<lt>:*E<gt> will find
-all files and directories in the current directory.
-
-Note that updirs in the glob pattern are resolved before the matching begins,
-i.e. a pattern like "*HD:t?p::a*" will be matched as "*HD:a*". Note also,
-that a single trailing ':' in the pattern is ignored (unless it's a volume
-name pattern like "*HD:"), i.e. a glob like E<lt>:*:E<gt> will find both
-directories I<and> files (and not, as one might expect, only directories).
-You can, however, use the C<GLOB_MARK> flag to distinguish (without a file
-test) directory names from file names.
-
-If the C<GLOB_MARK> flag is set, all directory paths will have a ':' appended.
-Since a directory like 'lib:' is I<not> a valid I<relative> path on Mac OS,
-both a leading and a trailing colon will be added, when the directory name in
-question doesn't contain any colons (e.g. 'lib' becomes ':lib:').
-
-=back
-
-=head1 SEE ALSO
-
-L<perlfunc/glob>, glob(3)
-
-=head1 AUTHOR
-
-The Perl interface was written by Nathan Torkington E<lt>gnat@frii.comE<gt>,
-and is released under the artistic license. Further modifications were
-made by Greg Bacon E<lt>gbacon@cs.uah.eduE<gt>, Gurusamy Sarathy
-E<lt>gsar@activestate.comE<gt>, and Thomas Wegner
-E<lt>wegner_thomas@yahoo.comE<gt>. The C glob code has the
-following copyright:
-
- Copyright (c) 1989, 1993 The Regents of the University of California.
- All rights reserved.
-
- This code is derived from software contributed to Berkeley by
- Guido van Rossum.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/GlobMapper.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/GlobMapper.pm
deleted file mode 100644
index 40a606309e0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/File/GlobMapper.pm
+++ /dev/null
@@ -1,679 +0,0 @@
-package File::GlobMapper;
-
-use strict;
-use warnings;
-use Carp;
-
-our ($CSH_GLOB);
-
-BEGIN
-{
- if ($] < 5.006)
- {
- require File::BSDGlob; import File::BSDGlob qw(:glob) ;
- $CSH_GLOB = File::BSDGlob::GLOB_CSH() ;
- *globber = \&File::BSDGlob::csh_glob;
- }
- else
- {
- require File::Glob; import File::Glob qw(:glob) ;
- $CSH_GLOB = File::Glob::GLOB_CSH() ;
- #*globber = \&File::Glob::bsd_glob;
- *globber = \&File::Glob::csh_glob;
- }
-}
-
-our ($Error);
-
-our ($VERSION, @EXPORT_OK);
-$VERSION = '1.000';
-@EXPORT_OK = qw( globmap );
-
-
-our ($noPreBS, $metachars, $matchMetaRE, %mapping, %wildCount);
-$noPreBS = '(?<!\\\)' ; # no preceeding backslash
-$metachars = '.*?[](){}';
-$matchMetaRE = '[' . quotemeta($metachars) . ']';
-
-%mapping = (
- '*' => '([^/]*)',
- '?' => '([^/])',
- '.' => '\.',
- '[' => '([',
- '(' => '(',
- ')' => ')',
- );
-
-%wildCount = map { $_ => 1 } qw/ * ? . { ( [ /;
-
-sub globmap ($$;)
-{
- my $inputGlob = shift ;
- my $outputGlob = shift ;
-
- my $obj = new File::GlobMapper($inputGlob, $outputGlob, @_)
- or croak "globmap: $Error" ;
- return $obj->getFileMap();
-}
-
-sub new
-{
- my $class = shift ;
- my $inputGlob = shift ;
- my $outputGlob = shift ;
- # TODO -- flags needs to default to whatever File::Glob does
- my $flags = shift || $CSH_GLOB ;
- #my $flags = shift ;
-
- $inputGlob =~ s/^\s*\<\s*//;
- $inputGlob =~ s/\s*\>\s*$//;
-
- $outputGlob =~ s/^\s*\<\s*//;
- $outputGlob =~ s/\s*\>\s*$//;
-
- my %object =
- ( InputGlob => $inputGlob,
- OutputGlob => $outputGlob,
- GlobFlags => $flags,
- Braces => 0,
- WildCount => 0,
- Pairs => [],
- Sigil => '#',
- );
-
- my $self = bless \%object, ref($class) || $class ;
-
- $self->_parseInputGlob()
- or return undef ;
-
- $self->_parseOutputGlob()
- or return undef ;
-
- my @inputFiles = globber($self->{InputGlob}, $flags) ;
-
- if (GLOB_ERROR)
- {
- $Error = $!;
- return undef ;
- }
-
- #if (whatever)
- {
- my $missing = grep { ! -e $_ } @inputFiles ;
-
- if ($missing)
- {
- $Error = "$missing input files do not exist";
- return undef ;
- }
- }
-
- $self->{InputFiles} = \@inputFiles ;
-
- $self->_getFiles()
- or return undef ;
-
- return $self;
-}
-
-sub _retError
-{
- my $string = shift ;
- $Error = "$string in input fileglob" ;
- return undef ;
-}
-
-sub _unmatched
-{
- my $delimeter = shift ;
-
- _retError("Unmatched $delimeter");
- return undef ;
-}
-
-sub _parseBit
-{
- my $self = shift ;
-
- my $string = shift ;
-
- my $out = '';
- my $depth = 0 ;
-
- while ($string =~ s/(.*?)$noPreBS(,|$matchMetaRE)//)
- {
- $out .= quotemeta($1) ;
- $out .= $mapping{$2} if defined $mapping{$2};
-
- ++ $self->{WildCount} if $wildCount{$2} ;
-
- if ($2 eq ',')
- {
- return _unmatched "("
- if $depth ;
-
- $out .= '|';
- }
- elsif ($2 eq '(')
- {
- ++ $depth ;
- }
- elsif ($2 eq ')')
- {
- return _unmatched ")"
- if ! $depth ;
-
- -- $depth ;
- }
- elsif ($2 eq '[')
- {
- # TODO -- quotemeta & check no '/'
- # TODO -- check for \] & other \ within the []
- $string =~ s#(.*?\])##
- or return _unmatched "[" ;
- $out .= "$1)" ;
- }
- elsif ($2 eq ']')
- {
- return _unmatched "]" ;
- }
- elsif ($2 eq '{' || $2 eq '}')
- {
- return _retError "Nested {} not allowed" ;
- }
- }
-
- $out .= quotemeta $string;
-
- return _unmatched "("
- if $depth ;
-
- return $out ;
-}
-
-sub _parseInputGlob
-{
- my $self = shift ;
-
- my $string = $self->{InputGlob} ;
- my $inGlob = '';
-
- # Multiple concatenated *'s don't make sense
- #$string =~ s#\*\*+#*# ;
-
- # TODO -- Allow space to delimit patterns?
- #my @strings = split /\s+/, $string ;
- #for my $str (@strings)
- my $out = '';
- my $depth = 0 ;
-
- while ($string =~ s/(.*?)$noPreBS($matchMetaRE)//)
- {
- $out .= quotemeta($1) ;
- $out .= $mapping{$2} if defined $mapping{$2};
- ++ $self->{WildCount} if $wildCount{$2} ;
-
- if ($2 eq '(')
- {
- ++ $depth ;
- }
- elsif ($2 eq ')')
- {
- return _unmatched ")"
- if ! $depth ;
-
- -- $depth ;
- }
- elsif ($2 eq '[')
- {
- # TODO -- quotemeta & check no '/' or '(' or ')'
- # TODO -- check for \] & other \ within the []
- $string =~ s#(.*?\])##
- or return _unmatched "[";
- $out .= "$1)" ;
- }
- elsif ($2 eq ']')
- {
- return _unmatched "]" ;
- }
- elsif ($2 eq '}')
- {
- return _unmatched "}" ;
- }
- elsif ($2 eq '{')
- {
- # TODO -- check no '/' within the {}
- # TODO -- check for \} & other \ within the {}
-
- my $tmp ;
- unless ( $string =~ s/(.*?)$noPreBS\}//)
- {
- return _unmatched "{";
- }
- #$string =~ s#(.*?)\}##;
-
- #my $alt = join '|',
- # map { quotemeta $_ }
- # split "$noPreBS,", $1 ;
- my $alt = $self->_parseBit($1);
- defined $alt or return 0 ;
- $out .= "($alt)" ;
-
- ++ $self->{Braces} ;
- }
- }
-
- return _unmatched "("
- if $depth ;
-
- $out .= quotemeta $string ;
-
-
- $self->{InputGlob} =~ s/$noPreBS[\(\)]//g;
- $self->{InputPattern} = $out ;
-
- #print "# INPUT '$self->{InputGlob}' => '$out'\n";
-
- return 1 ;
-
-}
-
-sub _parseOutputGlob
-{
- my $self = shift ;
-
- my $string = $self->{OutputGlob} ;
- my $maxwild = $self->{WildCount};
-
- if ($self->{GlobFlags} & GLOB_TILDE)
- #if (1)
- {
- $string =~ s{
- ^ ~ # find a leading tilde
- ( # save this in $1
- [^/] # a non-slash character
- * # repeated 0 or more times (0 means me)
- )
- }{
- $1
- ? (getpwnam($1))[7]
- : ( $ENV{HOME} || $ENV{LOGDIR} )
- }ex;
-
- }
-
- # max #1 must be == to max no of '*' in input
- while ( $string =~ m/#(\d)/g )
- {
- croak "Max wild is #$maxwild, you tried #$1"
- if $1 > $maxwild ;
- }
-
- my $noPreBS = '(?<!\\\)' ; # no preceeding backslash
- #warn "noPreBS = '$noPreBS'\n";
-
- #$string =~ s/${noPreBS}\$(\d)/\${$1}/g;
- $string =~ s/${noPreBS}#(\d)/\${$1}/g;
- $string =~ s#${noPreBS}\*#\${inFile}#g;
- $string = '"' . $string . '"';
-
- #print "OUTPUT '$self->{OutputGlob}' => '$string'\n";
- $self->{OutputPattern} = $string ;
-
- return 1 ;
-}
-
-sub _getFiles
-{
- my $self = shift ;
-
- my %outInMapping = ();
- my %inFiles = () ;
-
- foreach my $inFile (@{ $self->{InputFiles} })
- {
- next if $inFiles{$inFile} ++ ;
-
- my $outFile = $inFile ;
-
- if ( $inFile =~ m/$self->{InputPattern}/ )
- {
- no warnings 'uninitialized';
- eval "\$outFile = $self->{OutputPattern};" ;
-
- if (defined $outInMapping{$outFile})
- {
- $Error = "multiple input files map to one output file";
- return undef ;
- }
- $outInMapping{$outFile} = $inFile;
- push @{ $self->{Pairs} }, [$inFile, $outFile];
- }
- }
-
- return 1 ;
-}
-
-sub getFileMap
-{
- my $self = shift ;
-
- return $self->{Pairs} ;
-}
-
-sub getHash
-{
- my $self = shift ;
-
- return { map { $_->[0] => $_->[1] } @{ $self->{Pairs} } } ;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-File::GlobMapper - Extend File Glob to Allow Input and Output Files
-
-=head1 SYNOPSIS
-
- use File::GlobMapper qw( globmap );
-
- my $aref = globmap $input => $output
- or die $File::GlobMapper::Error ;
-
- my $gm = new File::GlobMapper $input => $output
- or die $File::GlobMapper::Error ;
-
-
-=head1 DESCRIPTION
-
-This module needs Perl5.005 or better.
-
-This module takes the existing C<File::Glob> module as a starting point and
-extends it to allow new filenames to be derived from the files matched by
-C<File::Glob>.
-
-This can be useful when carrying out batch operations on multiple files that
-have both an input filename and output filename and the output file can be
-derived from the input filename. Examples of operations where this can be
-useful include, file renaming, file copying and file compression.
-
-
-=head2 Behind The Scenes
-
-To help explain what C<File::GlobMapper> does, consider what code you
-would write if you wanted to rename all files in the current directory
-that ended in C<.tar.gz> to C<.tgz>. So say these files are in the
-current directory
-
- alpha.tar.gz
- beta.tar.gz
- gamma.tar.gz
-
-and they need renamed to this
-
- alpha.tgz
- beta.tgz
- gamma.tgz
-
-Below is a possible implementation of a script to carry out the rename
-(error cases have been omitted)
-
- foreach my $old ( glob "*.tar.gz" )
- {
- my $new = $old;
- $new =~ s#(.*)\.tar\.gz$#$1.tgz# ;
-
- rename $old => $new
- or die "Cannot rename '$old' to '$new': $!\n;
- }
-
-Notice that a file glob pattern C<*.tar.gz> was used to match the
-C<.tar.gz> files, then a fairly similar regular expression was used in
-the substitute to allow the new filename to be created.
-
-Given that the file glob is just a cut-down regular expression and that it
-has already done a lot of the hard work in pattern matching the filenames,
-wouldn't it be handy to be able to use the patterns in the fileglob to
-drive the new filename?
-
-Well, that's I<exactly> what C<File::GlobMapper> does.
-
-Here is same snippet of code rewritten using C<globmap>
-
- for my $pair (globmap '<*.tar.gz>' => '<#1.tgz>' )
- {
- my ($from, $to) = @$pair;
- rename $from => $to
- or die "Cannot rename '$old' to '$new': $!\n;
- }
-
-So how does it work?
-
-Behind the scenes the C<globmap> function does a combination of a
-file glob to match existing filenames followed by a substitute
-to create the new filenames.
-
-Notice how both parameters to C<globmap> are strings that are delimited by <>.
-This is done to make them look more like file globs - it is just syntactic
-sugar, but it can be handy when you want the strings to be visually
-distinctive. The enclosing <> are optional, so you don't have to use them - in
-fact the first thing globmap will do is remove these delimiters if they are
-present.
-
-The first parameter to C<globmap>, C<*.tar.gz>, is an I<Input File Glob>.
-Once the enclosing "< ... >" is removed, this is passed (more or
-less) unchanged to C<File::Glob> to carry out a file match.
-
-Next the fileglob C<*.tar.gz> is transformed behind the scenes into a
-full Perl regular expression, with the additional step of wrapping each
-transformed wildcard metacharacter sequence in parenthesis.
-
-In this case the input fileglob C<*.tar.gz> will be transformed into
-this Perl regular expression
-
- ([^/]*)\.tar\.gz
-
-Wrapping with parenthesis allows the wildcard parts of the Input File
-Glob to be referenced by the second parameter to C<globmap>, C<#1.tgz>,
-the I<Output File Glob>. This parameter operates just like the replacement
-part of a substitute command. The difference is that the C<#1> syntax
-is used to reference sub-patterns matched in the input fileglob, rather
-than the C<$1> syntax that is used with perl regular expressions. In
-this case C<#1> is used to refer to the text matched by the C<*> in the
-Input File Glob. This makes it easier to use this module where the
-parameters to C<globmap> are typed at the command line.
-
-The final step involves passing each filename matched by the C<*.tar.gz>
-file glob through the derived Perl regular expression in turn and
-expanding the output fileglob using it.
-
-The end result of all this is a list of pairs of filenames. By default
-that is what is returned by C<globmap>. In this example the data structure
-returned will look like this
-
- ( ['alpha.tar.gz' => 'alpha.tgz'],
- ['beta.tar.gz' => 'beta.tgz' ],
- ['gamma.tar.gz' => 'gamma.tgz']
- )
-
-
-Each pair is an array reference with two elements - namely the I<from>
-filename, that C<File::Glob> has matched, and a I<to> filename that is
-derived from the I<from> filename.
-
-
-
-=head2 Limitations
-
-C<File::GlobMapper> has been kept simple deliberately, so it isn't intended to
-solve all filename mapping operations. Under the hood C<File::Glob> (or for
-older versions of Perl, C<File::BSDGlob>) is used to match the files, so you
-will never have the flexibility of full Perl regular expression.
-
-=head2 Input File Glob
-
-The syntax for an Input FileGlob is identical to C<File::Glob>, except
-for the following
-
-=over 5
-
-=item 1.
-
-No nested {}
-
-=item 2.
-
-Whitespace does not delimit fileglobs.
-
-=item 3.
-
-The use of parenthesis can be used to capture parts of the input filename.
-
-=item 4.
-
-If an Input glob matches the same file more than once, only the first
-will be used.
-
-=back
-
-The syntax
-
-=over 5
-
-=item B<~>
-
-=item B<~user>
-
-
-=item B<.>
-
-Matches a literal '.'.
-Equivalent to the Perl regular expression
-
- \.
-
-=item B<*>
-
-Matches zero or more characters, except '/'. Equivalent to the Perl
-regular expression
-
- [^/]*
-
-=item B<?>
-
-Matches zero or one character, except '/'. Equivalent to the Perl
-regular expression
-
- [^/]?
-
-=item B<\>
-
-Backslash is used, as usual, to escape the next character.
-
-=item B<[]>
-
-Character class.
-
-=item B<{,}>
-
-Alternation
-
-=item B<()>
-
-Capturing parenthesis that work just like perl
-
-=back
-
-Any other character it taken literally.
-
-=head2 Output File Glob
-
-The Output File Glob is a normal string, with 2 glob-like features.
-
-The first is the '*' metacharacter. This will be replaced by the complete
-filename matched by the input file glob. So
-
- *.c *.Z
-
-The second is
-
-Output FileGlobs take the
-
-=over 5
-
-=item "*"
-
-The "*" character will be replaced with the complete input filename.
-
-=item #1
-
-Patterns of the form /#\d/ will be replaced with the
-
-=back
-
-=head2 Returned Data
-
-
-=head1 EXAMPLES
-
-=head2 A Rename script
-
-Below is a simple "rename" script that uses C<globmap> to determine the
-source and destination filenames.
-
- use File::GlobMapper qw(globmap) ;
- use File::Copy;
-
- die "rename: Usage rename 'from' 'to'\n"
- unless @ARGV == 2 ;
-
- my $fromGlob = shift @ARGV;
- my $toGlob = shift @ARGV;
-
- my $pairs = globmap($fromGlob, $toGlob)
- or die $File::GlobMapper::Error;
-
- for my $pair (@$pairs)
- {
- my ($from, $to) = @$pair;
- move $from => $to ;
- }
-
-
-
-Here is an example that renames all c files to cpp.
-
- $ rename '*.c' '#1.cpp'
-
-=head2 A few example globmaps
-
-Below are a few examples of globmaps
-
-To copy all your .c file to a backup directory
-
- '</my/home/*.c>' '</my/backup/#1.c>'
-
-If you want to compress all
-
- '</my/home/*.[ch]>' '<*.gz>'
-
-To uncompress
-
- '</my/home/*.[ch].gz>' '</my/home/#1.#2>'
-
-=head1 SEE ALSO
-
-L<File::Glob|File::Glob>
-
-=head1 AUTHOR
-
-The I<File::GlobMapper> module was written by Paul Marquess, F<pmqs@cpan.org>.
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2005 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/5.10/i686-cygwin/Filter/Util/Call.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Filter/Util/Call.pm
deleted file mode 100644
index 6bbf79bba63..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Filter/Util/Call.pm
+++ /dev/null
@@ -1,498 +0,0 @@
-
-# Call.pm
-#
-# Copyright (c) 1995-2001 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.
-
-package Filter::Util::Call ;
-
-require 5.002 ;
-require DynaLoader;
-require Exporter;
-use Carp ;
-use strict;
-use warnings;
-use vars qw($VERSION @ISA @EXPORT) ;
-
-@ISA = qw(Exporter DynaLoader);
-@EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.07" ;
-
-sub filter_read_exact($)
-{
- my ($size) = @_ ;
- my ($left) = $size ;
- my ($status) ;
-
- croak ("filter_read_exact: size parameter must be > 0")
- unless $size > 0 ;
-
- # try to read a block which is exactly $size bytes long
- while ($left and ($status = filter_read($left)) > 0) {
- $left = $size - length $_ ;
- }
-
- # EOF with pending data is a special case
- return 1 if $status == 0 and length $_ ;
-
- return $status ;
-}
-
-sub filter_add($)
-{
- my($obj) = @_ ;
-
- # Did we get a code reference?
- my $coderef = (ref $obj eq 'CODE') ;
-
- # If the parameter isn't already a reference, make it one.
- $obj = \$obj unless ref $obj ;
-
- $obj = bless ($obj, (caller)[0]) unless $coderef ;
-
- # finish off the installation of the filter in C.
- Filter::Util::Call::real_import($obj, (caller)[0], $coderef) ;
-}
-
-bootstrap Filter::Util::Call ;
-
-1;
-__END__
-
-=head1 NAME
-
-Filter::Util::Call - Perl Source Filter Utility Module
-
-=head1 SYNOPSIS
-
- use Filter::Util::Call ;
-
-=head1 DESCRIPTION
-
-This module provides you with the framework to write I<Source Filters>
-in Perl.
-
-An alternate interface to Filter::Util::Call is now available. See
-L<Filter::Simple> for more details.
-
-A I<Perl Source Filter> is implemented as a Perl module. The structure
-of the module can take one of two broadly similar formats. To
-distinguish between them, the first will be referred to as I<method
-filter> and the second as I<closure filter>.
-
-Here is a skeleton for the I<method filter>:
-
- package MyFilter ;
-
- use Filter::Util::Call ;
-
- sub import
- {
- my($type, @arguments) = @_ ;
- filter_add([]) ;
- }
-
- sub filter
- {
- my($self) = @_ ;
- my($status) ;
-
- $status = filter_read() ;
- $status ;
- }
-
- 1 ;
-
-and this is the equivalent skeleton for the I<closure filter>:
-
- package MyFilter ;
-
- use Filter::Util::Call ;
-
- sub import
- {
- my($type, @arguments) = @_ ;
-
- filter_add(
- sub
- {
- my($status) ;
- $status = filter_read() ;
- $status ;
- } )
- }
-
- 1 ;
-
-To make use of either of the two filter modules above, place the line
-below in a Perl source file.
-
- use MyFilter;
-
-In fact, the skeleton modules shown above are fully functional I<Source
-Filters>, albeit fairly useless ones. All they does is filter the
-source stream without modifying it at all.
-
-As you can see both modules have a broadly similar structure. They both
-make use of the C<Filter::Util::Call> module and both have an C<import>
-method. The difference between them is that the I<method filter>
-requires a I<filter> method, whereas the I<closure filter> gets the
-equivalent of a I<filter> method with the anonymous sub passed to
-I<filter_add>.
-
-To make proper use of the I<closure filter> shown above you need to
-have a good understanding of the concept of a I<closure>. See
-L<perlref> for more details on the mechanics of I<closures>.
-
-=head2 B<use Filter::Util::Call>
-
-The following functions are exported by C<Filter::Util::Call>:
-
- filter_add()
- filter_read()
- filter_read_exact()
- filter_del()
-
-=head2 B<import()>
-
-The C<import> method is used to create an instance of the filter. It is
-called indirectly by Perl when it encounters the C<use MyFilter> line
-in a source file (See L<perlfunc/import> for more details on
-C<import>).
-
-It will always have at least one parameter automatically passed by Perl
-- this corresponds to the name of the package. In the example above it
-will be C<"MyFilter">.
-
-Apart from the first parameter, import can accept an optional list of
-parameters. These can be used to pass parameters to the filter. For
-example:
-
- use MyFilter qw(a b c) ;
-
-will result in the C<@_> array having the following values:
-
- @_ [0] => "MyFilter"
- @_ [1] => "a"
- @_ [2] => "b"
- @_ [3] => "c"
-
-Before terminating, the C<import> function must explicitly install the
-filter by calling C<filter_add>.
-
-B<filter_add()>
-
-The function, C<filter_add>, actually installs the filter. It takes one
-parameter which should be a reference. The kind of reference used will
-dictate which of the two filter types will be used.
-
-If a CODE reference is used then a I<closure filter> will be assumed.
-
-If a CODE reference is not used, a I<method filter> will be assumed.
-In a I<method filter>, the reference can be used to store context
-information. The reference will be I<blessed> into the package by
-C<filter_add>.
-
-See the filters at the end of this documents for examples of using
-context information using both I<method filters> and I<closure
-filters>.
-
-=head2 B<filter() and anonymous sub>
-
-Both the C<filter> method used with a I<method filter> and the
-anonymous sub used with a I<closure filter> is where the main
-processing for the filter is done.
-
-The big difference between the two types of filter is that the I<method
-filter> uses the object passed to the method to store any context data,
-whereas the I<closure filter> uses the lexical variables that are
-maintained by the closure.
-
-Note that the single parameter passed to the I<method filter>,
-C<$self>, is the same reference that was passed to C<filter_add>
-blessed into the filter's package. See the example filters later on for
-details of using C<$self>.
-
-Here is a list of the common features of the anonymous sub and the
-C<filter()> method.
-
-=over 5
-
-=item B<$_>
-
-Although C<$_> doesn't actually appear explicitly in the sample filters
-above, it is implicitly used in a number of places.
-
-Firstly, when either C<filter> or the anonymous sub are called, a local
-copy of C<$_> will automatically be created. It will always contain the
-empty string at this point.
-
-Next, both C<filter_read> and C<filter_read_exact> will append any
-source data that is read to the end of C<$_>.
-
-Finally, when C<filter> or the anonymous sub are finished processing,
-they are expected to return the filtered source using C<$_>.
-
-This implicit use of C<$_> greatly simplifies the filter.
-
-=item B<$status>
-
-The status value that is returned by the user's C<filter> method or
-anonymous sub and the C<filter_read> and C<read_exact> functions take
-the same set of values, namely:
-
- < 0 Error
- = 0 EOF
- > 0 OK
-
-=item B<filter_read> and B<filter_read_exact>
-
-These functions are used by the filter to obtain either a line or block
-from the next filter in the chain or the actual source file if there
-aren't any other filters.
-
-The function C<filter_read> takes two forms:
-
- $status = filter_read() ;
- $status = filter_read($size) ;
-
-The first form is used to request a I<line>, the second requests a
-I<block>.
-
-In line mode, C<filter_read> will append the next source line to the
-end of the C<$_> scalar.
-
-In block mode, C<filter_read> will append a block of data which is <=
-C<$size> to the end of the C<$_> scalar. It is important to emphasise
-the that C<filter_read> will not necessarily read a block which is
-I<precisely> C<$size> bytes.
-
-If you need to be able to read a block which has an exact size, you can
-use the function C<filter_read_exact>. It works identically to
-C<filter_read> in block mode, except it will try to read a block which
-is exactly C<$size> bytes in length. The only circumstances when it
-will not return a block which is C<$size> bytes long is on EOF or
-error.
-
-It is I<very> important to check the value of C<$status> after I<every>
-call to C<filter_read> or C<filter_read_exact>.
-
-=item B<filter_del>
-
-The function, C<filter_del>, is used to disable the current filter. It
-does not affect the running of the filter. All it does is tell Perl not
-to call filter any more.
-
-See L<Example 4: Using filter_del> for details.
-
-=back
-
-=head1 EXAMPLES
-
-Here are a few examples which illustrate the key concepts - as such
-most of them are of little practical use.
-
-The C<examples> sub-directory has copies of all these filters
-implemented both as I<method filters> and as I<closure filters>.
-
-=head2 Example 1: A simple filter.
-
-Below is a I<method filter> which is hard-wired to replace all
-occurrences of the string C<"Joe"> to C<"Jim">. Not particularly
-Useful, but it is the first example and I wanted to keep it simple.
-
- package Joe2Jim ;
-
- use Filter::Util::Call ;
-
- sub import
- {
- my($type) = @_ ;
-
- filter_add(bless []) ;
- }
-
- sub filter
- {
- my($self) = @_ ;
- my($status) ;
-
- s/Joe/Jim/g
- if ($status = filter_read()) > 0 ;
- $status ;
- }
-
- 1 ;
-
-Here is an example of using the filter:
-
- use Joe2Jim ;
- print "Where is Joe?\n" ;
-
-And this is what the script above will print:
-
- Where is Jim?
-
-=head2 Example 2: Using the context
-
-The previous example was not particularly useful. To make it more
-general purpose we will make use of the context data and allow any
-arbitrary I<from> and I<to> strings to be used. This time we will use a
-I<closure filter>. To reflect its enhanced role, the filter is called
-C<Subst>.
-
- package Subst ;
-
- use Filter::Util::Call ;
- use Carp ;
-
- sub import
- {
- croak("usage: use Subst qw(from to)")
- unless @_ == 3 ;
- my ($self, $from, $to) = @_ ;
- filter_add(
- sub
- {
- my ($status) ;
- s/$from/$to/
- if ($status = filter_read()) > 0 ;
- $status ;
- })
- }
- 1 ;
-
-and is used like this:
-
- use Subst qw(Joe Jim) ;
- print "Where is Joe?\n" ;
-
-
-=head2 Example 3: Using the context within the filter
-
-Here is a filter which a variation of the C<Joe2Jim> filter. As well as
-substituting all occurrences of C<"Joe"> to C<"Jim"> it keeps a count
-of the number of substitutions made in the context object.
-
-Once EOF is detected (C<$status> is zero) the filter will insert an
-extra line into the source stream. When this extra line is executed it
-will print a count of the number of substitutions actually made.
-Note that C<$status> is set to C<1> in this case.
-
- package Count ;
-
- use Filter::Util::Call ;
-
- sub filter
- {
- my ($self) = @_ ;
- my ($status) ;
-
- if (($status = filter_read()) > 0 ) {
- s/Joe/Jim/g ;
- ++ $$self ;
- }
- elsif ($$self >= 0) { # EOF
- $_ = "print q[Made ${$self} substitutions\n]" ;
- $status = 1 ;
- $$self = -1 ;
- }
-
- $status ;
- }
-
- sub import
- {
- my ($self) = @_ ;
- my ($count) = 0 ;
- filter_add(\$count) ;
- }
-
- 1 ;
-
-Here is a script which uses it:
-
- use Count ;
- print "Hello Joe\n" ;
- print "Where is Joe\n" ;
-
-Outputs:
-
- Hello Jim
- Where is Jim
- Made 2 substitutions
-
-=head2 Example 4: Using filter_del
-
-Another variation on a theme. This time we will modify the C<Subst>
-filter to allow a starting and stopping pattern to be specified as well
-as the I<from> and I<to> patterns. If you know the I<vi> editor, it is
-the equivalent of this command:
-
- :/start/,/stop/s/from/to/
-
-When used as a filter we want to invoke it like this:
-
- use NewSubst qw(start stop from to) ;
-
-Here is the module.
-
- package NewSubst ;
-
- use Filter::Util::Call ;
- use Carp ;
-
- sub import
- {
- my ($self, $start, $stop, $from, $to) = @_ ;
- my ($found) = 0 ;
- croak("usage: use Subst qw(start stop from to)")
- unless @_ == 5 ;
-
- filter_add(
- sub
- {
- my ($status) ;
-
- if (($status = filter_read()) > 0) {
-
- $found = 1
- if $found == 0 and /$start/ ;
-
- if ($found) {
- s/$from/$to/ ;
- filter_del() if /$stop/ ;
- }
-
- }
- $status ;
- } )
-
- }
-
- 1 ;
-
-=head1 Filter::Simple
-
-If you intend using the Filter::Call functionality, I would strongly
-recommend that you check out Damian Conway's excellent Filter::Simple
-module. Damian's module provides a much cleaner interface than
-Filter::Util::Call. Although it doesn't allow the fine control that
-Filter::Util::Call does, it should be adequate for the majority of
-applications. It's available at
-
- http://www.cpan.org/modules/by-author/Damian_Conway/Filter-Simple.tar.gz
- http://www.csse.monash.edu.au/~damian/CPAN/Filter-Simple.tar.gz
-
-=head1 AUTHOR
-
-Paul Marquess
-
-=head1 DATE
-
-26th January 1996
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/GDBM_File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/GDBM_File.pm
deleted file mode 100644
index 2c9081fa9e2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/GDBM_File.pm
+++ /dev/null
@@ -1,86 +0,0 @@
-# GDBM_File.pm -- Perl 5 interface to GNU gdbm library.
-
-=head1 NAME
-
-GDBM_File - Perl5 access to the gdbm library.
-
-=head1 SYNOPSIS
-
- use GDBM_File ;
- tie %hash, 'GDBM_File', $filename, &GDBM_WRCREAT, 0640;
- # Use the %hash array.
- untie %hash ;
-
-=head1 DESCRIPTION
-
-B<GDBM_File> is a module which allows Perl programs to make use of the
-facilities provided by the GNU gdbm library. If you intend to use this
-module you should really have a copy of the gdbm manualpage at hand.
-
-Most of the libgdbm.a functions are available through the GDBM_File
-interface.
-
-=head1 AVAILABILITY
-
-gdbm is available from any GNU archive. The master site is
-C<ftp.gnu.org>, but you are strongly urged to use one of the many
-mirrors. You can obtain a list of mirror sites from
-http://www.gnu.org/order/ftp.html.
-
-=head1 BUGS
-
-The available functions and the gdbm/perl interface need to be documented.
-
-The GDBM error number and error message interface needs to be added.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<DB_File(3)>, L<perldbmfilter>.
-
-=cut
-
-package GDBM_File;
-
-use strict;
-use warnings;
-our($VERSION, @ISA, @EXPORT, $AUTOLOAD);
-
-require Carp;
-require Tie::Hash;
-require Exporter;
-use XSLoader ();
-@ISA = qw(Tie::Hash Exporter);
-@EXPORT = qw(
- GDBM_CACHESIZE
- GDBM_CENTFREE
- GDBM_COALESCEBLKS
- GDBM_FAST
- GDBM_FASTMODE
- GDBM_INSERT
- GDBM_NEWDB
- GDBM_NOLOCK
- GDBM_OPENMASK
- GDBM_READER
- GDBM_REPLACE
- GDBM_SYNC
- GDBM_SYNCMODE
- GDBM_WRCREAT
- GDBM_WRITER
-);
-
-# This module isn't dual life, so no need for dev version numbers.
-$VERSION = '1.09';
-
-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};
-}
-
-XSLoader::load 'GDBM_File', $VERSION;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util.pm
deleted file mode 100644
index 0fa14690243..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util.pm
+++ /dev/null
@@ -1,520 +0,0 @@
-package Hash::Util;
-
-require 5.007003;
-use strict;
-use Carp;
-use warnings;
-use warnings::register;
-use Scalar::Util qw(reftype);
-
-require Exporter;
-our @ISA = qw(Exporter);
-our @EXPORT_OK = qw(
- fieldhash fieldhashes
-
- all_keys
- lock_keys unlock_keys
- lock_value unlock_value
- lock_hash unlock_hash
- lock_keys_plus hash_locked
- hidden_keys legal_keys
-
- lock_ref_keys unlock_ref_keys
- lock_ref_value unlock_ref_value
- lock_hashref unlock_hashref
- lock_ref_keys_plus hashref_locked
- hidden_ref_keys legal_ref_keys
-
- hash_seed hv_store
-
- );
-our $VERSION = 0.07;
-require DynaLoader;
-local @ISA = qw(DynaLoader);
-bootstrap Hash::Util $VERSION;
-
-sub import {
- my $class = shift;
- if ( grep /fieldhash/, @_ ) {
- require Hash::Util::FieldHash;
- Hash::Util::FieldHash->import(':all'); # for re-export
- }
- unshift @_, $class;
- goto &Exporter::import;
-}
-
-
-=head1 NAME
-
-Hash::Util - A selection of general-utility hash subroutines
-
-=head1 SYNOPSIS
-
- # Restricted hashes
-
- use Hash::Util qw(
- hash_seed all_keys
- lock_keys unlock_keys
- lock_value unlock_value
- lock_hash unlock_hash
- lock_keys_plus hash_locked
- hidden_keys legal_keys
- );
-
- %hash = (foo => 42, bar => 23);
- # Ways to restrict a hash
- lock_keys(%hash);
- lock_keys(%hash, @keyset);
- lock_keys_plus(%hash, @additional_keys);
-
- # Ways to inspect the properties of a restricted hash
- my @legal = legal_keys(%hash);
- my @hidden = hidden_keys(%hash);
- my $ref = all_keys(%hash,@keys,@hidden);
- my $is_locked = hash_locked(%hash);
-
- # Remove restrictions on the hash
- unlock_keys(%hash);
-
- # Lock individual values in a hash
- lock_value (%hash, 'foo');
- unlock_value(%hash, 'foo');
-
- # Ways to change the restrictions on both keys and values
- lock_hash (%hash);
- unlock_hash(%hash);
-
- my $hashes_are_randomised = hash_seed() != 0;
-
-=head1 DESCRIPTION
-
-C<Hash::Util> and C<Hash::Util::FieldHash> contain special functions
-for manipulating hashes that don't really warrant a keyword.
-
-C<Hash::Util> contains a set of functions that support
-L<restricted hashes|/"Restricted hashes">. These are described in
-this document. C<Hash::Util::FieldHash> contains an (unrelated)
-set of functions that support the use of hashes in
-I<inside-out classes>, described in L<Hash::Util::FieldHash>.
-
-By default C<Hash::Util> does not export anything.
-
-=head2 Restricted hashes
-
-5.8.0 introduces the ability to restrict a hash to a certain set of
-keys. No keys outside of this set can be added. It also introduces
-the ability to lock an individual key so it cannot be deleted and the
-ability to ensure that an individual value cannot be changed.
-
-This is intended to largely replace the deprecated pseudo-hashes.
-
-=over 4
-
-=item B<lock_keys>
-
-=item B<unlock_keys>
-
- lock_keys(%hash);
- lock_keys(%hash, @keys);
-
-Restricts the given %hash's set of keys to @keys. If @keys is not
-given it restricts it to its current keyset. No more keys can be
-added. delete() and exists() will still work, but will not alter
-the set of allowed keys. B<Note>: the current implementation prevents
-the hash from being bless()ed while it is in a locked state. Any attempt
-to do so will raise an exception. Of course you can still bless()
-the hash before you call lock_keys() so this shouldn't be a problem.
-
- unlock_keys(%hash);
-
-Removes the restriction on the %hash's keyset.
-
-B<Note> that if any of the values of the hash have been locked they will not be unlocked
-after this sub executes.
-
-Both routines return a reference to the hash operated on.
-
-=cut
-
-sub lock_ref_keys {
- my($hash, @keys) = @_;
-
- Internals::hv_clear_placeholders %$hash;
- if( @keys ) {
- my %keys = map { ($_ => 1) } @keys;
- my %original_keys = map { ($_ => 1) } keys %$hash;
- foreach my $k (keys %original_keys) {
- croak "Hash has key '$k' which is not in the new key set"
- unless $keys{$k};
- }
-
- foreach my $k (@keys) {
- $hash->{$k} = undef unless exists $hash->{$k};
- }
- Internals::SvREADONLY %$hash, 1;
-
- foreach my $k (@keys) {
- delete $hash->{$k} unless $original_keys{$k};
- }
- }
- else {
- Internals::SvREADONLY %$hash, 1;
- }
-
- return $hash;
-}
-
-sub unlock_ref_keys {
- my $hash = shift;
-
- Internals::SvREADONLY %$hash, 0;
- return $hash;
-}
-
-sub lock_keys (\%;@) { lock_ref_keys(@_) }
-sub unlock_keys (\%) { unlock_ref_keys(@_) }
-
-=item B<lock_keys_plus>
-
- lock_keys_plus(%hash,@additional_keys)
-
-Similar to C<lock_keys()>, with the difference being that the optional key list
-specifies keys that may or may not be already in the hash. Essentially this is
-an easier way to say
-
- lock_keys(%hash,@additional_keys,keys %hash);
-
-Returns a reference to %hash
-
-=cut
-
-
-sub lock_ref_keys_plus {
- my ($hash,@keys)=@_;
- my @delete;
- Internals::hv_clear_placeholders(%$hash);
- foreach my $key (@keys) {
- unless (exists($hash->{$key})) {
- $hash->{$key}=undef;
- push @delete,$key;
- }
- }
- Internals::SvREADONLY(%$hash,1);
- delete @{$hash}{@delete};
- return $hash
-}
-
-sub lock_keys_plus(\%;@) { lock_ref_keys_plus(@_) }
-
-
-=item B<lock_value>
-
-=item B<unlock_value>
-
- lock_value (%hash, $key);
- unlock_value(%hash, $key);
-
-Locks and unlocks the value for an individual key of a hash. The value of a
-locked key cannot be changed.
-
-Unless %hash has already been locked the key/value could be deleted
-regardless of this setting.
-
-Returns a reference to the %hash.
-
-=cut
-
-sub lock_ref_value {
- my($hash, $key) = @_;
- # I'm doubtful about this warning, as it seems not to be true.
- # Marking a value in the hash as RO is useful, regardless
- # of the status of the hash itself.
- carp "Cannot usefully lock values in an unlocked hash"
- if !Internals::SvREADONLY(%$hash) && warnings::enabled;
- Internals::SvREADONLY $hash->{$key}, 1;
- return $hash
-}
-
-sub unlock_ref_value {
- my($hash, $key) = @_;
- Internals::SvREADONLY $hash->{$key}, 0;
- return $hash
-}
-
-sub lock_value (\%$) { lock_ref_value(@_) }
-sub unlock_value (\%$) { unlock_ref_value(@_) }
-
-
-=item B<lock_hash>
-
-=item B<unlock_hash>
-
- lock_hash(%hash);
-
-lock_hash() locks an entire hash, making all keys and values read-only.
-No value can be changed, no keys can be added or deleted.
-
- unlock_hash(%hash);
-
-unlock_hash() does the opposite of lock_hash(). All keys and values
-are made writable. All values can be changed and keys can be added
-and deleted.
-
-Returns a reference to the %hash.
-
-=cut
-
-sub lock_hashref {
- my $hash = shift;
-
- lock_ref_keys($hash);
-
- foreach my $value (values %$hash) {
- Internals::SvREADONLY($value,1);
- }
-
- return $hash;
-}
-
-sub unlock_hashref {
- my $hash = shift;
-
- foreach my $value (values %$hash) {
- Internals::SvREADONLY($value, 0);
- }
-
- unlock_ref_keys($hash);
-
- return $hash;
-}
-
-sub lock_hash (\%) { lock_hashref(@_) }
-sub unlock_hash (\%) { unlock_hashref(@_) }
-
-=item B<lock_hash_recurse>
-
-=item B<unlock_hash_recurse>
-
- lock_hash_recurse(%hash);
-
-lock_hash() locks an entire hash and any hashes it references recursively,
-making all keys and values read-only. No value can be changed, no keys can
-be added or deleted.
-
-B<Only> recurses into hashes that are referenced by another hash. Thus a
-Hash of Hashes (HoH) will all be restricted, but a Hash of Arrays of Hashes
-(HoAoH) will only have the top hash restricted.
-
- unlock_hash_recurse(%hash);
-
-unlock_hash_recurse() does the opposite of lock_hash_recurse(). All keys and
-values are made writable. All values can be changed and keys can be added
-and deleted. Identical recursion restrictions apply as to lock_hash_recurse().
-
-Returns a reference to the %hash.
-
-=cut
-
-sub lock_hashref_recurse {
- my $hash = shift;
-
- lock_ref_keys($hash);
- foreach my $value (values %$hash) {
- if (reftype($value) eq 'HASH') {
- lock_hashref_recurse($value);
- }
- Internals::SvREADONLY($value,1);
- }
- return $hash
-}
-
-sub unlock_hashref_recurse {
- my $hash = shift;
-
- foreach my $value (values %$hash) {
- if (reftype($value) eq 'HASH') {
- unlock_hashref_recurse($value);
- }
- Internals::SvREADONLY($value,1);
- }
- unlock_ref_keys($hash);
- return $hash;
-}
-
-sub lock_hash_recurse (\%) { lock_hashref_recurse(@_) }
-sub unlock_hash_recurse (\%) { unlock_hashref_recurse(@_) }
-
-
-=item B<hash_unlocked>
-
- hash_unlocked(%hash) and print "Hash is unlocked!\n";
-
-Returns true if the hash and its keys are unlocked.
-
-=cut
-
-sub hashref_unlocked {
- my $hash=shift;
- return Internals::SvREADONLY($hash)
-}
-
-sub hash_unlocked(\%) { hashref_unlocked(@_) }
-
-=for demerphqs_editor
-sub legal_ref_keys{}
-sub hidden_ref_keys{}
-sub all_keys{}
-
-=cut
-
-sub legal_keys(\%) { legal_ref_keys(@_) }
-sub hidden_keys(\%){ hidden_ref_keys(@_) }
-
-=item B<legal_keys>
-
- my @keys = legal_keys(%hash);
-
-Returns the list of the keys that are legal in a restricted hash.
-In the case of an unrestricted hash this is identical to calling
-keys(%hash).
-
-=item B<hidden_keys>
-
- my @keys = hidden_keys(%hash);
-
-Returns the list of the keys that are legal in a restricted hash but
-do not have a value associated to them. Thus if 'foo' is a
-"hidden" key of the %hash it will return false for both C<defined>
-and C<exists> tests.
-
-In the case of an unrestricted hash this will return an empty list.
-
-B<NOTE> this is an experimental feature that is heavily dependent
-on the current implementation of restricted hashes. Should the
-implementation change, this routine may become meaningless, in which
-case it will return an empty list.
-
-=item B<all_keys>
-
- all_keys(%hash,@keys,@hidden);
-
-Populates the arrays @keys with the all the keys that would pass
-an C<exists> tests, and populates @hidden with the remaining legal
-keys that have not been utilized.
-
-Returns a reference to the hash.
-
-In the case of an unrestricted hash this will be equivalent to
-
- $ref = do {
- @keys = keys %hash;
- @hidden = ();
- \%hash
- };
-
-B<NOTE> this is an experimental feature that is heavily dependent
-on the current implementation of restricted hashes. Should the
-implementation change this routine may become meaningless in which
-case it will behave identically to how it would behave on an
-unrestricted hash.
-
-=item B<hash_seed>
-
- my $hash_seed = hash_seed();
-
-hash_seed() returns the seed number used to randomise hash ordering.
-Zero means the "traditional" random hash ordering, non-zero means the
-new even more random hash ordering introduced in Perl 5.8.1.
-
-B<Note that the hash seed is sensitive information>: by knowing it one
-can craft a denial-of-service attack against Perl code, even remotely,
-see L<perlsec/"Algorithmic Complexity Attacks"> for more information.
-B<Do not disclose the hash seed> to people who don't need to know it.
-See also L<perlrun/PERL_HASH_SEED_DEBUG>.
-
-=cut
-
-sub hash_seed () {
- Internals::rehash_seed();
-}
-
-=item B<hv_store>
-
- my $sv = 0;
- hv_store(%hash,$key,$sv) or die "Failed to alias!";
- $hash{$key} = 1;
- print $sv; # prints 1
-
-Stores an alias to a variable in a hash instead of copying the value.
-
-=back
-
-=head2 Operating on references to hashes.
-
-Most subroutines documented in this module have equivalent versions
-that operate on references to hashes instead of native hashes.
-The following is a list of these subs. They are identical except
-in name and in that instead of taking a %hash they take a $hashref,
-and additionally are not prototyped.
-
-=over 4
-
-=item lock_ref_keys
-
-=item unlock_ref_keys
-
-=item lock_ref_keys_plus
-
-=item lock_ref_value
-
-=item unlock_ref_value
-
-=item lock_hashref
-
-=item unlock_hashref
-
-=item lock_hashref_recurse
-
-=item unlock_hashref_recurse
-
-=item hash_ref_unlocked
-
-=item legal_ref_keys
-
-=item hidden_ref_keys
-
-=back
-
-=head1 CAVEATS
-
-Note that the trapping of the restricted operations is not atomic:
-for example
-
- eval { %hash = (illegal_key => 1) }
-
-leaves the C<%hash> empty rather than with its original contents.
-
-=head1 BUGS
-
-The interface exposed by this module is very close to the current
-implementation of restricted hashes. Over time it is expected that
-this behavior will be extended and the interface abstracted further.
-
-=head1 AUTHOR
-
-Michael G Schwern <schwern@pobox.com> on top of code by Nick
-Ing-Simmons and Jeffrey Friedl.
-
-hv_store() is from Array::RefElem, Copyright 2000 Gisle Aas.
-
-Additional code by Yves Orton.
-
-=head1 SEE ALSO
-
-L<Scalar::Util>, L<List::Util> and L<perlsec/"Algorithmic Complexity Attacks">.
-
-L<Hash::Util::FieldHash>.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util/FieldHash.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util/FieldHash.pm
deleted file mode 100644
index 25f244aba51..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Hash/Util/FieldHash.pm
+++ /dev/null
@@ -1,860 +0,0 @@
-package Hash::Util::FieldHash;
-
-use 5.009004;
-use strict;
-use warnings;
-use Scalar::Util qw( reftype);
-
-our $VERSION = '1.03';
-
-require Exporter;
-our @ISA = qw(Exporter);
-our %EXPORT_TAGS = (
- 'all' => [ qw(
- fieldhash
- fieldhashes
- idhash
- idhashes
- id
- id_2obj
- register
- )],
-);
-our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-
-{
- require XSLoader;
- my %ob_reg; # private object registry
- sub _ob_reg { \ %ob_reg }
- XSLoader::load('Hash::Util::FieldHash', $VERSION);
-}
-
-sub fieldhash (\%) {
- for ( shift ) {
- return unless ref() && reftype( $_) eq 'HASH';
- return $_ if Hash::Util::FieldHash::_fieldhash( $_, 0);
- return $_ if Hash::Util::FieldHash::_fieldhash( $_, 2) == 2;
- return;
- }
-}
-
-sub idhash (\%) {
- for ( shift ) {
- return unless ref() && reftype( $_) eq 'HASH';
- return $_ if Hash::Util::FieldHash::_fieldhash( $_, 0);
- return $_ if Hash::Util::FieldHash::_fieldhash( $_, 1) == 1;
- return;
- }
-}
-
-sub fieldhashes { map &fieldhash( $_), @_ }
-sub idhashes { map &idhash( $_), @_ }
-
-1;
-__END__
-
-=head1 NAME
-
-Hash::Util::FieldHash - Support for Inside-Out Classes
-
-=head1 SYNOPSIS
-
- ### Create fieldhashes
- use Hash::Util qw(fieldhash fieldhashes);
-
- # Create a single field hash
- fieldhash my %foo;
-
- # Create three at once...
- fieldhashes \ my(%foo, %bar, %baz);
- # ...or any number
- fieldhashes @hashrefs;
-
- ### Create an idhash and register it for garbage collection
- use Hash::Util::FieldHash qw(idhash register);
- idhash my %name;
- my $object = \ do { my $o };
- # register the idhash for garbage collection with $object
- register($object, \ %name);
- # the following entry will be deleted when $object goes out of scope
- $name{$object} = 'John Doe';
-
- ### Register an ordinary hash for garbage collection
- use Hash::Util::FieldHash qw(id register);
- my %name;
- my $object = \ do { my $o };
- # register the hash %name for garbage collection of $object's id
- register $object, \ %name;
- # the following entry will be deleted when $object goes out of scope
- $name{id $object} = 'John Doe';
-
-=head1 FUNCTIONS
-
-C<Hash::Util::FieldHash> offers a number of functions in support of
-L<The Inside-out Technique> of class construction.
-
-=over
-
-=item id
-
- id($obj)
-
-Returns the reference address of a reference $obj. If $obj is
-not a reference, returns $obj.
-
-This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/refaddr>, that is, it returns
-the reference address of its argument as a numeric value. The only
-difference is that C<refaddr()> returns C<undef> when given a
-non-reference while C<id()> returns its argument unchanged.
-
-C<id()> also uses a caching technique that makes it faster when
-the id of an object is requested often, but slower if it is needed
-only once or twice.
-
-=item id_2obj
-
- $obj = id_2obj($id)
-
-If C<$id> is the id of a registered object (see L</register>), returns
-the object, otherwise an undefined value. For registered objects this
-is the inverse function of C<id()>.
-
-=item register
-
- register($obj)
- register($obj, @hashrefs)
-
-In the first form, registers an object to work with for the function
-C<id_2obj()>. In the second form, it additionally marks the given
-hashrefs down for garbage collection. This means that when the object
-goes out of scope, any entries in the given hashes under the key of
-C<id($obj)> will be deleted from the hashes.
-
-It is a fatal error to register a non-reference $obj. Any non-hashrefs
-among the following arguments are silently ignored.
-
-It is I<not> an error to register the same object multiple times with
-varying sets of hashrefs. Any hashrefs that are not registered yet
-will be added, others ignored.
-
-Registry also implies thread support. When a new thread is created,
-all references are replaced with new ones, including all objects.
-If a hash uses the reference address of an object as a key, that
-connection would be broken. With a registered object, its id will
-be updated in all hashes registered with it.
-
-=item idhash
-
- idhash my %hash
-
-Makes an idhash from the argument, which must be a hash.
-
-An I<idhash> works like a normal hash, except that it stringifies a
-I<reference used as a key> differently. A reference is stringified
-as if the C<id()> function had been invoked on it, that is, its
-reference address in decimal is used as the key.
-
-=item idhashes
-
- idhashes \ my(%hash, %gnash, %trash)
- idhashes \ @hashrefs
-
-Creates many idhashes from its hashref arguments. Returns those
-arguments that could be converted or their number in scalar context.
-
-=item fieldhash
-
- fieldhash %hash;
-
-Creates a single fieldhash. The argument must be a hash. Returns
-a reference to the given hash if successful, otherwise nothing.
-
-A I<fieldhash> is, in short, an idhash with auto-registry. When an
-object (or, indeed, any reference) is used as a fieldhash key, the
-fieldhash is automatically registered for garbage collection with
-the object, as if C<register $obj, \ %fieldhash> had been called.
-
-=item fieldhashes
-
- fieldhashes @hashrefs;
-
-Creates any number of field hashes. Arguments must be hash references.
-Returns the converted hashrefs in list context, their number in scalar
-context.
-
-=back
-
-=head1 DESCRIPTION
-
-A word on terminology: I shall use the term I<field> for a scalar
-piece of data that a class associates with an object. Other terms that
-have been used for this concept are "object variable", "(object) property",
-"(object) attribute" and more. Especially "attribute" has some currency
-among Perl programmer, but that clashes with the C<attributes> pragma. The
-term "field" also has some currency in this sense and doesn't seem
-to conflict with other Perl terminology.
-
-In Perl, an object is a blessed reference. The standard way of associating
-data with an object is to store the data inside the object's body, that is,
-the piece of data pointed to by the reference.
-
-In consequence, if two or more classes want to access an object they
-I<must> agree on the type of reference and also on the organization of
-data within the object body. Failure to agree on the type results in
-immediate death when the wrong method tries to access an object. Failure
-to agree on data organization may lead to one class trampling over the
-data of another.
-
-This object model leads to a tight coupling between subclasses.
-If one class wants to inherit from another (and both classes access
-object data), the classes must agree about implementation details.
-Inheritance can only be used among classes that are maintained together,
-in a single source or not.
-
-In particular, it is not possible to write general-purpose classes
-in this technique, classes that can advertise themselves as "Put me
-on your @ISA list and use my methods". If the other class has different
-ideas about how the object body is used, there is trouble.
-
-For reference L<Name_hash> in L<Example 1> shows the standard implementation of
-a simple class C<Name> in the well-known hash based way. It also demonstrates
-the predictable failure to construct a common subclass C<NamedFile>
-of C<Name> and the class C<IO::File> (whose objects I<must> be globrefs).
-
-Thus, techniques are of interest that store object data I<not> in
-the object body but some other place.
-
-=head2 The Inside-out Technique
-
-With I<inside-out> classes, each class declares a (typically lexical)
-hash for each field it wants to use. The reference address of an
-object is used as the hash key. By definition, the reference address
-is unique to each object so this guarantees a place for each field that
-is private to the class and unique to each object. See L<Name_id> in
-L<Example 1> for a simple example.
-
-In comparison to the standard implementation where the object is a
-hash and the fields correspond to hash keys, here the fields correspond
-to hashes, and the object determines the hash key. Thus the hashes
-appear to be turned I<inside out>.
-
-The body of an object is never examined by an inside-out class, only
-its reference address is used. This allows for the body of an actual
-object to be I<anything at all> while the object methods of the class
-still work as designed. This is a key feature of inside-out classes.
-
-=head2 Problems of Inside-out
-
-Inside-out classes give us freedom of inheritance, but as usual there
-is a price.
-
-Most obviously, there is the necessity of retrieving the reference
-address of an object for each data access. It's a minor inconvenience,
-but it does clutter the code.
-
-More important (and less obvious) is the necessity of garbage
-collection. When a normal object dies, anything stored in the
-object body is garbage-collected by perl. With inside-out objects,
-Perl knows nothing about the data stored in field hashes by a class,
-but these must be deleted when the object goes out of scope. Thus
-the class must provide a C<DESTROY> method to take care of that.
-
-In the presence of multiple classes it can be non-trivial
-to make sure that every relevant destructor is called for
-every object. Perl calls the first one it finds on the
-inheritance tree (if any) and that's it.
-
-A related issue is thread-safety. When a new thread is created,
-the Perl interpreter is cloned, which implies that all reference
-addresses in use will be replaced with new ones. Thus, if a class
-tries to access a field of a cloned object its (cloned) data will
-still be stored under the now invalid reference address of the
-original in the parent thread. A general C<CLONE> method must
-be provided to re-establish the association.
-
-=head2 Solutions
-
-C<Hash::Util::FieldHash> addresses these issues on several
-levels.
-
-The C<id()> function is provided in addition to the
-existing C<Scalar::Util::refaddr()>. Besides its short name
-it can be a little faster under some circumstances (and a
-bit slower under others). Benchmark if it matters. The
-working of C<id()> also allows the use of the class name
-as a I<generic object> as described L<further down|/"The Generic Object">.
-
-The C<id()> function is incorporated in I<id hashes> in the sense
-that it is called automatically on every key that is used with
-the hash. No explicit call is necessary.
-
-The problems of garbage collection and thread safety are both
-addressed by the function C<register()>. It registers an object
-together with any number of hashes. Registry means that when the
-object dies, an entry in any of the hashes under the reference
-address of this object will be deleted. This guarantees garbage
-collection in these hashes. It also means that on thread
-cloning the object's entries in registered hashes will be
-replaced with updated entries whose key is the cloned object's
-reference address. Thus the object-data association becomes
-thread-safe.
-
-Object registry is best done when the object is initialized
-for use with a class. That way, garbage collection and thread
-safety are established for every object and every field that is
-initialized.
-
-Finally, I<field hashes> incorporate all these functions in one
-package. Besides automatically calling the C<id()> function
-on every object used as a key, the object is registered with
-the field hash on first use. Classes based on field hashes
-are fully garbage-collected and thread safe without further
-measures.
-
-=head2 More Problems
-
-Another problem that occurs with inside-out classes is serialization.
-Since the object data is not in its usual place, standard routines
-like C<Storable::freeze()>, C<Storable::thaw()> and
-C<Data::Dumper::Dumper()> can't deal with it on their own. Both
-C<Data::Dumper> and C<Storable> provide the necessary hooks to
-make things work, but the functions or methods used by the hooks
-must be provided by each inside-out class.
-
-A general solution to the serialization problem would require another
-level of registry, one that that associates I<classes> and fields.
-So far, the functions of C<Hash::Util::FieldHash> are unaware of
-any classes, which I consider a feature. Therefore C<Hash::Util::FieldHash>
-doesn't address the serialization problems.
-
-=head2 The Generic Object
-
-Classes based on the C<id()> function (and hence classes based on
-C<idhash()> and C<fieldhash()>) show a peculiar behavior in that
-the class name can be used like an object. Specifically, methods
-that set or read data associated with an object continue to work as
-class methods, just as if the class name were an object, distinct from
-all other objects, with its own data. This object may be called
-the I<generic object> of the class.
-
-This works because field hashes respond to keys that are not references
-like a normal hash would and use the string offered as the hash key.
-Thus, if a method is called as a class method, the field hash is presented
-with the class name instead of an object and blithely uses it as a key.
-Since the keys of real objects are decimal numbers, there is no
-conflict and the slot in the field hash can be used like any other.
-The C<id()> function behaves correspondingly with respect to non-reference
-arguments.
-
-Two possible uses (besides ignoring the property) come to mind.
-A singleton class could be implemented this using the generic object.
-If necessary, an C<init()> method could die or ignore calls with
-actual objects (references), so only the generic object will ever exist.
-
-Another use of the generic object would be as a template. It is
-a convenient place to store class-specific defaults for various
-fields to be used in actual object initialization.
-
-Usually, the feature can be entirely ignored. Calling I<object
-methods> as I<class methods> normally leads to an error and isn't used
-routinely anywhere. It may be a problem that this error isn't
-indicated by a class with a generic object.
-
-=head2 How to use Field Hashes
-
-Traditionally, the definition of an inside-out class contains a bare
-block inside which a number of lexical hashes are declared and the
-basic accessor methods defined, usually through C<Scalar::Util::refaddr>.
-Further methods may be defined outside this block. There has to be
-a DESTROY method and, for thread support, a CLONE method.
-
-When field hashes are used, the basic structure remains the same.
-Each lexical hash will be made a field hash. The call to C<refaddr>
-can be omitted from the accessor methods. DESTROY and CLONE methods
-are not necessary.
-
-If you have an existing inside-out class, simply making all hashes
-field hashes with no other change should make no difference. Through
-the calls to C<refaddr> or equivalent, the field hashes never get to
-see a reference and work like normal hashes. Your DESTROY (and
-CLONE) methods are still needed.
-
-To make the field hashes kick in, it is easiest to redefine C<refaddr>
-as
-
- sub refaddr { shift }
-
-instead of importing it from C<Scalar::Util>. It should now be possible
-to disable DESTROY and CLONE. Note that while it isn't disabled,
-DESTROY will be called before the garbage collection of field hashes,
-so it will be invoked with a functional object and will continue to
-function.
-
-It is not desirable to import the functions C<fieldhash> and/or
-C<fieldhashes> into every class that is going to use them. They
-are only used once to set up the class. When the class is up and running,
-these functions serve no more purpose.
-
-If there are only a few field hashes to declare, it is simplest to
-
- use Hash::Util::FieldHash;
-
-early and call the functions qualified:
-
- Hash::Util::FieldHash::fieldhash my %foo;
-
-Otherwise, import the functions into a convenient package like
-C<HUF> or, more general, C<Aux>
-
- {
- package Aux;
- use Hash::Util::FieldHash ':all';
- }
-
-and call
-
- Aux::fieldhash my %foo;
-
-as needed.
-
-=head2 Garbage-Collected Hashes
-
-Garbage collection in a field hash means that entries will "spontaneously"
-disappear when the object that created them disappears. That must be
-borne in mind, especially when looping over a field hash. If anything
-you do inside the loop could cause an object to go out of scope, a
-random key may be deleted from the hash you are looping over. That
-can throw the loop iterator, so it's best to cache a consistent snapshot
-of the keys and/or values and loop over that. You will still have to
-check that a cached entry still exists when you get to it.
-
-Garbage collection can be confusing when keys are created in a field hash
-from normal scalars as well as references. Once a reference is I<used> with
-a field hash, the entry will be collected, even if it was later overwritten
-with a plain scalar key (every positive integer is a candidate). This
-is true even if the original entry was deleted in the meantime. In fact,
-deletion from a field hash, and also a test for existence constitute
-I<use> in this sense and create a liability to delete the entry when
-the reference goes out of scope. If you happen to create an entry
-with an identical key from a string or integer, that will be collected
-instead. Thus, mixed use of references and plain scalars as field hash
-keys is not entirely supported.
-
-=head1 EXAMPLES
-
-The examples show a very simple class that implements a I<name>, consisting
-of a first and last name (no middle initial). The name class has four
-methods:
-
-=over
-
-=item * C<init()>
-
-An object method that initializes the first and last name to its
-two arguments. If called as a class method, C<init()> creates an
-object in the given class and initializes that.
-
-=item * C<first()>
-
-Retrieve the first name
-
-=item * C<last()>
-
-Retrieve the last name
-
-=item * C<name()>
-
-Retrieve the full name, the first and last name joined by a blank.
-
-=back
-
-The examples show this class implemented with different levels of
-support by C<Hash::Util::FieldHash>. All supported combinations
-are shown. The difference between implementations is often quite
-small. The implementations are:
-
-=over
-
-=item * C<Name_hash>
-
-A conventional (not inside-out) implementation where an object is
-a hash that stores the field values, without support by
-C<Hash::Util::FieldHash>. This implementation doesn't allow
-arbitrary inheritance.
-
-=item * C<Name_id>
-
-Inside-out implementation based on the C<id()> function. It needs
-a C<DESTROY> method. For thread support a C<CLONE> method (not shown)
-would also be needed. Instead of C<Hash::Util::FieldHash::id()> the
-function C<Scalar::Util::refaddr> could be used with very little
-functional difference. This is the basic pattern of an inside-out
-class.
-
-=item * C<Name_idhash>
-
-Idhash-based inside-out implementation. Like L<Name_id> it needs
-a C<DESTROY> method and would need C<CLONE> for thread support.
-
-=item * C<Name_id_reg>
-
-Inside-out implementation based on the C<id()> function with explicit
-object registry. No destructor is needed and objects are thread safe.
-
-=item * C<Name_idhash_reg>
-
-Idhash-based inside-out implementation with explicit object registry.
-No destructor is needed and objects are thread safe.
-
-=item * C<Name_fieldhash>
-
-FieldHash-based inside-out implementation. Object registry happens
-automatically. No destructor is needed and objects are thread safe.
-
-=back
-
-These examples are realized in the code below, which could be copied
-to a file F<Example.pm>.
-
-=head2 Example 1
-
- use strict; use warnings;
-
- {
- package Name_hash; # standard implementation: the object is a hash
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless {}, $obj unless ref $obj;
- $obj->{ first} = $first;
- $obj->{ last} = $last;
- $obj;
- }
-
- sub first { shift()->{ first} }
- sub last { shift()->{ last} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
-
- }
-
- {
- package Name_id;
- use Hash::Util::FieldHash qw(id);
-
- my (%first, %last);
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless \ my $o, $obj unless ref $obj;
- $first{ id $obj} = $first;
- $last{ id $obj} = $last;
- $obj;
- }
-
- sub first { $first{ id shift()} }
- sub last { $last{ id shift()} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
-
- sub DESTROY {
- my $id = id shift;
- delete $first{ $id};
- delete $last{ $id};
- }
-
- }
-
- {
- package Name_idhash;
- use Hash::Util::FieldHash;
-
- Hash::Util::FieldHash::idhashes( \ my (%first, %last) );
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless \ my $o, $obj unless ref $obj;
- $first{ $obj} = $first;
- $last{ $obj} = $last;
- $obj;
- }
-
- sub first { $first{ shift()} }
- sub last { $last{ shift()} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
-
- sub DESTROY {
- my $n = shift;
- delete $first{ $n};
- delete $last{ $n};
- }
-
- }
-
- {
- package Name_id_reg;
- use Hash::Util::FieldHash qw(id register);
-
- my (%first, %last);
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless \ my $o, $obj unless ref $obj;
- register( $obj, \ (%first, %last) );
- $first{ id $obj} = $first;
- $last{ id $obj} = $last;
- $obj;
- }
-
- sub first { $first{ id shift()} }
- sub last { $last{ id shift()} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
- }
-
- {
- package Name_idhash_reg;
- use Hash::Util::FieldHash qw(register);
-
- Hash::Util::FieldHash::idhashes \ my (%first, %last);
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless \ my $o, $obj unless ref $obj;
- register( $obj, \ (%first, %last) );
- $first{ $obj} = $first;
- $last{ $obj} = $last;
- $obj;
- }
-
- sub first { $first{ shift()} }
- sub last { $last{ shift()} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
- }
-
- {
- package Name_fieldhash;
- use Hash::Util::FieldHash;
-
- Hash::Util::FieldHash::fieldhashes \ my (%first, %last);
-
- sub init {
- my $obj = shift;
- my ($first, $last) = @_;
- # create an object if called as class method
- $obj = bless \ my $o, $obj unless ref $obj;
- $first{ $obj} = $first;
- $last{ $obj} = $last;
- $obj;
- }
-
- sub first { $first{ shift()} }
- sub last { $last{ shift()} }
-
- sub name {
- my $n = shift;
- join ' ' => $n->first, $n->last;
- }
- }
-
- 1;
-
-To exercise the various implementations the script L<below|/"Example 2"> can
-be used.
-
-It sets up a class C<Name> that is a mirror of one of the implementation
-classes C<Name_hash>, C<Name_id>, ..., C<Name_fieldhash>. That determines
-which implementation is run.
-
-The script first verifies the function of the C<Name> class.
-
-In the second step, the free inheritability of the implementation
-(or lack thereof) is demonstrated. For this purpose it constructs
-a class called C<NamedFile> which is a common subclass of C<Name> and
-the standard class C<IO::File>. This puts inheritability to the test
-because objects of C<IO::File> I<must> be globrefs. Objects of C<NamedFile>
-should behave like a file opened for reading and also support the C<name()>
-method. This class juncture works with exception of the C<Name_hash>
-implementation, where object initialization fails because of the
-incompatibility of object bodies.
-
-=head2 Example 2
-
- use strict; use warnings; $| = 1;
-
- use Example;
-
- {
- package Name;
- use base 'Name_id'; # define here which implementation to run
- }
-
-
- # Verify that the base package works
- my $n = Name->init(qw(Albert Einstein));
- print $n->name, "\n";
- print "\n";
-
- # Create a named file handle (See definition below)
- my $nf = NamedFile->init(qw(/tmp/x Filomena File));
- # use as a file handle...
- for ( 1 .. 3 ) {
- my $l = <$nf>;
- print "line $_: $l";
- }
- # ...and as a Name object
- print "...brought to you by ", $nf->name, "\n";
- exit;
-
-
- # Definition of NamedFile
- package NamedFile;
- use base 'Name';
- use base 'IO::File';
-
- sub init {
- my $obj = shift;
- my ($file, $first, $last) = @_;
- $obj = $obj->IO::File::new() unless ref $obj;
- $obj->open($file) or die "Can't read '$file': $!";
- $obj->Name::init($first, $last);
- }
- __END__
-
-
-=head1 GUTS
-
-To make C<Hash::Util::FieldHash> work, there were two changes to
-F<perl> itself. C<PERL_MAGIC_uvar> was made avalaible for hashes,
-and weak references now call uvar C<get> magic after a weakref has been
-cleared. The first feature is used to make field hashes intercept
-their keys upon access. The second one triggers garbage collection.
-
-=head2 The C<PERL_MAGIC_uvar> interface for hashes
-
-C<PERL_MAGIC_uvar> I<get> magic is called from C<hv_fetch_common> and
-C<hv_delete_common> through the function C<hv_magic_uvar_xkey>, which
-defines the interface. The call happens for hashes with "uvar" magic
-if the C<ufuncs> structure has equal values in the C<uf_val> and C<uf_set>
-fields. Hashes are unaffected if (and as long as) these fields
-hold different values.
-
-Upon the call, the C<mg_obj> field will hold the hash key to be accessed.
-Upon return, the C<SV*> value in C<mg_obj> will be used in place of the
-original key in the hash access. The integer index value in the first
-parameter will be the C<action> value from C<hv_fetch_common>, or -1
-if the call is from C<hv_delete_common>.
-
-This is a template for a function suitable for the C<uf_val> field in
-a C<ufuncs> structure for this call. The C<uf_set> and C<uf_index>
-fields are irrelevant.
-
- IV watch_key(pTHX_ IV action, SV* field) {
- MAGIC* mg = mg_find(field, PERL_MAGIC_uvar);
- SV* keysv = mg->mg_obj;
- /* Do whatever you need to. If you decide to
- supply a different key newkey, return it like this
- */
- sv_2mortal(newkey);
- mg->mg_obj = newkey;
- return 0;
- }
-
-=head2 Weakrefs call uvar magic
-
-When a weak reference is stored in an C<SV> that has "uvar" magic, C<set>
-magic is called after the reference has gone stale. This hook can be
-used to trigger further garbage-collection activities associated with
-the referenced object.
-
-=head2 How field hashes work
-
-The three features of key hashes, I<key replacement>, I<thread support>,
-and I<garbage collection> are supported by a data structure called
-the I<object registry>. This is a private hash where every object
-is stored. An "object" in this sense is any reference (blessed or
-unblessed) that has been used as a field hash key.
-
-The object registry keeps track of references that have been used as
-field hash keys. The keys are generated from the reference address
-like in a field hash (though the registry isn't a field hash). Each
-value is a weak copy of the original reference, stored in an C<SV> that
-is itself magical (C<PERL_MAGIC_uvar> again). The magical structure
-holds a list (another hash, really) of field hashes that the reference
-has been used with. When the weakref becomes stale, the magic is
-activated and uses the list to delete the reference from all field
-hashes it has been used with. After that, the entry is removed from
-the object registry itself. Implicitly, that frees the magic structure
-and the storage it has been using.
-
-Whenever a reference is used as a field hash key, the object registry
-is checked and a new entry is made if necessary. The field hash is
-then added to the list of fields this reference has used.
-
-The object registry is also used to repair a field hash after thread
-cloning. Here, the entire object registry is processed. For every
-reference found there, the field hashes it has used are visited and
-the entry is updated.
-
-=head2 Internal function Hash::Util::FieldHash::_fieldhash
-
- # test if %hash is a field hash
- my $result = _fieldhash \ %hash, 0;
-
- # make %hash a field hash
- my $result = _fieldhash \ %hash, 1;
-
-C<_fieldhash> is the internal function used to create field hashes.
-It takes two arguments, a hashref and a mode. If the mode is boolean
-false, the hash is not changed but tested if it is a field hash. If
-the hash isn't a field hash the return value is boolean false. If it
-is, the return value indicates the mode of field hash. When called with
-a boolean true mode, it turns the given hash into a field hash of this
-mode, returning the mode of the created field hash. C<_fieldhash>
-does not erase the given hash.
-
-Currently there is only one type of field hash, and only the boolean
-value of the mode makes a difference, but that may change.
-
-=head1 AUTHOR
-
-Anno Siegel (ANNO) wrote the xs code and the changes in perl proper
-Jerry Hedden (JDHEDDEN) made it faster
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2006-2007 by (Anno Siegel)
-
-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.7 or,
-at your option, any later version of Perl 5 you may have available.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/I18N/Langinfo.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/I18N/Langinfo.pm
deleted file mode 100644
index cebff73fb2d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/I18N/Langinfo.pm
+++ /dev/null
@@ -1,215 +0,0 @@
-package I18N::Langinfo;
-
-use 5.006;
-use strict;
-use warnings;
-use Carp;
-
-require Exporter;
-require DynaLoader;
-use AutoLoader;
-
-our @ISA = qw(Exporter DynaLoader);
-
-our @EXPORT = qw(langinfo);
-
-our @EXPORT_OK = qw(
- ABDAY_1
- ABDAY_2
- ABDAY_3
- ABDAY_4
- ABDAY_5
- ABDAY_6
- ABDAY_7
- ABMON_1
- ABMON_10
- ABMON_11
- ABMON_12
- ABMON_2
- ABMON_3
- ABMON_4
- ABMON_5
- ABMON_6
- ABMON_7
- ABMON_8
- ABMON_9
- ALT_DIGITS
- AM_STR
- CODESET
- CRNCYSTR
- DAY_1
- DAY_2
- DAY_3
- DAY_4
- DAY_5
- DAY_6
- DAY_7
- D_FMT
- D_T_FMT
- ERA
- ERA_D_FMT
- ERA_D_T_FMT
- ERA_T_FMT
- MON_1
- MON_10
- MON_11
- MON_12
- MON_2
- MON_3
- MON_4
- MON_5
- MON_6
- MON_7
- MON_8
- MON_9
- NOEXPR
- NOSTR
- PM_STR
- RADIXCHAR
- THOUSEP
- T_FMT
- T_FMT_AMPM
- YESEXPR
- YESSTR
-);
-
-our $VERSION = '0.02';
-
-sub AUTOLOAD {
- # This AUTOLOAD is used to 'autoload' constants from the constant()
- # XS function.
-
- my $constname;
- our $AUTOLOAD;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- croak "&I18N::Langinfo::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;
-}
-
-bootstrap I18N::Langinfo $VERSION;
-
-1;
-__END__
-
-=head1 NAME
-
-I18N::Langinfo - query locale information
-
-=head1 SYNOPSIS
-
- use I18N::Langinfo;
-
-=head1 DESCRIPTION
-
-The langinfo() function queries various locale information that can be
-used to localize output and user interfaces. The langinfo() requires
-one numeric argument that identifies the locale constant to query:
-if no argument is supplied, C<$_> is used. The numeric constants
-appropriate to be used as arguments are exportable from I18N::Langinfo.
-
-The following example will import the langinfo() function itself and
-three constants to be used as arguments to langinfo(): a constant for
-the abbreviated first day of the week (the numbering starts from
-Sunday = 1) and two more constants for the affirmative and negative
-answers for a yes/no question in the current locale.
-
- use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR);
-
- my ($abday_1, $yesstr, $nostr) = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
-
- print "$abday_1? [$yesstr/$nostr] ";
-
-In other words, in the "C" (or English) locale the above will probably
-print something like:
-
- Sun? [yes/no]
-
-but under a French locale
-
- dim? [oui/non]
-
-The usually available constants are
-
- ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7
- ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6
- ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12
- DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7
- MON_1 MON_2 MON_3 MON_4 MON_5 MON_6
- MON_7 MON_8 MON_9 MON_10 MON_11 MON_12
-
-for abbreviated and full length days of the week and months of the year,
-
- D_T_FMT D_FMT T_FMT
-
-for the date-time, date, and time formats used by the strftime() function
-(see L<POSIX>)
-
- AM_STR PM_STR T_FMT_AMPM
-
-for the locales for which it makes sense to have ante meridiem and post
-meridiem time formats,
-
- CODESET CRNCYSTR RADIXCHAR
-
-for the character code set being used (such as "ISO8859-1", "cp850",
-"koi8-r", "sjis", "utf8", etc.), for the currency string, for the
-radix character used between the integer and the fractional part
-of decimal numbers (yes, this is redundant with POSIX::localeconv())
-
- YESSTR YESEXPR NOSTR NOEXPR
-
-for the affirmative and negative responses and expressions, and
-
- ERA ERA_D_FMT ERA_D_T_FMT ERA_T_FMT
-
-for the Japanese Emperor eras (naturally only defined under Japanese locales).
-
-See your L<langinfo(3)> for more information about the available
-constants. (Often this means having to look directly at the
-F<langinfo.h> C header file.)
-
-Note that unfortunately none of the above constants are guaranteed
-to be available on a particular platform. To be on the safe side
-you can wrap the import in an eval like this:
-
- eval {
- require I18N::Langinfo;
- I18N::Langinfo->import(qw(langinfo CODESET));
- $codeset = langinfo(CODESET()); # note the ()
- };
- if (!$@) { ... failed ... }
-
-=head2 EXPORT
-
-Nothing is exported by default.
-
-=head1 SEE ALSO
-
-L<perllocale>, L<POSIX/localeconv>, L<POSIX/setlocale>, L<nl_langinfo(3)>.
-
-The langinfo() is just a wrapper for the C nl_langinfo() interface.
-
-=head1 AUTHOR
-
-Jarkko Hietaniemi, E<lt>jhi@hut.fiE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2001 by Jarkko Hietaniemi
-
-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/5.10/i686-cygwin/IO.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO.pm
deleted file mode 100644
index ac0664258e0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO.pm
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-
-package IO;
-
-use XSLoader ();
-use Carp;
-use strict;
-use warnings;
-
-our $VERSION = "1.23_01";
-XSLoader::load 'IO', $VERSION;
-
-sub import {
- shift;
-
- warnings::warnif('deprecated', qq{Parameterless "use IO" deprecated})
- if @_ == 0 ;
-
- my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir);
-
- eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l)
- or croak $@;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO - load various IO modules
-
-=head1 SYNOPSIS
-
- use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
- use IO; # DEPRECATED
-
-=head1 DESCRIPTION
-
-C<IO> provides a simple mechanism to load several of the IO modules
-in one go. The IO modules belonging to the core are:
-
- IO::Handle
- IO::Seekable
- IO::File
- IO::Pipe
- IO::Socket
- IO::Dir
- IO::Select
- IO::Poll
-
-Some other IO modules don't belong to the perl core but can be loaded
-as well if they have been installed from CPAN. You can discover which
-ones exist by searching for "^IO::" on http://search.cpan.org.
-
-For more information on any of these modules, please see its respective
-documentation.
-
-=head1 DEPRECATED
-
- use IO; # loads all the modules listed below
-
-The loaded modules are IO::Handle, IO::Seekable, IO::File, IO::Pipe,
-IO::Socket, IO::Dir. You should instead explicitly import the IO
-modules you want.
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Deflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Deflate.pm
deleted file mode 100644
index d8f5a5f69da..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Deflate.pm
+++ /dev/null
@@ -1,165 +0,0 @@
-package IO::Compress::Adapter::Deflate ;
-
-use strict;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status);
-
-use Compress::Raw::Zlib 2.011 qw(Z_OK Z_FINISH MAX_WBITS) ;
-our ($VERSION);
-
-$VERSION = '2.011';
-
-sub mkCompObject
-{
- my $crc32 = shift ;
- my $adler32 = shift ;
- my $level = shift ;
- my $strategy = shift ;
-
- my ($def, $status) = new Compress::Raw::Zlib::Deflate
- -AppendOutput => 1,
- -CRC32 => $crc32,
- -ADLER32 => $adler32,
- -Level => $level,
- -Strategy => $strategy,
- -WindowBits => - MAX_WBITS;
-
- return (undef, "Cannot create Deflate object: $status", $status)
- if $status != Z_OK;
-
- return bless {'Def' => $def,
- 'Error' => '',
- } ;
-}
-
-sub compr
-{
- my $self = shift ;
-
- my $def = $self->{Def};
-
- my $status = $def->deflate($_[0], $_[1]) ;
- $self->{ErrorNo} = $status;
-
- if ($status != Z_OK)
- {
- $self->{Error} = "Deflate Error: $status";
- return STATUS_ERROR;
- }
-
- return STATUS_OK;
-}
-
-sub flush
-{
- my $self = shift ;
-
- my $def = $self->{Def};
-
- my $opt = $_[1] || Z_FINISH;
- my $status = $def->flush($_[0], $opt);
- $self->{ErrorNo} = $status;
-
- if ($status != Z_OK)
- {
- $self->{Error} = "Deflate Error: $status";
- return STATUS_ERROR;
- }
-
- return STATUS_OK;
-
-}
-
-sub close
-{
- my $self = shift ;
-
- my $def = $self->{Def};
-
- $def->flush($_[0], Z_FINISH)
- if defined $def ;
-}
-
-sub reset
-{
- my $self = shift ;
-
- my $def = $self->{Def};
-
- my $status = $def->deflateReset() ;
- $self->{ErrorNo} = $status;
- if ($status != Z_OK)
- {
- $self->{Error} = "Deflate Error: $status";
- return STATUS_ERROR;
- }
-
- return STATUS_OK;
-}
-
-sub deflateParams
-{
- my $self = shift ;
-
- my $def = $self->{Def};
-
- my $status = $def->deflateParams(@_);
- $self->{ErrorNo} = $status;
- if ($status != Z_OK)
- {
- $self->{Error} = "deflateParams Error: $status";
- return STATUS_ERROR;
- }
-
- return STATUS_OK;
-}
-
-
-
-#sub total_out
-#{
-# my $self = shift ;
-# $self->{Def}->total_out();
-#}
-#
-#sub total_in
-#{
-# my $self = shift ;
-# $self->{Def}->total_in();
-#}
-
-sub compressedBytes
-{
- my $self = shift ;
-
- $self->{Def}->compressedBytes();
-}
-
-sub uncompressedBytes
-{
- my $self = shift ;
- $self->{Def}->uncompressedBytes();
-}
-
-
-
-
-sub crc32
-{
- my $self = shift ;
- $self->{Def}->crc32();
-}
-
-sub adler32
-{
- my $self = shift ;
- $self->{Def}->adler32();
-}
-
-
-1;
-
-__END__
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Identity.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Identity.pm
deleted file mode 100644
index ad7347c28d4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Adapter/Identity.pm
+++ /dev/null
@@ -1,101 +0,0 @@
-package IO::Compress::Adapter::Identity ;
-
-use strict;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status);
-our ($VERSION);
-
-$VERSION = '2.011';
-
-sub mkCompObject
-{
- my $level = shift ;
- my $strategy = shift ;
-
- return bless {
- 'CompSize' => 0,
- 'UnCompSize' => 0,
- 'Error' => '',
- 'ErrorNo' => 0,
- } ;
-}
-
-sub compr
-{
- my $self = shift ;
-
- if (defined ${ $_[0] } && length ${ $_[0] }) {
- $self->{CompSize} += length ${ $_[0] } ;
- $self->{UnCompSize} = $self->{CompSize} ;
-
- if ( ref $_[1] )
- { ${ $_[1] } .= ${ $_[0] } }
- else
- { $_[1] .= ${ $_[0] } }
- }
-
- return STATUS_OK ;
-}
-
-sub flush
-{
- my $self = shift ;
-
- return STATUS_OK;
-}
-
-sub close
-{
- my $self = shift ;
-
- return STATUS_OK;
-}
-
-sub reset
-{
- my $self = shift ;
-
- $self->{CompSize} = 0;
- $self->{UnCompSize} = 0;
-
- return STATUS_OK;
-}
-
-sub deflateParams
-{
- my $self = shift ;
-
- return STATUS_OK;
-}
-
-#sub total_out
-#{
-# my $self = shift ;
-# return $self->{UnCompSize} ;
-#}
-#
-#sub total_in
-#{
-# my $self = shift ;
-# return $self->{UnCompSize} ;
-#}
-
-sub compressedBytes
-{
- my $self = shift ;
- return $self->{UnCompSize} ;
-}
-
-sub uncompressedBytes
-{
- my $self = shift ;
- return $self->{UnCompSize} ;
-}
-
-1;
-
-
-__END__
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base.pm
deleted file mode 100644
index 9f05ed880d1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base.pm
+++ /dev/null
@@ -1,978 +0,0 @@
-
-package IO::Compress::Base ;
-
-require 5.004 ;
-
-use strict ;
-use warnings;
-
-use IO::Compress::Base::Common 2.011 ;
-
-use IO::File ;
-use Scalar::Util qw(blessed readonly);
-
-#use File::Glob;
-#require Exporter ;
-use Carp ;
-use Symbol;
-use bytes;
-
-our (@ISA, $VERSION);
-@ISA = qw(Exporter IO::File);
-
-$VERSION = '2.011';
-
-#Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
-
-sub saveStatus
-{
- my $self = shift ;
- ${ *$self->{ErrorNo} } = shift() + 0 ;
- ${ *$self->{Error} } = '' ;
-
- return ${ *$self->{ErrorNo} } ;
-}
-
-
-sub saveErrorString
-{
- my $self = shift ;
- my $retval = shift ;
- ${ *$self->{Error} } = shift ;
- ${ *$self->{ErrorNo} } = shift() + 0 if @_ ;
-
- return $retval;
-}
-
-sub croakError
-{
- my $self = shift ;
- $self->saveErrorString(0, $_[0]);
- croak $_[0];
-}
-
-sub closeError
-{
- my $self = shift ;
- my $retval = shift ;
-
- my $errno = *$self->{ErrorNo};
- my $error = ${ *$self->{Error} };
-
- $self->close();
-
- *$self->{ErrorNo} = $errno ;
- ${ *$self->{Error} } = $error ;
-
- return $retval;
-}
-
-
-
-sub error
-{
- my $self = shift ;
- return ${ *$self->{Error} } ;
-}
-
-sub errorNo
-{
- my $self = shift ;
- return ${ *$self->{ErrorNo} } ;
-}
-
-
-sub writeAt
-{
- my $self = shift ;
- my $offset = shift;
- my $data = shift;
-
- if (defined *$self->{FH}) {
- my $here = tell(*$self->{FH});
- return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!)
- if $here < 0 ;
- seek(*$self->{FH}, $offset, SEEK_SET)
- or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
- defined *$self->{FH}->write($data, length $data)
- or return $self->saveErrorString(undef, $!, $!) ;
- seek(*$self->{FH}, $here, SEEK_SET)
- or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
- }
- else {
- substr(${ *$self->{Buffer} }, $offset, length($data)) = $data ;
- }
-
- return 1;
-}
-
-sub output
-{
- my $self = shift ;
- my $data = shift ;
- my $last = shift ;
-
- return 1
- if length $data == 0 && ! $last ;
-
- if ( *$self->{FilterEnvelope} ) {
- *_ = \$data;
- &{ *$self->{FilterEnvelope} }();
- }
-
- if (length $data) {
- if ( defined *$self->{FH} ) {
- defined *$self->{FH}->write( $data, length $data )
- or return $self->saveErrorString(0, $!, $!);
- }
- else {
- ${ *$self->{Buffer} } .= $data ;
- }
- }
-
- return 1;
-}
-
-sub getOneShotParams
-{
- return ( 'MultiStream' => [1, 1, Parse_boolean, 1],
- );
-}
-
-sub checkParams
-{
- my $self = shift ;
- my $class = shift ;
-
- my $got = shift || IO::Compress::Base::Parameters::new();
-
- $got->parse(
- {
- # Generic Parameters
- 'AutoClose' => [1, 1, Parse_boolean, 0],
- #'Encode' => [1, 1, Parse_any, undef],
- 'Strict' => [0, 1, Parse_boolean, 1],
- 'Append' => [1, 1, Parse_boolean, 0],
- 'BinModeIn' => [1, 1, Parse_boolean, 0],
-
- 'FilterEnvelope' => [1, 1, Parse_any, undef],
-
- $self->getExtraParams(),
- *$self->{OneShot} ? $self->getOneShotParams()
- : (),
- },
- @_) or $self->croakError("${class}: $got->{Error}") ;
-
- return $got ;
-}
-
-sub _create
-{
- my $obj = shift;
- my $got = shift;
-
- *$obj->{Closed} = 1 ;
-
- my $class = ref $obj;
- $obj->croakError("$class: Missing Output parameter")
- if ! @_ && ! $got ;
-
- my $outValue = shift ;
- my $oneShot = 1 ;
-
- if (! $got)
- {
- $oneShot = 0 ;
- $got = $obj->checkParams($class, undef, @_)
- or return undef ;
- }
-
- my $lax = ! $got->value('Strict') ;
-
- my $outType = whatIsOutput($outValue);
-
- $obj->ckOutputParam($class, $outValue)
- or return undef ;
-
- if ($outType eq 'buffer') {
- *$obj->{Buffer} = $outValue;
- }
- else {
- my $buff = "" ;
- *$obj->{Buffer} = \$buff ;
- }
-
- # Merge implies Append
- my $merge = $got->value('Merge') ;
- my $appendOutput = $got->value('Append') || $merge ;
- *$obj->{Append} = $appendOutput;
- *$obj->{FilterEnvelope} = $got->value('FilterEnvelope') ;
-
- if ($merge)
- {
- # Switch off Merge mode if output file/buffer is empty/doesn't exist
- if (($outType eq 'buffer' && length $$outValue == 0 ) ||
- ($outType ne 'buffer' && (! -e $outValue || (-w _ && -z _))) )
- { $merge = 0 }
- }
-
- # If output is a file, check that it is writable
- if ($outType eq 'filename' && -e $outValue && ! -w _)
- { return $obj->saveErrorString(undef, "Output file '$outValue' is not writable" ) }
-
-
-
- if ($got->parsed('Encode')) {
- my $want_encoding = $got->value('Encode');
- *$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
- }
-
- $obj->ckParams($got)
- or $obj->croakError("${class}: " . $obj->error());
-
-
- $obj->saveStatus(STATUS_OK) ;
-
- my $status ;
- if (! $merge)
- {
- *$obj->{Compress} = $obj->mkComp($got)
- or return undef;
-
- *$obj->{UnCompSize} = new U64 ;
- *$obj->{CompSize} = new U64 ;
-
- if ( $outType eq 'buffer') {
- ${ *$obj->{Buffer} } = ''
- unless $appendOutput ;
- }
- else {
- if ($outType eq 'handle') {
- *$obj->{FH} = $outValue ;
- setBinModeOutput(*$obj->{FH}) ;
- $outValue->flush() ;
- *$obj->{Handle} = 1 ;
- if ($appendOutput)
- {
- seek(*$obj->{FH}, 0, SEEK_END)
- or return $obj->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
-
- }
- }
- elsif ($outType eq 'filename') {
- my $mode = '>' ;
- $mode = '>>'
- if $appendOutput;
- *$obj->{FH} = new IO::File "$mode $outValue"
- or return $obj->saveErrorString(undef, "cannot open file '$outValue': $!", $!) ;
- *$obj->{StdIO} = ($outValue eq '-');
- setBinModeOutput(*$obj->{FH}) ;
- }
- }
-
- *$obj->{Header} = $obj->mkHeader($got) ;
- $obj->output( *$obj->{Header} )
- or return undef;
- }
- else
- {
- *$obj->{Compress} = $obj->createMerge($outValue, $outType)
- or return undef;
- }
-
- *$obj->{Closed} = 0 ;
- *$obj->{AutoClose} = $got->value('AutoClose') ;
- *$obj->{Output} = $outValue;
- *$obj->{ClassName} = $class;
- *$obj->{Got} = $got;
- *$obj->{OneShot} = 0 ;
-
- return $obj ;
-}
-
-sub ckOutputParam
-{
- my $self = shift ;
- my $from = shift ;
- my $outType = whatIsOutput($_[0]);
-
- $self->croakError("$from: output parameter not a filename, filehandle or scalar ref")
- if ! $outType ;
-
- $self->croakError("$from: output filename is undef or null string")
- if $outType eq 'filename' && (! defined $_[0] || $_[0] eq '') ;
-
- $self->croakError("$from: output buffer is read-only")
- if $outType eq 'buffer' && readonly(${ $_[0] });
-
- return 1;
-}
-
-
-sub _def
-{
- my $obj = shift ;
-
- my $class= (caller)[0] ;
- my $name = (caller(1))[3] ;
-
- $obj->croakError("$name: expected at least 1 parameters\n")
- unless @_ >= 1 ;
-
- my $input = shift ;
- my $haveOut = @_ ;
- my $output = shift ;
-
- my $x = new IO::Compress::Base::Validator($class, *$obj->{Error}, $name, $input, $output)
- or return undef ;
-
- push @_, $output if $haveOut && $x->{Hash};
-
- *$obj->{OneShot} = 1 ;
-
- my $got = $obj->checkParams($name, undef, @_)
- or return undef ;
-
- $x->{Got} = $got ;
-
-# if ($x->{Hash})
-# {
-# while (my($k, $v) = each %$input)
-# {
-# $v = \$input->{$k}
-# unless defined $v ;
-#
-# $obj->_singleTarget($x, 1, $k, $v, @_)
-# or return undef ;
-# }
-#
-# return keys %$input ;
-# }
-
- if ($x->{GlobMap})
- {
- $x->{oneInput} = 1 ;
- foreach my $pair (@{ $x->{Pairs} })
- {
- my ($from, $to) = @$pair ;
- $obj->_singleTarget($x, 1, $from, $to, @_)
- or return undef ;
- }
-
- return scalar @{ $x->{Pairs} } ;
- }
-
- if (! $x->{oneOutput} )
- {
- my $inFile = ($x->{inType} eq 'filenames'
- || $x->{inType} eq 'filename');
-
- $x->{inType} = $inFile ? 'filename' : 'buffer';
-
- foreach my $in ($x->{oneInput} ? $input : @$input)
- {
- my $out ;
- $x->{oneInput} = 1 ;
-
- $obj->_singleTarget($x, $inFile, $in, \$out, @_)
- or return undef ;
-
- push @$output, \$out ;
- #if ($x->{outType} eq 'array')
- # { push @$output, \$out }
- #else
- # { $output->{$in} = \$out }
- }
-
- return 1 ;
- }
-
- # finally the 1 to 1 and n to 1
- return $obj->_singleTarget($x, 1, $input, $output, @_);
-
- croak "should not be here" ;
-}
-
-sub _singleTarget
-{
- my $obj = shift ;
- my $x = shift ;
- my $inputIsFilename = shift;
- my $input = shift;
-
- if ($x->{oneInput})
- {
- $obj->getFileInfo($x->{Got}, $input)
- if isaFilename($input) and $inputIsFilename ;
-
- my $z = $obj->_create($x->{Got}, @_)
- or return undef ;
-
-
- defined $z->_wr2($input, $inputIsFilename)
- or return $z->closeError(undef) ;
-
- return $z->close() ;
- }
- else
- {
- my $afterFirst = 0 ;
- my $inputIsFilename = ($x->{inType} ne 'array');
- my $keep = $x->{Got}->clone();
-
- #for my $element ( ($x->{inType} eq 'hash') ? keys %$input : @$input)
- for my $element ( @$input)
- {
- my $isFilename = isaFilename($element);
-
- if ( $afterFirst ++ )
- {
- defined addInterStream($obj, $element, $isFilename)
- or return $obj->closeError(undef) ;
- }
- else
- {
- $obj->getFileInfo($x->{Got}, $element)
- if $isFilename;
-
- $obj->_create($x->{Got}, @_)
- or return undef ;
- }
-
- defined $obj->_wr2($element, $isFilename)
- or return $obj->closeError(undef) ;
-
- *$obj->{Got} = $keep->clone();
- }
- return $obj->close() ;
- }
-
-}
-
-sub _wr2
-{
- my $self = shift ;
-
- my $source = shift ;
- my $inputIsFilename = shift;
-
- my $input = $source ;
- if (! $inputIsFilename)
- {
- $input = \$source
- if ! ref $source;
- }
-
- if ( ref $input && ref $input eq 'SCALAR' )
- {
- return $self->syswrite($input, @_) ;
- }
-
- if ( ! ref $input || isaFilehandle($input))
- {
- my $isFilehandle = isaFilehandle($input) ;
-
- my $fh = $input ;
-
- if ( ! $isFilehandle )
- {
- $fh = new IO::File "<$input"
- or return $self->saveErrorString(undef, "cannot open file '$input': $!", $!) ;
- }
- binmode $fh if *$self->{Got}->valueOrDefault('BinModeIn') ;
-
- my $status ;
- my $buff ;
- my $count = 0 ;
- while (($status = read($fh, $buff, 16 * 1024)) > 0) {
- $count += length $buff;
- defined $self->syswrite($buff, @_)
- or return undef ;
- }
-
- return $self->saveErrorString(undef, $!, $!)
- if $status < 0 ;
-
- if ( (!$isFilehandle || *$self->{AutoClose}) && $input ne '-')
- {
- $fh->close()
- or return undef ;
- }
-
- return $count ;
- }
-
- croak "Should not be here";
- return undef;
-}
-
-sub addInterStream
-{
- my $self = shift ;
- my $input = shift ;
- my $inputIsFilename = shift ;
-
- if (*$self->{Got}->value('MultiStream'))
- {
- $self->getFileInfo(*$self->{Got}, $input)
- #if isaFilename($input) and $inputIsFilename ;
- if isaFilename($input) ;
-
- # TODO -- newStream needs to allow gzip/zip header to be modified
- return $self->newStream();
- }
- elsif (*$self->{Got}->value('AutoFlush'))
- {
- #return $self->flush(Z_FULL_FLUSH);
- }
-
- return 1 ;
-}
-
-sub getFileInfo
-{
-}
-
-sub TIEHANDLE
-{
- return $_[0] if ref($_[0]);
- die "OOPS\n" ;
-}
-
-sub UNTIE
-{
- my $self = shift ;
-}
-
-sub DESTROY
-{
- my $self = shift ;
- $self->close() ;
-
- # TODO - memory leak with 5.8.0 - this isn't called until
- # global destruction
- #
- %{ *$self } = () ;
- undef $self ;
-}
-
-
-
-sub filterUncompressed
-{
-}
-
-sub syswrite
-{
- my $self = shift ;
-
- my $buffer ;
- if (ref $_[0] ) {
- $self->croakError( *$self->{ClassName} . "::write: not a scalar reference" )
- unless ref $_[0] eq 'SCALAR' ;
- $buffer = $_[0] ;
- }
- else {
- $buffer = \$_[0] ;
- }
-
- $] >= 5.008 and ( utf8::downgrade($$buffer, 1)
- or croak "Wide character in " . *$self->{ClassName} . "::write:");
-
-
- if (@_ > 1) {
- my $slen = defined $$buffer ? length($$buffer) : 0;
- my $len = $slen;
- my $offset = 0;
- $len = $_[1] if $_[1] < $len;
-
- if (@_ > 2) {
- $offset = $_[2] || 0;
- $self->croakError(*$self->{ClassName} . "::write: offset outside string")
- if $offset > $slen;
- if ($offset < 0) {
- $offset += $slen;
- $self->croakError( *$self->{ClassName} . "::write: offset outside string") if $offset < 0;
- }
- my $rem = $slen - $offset;
- $len = $rem if $rem < $len;
- }
-
- $buffer = \substr($$buffer, $offset, $len) ;
- }
-
- return 0 if ! defined $$buffer || length $$buffer == 0 ;
-
- if (*$self->{Encoding}) {
- $$buffer = *$self->{Encoding}->encode($$buffer);
- }
-
- $self->filterUncompressed($buffer);
-
- my $buffer_length = defined $$buffer ? length($$buffer) : 0 ;
- *$self->{UnCompSize}->add($buffer_length) ;
-
- my $outBuffer='';
- my $status = *$self->{Compress}->compr($buffer, $outBuffer) ;
-
- return $self->saveErrorString(undef, *$self->{Compress}{Error},
- *$self->{Compress}{ErrorNo})
- if $status == STATUS_ERROR;
-
- *$self->{CompSize}->add(length $outBuffer) ;
-
- $self->output($outBuffer)
- or return undef;
-
- return $buffer_length;
-}
-
-sub print
-{
- my $self = shift;
-
- #if (ref $self) {
- # $self = *$self{GLOB} ;
- #}
-
- if (defined $\) {
- if (defined $,) {
- defined $self->syswrite(join($,, @_) . $\);
- } else {
- defined $self->syswrite(join("", @_) . $\);
- }
- } else {
- if (defined $,) {
- defined $self->syswrite(join($,, @_));
- } else {
- defined $self->syswrite(join("", @_));
- }
- }
-}
-
-sub printf
-{
- my $self = shift;
- my $fmt = shift;
- defined $self->syswrite(sprintf($fmt, @_));
-}
-
-
-
-sub flush
-{
- my $self = shift ;
-
- my $outBuffer='';
- my $status = *$self->{Compress}->flush($outBuffer, @_) ;
- return $self->saveErrorString(0, *$self->{Compress}{Error},
- *$self->{Compress}{ErrorNo})
- if $status == STATUS_ERROR;
-
- if ( defined *$self->{FH} ) {
- *$self->{FH}->clearerr();
- }
-
- *$self->{CompSize}->add(length $outBuffer) ;
-
- $self->output($outBuffer)
- or return 0;
-
- if ( defined *$self->{FH} ) {
- defined *$self->{FH}->flush()
- or return $self->saveErrorString(0, $!, $!);
- }
-
- return 1;
-}
-
-sub newStream
-{
- my $self = shift ;
-
- $self->_writeTrailer()
- or return 0 ;
-
- my $got = $self->checkParams('newStream', *$self->{Got}, @_)
- or return 0 ;
-
- $self->ckParams($got)
- or $self->croakError("newStream: $self->{Error}");
-
- *$self->{Compress} = $self->mkComp($got)
- or return 0;
-
- *$self->{Header} = $self->mkHeader($got) ;
- $self->output(*$self->{Header} )
- or return 0;
-
- *$self->{UnCompSize}->reset();
- *$self->{CompSize}->reset();
-
- return 1 ;
-}
-
-sub reset
-{
- my $self = shift ;
- return *$self->{Compress}->reset() ;
-}
-
-sub _writeTrailer
-{
- my $self = shift ;
-
- my $trailer = '';
-
- my $status = *$self->{Compress}->close($trailer) ;
- return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo})
- if $status == STATUS_ERROR;
-
- *$self->{CompSize}->add(length $trailer) ;
-
- $trailer .= $self->mkTrailer();
- defined $trailer
- or return 0;
-
- return $self->output($trailer);
-}
-
-sub _writeFinalTrailer
-{
- my $self = shift ;
-
- return $self->output($self->mkFinalTrailer());
-}
-
-sub close
-{
- my $self = shift ;
-
- return 1 if *$self->{Closed} || ! *$self->{Compress} ;
- *$self->{Closed} = 1 ;
-
- untie *$self
- if $] >= 5.008 ;
-
- $self->_writeTrailer()
- or return 0 ;
-
- $self->_writeFinalTrailer()
- or return 0 ;
-
- $self->output( "", 1 )
- or return 0;
-
- if (defined *$self->{FH}) {
-
- #if (! *$self->{Handle} || *$self->{AutoClose}) {
- if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) {
- $! = 0 ;
- *$self->{FH}->close()
- or return $self->saveErrorString(0, $!, $!);
- }
- delete *$self->{FH} ;
- # This delete can set $! in older Perls, so reset the errno
- $! = 0 ;
- }
-
- return 1;
-}
-
-
-#sub total_in
-#sub total_out
-#sub msg
-#
-#sub crc
-#{
-# my $self = shift ;
-# return *$self->{Compress}->crc32() ;
-#}
-#
-#sub msg
-#{
-# my $self = shift ;
-# return *$self->{Compress}->msg() ;
-#}
-#
-#sub dict_adler
-#{
-# my $self = shift ;
-# return *$self->{Compress}->dict_adler() ;
-#}
-#
-#sub get_Level
-#{
-# my $self = shift ;
-# return *$self->{Compress}->get_Level() ;
-#}
-#
-#sub get_Strategy
-#{
-# my $self = shift ;
-# return *$self->{Compress}->get_Strategy() ;
-#}
-
-
-sub tell
-{
- my $self = shift ;
-
- return *$self->{UnCompSize}->get32bit() ;
-}
-
-sub eof
-{
- my $self = shift ;
-
- return *$self->{Closed} ;
-}
-
-
-sub seek
-{
- my $self = shift ;
- my $position = shift;
- my $whence = shift ;
-
- my $here = $self->tell() ;
- my $target = 0 ;
-
- #use IO::Handle qw(SEEK_SET SEEK_CUR SEEK_END);
- use IO::Handle ;
-
- if ($whence == IO::Handle::SEEK_SET) {
- $target = $position ;
- }
- elsif ($whence == IO::Handle::SEEK_CUR || $whence == IO::Handle::SEEK_END) {
- $target = $here + $position ;
- }
- else {
- $self->croakError(*$self->{ClassName} . "::seek: unknown value, $whence, for whence parameter");
- }
-
- # short circuit if seeking to current offset
- return 1 if $target == $here ;
-
- # Outlaw any attempt to seek backwards
- $self->croakError(*$self->{ClassName} . "::seek: cannot seek backwards")
- if $target < $here ;
-
- # Walk the file to the new offset
- my $offset = $target - $here ;
-
- my $buffer ;
- defined $self->syswrite("\x00" x $offset)
- or return 0;
-
- return 1 ;
-}
-
-sub binmode
-{
- 1;
-# my $self = shift ;
-# return defined *$self->{FH}
-# ? binmode *$self->{FH}
-# : 1 ;
-}
-
-sub fileno
-{
- my $self = shift ;
- return defined *$self->{FH}
- ? *$self->{FH}->fileno()
- : undef ;
-}
-
-sub opened
-{
- my $self = shift ;
- return ! *$self->{Closed} ;
-}
-
-sub autoflush
-{
- my $self = shift ;
- return defined *$self->{FH}
- ? *$self->{FH}->autoflush(@_)
- : undef ;
-}
-
-sub input_line_number
-{
- return undef ;
-}
-
-
-sub _notAvailable
-{
- my $name = shift ;
- return sub { croak "$name Not Available: File opened only for output" ; } ;
-}
-
-*read = _notAvailable('read');
-*READ = _notAvailable('read');
-*readline = _notAvailable('readline');
-*READLINE = _notAvailable('readline');
-*getc = _notAvailable('getc');
-*GETC = _notAvailable('getc');
-
-*FILENO = \&fileno;
-*PRINT = \&print;
-*PRINTF = \&printf;
-*WRITE = \&syswrite;
-*write = \&syswrite;
-*SEEK = \&seek;
-*TELL = \&tell;
-*EOF = \&eof;
-*CLOSE = \&close;
-*BINMODE = \&binmode;
-
-#*sysread = \&_notAvailable;
-#*syswrite = \&_write;
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Compress::Base - Base Class for IO::Compress modules
-
-=head1 SYNOPSIS
-
- use IO::Compress::Base ;
-
-=head1 DESCRIPTION
-
-This module is not intended for direct use in application code. Its sole
-purpose if to to be sub-classed by IO::Compress modules.
-
-=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>
-
-=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/5.10/i686-cygwin/IO/Compress/Base/Common.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base/Common.pm
deleted file mode 100644
index a5b0975065e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Base/Common.pm
+++ /dev/null
@@ -1,914 +0,0 @@
-package IO::Compress::Base::Common;
-
-use strict ;
-use warnings;
-use bytes;
-
-use Carp;
-use Scalar::Util qw(blessed readonly);
-use File::GlobMapper;
-
-require Exporter;
-our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
-@ISA = qw(Exporter);
-$VERSION = '2.011';
-
-@EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput
- isaFileGlobString cleanFileGlobString oneTarget
- setBinModeInput setBinModeOutput
- ckInOutParams
- createSelfTiedObject
- getEncoding
-
- WANT_CODE
- WANT_EXT
- WANT_UNDEF
- WANT_HASH
-
- STATUS_OK
- STATUS_ENDSTREAM
- STATUS_EOF
- STATUS_ERROR
- );
-
-%EXPORT_TAGS = ( Status => [qw( STATUS_OK
- STATUS_ENDSTREAM
- STATUS_EOF
- STATUS_ERROR
- )]);
-
-
-use constant STATUS_OK => 0;
-use constant STATUS_ENDSTREAM => 1;
-use constant STATUS_EOF => 2;
-use constant STATUS_ERROR => -1;
-
-sub hasEncode()
-{
- if (! defined $HAS_ENCODE) {
- eval
- {
- require Encode;
- Encode->import();
- };
-
- $HAS_ENCODE = $@ ? 0 : 1 ;
- }
-
- return $HAS_ENCODE;
-}
-
-sub getEncoding($$$)
-{
- my $obj = shift;
- my $class = shift ;
- my $want_encoding = shift ;
-
- $obj->croakError("$class: Encode module needed to use -Encode")
- if ! hasEncode();
-
- my $encoding = Encode::find_encoding($want_encoding);
-
- $obj->croakError("$class: Encoding '$want_encoding' is not available")
- if ! $encoding;
-
- return $encoding;
-}
-
-our ($needBinmode);
-$needBinmode = ($^O eq 'MSWin32' ||
- ($] >= 5.006 && eval ' ${^UNICODE} || ${^UTF8LOCALE} '))
- ? 1 : 1 ;
-
-sub setBinModeInput($)
-{
- my $handle = shift ;
-
- binmode $handle
- if $needBinmode;
-}
-
-sub setBinModeOutput($)
-{
- my $handle = shift ;
-
- binmode $handle
- if $needBinmode;
-}
-
-sub isaFilehandle($)
-{
- use utf8; # Pragma needed to keep Perl 5.6.0 happy
- return (defined $_[0] and
- (UNIVERSAL::isa($_[0],'GLOB') or
- UNIVERSAL::isa($_[0],'IO::Handle') or
- UNIVERSAL::isa(\$_[0],'GLOB'))
- )
-}
-
-sub isaFilename($)
-{
- return (defined $_[0] and
- ! ref $_[0] and
- UNIVERSAL::isa(\$_[0], 'SCALAR'));
-}
-
-sub isaFileGlobString
-{
- return defined $_[0] && $_[0] =~ /^<.*>$/;
-}
-
-sub cleanFileGlobString
-{
- my $string = shift ;
-
- $string =~ s/^\s*<\s*(.*)\s*>\s*$/$1/;
-
- return $string;
-}
-
-use constant WANT_CODE => 1 ;
-use constant WANT_EXT => 2 ;
-use constant WANT_UNDEF => 4 ;
-#use constant WANT_HASH => 8 ;
-use constant WANT_HASH => 0 ;
-
-sub whatIsInput($;$)
-{
- my $got = whatIs(@_);
-
- if (defined $got && $got eq 'filename' && defined $_[0] && $_[0] eq '-')
- {
- #use IO::File;
- $got = 'handle';
- $_[0] = *STDIN;
- #$_[0] = new IO::File("<-");
- }
-
- return $got;
-}
-
-sub whatIsOutput($;$)
-{
- my $got = whatIs(@_);
-
- if (defined $got && $got eq 'filename' && defined $_[0] && $_[0] eq '-')
- {
- $got = 'handle';
- $_[0] = *STDOUT;
- #$_[0] = new IO::File(">-");
- }
-
- return $got;
-}
-
-sub whatIs ($;$)
-{
- return 'handle' if isaFilehandle($_[0]);
-
- my $wantCode = defined $_[1] && $_[1] & WANT_CODE ;
- my $extended = defined $_[1] && $_[1] & WANT_EXT ;
- my $undef = defined $_[1] && $_[1] & WANT_UNDEF ;
- my $hash = defined $_[1] && $_[1] & WANT_HASH ;
-
- return 'undef' if ! defined $_[0] && $undef ;
-
- if (ref $_[0]) {
- return '' if blessed($_[0]); # is an object
- #return '' if UNIVERSAL::isa($_[0], 'UNIVERSAL'); # is an object
- return 'buffer' if UNIVERSAL::isa($_[0], 'SCALAR');
- return 'array' if UNIVERSAL::isa($_[0], 'ARRAY') && $extended ;
- return 'hash' if UNIVERSAL::isa($_[0], 'HASH') && $hash ;
- return 'code' if UNIVERSAL::isa($_[0], 'CODE') && $wantCode ;
- return '';
- }
-
- return 'fileglob' if $extended && isaFileGlobString($_[0]);
- return 'filename';
-}
-
-sub oneTarget
-{
- return $_[0] =~ /^(code|handle|buffer|filename)$/;
-}
-
-sub IO::Compress::Base::Validator::new
-{
- my $class = shift ;
-
- my $Class = shift ;
- my $error_ref = shift ;
- my $reportClass = shift ;
-
- my %data = (Class => $Class,
- Error => $error_ref,
- reportClass => $reportClass,
- ) ;
-
- my $obj = bless \%data, $class ;
-
- local $Carp::CarpLevel = 1;
-
- my $inType = $data{inType} = whatIsInput($_[0], WANT_EXT|WANT_HASH);
- my $outType = $data{outType} = whatIsOutput($_[1], WANT_EXT|WANT_HASH);
-
- my $oneInput = $data{oneInput} = oneTarget($inType);
- my $oneOutput = $data{oneOutput} = oneTarget($outType);
-
- if (! $inType)
- {
- $obj->croakError("$reportClass: illegal input parameter") ;
- #return undef ;
- }
-
-# if ($inType eq 'hash')
-# {
-# $obj->{Hash} = 1 ;
-# $obj->{oneInput} = 1 ;
-# return $obj->validateHash($_[0]);
-# }
-
- if (! $outType)
- {
- $obj->croakError("$reportClass: illegal output parameter") ;
- #return undef ;
- }
-
-
- if ($inType ne 'fileglob' && $outType eq 'fileglob')
- {
- $obj->croakError("Need input fileglob for outout fileglob");
- }
-
-# if ($inType ne 'fileglob' && $outType eq 'hash' && $inType ne 'filename' )
-# {
-# $obj->croakError("input must ne filename or fileglob when output is a hash");
-# }
-
- if ($inType eq 'fileglob' && $outType eq 'fileglob')
- {
- $data{GlobMap} = 1 ;
- $data{inType} = $data{outType} = 'filename';
- my $mapper = new File::GlobMapper($_[0], $_[1]);
- if ( ! $mapper )
- {
- return $obj->saveErrorString($File::GlobMapper::Error) ;
- }
- $data{Pairs} = $mapper->getFileMap();
-
- return $obj;
- }
-
- $obj->croakError("$reportClass: input and output $inType are identical")
- if $inType eq $outType && $_[0] eq $_[1] && $_[0] ne '-' ;
-
- if ($inType eq 'fileglob') # && $outType ne 'fileglob'
- {
- my $glob = cleanFileGlobString($_[0]);
- my @inputs = glob($glob);
-
- if (@inputs == 0)
- {
- # TODO -- legal or die?
- die "globmap matched zero file -- legal or die???" ;
- }
- elsif (@inputs == 1)
- {
- $obj->validateInputFilenames($inputs[0])
- or return undef;
- $_[0] = $inputs[0] ;
- $data{inType} = 'filename' ;
- $data{oneInput} = 1;
- }
- else
- {
- $obj->validateInputFilenames(@inputs)
- or return undef;
- $_[0] = [ @inputs ] ;
- $data{inType} = 'filenames' ;
- }
- }
- elsif ($inType eq 'filename')
- {
- $obj->validateInputFilenames($_[0])
- or return undef;
- }
- elsif ($inType eq 'array')
- {
- $data{inType} = 'filenames' ;
- $obj->validateInputArray($_[0])
- or return undef ;
- }
-
- return $obj->saveErrorString("$reportClass: output buffer is read-only")
- if $outType eq 'buffer' && readonly(${ $_[1] });
-
- if ($outType eq 'filename' )
- {
- $obj->croakError("$reportClass: output filename is undef or null string")
- if ! defined $_[1] || $_[1] eq '' ;
-
- if (-e $_[1])
- {
- if (-d _ )
- {
- return $obj->saveErrorString("output file '$_[1]' is a directory");
- }
- }
- }
-
- return $obj ;
-}
-
-sub IO::Compress::Base::Validator::saveErrorString
-{
- my $self = shift ;
- ${ $self->{Error} } = shift ;
- return undef;
-
-}
-
-sub IO::Compress::Base::Validator::croakError
-{
- my $self = shift ;
- $self->saveErrorString($_[0]);
- croak $_[0];
-}
-
-
-
-sub IO::Compress::Base::Validator::validateInputFilenames
-{
- my $self = shift ;
-
- foreach my $filename (@_)
- {
- $self->croakError("$self->{reportClass}: input filename is undef or null string")
- if ! defined $filename || $filename eq '' ;
-
- next if $filename eq '-';
-
- if (! -e $filename )
- {
- return $self->saveErrorString("input file '$filename' does not exist");
- }
-
- if (-d _ )
- {
- return $self->saveErrorString("input file '$filename' is a directory");
- }
-
- if (! -r _ )
- {
- return $self->saveErrorString("cannot open file '$filename': $!");
- }
- }
-
- return 1 ;
-}
-
-sub IO::Compress::Base::Validator::validateInputArray
-{
- my $self = shift ;
-
- if ( @{ $_[0] } == 0 )
- {
- return $self->saveErrorString("empty array reference") ;
- }
-
- foreach my $element ( @{ $_[0] } )
- {
- my $inType = whatIsInput($element);
-
- if (! $inType)
- {
- $self->croakError("unknown input parameter") ;
- }
- elsif($inType eq 'filename')
- {
- $self->validateInputFilenames($element)
- or return undef ;
- }
- else
- {
- $self->croakError("not a filename") ;
- }
- }
-
- return 1 ;
-}
-
-#sub IO::Compress::Base::Validator::validateHash
-#{
-# my $self = shift ;
-# my $href = shift ;
-#
-# while (my($k, $v) = each %$href)
-# {
-# my $ktype = whatIsInput($k);
-# my $vtype = whatIsOutput($v, WANT_EXT|WANT_UNDEF) ;
-#
-# if ($ktype ne 'filename')
-# {
-# return $self->saveErrorString("hash key not filename") ;
-# }
-#
-# my %valid = map { $_ => 1 } qw(filename buffer array undef handle) ;
-# if (! $valid{$vtype})
-# {
-# return $self->saveErrorString("hash value not ok") ;
-# }
-# }
-#
-# return $self ;
-#}
-
-sub createSelfTiedObject
-{
- my $class = shift || (caller)[0] ;
- my $error_ref = shift ;
-
- my $obj = bless Symbol::gensym(), ref($class) || $class;
- tie *$obj, $obj if $] >= 5.005;
- *$obj->{Closed} = 1 ;
- $$error_ref = '';
- *$obj->{Error} = $error_ref ;
- my $errno = 0 ;
- *$obj->{ErrorNo} = \$errno ;
-
- return $obj;
-}
-
-
-
-#package Parse::Parameters ;
-#
-#
-#require Exporter;
-#our ($VERSION, @ISA, @EXPORT);
-#$VERSION = '2.000_08';
-#@ISA = qw(Exporter);
-
-$EXPORT_TAGS{Parse} = [qw( ParseParameters
- Parse_any Parse_unsigned Parse_signed
- Parse_boolean Parse_custom Parse_string
- Parse_multiple Parse_writable_scalar
- )
- ];
-
-push @EXPORT, @{ $EXPORT_TAGS{Parse} } ;
-
-use constant Parse_any => 0x01;
-use constant Parse_unsigned => 0x02;
-use constant Parse_signed => 0x04;
-use constant Parse_boolean => 0x08;
-use constant Parse_string => 0x10;
-use constant Parse_custom => 0x12;
-
-#use constant Parse_store_ref => 0x100 ;
-use constant Parse_multiple => 0x100 ;
-use constant Parse_writable => 0x200 ;
-use constant Parse_writable_scalar => 0x400 | Parse_writable ;
-
-use constant OFF_PARSED => 0 ;
-use constant OFF_TYPE => 1 ;
-use constant OFF_DEFAULT => 2 ;
-use constant OFF_FIXED => 3 ;
-use constant OFF_FIRST_ONLY => 4 ;
-use constant OFF_STICKY => 5 ;
-
-
-
-sub ParseParameters
-{
- my $level = shift || 0 ;
-
- my $sub = (caller($level + 1))[3] ;
- local $Carp::CarpLevel = 1 ;
- my $p = new IO::Compress::Base::Parameters() ;
- $p->parse(@_)
- or croak "$sub: $p->{Error}" ;
-
- return $p;
-}
-
-#package IO::Compress::Base::Parameters;
-
-use strict;
-use warnings;
-use Carp;
-
-sub IO::Compress::Base::Parameters::new
-{
- my $class = shift ;
-
- my $obj = { Error => '',
- Got => {},
- } ;
-
- #return bless $obj, ref($class) || $class || __PACKAGE__ ;
- return bless $obj, 'IO::Compress::Base::Parameters' ;
-}
-
-sub IO::Compress::Base::Parameters::setError
-{
- my $self = shift ;
- my $error = shift ;
- my $retval = @_ ? shift : undef ;
-
- $self->{Error} = $error ;
- return $retval;
-}
-
-#sub getError
-#{
-# my $self = shift ;
-# return $self->{Error} ;
-#}
-
-sub IO::Compress::Base::Parameters::parse
-{
- my $self = shift ;
-
- my $default = shift ;
-
- my $got = $self->{Got} ;
- my $firstTime = keys %{ $got } == 0 ;
-
- my (@Bad) ;
- my @entered = () ;
-
- # Allow the options to be passed as a hash reference or
- # as the complete hash.
- if (@_ == 0) {
- @entered = () ;
- }
- elsif (@_ == 1) {
- my $href = $_[0] ;
- return $_[0]
- if UNIVERSAL::isa($_[0], "IO::Compress::Base::Parameters");
-
- return $self->setError("Expected even number of parameters, got 1")
- if ! defined $href or ! ref $href or ref $href ne "HASH" ;
-
- foreach my $key (keys %$href) {
- push @entered, $key ;
- push @entered, \$href->{$key} ;
- }
- }
- else {
- my $count = @_;
- return $self->setError("Expected even number of parameters, got $count")
- if $count % 2 != 0 ;
-
- for my $i (0.. $count / 2 - 1) {
- push @entered, $_[2* $i] ;
- push @entered, \$_[2* $i+1] ;
- }
- }
-
-
- while (my ($key, $v) = each %$default)
- {
- croak "need 4 params [@$v]"
- if @$v != 4 ;
-
- my ($first_only, $sticky, $type, $value) = @$v ;
- my $x ;
- $self->_checkType($key, \$value, $type, 0, \$x)
- or return undef ;
-
- $key = lc $key;
-
- if ($firstTime || ! $sticky) {
- $x = [ $x ]
- if $type & Parse_multiple;
-
- $got->{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
- }
-
- $got->{$key}[OFF_PARSED] = 0 ;
- }
-
- my %parsed = ();
- for my $i (0.. @entered / 2 - 1) {
- my $key = $entered[2* $i] ;
- my $value = $entered[2* $i+1] ;
-
- #print "Key [$key] Value [$value]" ;
- #print defined $$value ? "[$$value]\n" : "[undef]\n";
-
- $key =~ s/^-// ;
- my $canonkey = lc $key;
-
- if ($got->{$canonkey} && ($firstTime ||
- ! $got->{$canonkey}[OFF_FIRST_ONLY] ))
- {
- my $type = $got->{$canonkey}[OFF_TYPE] ;
- my $parsed = $parsed{$canonkey};
- ++ $parsed{$canonkey};
-
- return $self->setError("Muliple instances of '$key' found")
- if $parsed && $type & Parse_multiple == 0 ;
-
- my $s ;
- $self->_checkType($key, $value, $type, 1, \$s)
- or return undef ;
-
- $value = $$value ;
- if ($type & Parse_multiple) {
- $got->{$canonkey}[OFF_PARSED] = 1;
- push @{ $got->{$canonkey}[OFF_FIXED] }, $s ;
- }
- else {
- $got->{$canonkey} = [1, $type, $value, $s] ;
- }
- }
- else
- { push (@Bad, $key) }
- }
-
- if (@Bad) {
- my ($bad) = join(", ", @Bad) ;
- return $self->setError("unknown key value(s) @Bad") ;
- }
-
- return 1;
-}
-
-sub IO::Compress::Base::Parameters::_checkType
-{
- my $self = shift ;
-
- my $key = shift ;
- my $value = shift ;
- my $type = shift ;
- my $validate = shift ;
- my $output = shift;
-
- #local $Carp::CarpLevel = $level ;
- #print "PARSE $type $key $value $validate $sub\n" ;
-
- if ($type & Parse_writable_scalar)
- {
- return $self->setError("Parameter '$key' not writable")
- if $validate && readonly $$value ;
-
- if (ref $$value)
- {
- return $self->setError("Parameter '$key' not a scalar reference")
- if $validate && ref $$value ne 'SCALAR' ;
-
- $$output = $$value ;
- }
- else
- {
- return $self->setError("Parameter '$key' not a scalar")
- if $validate && ref $value ne 'SCALAR' ;
-
- $$output = $value ;
- }
-
- return 1;
- }
-
-# if ($type & Parse_store_ref)
-# {
-# #$value = $$value
-# # if ref ${ $value } ;
-#
-# $$output = $value ;
-# return 1;
-# }
-
- $value = $$value ;
-
- if ($type & Parse_any)
- {
- $$output = $value ;
- return 1;
- }
- elsif ($type & Parse_unsigned)
- {
- return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'")
- if $validate && ! defined $value ;
- return $self->setError("Parameter '$key' must be an unsigned int, got '$value'")
- if $validate && $value !~ /^\d+$/;
-
- $$output = defined $value ? $value : 0 ;
- return 1;
- }
- elsif ($type & Parse_signed)
- {
- return $self->setError("Parameter '$key' must be a signed int, got 'undef'")
- if $validate && ! defined $value ;
- return $self->setError("Parameter '$key' must be a signed int, got '$value'")
- if $validate && $value !~ /^-?\d+$/;
-
- $$output = defined $value ? $value : 0 ;
- return 1 ;
- }
- elsif ($type & Parse_boolean)
- {
- return $self->setError("Parameter '$key' must be an int, got '$value'")
- if $validate && defined $value && $value !~ /^\d*$/;
- $$output = defined $value ? $value != 0 : 0 ;
- return 1;
- }
- elsif ($type & Parse_string)
- {
- $$output = defined $value ? $value : "" ;
- return 1;
- }
-
- $$output = $value ;
- return 1;
-}
-
-
-
-sub IO::Compress::Base::Parameters::parsed
-{
- my $self = shift ;
- my $name = shift ;
-
- return $self->{Got}{lc $name}[OFF_PARSED] ;
-}
-
-sub IO::Compress::Base::Parameters::value
-{
- my $self = shift ;
- my $name = shift ;
-
- if (@_)
- {
- $self->{Got}{lc $name}[OFF_PARSED] = 1;
- $self->{Got}{lc $name}[OFF_DEFAULT] = $_[0] ;
- $self->{Got}{lc $name}[OFF_FIXED] = $_[0] ;
- }
-
- return $self->{Got}{lc $name}[OFF_FIXED] ;
-}
-
-sub IO::Compress::Base::Parameters::valueOrDefault
-{
- my $self = shift ;
- my $name = shift ;
- my $default = shift ;
-
- my $value = $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
- return $value if defined $value ;
- return $default ;
-}
-
-sub IO::Compress::Base::Parameters::wantValue
-{
- my $self = shift ;
- my $name = shift ;
-
- return defined $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
-}
-
-sub IO::Compress::Base::Parameters::clone
-{
- my $self = shift ;
- my $obj = { };
- my %got ;
-
- while (my ($k, $v) = each %{ $self->{Got} }) {
- $got{$k} = [ @$v ];
- }
-
- $obj->{Error} = $self->{Error};
- $obj->{Got} = \%got ;
-
- return bless $obj, 'IO::Compress::Base::Parameters' ;
-}
-
-package U64;
-
-use constant MAX32 => 0xFFFFFFFF ;
-use constant LOW => 0 ;
-use constant HIGH => 1;
-
-sub new
-{
- my $class = shift ;
-
- my $high = 0 ;
- my $low = 0 ;
-
- if (@_ == 2) {
- $high = shift ;
- $low = shift ;
- }
- elsif (@_ == 1) {
- $low = shift ;
- }
-
- bless [$low, $high], $class;
-}
-
-sub newUnpack_V64
-{
- my $string = shift;
-
- my ($low, $hi) = unpack "V V", $string ;
- bless [ $low, $hi ], "U64";
-}
-
-sub newUnpack_V32
-{
- my $string = shift;
-
- my $low = unpack "V", $string ;
- bless [ $low, 0 ], "U64";
-}
-
-sub reset
-{
- my $self = shift;
- $self->[HIGH] = $self->[LOW] = 0;
-}
-
-sub clone
-{
- my $self = shift;
- bless [ @$self ], ref $self ;
-}
-
-sub getHigh
-{
- my $self = shift;
- return $self->[HIGH];
-}
-
-sub getLow
-{
- my $self = shift;
- return $self->[LOW];
-}
-
-sub get32bit
-{
- my $self = shift;
- return $self->[LOW];
-}
-
-sub add
-{
- my $self = shift;
- my $value = shift;
-
- if (ref $value eq 'U64') {
- $self->[HIGH] += $value->[HIGH] ;
- $value = $value->[LOW];
- }
-
- my $available = MAX32 - $self->[LOW] ;
-
- if ($value > $available) {
- ++ $self->[HIGH] ;
- $self->[LOW] = $value - $available - 1;
- }
- else {
- $self->[LOW] += $value ;
- }
-}
-
-sub equal
-{
- my $self = shift;
- my $other = shift;
-
- return $self->[LOW] == $other->[LOW] &&
- $self->[HIGH] == $other->[HIGH] ;
-}
-
-sub getPacked_V64
-{
- my $self = shift;
-
- return pack "V V", @$self ;
-}
-
-sub getPacked_V32
-{
- my $self = shift;
-
- return pack "V", $self->[LOW] ;
-}
-
-sub pack_V64
-{
- my $low = shift;
-
- return pack "V V", $low, 0;
-}
-
-
-package IO::Compress::Base::Common;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Deflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Deflate.pm
deleted file mode 100644
index e702e43a321..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Deflate.pm
+++ /dev/null
@@ -1,889 +0,0 @@
-package IO::Compress::Deflate ;
-
-use strict ;
-use warnings;
-use bytes;
-
-require Exporter ;
-
-use IO::Compress::RawDeflate 2.011 ;
-
-use Compress::Raw::Zlib 2.011 ;
-use IO::Compress::Zlib::Constants 2.011 ;
-use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);
-
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);
-
-$VERSION = '2.011';
-$DeflateError = '';
-
-@ISA = qw(Exporter IO::Compress::RawDeflate);
-@EXPORT_OK = qw( $DeflateError deflate ) ;
-%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-
-sub new
-{
- my $class = shift ;
-
- my $obj = createSelfTiedObject($class, \$DeflateError);
- return $obj->_create(undef, @_);
-}
-
-sub deflate
-{
- my $obj = createSelfTiedObject(undef, \$DeflateError);
- return $obj->_def(@_);
-}
-
-
-sub bitmask($$$$)
-{
- my $into = shift ;
- my $value = shift ;
- my $offset = shift ;
- my $mask = shift ;
-
- return $into | (($value & $mask) << $offset ) ;
-}
-
-sub mkDeflateHdr($$$;$)
-{
- my $method = shift ;
- my $cinfo = shift;
- my $level = shift;
- my $fdict_adler = shift ;
-
- my $cmf = 0;
- my $flg = 0;
- my $fdict = 0;
- $fdict = 1 if defined $fdict_adler;
-
- $cmf = bitmask($cmf, $method, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS);
- $cmf = bitmask($cmf, $cinfo, ZLIB_CMF_CINFO_OFFSET, ZLIB_CMF_CINFO_BITS);
-
- $flg = bitmask($flg, $fdict, ZLIB_FLG_FDICT_OFFSET, ZLIB_FLG_FDICT_BITS);
- $flg = bitmask($flg, $level, ZLIB_FLG_LEVEL_OFFSET, ZLIB_FLG_LEVEL_BITS);
-
- my $fcheck = 31 - ($cmf * 256 + $flg) % 31 ;
- $flg = bitmask($flg, $fcheck, ZLIB_FLG_FCHECK_OFFSET, ZLIB_FLG_FCHECK_BITS);
-
- my $hdr = pack("CC", $cmf, $flg) ;
- $hdr .= pack("N", $fdict_adler) if $fdict ;
-
- return $hdr;
-}
-
-sub mkHeader
-{
- my $self = shift ;
- my $param = shift ;
-
- my $level = $param->value('Level');
- my $strategy = $param->value('Strategy');
-
- my $lflag ;
- $level = 6
- if $level == Z_DEFAULT_COMPRESSION ;
-
- if (ZLIB_VERNUM >= 0x1210)
- {
- if ($strategy >= Z_HUFFMAN_ONLY || $level < 2)
- { $lflag = ZLIB_FLG_LEVEL_FASTEST }
- elsif ($level < 6)
- { $lflag = ZLIB_FLG_LEVEL_FAST }
- elsif ($level == 6)
- { $lflag = ZLIB_FLG_LEVEL_DEFAULT }
- else
- { $lflag = ZLIB_FLG_LEVEL_SLOWEST }
- }
- else
- {
- $lflag = ($level - 1) >> 1 ;
- $lflag = 3 if $lflag > 3 ;
- }
-
- #my $wbits = (MAX_WBITS - 8) << 4 ;
- my $wbits = 7;
- mkDeflateHdr(ZLIB_CMF_CM_DEFLATED, $wbits, $lflag);
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift;
-
- $got->value('ADLER32' => 1);
- return 1 ;
-}
-
-
-sub mkTrailer
-{
- my $self = shift ;
- return pack("N", *$self->{Compress}->adler32()) ;
-}
-
-sub mkFinalTrailer
-{
- return '';
-}
-
-#sub newHeader
-#{
-# my $self = shift ;
-# return *$self->{Header};
-#}
-
-sub getExtraParams
-{
- my $self = shift ;
- return $self->getZlibParams(),
-}
-
-sub getInverseClass
-{
- return ('IO::Uncompress::Inflate',
- \$IO::Uncompress::Inflate::InflateError);
-}
-
-sub getFileInfo
-{
- my $self = shift ;
- my $params = shift;
- my $file = shift ;
-
-}
-
-
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Compress::Deflate - Write RFC 1950 files/buffers
-
-
-
-=head1 SYNOPSIS
-
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
-
- my $status = deflate $input => $output [,OPTS]
- or die "deflate failed: $DeflateError\n";
-
- my $z = new IO::Compress::Deflate $output [,OPTS]
- or die "deflate failed: $DeflateError\n";
-
- $z->print($string);
- $z->printf($format, $string);
- $z->write($string);
- $z->syswrite($string [, $length, $offset]);
- $z->flush();
- $z->tell();
- $z->eof();
- $z->seek($position, $whence);
- $z->binmode();
- $z->fileno();
- $z->opened();
- $z->autoflush();
- $z->input_line_number();
- $z->newStream( [OPTS] );
-
- $z->deflateParams();
-
- $z->close() ;
-
- $DeflateError ;
-
- # IO::File mode
-
- print $z $string;
- printf $z $format, $string;
- tell $z
- eof $z
- seek $z, $position, $whence
- binmode $z
- fileno $z
- close $z ;
-
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows writing compressed
-data to files or buffer as defined in RFC 1950.
-
-For reading RFC 1950 files/buffers, see the companion module
-L<IO::Uncompress::Inflate|IO::Uncompress::Inflate>.
-
-=head1 Functional Interface
-
-A top-level function, C<deflate>, is provided to carry out
-"one-shot" compression between buffers and/or files. For finer
-control over the compression process, see the L</"OO Interface">
-section.
-
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
-
- deflate $input => $output [,OPTS]
- or die "deflate failed: $DeflateError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 deflate $input => $output [, OPTS]
-
-C<deflate> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the uncompressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is compressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<deflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<deflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple files/buffers and C<$output> is a single
-file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<deflate>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<deflate> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<deflate> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeIn => 0|1 >>
-
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt> and write the compressed
-data to the file C<file1.txt.1950>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
-
- my $input = "file1.txt";
- deflate $input => "$input.1950"
- or die "deflate failed: $DeflateError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-compressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt"
- or die "Cannot open 'file1.txt': $!\n" ;
- my $buffer ;
- deflate $input => \$buffer
- or die "deflate failed: $DeflateError\n";
-
-To compress all files in the directory "/my/home" that match "*.txt"
-and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
-
- deflate '</my/home/*.txt>' => '<*.1950>'
- or die "deflate failed: $DeflateError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Compress::Deflate qw(deflate $DeflateError) ;
-
- for my $input ( glob "/my/home/*.txt" )
- {
- my $output = "$input.1950" ;
- deflate $input => $output
- or die "Error compressing '$input': $DeflateError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for C<IO::Compress::Deflate> is shown below
-
- my $z = new IO::Compress::Deflate $output [,OPTS]
- or die "IO::Compress::Deflate failed: $DeflateError\n";
-
-It returns an C<IO::Compress::Deflate> object on success and undef on failure.
-The variable C<$DeflateError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Compress::Deflate can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal output file operations can be carried out
-with C<$z>.
-For example, to write to a compressed file/buffer you can use either of
-these forms
-
- $z->print("hello world\n");
- print $z "hello world\n";
-
-The mandatory parameter C<$output> is used to control the destination
-of the compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed data
-will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data will be
-written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be stored
-in C<$$output>.
-
-=back
-
-If the C<$output> parameter is any other type, C<IO::Compress::Deflate>::new will
-return undef.
-
-=head2 Constructor Options
-
-C<OPTS> is any combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$output> parameter is a filehandle. If
-specified, and the value is true, it will result in the C<$output> being
-closed once either the C<close> method is called or the C<IO::Compress::Deflate>
-object is destroyed.
-
-This parameter defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-Opens C<$output> in append mode.
-
-The behaviour of this option is dependent on the type of C<$output>.
-
-=over 5
-
-=item * A Buffer
-
-If C<$output> is a buffer and C<Append> is enabled, all compressed data
-will be append to the end if C<$output>. Otherwise C<$output> will be
-cleared before any data is written to it.
-
-=item * A Filename
-
-If C<$output> is a filename and C<Append> is enabled, the file will be
-opened in append mode. Otherwise the contents of the file, if any, will be
-truncated before any compressed data is written to it.
-
-=item * A Filehandle
-
-If C<$output> is a filehandle, the file pointer will be positioned to the
-end of the file via a call to C<seek> before any compressed data is written
-to it. Otherwise the file pointer will not be moved.
-
-=back
-
-This parameter defaults to 0.
-
-=item C<< Merge => 0|1 >>
-
-This option is used to compress input data and append it to an existing
-compressed data stream in C<$output>. The end result is a single compressed
-data stream stored in C<$output>.
-
-It is a fatal error to attempt to use this option when C<$output> is not an
-RFC 1950 data stream.
-
-There are a number of other limitations with the C<Merge> option:
-
-=over 5
-
-=item 1
-
-This module needs to have been built with zlib 1.2.1 or better to work. A
-fatal error will be thrown if C<Merge> is used with an older version of
-zlib.
-
-=item 2
-
-If C<$output> is a file or a filehandle, it must be seekable.
-
-=back
-
-This parameter defaults to 0.
-
-=item -Level
-
-Defines the compression level used by zlib. The value should either be
-a number between 0 and 9 (0 means no compression and 9 is maximum
-compression), or one of the symbolic constants defined below.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-The default is Z_DEFAULT_COMPRESSION.
-
-Note, these constants are not imported by C<IO::Compress::Deflate> by default.
-
- use IO::Compress::Deflate qw(:strategy);
- use IO::Compress::Deflate qw(:constants);
- use IO::Compress::Deflate qw(:all);
-
-=item -Strategy
-
-Defines the strategy used to tune the compression. Use one of the symbolic
-constants defined below.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item C<< Strict => 0|1 >>
-
-This is a placeholder option.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 print
-
-Usage is
-
- $z->print($data)
- print $z $data
-
-Compresses and outputs the contents of the C<$data> parameter. This
-has the same behaviour as the C<print> built-in.
-
-Returns true if successful.
-
-=head2 printf
-
-Usage is
-
- $z->printf($format, $data)
- printf $z $format, $data
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns true if successful.
-
-=head2 syswrite
-
-Usage is
-
- $z->syswrite $data
- $z->syswrite $data, $length
- $z->syswrite $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 write
-
-Usage is
-
- $z->write $data
- $z->write $data, $length
- $z->write $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 flush
-
-Usage is
-
- $z->flush;
- $z->flush($flush_type);
-
-Flushes any pending compressed data to the output file/buffer.
-
-This method takes an optional parameter, C<$flush_type>, that controls
-how the flushing will be carried out. By default the C<$flush_type>
-used is C<Z_FINISH>. Other valid values for C<$flush_type> are
-C<Z_NO_FLUSH>, C<Z_SYNC_FLUSH>, C<Z_FULL_FLUSH> and C<Z_BLOCK>. It is
-strongly recommended that you only set the C<flush_type> parameter if
-you fully understand the implications of what it does - overuse of C<flush>
-can seriously degrade the level of compression achieved. See the C<zlib>
-documentation for details.
-
-Returns true on success.
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the C<close> method has been called.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the output file/buffer.
-It is a fatal error to attempt to seek backward.
-
-Empty parts of the file/buffer will have NULL (0x00) bytes written to them.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-This method always returns C<undef> when compressing.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Flushes any pending compressed data and then closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Compress::Deflate object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Compress::Deflate
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 newStream([OPTS])
-
-Usage is
-
- $z->newStream( [OPTS] )
-
-Closes the current compressed data stream and starts a new one.
-
-OPTS consists of any of the the options that are available when creating
-the C<$z> object.
-
-See the L</"Constructor Options"> section for more details.
-
-=head2 deflateParams
-
-Usage is
-
- $z->deflateParams
-
-TODO
-
-=head1 Importing
-
-A number of symbolic constants are required by some methods in
-C<IO::Compress::Deflate>. None are imported by default.
-
-=over 5
-
-=item :all
-
-Imports C<deflate>, C<$DeflateError> and all symbolic
-constants that can be used by C<IO::Compress::Deflate>. Same as doing this
-
- use IO::Compress::Deflate qw(deflate $DeflateError :constants) ;
-
-=item :constants
-
-Import all symbolic constants. Same as doing this
-
- use IO::Compress::Deflate qw(:flush :level :strategy) ;
-
-=item :flush
-
-These symbolic constants are used by the C<flush> method.
-
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
-
-=item :level
-
-These symbolic constants are used by the C<Level> option in the constructor.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-=item :strategy
-
-These symbolic constants are used by the C<Strategy> option in the constructor.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-
-
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Apache::GZip Revisited
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Apache::GZip Revisited">
-
-
-
-=head2 Working with Net::FTP
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Compressed files and Net::FTP">
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, 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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Compress/Gzip.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip.pm
deleted file mode 100644
index 86561c5229d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip.pm
+++ /dev/null
@@ -1,1201 +0,0 @@
-
-package IO::Compress::Gzip ;
-
-require 5.004 ;
-
-use strict ;
-use warnings;
-use bytes;
-
-
-use IO::Compress::RawDeflate 2.011 ;
-
-use Compress::Raw::Zlib 2.011 ;
-use IO::Compress::Base::Common 2.011 qw(:Status :Parse createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.011 ;
-use IO::Compress::Zlib::Extra 2.011 ;
-
-BEGIN
-{
- if (defined &utf8::downgrade )
- { *noUTF8 = \&utf8::downgrade }
- else
- { *noUTF8 = sub {} }
-}
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
-
-$VERSION = '2.011';
-$GzipError = '' ;
-
-@ISA = qw(Exporter IO::Compress::RawDeflate);
-@EXPORT_OK = qw( $GzipError gzip ) ;
-%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-sub new
-{
- my $class = shift ;
-
- my $obj = createSelfTiedObject($class, \$GzipError);
-
- $obj->_create(undef, @_);
-}
-
-
-sub gzip
-{
- my $obj = createSelfTiedObject(undef, \$GzipError);
- return $obj->_def(@_);
-}
-
-#sub newHeader
-#{
-# my $self = shift ;
-# #return GZIP_MINIMUM_HEADER ;
-# return $self->mkHeader(*$self->{Got});
-#}
-
-sub getExtraParams
-{
- my $self = shift ;
-
- return (
- # zlib behaviour
- $self->getZlibParams(),
-
- # Gzip header fields
- 'Minimal' => [0, 1, Parse_boolean, 0],
- 'Comment' => [0, 1, Parse_any, undef],
- 'Name' => [0, 1, Parse_any, undef],
- 'Time' => [0, 1, Parse_any, undef],
- 'TextFlag' => [0, 1, Parse_boolean, 0],
- 'HeaderCRC' => [0, 1, Parse_boolean, 0],
- 'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
- 'ExtraField'=> [0, 1, Parse_any, undef],
- 'ExtraFlags'=> [0, 1, Parse_any, undef],
-
- );
-}
-
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # gzip always needs crc32
- $got->value('CRC32' => 1);
-
- return 1
- if $got->value('Merge') ;
-
- my $strict = $got->value('Strict') ;
-
-
- {
- if (! $got->parsed('Time') ) {
- # Modification time defaults to now.
- $got->value('Time' => time) ;
- }
-
- # Check that the Name & Comment don't have embedded NULLs
- # Also check that they only contain ISO 8859-1 chars.
- if ($got->parsed('Name') && defined $got->value('Name')) {
- my $name = $got->value('Name');
-
- return $self->saveErrorString(undef, "Null Character found in Name",
- Z_DATA_ERROR)
- if $strict && $name =~ /\x00/ ;
-
- return $self->saveErrorString(undef, "Non ISO 8859-1 Character found in Name",
- Z_DATA_ERROR)
- if $strict && $name =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ;
- }
-
- if ($got->parsed('Comment') && defined $got->value('Comment')) {
- my $comment = $got->value('Comment');
-
- return $self->saveErrorString(undef, "Null Character found in Comment",
- Z_DATA_ERROR)
- if $strict && $comment =~ /\x00/ ;
-
- return $self->saveErrorString(undef, "Non ISO 8859-1 Character found in Comment",
- Z_DATA_ERROR)
- if $strict && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o;
- }
-
- if ($got->parsed('OS_Code') ) {
- my $value = $got->value('OS_Code');
-
- return $self->saveErrorString(undef, "OS_Code must be between 0 and 255, got '$value'")
- if $value < 0 || $value > 255 ;
-
- }
-
- # gzip only supports Deflate at present
- $got->value('Method' => Z_DEFLATED) ;
-
- if ( ! $got->parsed('ExtraFlags')) {
- $got->value('ExtraFlags' => 2)
- if $got->value('Level') == Z_BEST_SPEED ;
- $got->value('ExtraFlags' => 4)
- if $got->value('Level') == Z_BEST_COMPRESSION ;
- }
-
- my $data = $got->value('ExtraField') ;
- if (defined $data) {
- my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, $strict, 1) ;
- return $self->saveErrorString(undef, "Error with ExtraField Parameter: $bad", Z_DATA_ERROR)
- if $bad ;
-
- $got->value('ExtraField', $data) ;
- }
- }
-
- return 1;
-}
-
-sub mkTrailer
-{
- my $self = shift ;
- return pack("V V", *$self->{Compress}->crc32(),
- *$self->{UnCompSize}->get32bit());
-}
-
-sub getInverseClass
-{
- return ('IO::Uncompress::Gunzip',
- \$IO::Uncompress::Gunzip::GunzipError);
-}
-
-sub getFileInfo
-{
- my $self = shift ;
- my $params = shift;
- my $filename = shift ;
-
- my $defaultTime = (stat($filename))[9] ;
-
- $params->value('Name' => $filename)
- if ! $params->parsed('Name') ;
-
- $params->value('Time' => $defaultTime)
- if ! $params->parsed('Time') ;
-}
-
-
-sub mkHeader
-{
- my $self = shift ;
- my $param = shift ;
-
- # stort-circuit if a minimal header is requested.
- return GZIP_MINIMUM_HEADER if $param->value('Minimal') ;
-
- # METHOD
- my $method = $param->valueOrDefault('Method', GZIP_CM_DEFLATED) ;
-
- # FLAGS
- my $flags = GZIP_FLG_DEFAULT ;
- $flags |= GZIP_FLG_FTEXT if $param->value('TextFlag') ;
- $flags |= GZIP_FLG_FHCRC if $param->value('HeaderCRC') ;
- $flags |= GZIP_FLG_FEXTRA if $param->wantValue('ExtraField') ;
- $flags |= GZIP_FLG_FNAME if $param->wantValue('Name') ;
- $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('Comment') ;
-
- # MTIME
- my $time = $param->valueOrDefault('Time', GZIP_MTIME_DEFAULT) ;
-
- # EXTRA FLAGS
- my $extra_flags = $param->valueOrDefault('ExtraFlags', GZIP_XFL_DEFAULT);
-
- # OS CODE
- my $os_code = $param->valueOrDefault('OS_Code', GZIP_OS_DEFAULT) ;
-
-
- my $out = pack("C4 V C C",
- GZIP_ID1, # ID1
- GZIP_ID2, # ID2
- $method, # Compression Method
- $flags, # Flags
- $time, # Modification Time
- $extra_flags, # Extra Flags
- $os_code, # Operating System Code
- ) ;
-
- # EXTRA
- if ($flags & GZIP_FLG_FEXTRA) {
- my $extra = $param->value('ExtraField') ;
- $out .= pack("v", length $extra) . $extra ;
- }
-
- # NAME
- if ($flags & GZIP_FLG_FNAME) {
- my $name .= $param->value('Name') ;
- $name =~ s/\x00.*$//;
- $out .= $name ;
- # Terminate the filename with NULL unless it already is
- $out .= GZIP_NULL_BYTE
- if !length $name or
- substr($name, 1, -1) ne GZIP_NULL_BYTE ;
- }
-
- # COMMENT
- if ($flags & GZIP_FLG_FCOMMENT) {
- my $comment .= $param->value('Comment') ;
- $comment =~ s/\x00.*$//;
- $out .= $comment ;
- # Terminate the comment with NULL unless it already is
- $out .= GZIP_NULL_BYTE
- if ! length $comment or
- substr($comment, 1, -1) ne GZIP_NULL_BYTE;
- }
-
- # HEADER CRC
- $out .= pack("v", crc32($out) & 0x00FF ) if $param->value('HeaderCRC') ;
-
- noUTF8($out);
-
- return $out ;
-}
-
-sub mkFinalTrailer
-{
- return '';
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Compress::Gzip - Write RFC 1952 files/buffers
-
-
-
-=head1 SYNOPSIS
-
- use IO::Compress::Gzip qw(gzip $GzipError) ;
-
- my $status = gzip $input => $output [,OPTS]
- or die "gzip failed: $GzipError\n";
-
- my $z = new IO::Compress::Gzip $output [,OPTS]
- or die "gzip failed: $GzipError\n";
-
- $z->print($string);
- $z->printf($format, $string);
- $z->write($string);
- $z->syswrite($string [, $length, $offset]);
- $z->flush();
- $z->tell();
- $z->eof();
- $z->seek($position, $whence);
- $z->binmode();
- $z->fileno();
- $z->opened();
- $z->autoflush();
- $z->input_line_number();
- $z->newStream( [OPTS] );
-
- $z->deflateParams();
-
- $z->close() ;
-
- $GzipError ;
-
- # IO::File mode
-
- print $z $string;
- printf $z $format, $string;
- tell $z
- eof $z
- seek $z, $position, $whence
- binmode $z
- fileno $z
- close $z ;
-
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows writing compressed
-data to files or buffer as defined in RFC 1952.
-
-All the gzip headers defined in RFC 1952 can be created using
-this module.
-
-For reading RFC 1952 files/buffers, see the companion module
-L<IO::Uncompress::Gunzip|IO::Uncompress::Gunzip>.
-
-=head1 Functional Interface
-
-A top-level function, C<gzip>, is provided to carry out
-"one-shot" compression between buffers and/or files. For finer
-control over the compression process, see the L</"OO Interface">
-section.
-
- use IO::Compress::Gzip qw(gzip $GzipError) ;
-
- gzip $input => $output [,OPTS]
- or die "gzip failed: $GzipError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 gzip $input => $output [, OPTS]
-
-C<gzip> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the uncompressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is compressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<gzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-In addition, if C<$input> is a simple filename, the default values for
-the C<Name> and C<Time> options will be sourced from that file.
-
-If you do not want to use these defaults they can be overridden by
-explicitly setting the C<Name> and C<Time> options or by setting the
-C<Minimal> parameter.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<gzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple files/buffers and C<$output> is a single
-file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<gzip>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<gzip> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<gzip> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeIn => 0|1 >>
-
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt> and write the compressed
-data to the file C<file1.txt.gz>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Gzip qw(gzip $GzipError) ;
-
- my $input = "file1.txt";
- gzip $input => "$input.gz"
- or die "gzip failed: $GzipError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-compressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Gzip qw(gzip $GzipError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt"
- or die "Cannot open 'file1.txt': $!\n" ;
- my $buffer ;
- gzip $input => \$buffer
- or die "gzip failed: $GzipError\n";
-
-To compress all files in the directory "/my/home" that match "*.txt"
-and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Compress::Gzip qw(gzip $GzipError) ;
-
- gzip '</my/home/*.txt>' => '<*.gz>'
- or die "gzip failed: $GzipError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Compress::Gzip qw(gzip $GzipError) ;
-
- for my $input ( glob "/my/home/*.txt" )
- {
- my $output = "$input.gz" ;
- gzip $input => $output
- or die "Error compressing '$input': $GzipError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for C<IO::Compress::Gzip> is shown below
-
- my $z = new IO::Compress::Gzip $output [,OPTS]
- or die "IO::Compress::Gzip failed: $GzipError\n";
-
-It returns an C<IO::Compress::Gzip> object on success and undef on failure.
-The variable C<$GzipError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Compress::Gzip can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal output file operations can be carried out
-with C<$z>.
-For example, to write to a compressed file/buffer you can use either of
-these forms
-
- $z->print("hello world\n");
- print $z "hello world\n";
-
-The mandatory parameter C<$output> is used to control the destination
-of the compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed data
-will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data will be
-written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be stored
-in C<$$output>.
-
-=back
-
-If the C<$output> parameter is any other type, C<IO::Compress::Gzip>::new will
-return undef.
-
-=head2 Constructor Options
-
-C<OPTS> is any combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$output> parameter is a filehandle. If
-specified, and the value is true, it will result in the C<$output> being
-closed once either the C<close> method is called or the C<IO::Compress::Gzip>
-object is destroyed.
-
-This parameter defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-Opens C<$output> in append mode.
-
-The behaviour of this option is dependent on the type of C<$output>.
-
-=over 5
-
-=item * A Buffer
-
-If C<$output> is a buffer and C<Append> is enabled, all compressed data
-will be append to the end if C<$output>. Otherwise C<$output> will be
-cleared before any data is written to it.
-
-=item * A Filename
-
-If C<$output> is a filename and C<Append> is enabled, the file will be
-opened in append mode. Otherwise the contents of the file, if any, will be
-truncated before any compressed data is written to it.
-
-=item * A Filehandle
-
-If C<$output> is a filehandle, the file pointer will be positioned to the
-end of the file via a call to C<seek> before any compressed data is written
-to it. Otherwise the file pointer will not be moved.
-
-=back
-
-This parameter defaults to 0.
-
-=item C<< Merge => 0|1 >>
-
-This option is used to compress input data and append it to an existing
-compressed data stream in C<$output>. The end result is a single compressed
-data stream stored in C<$output>.
-
-It is a fatal error to attempt to use this option when C<$output> is not an
-RFC 1952 data stream.
-
-There are a number of other limitations with the C<Merge> option:
-
-=over 5
-
-=item 1
-
-This module needs to have been built with zlib 1.2.1 or better to work. A
-fatal error will be thrown if C<Merge> is used with an older version of
-zlib.
-
-=item 2
-
-If C<$output> is a file or a filehandle, it must be seekable.
-
-=back
-
-This parameter defaults to 0.
-
-=item -Level
-
-Defines the compression level used by zlib. The value should either be
-a number between 0 and 9 (0 means no compression and 9 is maximum
-compression), or one of the symbolic constants defined below.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-The default is Z_DEFAULT_COMPRESSION.
-
-Note, these constants are not imported by C<IO::Compress::Gzip> by default.
-
- use IO::Compress::Gzip qw(:strategy);
- use IO::Compress::Gzip qw(:constants);
- use IO::Compress::Gzip qw(:all);
-
-=item -Strategy
-
-Defines the strategy used to tune the compression. Use one of the symbolic
-constants defined below.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item C<< Minimal => 0|1 >>
-
-If specified, this option will force the creation of the smallest possible
-compliant gzip header (which is exactly 10 bytes long) as defined in
-RFC 1952.
-
-See the section titled "Compliance" in RFC 1952 for a definition
-of the values used for the fields in the gzip header.
-
-All other parameters that control the content of the gzip header will
-be ignored if this parameter is set to 1.
-
-This parameter defaults to 0.
-
-=item C<< Comment => $comment >>
-
-Stores the contents of C<$comment> in the COMMENT field in
-the gzip header.
-By default, no comment field is written to the gzip file.
-
-If the C<-Strict> option is enabled, the comment can only consist of ISO
-8859-1 characters plus line feed.
-
-If the C<-Strict> option is disabled, the comment field can contain any
-character except NULL. If any null characters are present, the field
-will be truncated at the first NULL.
-
-=item C<< Name => $string >>
-
-Stores the contents of C<$string> in the gzip NAME header field. If
-C<Name> is not specified, no gzip NAME field will be created.
-
-If the C<-Strict> option is enabled, C<$string> can only consist of ISO
-8859-1 characters.
-
-If C<-Strict> is disabled, then C<$string> can contain any character
-except NULL. If any null characters are present, the field will be
-truncated at the first NULL.
-
-=item C<< Time => $number >>
-
-Sets the MTIME field in the gzip header to $number.
-
-This field defaults to the time the C<IO::Compress::Gzip> object was created
-if this option is not specified.
-
-=item C<< TextFlag => 0|1 >>
-
-This parameter controls the setting of the FLG.FTEXT bit in the gzip
-header. It is used to signal that the data stored in the gzip file/buffer
-is probably text.
-
-The default is 0.
-
-=item C<< HeaderCRC => 0|1 >>
-
-When true this parameter will set the FLG.FHCRC bit to 1 in the gzip header
-and set the CRC16 header field to the CRC of the complete gzip header
-except the CRC16 field itself.
-
-B<Note> that gzip files created with the C<HeaderCRC> flag set to 1 cannot
-be read by most, if not all, of the the standard gunzip utilities, most
-notably gzip version 1.2.4. You should therefore avoid using this option if
-you want to maximize the portability of your gzip files.
-
-This parameter defaults to 0.
-
-=item C<< OS_Code => $value >>
-
-Stores C<$value> in the gzip OS header field. A number between 0 and 255 is
-valid.
-
-If not specified, this parameter defaults to the OS code of the Operating
-System this module was built on. The value 3 is used as a catch-all for all
-Unix variants and unknown Operating Systems.
-
-=item C<< ExtraField => $data >>
-
-This parameter allows additional metadata to be stored in the ExtraField in
-the gzip header. An RFC 1952 compliant ExtraField consists of zero or more
-subfields. Each subfield consists of a two byte header followed by the
-subfield data.
-
-The list of subfields can be supplied in any of the following formats
-
- -ExtraField => [$id1, $data1,
- $id2, $data2,
- ...
- ]
- -ExtraField => [ [$id1 => $data1],
- [$id2 => $data2],
- ...
- ]
- -ExtraField => { $id1 => $data1,
- $id2 => $data2,
- ...
- }
-
-Where C<$id1>, C<$id2> are two byte subfield ID's. The second byte of
-the ID cannot be 0, unless the C<Strict> option has been disabled.
-
-If you use the hash syntax, you have no control over the order in which
-the ExtraSubFields are stored, plus you cannot have SubFields with
-duplicate ID.
-
-Alternatively the list of subfields can by supplied as a scalar, thus
-
- -ExtraField => $rawdata
-
-If you use the raw format, and the C<Strict> option is enabled,
-C<IO::Compress::Gzip> will check that C<$rawdata> consists of zero or more
-conformant sub-fields. When C<Strict> is disabled, C<$rawdata> can
-consist of any arbitrary byte stream.
-
-The maximum size of the Extra Field 65535 bytes.
-
-=item C<< ExtraFlags => $value >>
-
-Sets the XFL byte in the gzip header to C<$value>.
-
-If this option is not present, the value stored in XFL field will be
-determined by the setting of the C<Level> option.
-
-If C<< Level => Z_BEST_SPEED >> has been specified then XFL is set to 2.
-If C<< Level => Z_BEST_COMPRESSION >> has been specified then XFL is set to 4.
-Otherwise XFL is set to 0.
-
-=item C<< Strict => 0|1 >>
-
-C<Strict> will optionally police the values supplied with other options
-to ensure they are compliant with RFC1952.
-
-This option is enabled by default.
-
-If C<Strict> is enabled the following behaviour will be policed:
-
-=over 5
-
-=item *
-
-The value supplied with the C<Name> option can only contain ISO 8859-1
-characters.
-
-=item *
-
-The value supplied with the C<Comment> option can only contain ISO 8859-1
-characters plus line-feed.
-
-=item *
-
-The values supplied with the C<-Name> and C<-Comment> options cannot
-contain multiple embedded nulls.
-
-=item *
-
-If an C<ExtraField> option is specified and it is a simple scalar,
-it must conform to the sub-field structure as defined in RFC 1952.
-
-=item *
-
-If an C<ExtraField> option is specified the second byte of the ID will be
-checked in each subfield to ensure that it does not contain the reserved
-value 0x00.
-
-=back
-
-When C<Strict> is disabled the following behaviour will be policed:
-
-=over 5
-
-=item *
-
-The value supplied with C<-Name> option can contain
-any character except NULL.
-
-=item *
-
-The value supplied with C<-Comment> option can contain any character
-except NULL.
-
-=item *
-
-The values supplied with the C<-Name> and C<-Comment> options can contain
-multiple embedded nulls. The string written to the gzip header will
-consist of the characters up to, but not including, the first embedded
-NULL.
-
-=item *
-
-If an C<ExtraField> option is specified and it is a simple scalar, the
-structure will not be checked. The only error is if the length is too big.
-
-=item *
-
-The ID header in an C<ExtraField> sub-field can consist of any two bytes.
-
-=back
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 print
-
-Usage is
-
- $z->print($data)
- print $z $data
-
-Compresses and outputs the contents of the C<$data> parameter. This
-has the same behaviour as the C<print> built-in.
-
-Returns true if successful.
-
-=head2 printf
-
-Usage is
-
- $z->printf($format, $data)
- printf $z $format, $data
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns true if successful.
-
-=head2 syswrite
-
-Usage is
-
- $z->syswrite $data
- $z->syswrite $data, $length
- $z->syswrite $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 write
-
-Usage is
-
- $z->write $data
- $z->write $data, $length
- $z->write $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 flush
-
-Usage is
-
- $z->flush;
- $z->flush($flush_type);
-
-Flushes any pending compressed data to the output file/buffer.
-
-This method takes an optional parameter, C<$flush_type>, that controls
-how the flushing will be carried out. By default the C<$flush_type>
-used is C<Z_FINISH>. Other valid values for C<$flush_type> are
-C<Z_NO_FLUSH>, C<Z_SYNC_FLUSH>, C<Z_FULL_FLUSH> and C<Z_BLOCK>. It is
-strongly recommended that you only set the C<flush_type> parameter if
-you fully understand the implications of what it does - overuse of C<flush>
-can seriously degrade the level of compression achieved. See the C<zlib>
-documentation for details.
-
-Returns true on success.
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the C<close> method has been called.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the output file/buffer.
-It is a fatal error to attempt to seek backward.
-
-Empty parts of the file/buffer will have NULL (0x00) bytes written to them.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-This method always returns C<undef> when compressing.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Flushes any pending compressed data and then closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Compress::Gzip object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Compress::Gzip
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 newStream([OPTS])
-
-Usage is
-
- $z->newStream( [OPTS] )
-
-Closes the current compressed data stream and starts a new one.
-
-OPTS consists of any of the the options that are available when creating
-the C<$z> object.
-
-See the L</"Constructor Options"> section for more details.
-
-=head2 deflateParams
-
-Usage is
-
- $z->deflateParams
-
-TODO
-
-=head1 Importing
-
-A number of symbolic constants are required by some methods in
-C<IO::Compress::Gzip>. None are imported by default.
-
-=over 5
-
-=item :all
-
-Imports C<gzip>, C<$GzipError> and all symbolic
-constants that can be used by C<IO::Compress::Gzip>. Same as doing this
-
- use IO::Compress::Gzip qw(gzip $GzipError :constants) ;
-
-=item :constants
-
-Import all symbolic constants. Same as doing this
-
- use IO::Compress::Gzip qw(:flush :level :strategy) ;
-
-=item :flush
-
-These symbolic constants are used by the C<flush> method.
-
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
-
-=item :level
-
-These symbolic constants are used by the C<Level> option in the constructor.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-=item :strategy
-
-These symbolic constants are used by the C<Strategy> option in the constructor.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-
-
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Apache::GZip Revisited
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Apache::GZip Revisited">
-
-
-
-=head2 Working with Net::FTP
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Compressed files and Net::FTP">
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, 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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Compress/Gzip/Constants.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip/Constants.pm
deleted file mode 100644
index 2f59d229a58..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Gzip/Constants.pm
+++ /dev/null
@@ -1,148 +0,0 @@
-package IO::Compress::Gzip::Constants;
-
-use strict ;
-use warnings;
-use bytes;
-
-require Exporter;
-
-our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
-our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
-
-$VERSION = '2.011';
-
-@ISA = qw(Exporter);
-
-@EXPORT= qw(
-
- GZIP_ID_SIZE
- GZIP_ID1
- GZIP_ID2
-
- GZIP_FLG_DEFAULT
- GZIP_FLG_FTEXT
- GZIP_FLG_FHCRC
- GZIP_FLG_FEXTRA
- GZIP_FLG_FNAME
- GZIP_FLG_FCOMMENT
- GZIP_FLG_RESERVED
-
- GZIP_CM_DEFLATED
-
- GZIP_MIN_HEADER_SIZE
- GZIP_TRAILER_SIZE
-
- GZIP_MTIME_DEFAULT
- GZIP_XFL_DEFAULT
- GZIP_FEXTRA_HEADER_SIZE
- GZIP_FEXTRA_MAX_SIZE
- GZIP_FEXTRA_SUBFIELD_HEADER_SIZE
- GZIP_FEXTRA_SUBFIELD_ID_SIZE
- GZIP_FEXTRA_SUBFIELD_LEN_SIZE
- GZIP_FEXTRA_SUBFIELD_MAX_SIZE
-
- $GZIP_FNAME_INVALID_CHAR_RE
- $GZIP_FCOMMENT_INVALID_CHAR_RE
-
- GZIP_FHCRC_SIZE
-
- GZIP_ISIZE_MAX
- GZIP_ISIZE_MOD_VALUE
-
-
- GZIP_NULL_BYTE
-
- GZIP_OS_DEFAULT
-
- %GZIP_OS_Names
-
- GZIP_MINIMUM_HEADER
-
- );
-
-# Constant names derived from RFC 1952
-
-use constant GZIP_ID_SIZE => 2 ;
-use constant GZIP_ID1 => 0x1F;
-use constant GZIP_ID2 => 0x8B;
-
-use constant GZIP_MIN_HEADER_SIZE => 10 ;# minimum gzip header size
-use constant GZIP_TRAILER_SIZE => 8 ;
-
-
-use constant GZIP_FLG_DEFAULT => 0x00 ;
-use constant GZIP_FLG_FTEXT => 0x01 ;
-use constant GZIP_FLG_FHCRC => 0x02 ; # called CONTINUATION in gzip
-use constant GZIP_FLG_FEXTRA => 0x04 ;
-use constant GZIP_FLG_FNAME => 0x08 ;
-use constant GZIP_FLG_FCOMMENT => 0x10 ;
-#use constant GZIP_FLG_ENCRYPTED => 0x20 ; # documented in gzip sources
-use constant GZIP_FLG_RESERVED => (0x20 | 0x40 | 0x80) ;
-
-use constant GZIP_XFL_DEFAULT => 0x00 ;
-
-use constant GZIP_MTIME_DEFAULT => 0x00 ;
-
-use constant GZIP_FEXTRA_HEADER_SIZE => 2 ;
-use constant GZIP_FEXTRA_MAX_SIZE => 0xFF ;
-use constant GZIP_FEXTRA_SUBFIELD_ID_SIZE => 2 ;
-use constant GZIP_FEXTRA_SUBFIELD_LEN_SIZE => 2 ;
-use constant GZIP_FEXTRA_SUBFIELD_HEADER_SIZE => GZIP_FEXTRA_SUBFIELD_ID_SIZE +
- GZIP_FEXTRA_SUBFIELD_LEN_SIZE;
-use constant GZIP_FEXTRA_SUBFIELD_MAX_SIZE => GZIP_FEXTRA_MAX_SIZE -
- GZIP_FEXTRA_SUBFIELD_HEADER_SIZE ;
-
-
-if (ord('A') == 193)
-{
- # EBCDIC
- $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x3f\xff]';
- $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x0a\x11-\x14\x16-\x3f\xff]';
-
-}
-else
-{
- $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x1F\x7F-\x9F]';
- $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x09\x11-\x1F\x7F-\x9F]';
-}
-
-use constant GZIP_FHCRC_SIZE => 2 ; # aka CONTINUATION in gzip
-
-use constant GZIP_CM_DEFLATED => 8 ;
-
-use constant GZIP_NULL_BYTE => "\x00";
-use constant GZIP_ISIZE_MAX => 0xFFFFFFFF ;
-use constant GZIP_ISIZE_MOD_VALUE => GZIP_ISIZE_MAX + 1 ;
-
-# OS Names sourced from http://www.gzip.org/format.txt
-
-use constant GZIP_OS_DEFAULT=> 0xFF ;
-%GZIP_OS_Names = (
- 0 => 'MS-DOS',
- 1 => 'Amiga',
- 2 => 'VMS',
- 3 => 'Unix',
- 4 => 'VM/CMS',
- 5 => 'Atari TOS',
- 6 => 'HPFS (OS/2, NT)',
- 7 => 'Macintosh',
- 8 => 'Z-System',
- 9 => 'CP/M',
- 10 => 'TOPS-20',
- 11 => 'NTFS (NT)',
- 12 => 'SMS QDOS',
- 13 => 'Acorn RISCOS',
- 14 => 'VFAT file system (Win95, NT)',
- 15 => 'MVS',
- 16 => 'BeOS',
- 17 => 'Tandem/NSK',
- 18 => 'THEOS',
- GZIP_OS_DEFAULT() => 'Unknown',
- ) ;
-
-use constant GZIP_MINIMUM_HEADER => pack("C4 V C C",
- GZIP_ID1, GZIP_ID2, GZIP_CM_DEFLATED, GZIP_FLG_DEFAULT,
- GZIP_MTIME_DEFAULT, GZIP_XFL_DEFAULT, GZIP_OS_DEFAULT) ;
-
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/RawDeflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/RawDeflate.pm
deleted file mode 100644
index 81245f224dc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/RawDeflate.pm
+++ /dev/null
@@ -1,976 +0,0 @@
-package IO::Compress::RawDeflate ;
-
-# create RFC1951
-#
-use strict ;
-use warnings;
-use bytes;
-
-
-use IO::Compress::Base 2.011 ;
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.011 ;
-
-require Exporter ;
-
-
-our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-
-$VERSION = '2.011';
-$RawDeflateError = '';
-
-@ISA = qw(Exporter IO::Compress::Base);
-@EXPORT_OK = qw( $RawDeflateError rawdeflate ) ;
-
-%EXPORT_TAGS = ( flush => [qw{
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
- }],
- level => [qw{
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
- }],
- strategy => [qw{
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
- }],
-
- );
-
-{
- my %seen;
- foreach (keys %EXPORT_TAGS )
- {
- push @{$EXPORT_TAGS{constants}},
- grep { !$seen{$_}++ }
- @{ $EXPORT_TAGS{$_} }
- }
- $EXPORT_TAGS{all} = $EXPORT_TAGS{constants} ;
-}
-
-
-%DEFLATE_CONSTANTS = %EXPORT_TAGS;
-
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-
-Exporter::export_ok_tags('all');
-
-
-
-sub new
-{
- my $class = shift ;
-
- my $obj = createSelfTiedObject($class, \$RawDeflateError);
-
- return $obj->_create(undef, @_);
-}
-
-sub rawdeflate
-{
- my $obj = createSelfTiedObject(undef, \$RawDeflateError);
- return $obj->_def(@_);
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift;
-
- return 1 ;
-}
-
-sub mkComp
-{
- my $self = shift ;
- my $got = shift ;
-
- my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
- $got->value('CRC32'),
- $got->value('Adler32'),
- $got->value('Level'),
- $got->value('Strategy')
- );
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- return $obj;
-}
-
-
-sub mkHeader
-{
- my $self = shift ;
- return '';
-}
-
-sub mkTrailer
-{
- my $self = shift ;
- return '';
-}
-
-sub mkFinalTrailer
-{
- return '';
-}
-
-
-#sub newHeader
-#{
-# my $self = shift ;
-# return '';
-#}
-
-sub getExtraParams
-{
- my $self = shift ;
- return $self->getZlibParams();
-}
-
-sub getZlibParams
-{
- my $self = shift ;
-
- use IO::Compress::Base::Common 2.011 qw(:Parse);
- use Compress::Raw::Zlib 2.011 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
-
-
- return (
-
- # zlib behaviour
- #'Method' => [0, 1, Parse_unsigned, Z_DEFLATED],
- 'Level' => [0, 1, Parse_signed, Z_DEFAULT_COMPRESSION],
- 'Strategy' => [0, 1, Parse_signed, Z_DEFAULT_STRATEGY],
-
- 'CRC32' => [0, 1, Parse_boolean, 0],
- 'ADLER32' => [0, 1, Parse_boolean, 0],
- 'Merge' => [1, 1, Parse_boolean, 0],
- );
-
-
-}
-
-sub getInverseClass
-{
- return ('IO::Uncompress::RawInflate',
- \$IO::Uncompress::RawInflate::RawInflateError);
-}
-
-sub getFileInfo
-{
- my $self = shift ;
- my $params = shift;
- my $file = shift ;
-
-}
-
-use IO::Seekable qw(SEEK_SET);
-
-sub createMerge
-{
- my $self = shift ;
- my $outValue = shift ;
- my $outType = shift ;
-
- my ($invClass, $error_ref) = $self->getInverseClass();
- eval "require $invClass"
- or die "aaaahhhh" ;
-
- my $inf = $invClass->new( $outValue,
- Transparent => 0,
- #Strict => 1,
- AutoClose => 0,
- Scan => 1)
- or return $self->saveErrorString(undef, "Cannot create InflateScan object: $$error_ref" ) ;
-
- my $end_offset = 0;
- $inf->scan()
- or return $self->saveErrorString(undef, "Error Scanning: $$error_ref", $inf->errorNo) ;
- $inf->zap($end_offset)
- or return $self->saveErrorString(undef, "Error Zapping: $$error_ref", $inf->errorNo) ;
-
- my $def = *$self->{Compress} = $inf->createDeflate();
-
- *$self->{Header} = *$inf->{Info}{Header};
- *$self->{UnCompSize} = *$inf->{UnCompSize}->clone();
- *$self->{CompSize} = *$inf->{CompSize}->clone();
- # TODO -- fix this
- #*$self->{CompSize} = new U64(0, *$self->{UnCompSize_32bit});
-
-
- if ( $outType eq 'buffer')
- { substr( ${ *$self->{Buffer} }, $end_offset) = '' }
- elsif ($outType eq 'handle' || $outType eq 'filename') {
- *$self->{FH} = *$inf->{FH} ;
- delete *$inf->{FH};
- *$self->{FH}->flush() ;
- *$self->{Handle} = 1 if $outType eq 'handle';
-
- #seek(*$self->{FH}, $end_offset, SEEK_SET)
- *$self->{FH}->seek($end_offset, SEEK_SET)
- or return $self->saveErrorString(undef, $!, $!) ;
- }
-
- return $def ;
-}
-
-#### zlib specific methods
-
-sub deflateParams
-{
- my $self = shift ;
-
- my $level = shift ;
- my $strategy = shift ;
-
- my $status = *$self->{Compress}->deflateParams(Level => $level, Strategy => $strategy) ;
- return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo})
- if $status == STATUS_ERROR;
-
- return 1;
-}
-
-
-
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Compress::RawDeflate - Write RFC 1951 files/buffers
-
-
-
-=head1 SYNOPSIS
-
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
-
- my $status = rawdeflate $input => $output [,OPTS]
- or die "rawdeflate failed: $RawDeflateError\n";
-
- my $z = new IO::Compress::RawDeflate $output [,OPTS]
- or die "rawdeflate failed: $RawDeflateError\n";
-
- $z->print($string);
- $z->printf($format, $string);
- $z->write($string);
- $z->syswrite($string [, $length, $offset]);
- $z->flush();
- $z->tell();
- $z->eof();
- $z->seek($position, $whence);
- $z->binmode();
- $z->fileno();
- $z->opened();
- $z->autoflush();
- $z->input_line_number();
- $z->newStream( [OPTS] );
-
- $z->deflateParams();
-
- $z->close() ;
-
- $RawDeflateError ;
-
- # IO::File mode
-
- print $z $string;
- printf $z $format, $string;
- tell $z
- eof $z
- seek $z, $position, $whence
- binmode $z
- fileno $z
- close $z ;
-
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows writing compressed
-data to files or buffer as defined in RFC 1951.
-
-Note that RFC 1951 data is not a good choice of compression format
-to use in isolation, especially if you want to auto-detect it.
-
-For reading RFC 1951 files/buffers, see the companion module
-L<IO::Uncompress::RawInflate|IO::Uncompress::RawInflate>.
-
-=head1 Functional Interface
-
-A top-level function, C<rawdeflate>, is provided to carry out
-"one-shot" compression between buffers and/or files. For finer
-control over the compression process, see the L</"OO Interface">
-section.
-
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
-
- rawdeflate $input => $output [,OPTS]
- or die "rawdeflate failed: $RawDeflateError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 rawdeflate $input => $output [, OPTS]
-
-C<rawdeflate> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the uncompressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is compressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<rawdeflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<rawdeflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple files/buffers and C<$output> is a single
-file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<rawdeflate>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<rawdeflate> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<rawdeflate> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeIn => 0|1 >>
-
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt> and write the compressed
-data to the file C<file1.txt.1951>.
-
- use strict ;
- use warnings ;
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
-
- my $input = "file1.txt";
- rawdeflate $input => "$input.1951"
- or die "rawdeflate failed: $RawDeflateError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-compressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt"
- or die "Cannot open 'file1.txt': $!\n" ;
- my $buffer ;
- rawdeflate $input => \$buffer
- or die "rawdeflate failed: $RawDeflateError\n";
-
-To compress all files in the directory "/my/home" that match "*.txt"
-and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
-
- rawdeflate '</my/home/*.txt>' => '<*.1951>'
- or die "rawdeflate failed: $RawDeflateError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
-
- for my $input ( glob "/my/home/*.txt" )
- {
- my $output = "$input.1951" ;
- rawdeflate $input => $output
- or die "Error compressing '$input': $RawDeflateError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for C<IO::Compress::RawDeflate> is shown below
-
- my $z = new IO::Compress::RawDeflate $output [,OPTS]
- or die "IO::Compress::RawDeflate failed: $RawDeflateError\n";
-
-It returns an C<IO::Compress::RawDeflate> object on success and undef on failure.
-The variable C<$RawDeflateError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Compress::RawDeflate can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal output file operations can be carried out
-with C<$z>.
-For example, to write to a compressed file/buffer you can use either of
-these forms
-
- $z->print("hello world\n");
- print $z "hello world\n";
-
-The mandatory parameter C<$output> is used to control the destination
-of the compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed data
-will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data will be
-written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be stored
-in C<$$output>.
-
-=back
-
-If the C<$output> parameter is any other type, C<IO::Compress::RawDeflate>::new will
-return undef.
-
-=head2 Constructor Options
-
-C<OPTS> is any combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$output> parameter is a filehandle. If
-specified, and the value is true, it will result in the C<$output> being
-closed once either the C<close> method is called or the C<IO::Compress::RawDeflate>
-object is destroyed.
-
-This parameter defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-Opens C<$output> in append mode.
-
-The behaviour of this option is dependent on the type of C<$output>.
-
-=over 5
-
-=item * A Buffer
-
-If C<$output> is a buffer and C<Append> is enabled, all compressed data
-will be append to the end if C<$output>. Otherwise C<$output> will be
-cleared before any data is written to it.
-
-=item * A Filename
-
-If C<$output> is a filename and C<Append> is enabled, the file will be
-opened in append mode. Otherwise the contents of the file, if any, will be
-truncated before any compressed data is written to it.
-
-=item * A Filehandle
-
-If C<$output> is a filehandle, the file pointer will be positioned to the
-end of the file via a call to C<seek> before any compressed data is written
-to it. Otherwise the file pointer will not be moved.
-
-=back
-
-This parameter defaults to 0.
-
-=item C<< Merge => 0|1 >>
-
-This option is used to compress input data and append it to an existing
-compressed data stream in C<$output>. The end result is a single compressed
-data stream stored in C<$output>.
-
-It is a fatal error to attempt to use this option when C<$output> is not an
-RFC 1951 data stream.
-
-There are a number of other limitations with the C<Merge> option:
-
-=over 5
-
-=item 1
-
-This module needs to have been built with zlib 1.2.1 or better to work. A
-fatal error will be thrown if C<Merge> is used with an older version of
-zlib.
-
-=item 2
-
-If C<$output> is a file or a filehandle, it must be seekable.
-
-=back
-
-This parameter defaults to 0.
-
-=item -Level
-
-Defines the compression level used by zlib. The value should either be
-a number between 0 and 9 (0 means no compression and 9 is maximum
-compression), or one of the symbolic constants defined below.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-The default is Z_DEFAULT_COMPRESSION.
-
-Note, these constants are not imported by C<IO::Compress::RawDeflate> by default.
-
- use IO::Compress::RawDeflate qw(:strategy);
- use IO::Compress::RawDeflate qw(:constants);
- use IO::Compress::RawDeflate qw(:all);
-
-=item -Strategy
-
-Defines the strategy used to tune the compression. Use one of the symbolic
-constants defined below.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item C<< Strict => 0|1 >>
-
-This is a placeholder option.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 print
-
-Usage is
-
- $z->print($data)
- print $z $data
-
-Compresses and outputs the contents of the C<$data> parameter. This
-has the same behaviour as the C<print> built-in.
-
-Returns true if successful.
-
-=head2 printf
-
-Usage is
-
- $z->printf($format, $data)
- printf $z $format, $data
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns true if successful.
-
-=head2 syswrite
-
-Usage is
-
- $z->syswrite $data
- $z->syswrite $data, $length
- $z->syswrite $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 write
-
-Usage is
-
- $z->write $data
- $z->write $data, $length
- $z->write $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 flush
-
-Usage is
-
- $z->flush;
- $z->flush($flush_type);
-
-Flushes any pending compressed data to the output file/buffer.
-
-This method takes an optional parameter, C<$flush_type>, that controls
-how the flushing will be carried out. By default the C<$flush_type>
-used is C<Z_FINISH>. Other valid values for C<$flush_type> are
-C<Z_NO_FLUSH>, C<Z_SYNC_FLUSH>, C<Z_FULL_FLUSH> and C<Z_BLOCK>. It is
-strongly recommended that you only set the C<flush_type> parameter if
-you fully understand the implications of what it does - overuse of C<flush>
-can seriously degrade the level of compression achieved. See the C<zlib>
-documentation for details.
-
-Returns true on success.
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the C<close> method has been called.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the output file/buffer.
-It is a fatal error to attempt to seek backward.
-
-Empty parts of the file/buffer will have NULL (0x00) bytes written to them.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-This method always returns C<undef> when compressing.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Flushes any pending compressed data and then closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Compress::RawDeflate object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Compress::RawDeflate
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 newStream([OPTS])
-
-Usage is
-
- $z->newStream( [OPTS] )
-
-Closes the current compressed data stream and starts a new one.
-
-OPTS consists of any of the the options that are available when creating
-the C<$z> object.
-
-See the L</"Constructor Options"> section for more details.
-
-=head2 deflateParams
-
-Usage is
-
- $z->deflateParams
-
-TODO
-
-=head1 Importing
-
-A number of symbolic constants are required by some methods in
-C<IO::Compress::RawDeflate>. None are imported by default.
-
-=over 5
-
-=item :all
-
-Imports C<rawdeflate>, C<$RawDeflateError> and all symbolic
-constants that can be used by C<IO::Compress::RawDeflate>. Same as doing this
-
- use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError :constants) ;
-
-=item :constants
-
-Import all symbolic constants. Same as doing this
-
- use IO::Compress::RawDeflate qw(:flush :level :strategy) ;
-
-=item :flush
-
-These symbolic constants are used by the C<flush> method.
-
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
-
-=item :level
-
-These symbolic constants are used by the C<Level> option in the constructor.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-=item :strategy
-
-These symbolic constants are used by the C<Strategy> option in the constructor.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-
-
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Apache::GZip Revisited
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Apache::GZip Revisited">
-
-
-
-=head2 Working with Net::FTP
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Compressed files and Net::FTP">
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, 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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Compress/Zip.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip.pm
deleted file mode 100644
index f2ff60e9ea6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip.pm
+++ /dev/null
@@ -1,1512 +0,0 @@
-package IO::Compress::Zip ;
-
-use strict ;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-use IO::Compress::RawDeflate 2.011 ;
-use IO::Compress::Adapter::Deflate 2.011 ;
-use IO::Compress::Adapter::Identity 2.011 ;
-use IO::Compress::Zlib::Extra 2.011 ;
-use IO::Compress::Zip::Constants 2.011 ;
-
-
-use Compress::Raw::Zlib 2.011 qw(crc32) ;
-BEGIN
-{
- eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.011 ;
- require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.011 ;
- } ;
-}
-
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);
-
-$VERSION = '2.011';
-$ZipError = '';
-
-@ISA = qw(Exporter IO::Compress::RawDeflate);
-@EXPORT_OK = qw( $ZipError zip ) ;
-%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-
-$EXPORT_TAGS{zip_method} = [qw( ZIP_CM_STORE ZIP_CM_DEFLATE ZIP_CM_BZIP2 )];
-push @{ $EXPORT_TAGS{all} }, @{ $EXPORT_TAGS{zip_method} };
-
-Exporter::export_ok_tags('all');
-
-sub new
-{
- my $class = shift ;
-
- my $obj = createSelfTiedObject($class, \$ZipError);
- $obj->_create(undef, @_);
-}
-
-sub zip
-{
- my $obj = createSelfTiedObject(undef, \$ZipError);
- return $obj->_def(@_);
-}
-
-sub mkComp
-{
- my $self = shift ;
- my $got = shift ;
-
- my ($obj, $errstr, $errno) ;
-
- if (*$self->{ZipData}{Method} == ZIP_CM_STORE) {
- ($obj, $errstr, $errno) = IO::Compress::Adapter::Identity::mkCompObject(
- $got->value('Level'),
- $got->value('Strategy')
- );
- }
- elsif (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
- ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
- $got->value('CRC32'),
- $got->value('Adler32'),
- $got->value('Level'),
- $got->value('Strategy')
- );
- }
- elsif (*$self->{ZipData}{Method} == ZIP_CM_BZIP2) {
- ($obj, $errstr, $errno) = IO::Compress::Adapter::Bzip2::mkCompObject(
- $got->value('BlockSize100K'),
- $got->value('WorkFactor'),
- $got->value('Verbosity')
- );
- *$self->{ZipData}{CRC32} = crc32(undef);
- }
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- if (! defined *$self->{ZipData}{StartOffset}) {
- *$self->{ZipData}{StartOffset} = 0;
- *$self->{ZipData}{Offset} = new U64 ;
- }
-
- return $obj;
-}
-
-sub reset
-{
- my $self = shift ;
-
- *$self->{Compress}->reset();
- *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32('');
-
- return STATUS_OK;
-}
-
-sub filterUncompressed
-{
- my $self = shift ;
-
- if (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
- *$self->{ZipData}{CRC32} = *$self->{Compress}->crc32();
- }
- else {
- *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
-
- }
-}
-
-sub mkHeader
-{
- my $self = shift;
- my $param = shift ;
-
- *$self->{ZipData}{StartOffset} = *$self->{ZipData}{Offset}->get32bit() ;
-
- my $filename = '';
- $filename = $param->value('Name') || '';
-
- my $comment = '';
- $comment = $param->value('Comment') || '';
-
- my $hdr = '';
-
- my $time = _unixToDosTime($param->value('Time'));
-
- my $extra = '';
- my $ctlExtra = '';
- my $empty = 0;
- my $osCode = $param->value('OS_Code') ;
- my $extFileAttr = 0 ;
-
- # This code assumes Unix.
- $extFileAttr = 0666 << 16
- if $osCode == ZIP_OS_CODE_UNIX ;
-
- if (*$self->{ZipData}{Zip64}) {
- $empty = 0xFFFF;
-
- my $x = '';
- $x .= pack "V V", 0, 0 ; # uncompressedLength
- $x .= pack "V V", 0, 0 ; # compressedLength
- $x .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to local hdr
- #$x .= pack "V ", 0 ; # disk no
-
- $x = IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_ZIP64, $x);
- $extra .= $x;
- $ctlExtra .= $x;
- }
-
- if (! $param->value('Minimal')) {
- if (defined $param->value('exTime'))
- {
- $extra .= mkExtendedTime($param->value('MTime'),
- $param->value('ATime'),
- $param->value('CTime'));
-
- $ctlExtra .= mkExtendedTime($param->value('MTime'));
- }
-
- if ( $param->value('UID') && $osCode == ZIP_OS_CODE_UNIX)
- {
- $extra .= mkUnix2Extra( $param->value('UID'), $param->value('GID'));
- $ctlExtra .= mkUnix2Extra();
- }
-
- $extFileAttr = $param->value('ExtAttr')
- if defined $param->value('ExtAttr') ;
-
- $extra .= $param->value('ExtraFieldLocal')
- if defined $param->value('ExtraFieldLocal');
-
- $ctlExtra .= $param->value('ExtraFieldCentral')
- if defined $param->value('ExtraFieldCentral');
- }
-
- my $gpFlag = 0 ;
- $gpFlag |= ZIP_GP_FLAG_STREAMING_MASK
- if *$self->{ZipData}{Stream} ;
-
- my $method = *$self->{ZipData}{Method} ;
-
- my $version = $ZIP_CM_MIN_VERSIONS{$method};
- $version = ZIP64_MIN_VERSION
- if ZIP64_MIN_VERSION > $version && *$self->{ZipData}{Zip64};
- my $madeBy = ($param->value('OS_Code') << 8) + $version;
- my $extract = $version;
-
- *$self->{ZipData}{Version} = $version;
- *$self->{ZipData}{MadeBy} = $madeBy;
-
- my $ifa = 0;
- $ifa |= ZIP_IFA_TEXT_MASK
- if $param->value('TextFlag');
-
- $hdr .= pack "V", ZIP_LOCAL_HDR_SIG ; # signature
- $hdr .= pack 'v', $extract ; # extract Version & OS
- $hdr .= pack 'v', $gpFlag ; # general purpose flag (set streaming mode)
- $hdr .= pack 'v', $method ; # compression method (deflate)
- $hdr .= pack 'V', $time ; # last mod date/time
- $hdr .= pack 'V', 0 ; # crc32 - 0 when streaming
- $hdr .= pack 'V', $empty ; # compressed length - 0 when streaming
- $hdr .= pack 'V', $empty ; # uncompressed length - 0 when streaming
- $hdr .= pack 'v', length $filename ; # filename length
- $hdr .= pack 'v', length $extra ; # extra length
-
- $hdr .= $filename ;
- $hdr .= $extra ;
-
-
- my $ctl = '';
-
- $ctl .= pack "V", ZIP_CENTRAL_HDR_SIG ; # signature
- $ctl .= pack 'v', $madeBy ; # version made by
- $ctl .= pack 'v', $extract ; # extract Version
- $ctl .= pack 'v', $gpFlag ; # general purpose flag (streaming mode)
- $ctl .= pack 'v', $method ; # compression method (deflate)
- $ctl .= pack 'V', $time ; # last mod date/time
- $ctl .= pack 'V', 0 ; # crc32
- $ctl .= pack 'V', $empty ; # compressed length
- $ctl .= pack 'V', $empty ; # uncompressed length
- $ctl .= pack 'v', length $filename ; # filename length
- $ctl .= pack 'v', length $ctlExtra ; # extra length
- $ctl .= pack 'v', length $comment ; # file comment length
- $ctl .= pack 'v', 0 ; # disk number start
- $ctl .= pack 'v', $ifa ; # internal file attributes
- $ctl .= pack 'V', $extFileAttr ; # external file attributes
- if (! *$self->{ZipData}{Zip64}) {
- $ctl .= pack 'V', *$self->{ZipData}{Offset}->get32bit() ; # offset to local header
- }
- else {
- $ctl .= pack 'V', $empty ; # offset to local header
- }
-
- $ctl .= $filename ;
- *$self->{ZipData}{StartOffset64} = 4 + length $ctl;
- $ctl .= $ctlExtra ;
- $ctl .= $comment ;
-
- *$self->{ZipData}{Offset}->add(length $hdr) ;
-
- *$self->{ZipData}{CentralHeader} = $ctl;
-
- return $hdr;
-}
-
-sub mkTrailer
-{
- my $self = shift ;
-
- my $crc32 ;
- if (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
- $crc32 = pack "V", *$self->{Compress}->crc32();
- }
- else {
- $crc32 = pack "V", *$self->{ZipData}{CRC32};
- }
-
- my $ctl = *$self->{ZipData}{CentralHeader} ;
-
- my $sizes ;
- if (! *$self->{ZipData}{Zip64}) {
- $sizes .= *$self->{CompSize}->getPacked_V32() ; # Compressed size
- $sizes .= *$self->{UnCompSize}->getPacked_V32() ; # Uncompressed size
- }
- else {
- $sizes .= *$self->{CompSize}->getPacked_V64() ; # Compressed size
- $sizes .= *$self->{UnCompSize}->getPacked_V64() ; # Uncompressed size
- }
-
- my $data = $crc32 . $sizes ;
-
-
- my $hdr = '';
-
- if (*$self->{ZipData}{Stream}) {
- $hdr = pack "V", ZIP_DATA_HDR_SIG ; # signature
- $hdr .= $data ;
- }
- else {
- $self->writeAt(*$self->{ZipData}{StartOffset} + 14, $data)
- or return undef;
- }
-
- if (! *$self->{ZipData}{Zip64})
- { substr($ctl, 16, length $data) = $data }
- else {
- substr($ctl, 16, length $crc32) = $crc32 ;
- my $s = *$self->{UnCompSize}->getPacked_V64() ; # Uncompressed size
- $s .= *$self->{CompSize}->getPacked_V64() ; # Compressed size
- substr($ctl, *$self->{ZipData}{StartOffset64}, length $s) = $s ;
- }
-
- *$self->{ZipData}{Offset}->add(length($hdr));
- *$self->{ZipData}{Offset}->add( *$self->{CompSize} );
- push @{ *$self->{ZipData}{CentralDir} }, $ctl ;
-
- return $hdr;
-}
-
-sub mkFinalTrailer
-{
- my $self = shift ;
-
- my $comment = '';
- $comment = *$self->{ZipData}{ZipComment} ;
-
- my $cd_offset = *$self->{ZipData}{Offset}->get32bit() ; # offset to start central dir
-
- my $entries = @{ *$self->{ZipData}{CentralDir} };
- my $cd = join '', @{ *$self->{ZipData}{CentralDir} };
- my $cd_len = length $cd ;
-
- my $z64e = '';
-
- if ( *$self->{ZipData}{Zip64} ) {
-
- my $v = *$self->{ZipData}{Version} ;
- my $mb = *$self->{ZipData}{MadeBy} ;
- $z64e .= pack 'v', $v ; # Version made by
- $z64e .= pack 'v', $mb ; # Version to extract
- $z64e .= pack 'V', 0 ; # number of disk
- $z64e .= pack 'V', 0 ; # number of disk with central dir
- $z64e .= U64::pack_V64 $entries ; # entries in central dir on this disk
- $z64e .= U64::pack_V64 $entries ; # entries in central dir
- $z64e .= U64::pack_V64 $cd_len ; # size of central dir
- $z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to start central dir
-
- $z64e = pack("V", ZIP64_END_CENTRAL_REC_HDR_SIG) # signature
- . U64::pack_V64(length $z64e)
- . $z64e ;
-
- *$self->{ZipData}{Offset}->add(length $cd) ;
-
- $z64e .= pack "V", ZIP64_END_CENTRAL_LOC_HDR_SIG; # signature
- $z64e .= pack 'V', 0 ; # number of disk with central dir
- $z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to end zip64 central dir
- $z64e .= pack 'V', 1 ; # Total number of disks
-
- # TODO - fix these when info-zip 3 is fixed.
- #$cd_len =
- #$cd_offset =
- $entries = 0xFFFF ;
- }
-
- my $ecd = '';
- $ecd .= pack "V", ZIP_END_CENTRAL_HDR_SIG ; # signature
- $ecd .= pack 'v', 0 ; # number of disk
- $ecd .= pack 'v', 0 ; # number of disk with central dir
- $ecd .= pack 'v', $entries ; # entries in central dir on this disk
- $ecd .= pack 'v', $entries ; # entries in central dir
- $ecd .= pack 'V', $cd_len ; # size of central dir
- $ecd .= pack 'V', $cd_offset ; # offset to start central dir
- $ecd .= pack 'v', length $comment ; # zipfile comment length
- $ecd .= $comment;
-
- return $cd . $z64e . $ecd ;
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift;
-
- $got->value('CRC32' => 1);
-
- if (! $got->parsed('Time') ) {
- # Modification time defaults to now.
- $got->value('Time' => time) ;
- }
-
- if (! $got->parsed('exTime') ) {
- my $timeRef = $got->value('exTime');
- if ( defined $timeRef) {
- return $self->saveErrorString(undef, "exTime not a 3-element array ref")
- if ref $timeRef ne 'ARRAY' || @$timeRef != 3;
- }
-
- $got->value("MTime", $timeRef->[1]);
- $got->value("ATime", $timeRef->[0]);
- $got->value("CTime", $timeRef->[2]);
- }
-
- # Unix2 Extended Attribute
- if (! $got->parsed('exUnix2') ) {
- my $timeRef = $got->value('exUnix2');
- if ( defined $timeRef) {
- return $self->saveErrorString(undef, "exUnix2 not a 2-element array ref")
- if ref $timeRef ne 'ARRAY' || @$timeRef != 2;
- }
-
- $got->value("UID", $timeRef->[0]);
- $got->value("GID", $timeRef->[1]);
- }
-
- *$self->{ZipData}{Zip64} = $got->value('Zip64');
- *$self->{ZipData}{Stream} = $got->value('Stream');
-
- return $self->saveErrorString(undef, "Zip64 only supported if Stream enabled")
- if *$self->{ZipData}{Zip64} && ! *$self->{ZipData}{Stream} ;
-
- my $method = $got->value('Method');
- return $self->saveErrorString(undef, "Unknown Method '$method'")
- if ! defined $ZIP_CM_MIN_VERSIONS{$method};
-
- return $self->saveErrorString(undef, "Bzip2 not available")
- if $method == ZIP_CM_BZIP2 and
- ! defined $IO::Compress::Adapter::Bzip2::VERSION;
-
- *$self->{ZipData}{Method} = $method;
-
- *$self->{ZipData}{ZipComment} = $got->value('ZipComment') ;
-
- for my $name (qw( ExtraFieldLocal ExtraFieldCentral ))
- {
- my $data = $got->value($name) ;
- if (defined $data) {
- my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, 1, 0) ;
- return $self->saveErrorString(undef, "Error with $name Parameter: $bad")
- if $bad ;
-
- $got->value($name, $data) ;
- }
- }
-
- return undef
- if defined $IO::Compress::Bzip2::VERSION
- and ! IO::Compress::Bzip2::ckParams($self, $got);
-
- return 1 ;
-}
-
-#sub newHeader
-#{
-# my $self = shift ;
-#
-# return $self->mkHeader(*$self->{Got});
-#}
-
-sub getExtraParams
-{
- my $self = shift ;
-
- use IO::Compress::Base::Common 2.011 qw(:Parse);
- use Compress::Raw::Zlib 2.011 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
-
- my @Bzip2 = ();
-
- @Bzip2 = IO::Compress::Bzip2::getExtraParams($self)
- if defined $IO::Compress::Bzip2::VERSION;
-
- return (
- # zlib behaviour
- $self->getZlibParams(),
-
- 'Stream' => [1, 1, Parse_boolean, 1],
- #'Store' => [0, 1, Parse_boolean, 0],
- 'Method' => [0, 1, Parse_unsigned, ZIP_CM_DEFLATE],
-
-# # Zip header fields
- 'Minimal' => [0, 1, Parse_boolean, 0],
- 'Zip64' => [0, 1, Parse_boolean, 0],
- 'Comment' => [0, 1, Parse_any, ''],
- 'ZipComment'=> [0, 1, Parse_any, ''],
- 'Name' => [0, 1, Parse_any, ''],
- 'Time' => [0, 1, Parse_any, undef],
- 'exTime' => [0, 1, Parse_any, undef],
- 'exUnix2' => [0, 1, Parse_any, undef],
- 'ExtAttr' => [0, 1, Parse_any, 0],
- 'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
-
- 'TextFlag' => [0, 1, Parse_boolean, 0],
- 'ExtraFieldLocal' => [0, 1, Parse_any, undef],
- 'ExtraFieldCentral'=> [0, 1, Parse_any, undef],
-
- @Bzip2,
- );
-}
-
-sub getInverseClass
-{
- return ('IO::Uncompress::Unzip',
- \$IO::Uncompress::Unzip::UnzipError);
-}
-
-sub getFileInfo
-{
- my $self = shift ;
- my $params = shift;
- my $filename = shift ;
-
- my ($mode, $uid, $gid, $atime, $mtime, $ctime)
- = (stat($filename))[2, 4,5, 8,9,10] ;
-
- $params->value('Name' => $filename)
- if ! $params->parsed('Name') ;
-
- $params->value('Time' => $mtime)
- if ! $params->parsed('Time') ;
-
- if ( ! $params->parsed('exTime'))
- {
- $params->value('MTime' => $mtime) ;
- $params->value('ATime' => $atime) ;
- $params->value('CTime' => undef) ; # No Creation time
- }
-
- # NOTE - Unix specific code alert
- $params->value('ExtAttr' => $mode << 16)
- if ! $params->parsed('ExtAttr');
-
- $params->value('UID' => $uid) ;
- $params->value('GID' => $gid) ;
-
-}
-
-sub mkExtendedTime
-{
- # order expected is m, a, c
-
- my $times = '';
- my $bit = 1 ;
- my $flags = 0;
-
- for my $time (@_)
- {
- if (defined $time)
- {
- $flags |= $bit;
- $times .= pack("V", $time);
- }
-
- $bit <<= 1 ;
- }
-
- return IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_EXT_TIMESTAMP,
- pack("C", $flags) . $times);
-}
-
-sub mkUnix2Extra
-{
- my $ids = '';
- for my $id (@_)
- {
- $ids .= pack("v", $id);
- }
-
- return IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_INFO_ZIP_UNIX2,
- $ids);
-}
-
-
-# from Archive::Zip
-sub _unixToDosTime # Archive::Zip::Member
-{
- my $time_t = shift;
- # TODO - add something to cope with unix time < 1980
- my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime($time_t);
- my $dt = 0;
- $dt += ( $sec >> 1 );
- $dt += ( $min << 5 );
- $dt += ( $hour << 11 );
- $dt += ( $mday << 16 );
- $dt += ( ( $mon + 1 ) << 21 );
- $dt += ( ( $year - 80 ) << 25 );
- return $dt;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Compress::Zip - Write zip files/buffers
-
-
-
-=head1 SYNOPSIS
-
- use IO::Compress::Zip qw(zip $ZipError) ;
-
- my $status = zip $input => $output [,OPTS]
- or die "zip failed: $ZipError\n";
-
- my $z = new IO::Compress::Zip $output [,OPTS]
- or die "zip failed: $ZipError\n";
-
- $z->print($string);
- $z->printf($format, $string);
- $z->write($string);
- $z->syswrite($string [, $length, $offset]);
- $z->flush();
- $z->tell();
- $z->eof();
- $z->seek($position, $whence);
- $z->binmode();
- $z->fileno();
- $z->opened();
- $z->autoflush();
- $z->input_line_number();
- $z->newStream( [OPTS] );
-
- $z->deflateParams();
-
- $z->close() ;
-
- $ZipError ;
-
- # IO::File mode
-
- print $z $string;
- printf $z $format, $string;
- tell $z
- eof $z
- seek $z, $position, $whence
- binmode $z
- fileno $z
- close $z ;
-
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows writing zip
-compressed data to files or buffer.
-
-The primary purpose of this module is to provide streaming write access to
-zip files and buffers. It is not a general-purpose file archiver. If that
-is what you want, check out C<Archive::Zip>.
-
-At present three compression methods are supported by IO::Compress::Zip,
-namely Store (no compression at all), Deflate and Bzip2.
-
-Note that to create Bzip2 content, the module C<IO::Compress::Bzip2> must
-be installed.
-
-For reading zip files/buffers, see the companion module
-L<IO::Uncompress::Unzip|IO::Uncompress::Unzip>.
-
-=head1 Functional Interface
-
-A top-level function, C<zip>, is provided to carry out
-"one-shot" compression between buffers and/or files. For finer
-control over the compression process, see the L</"OO Interface">
-section.
-
- use IO::Compress::Zip qw(zip $ZipError) ;
-
- zip $input => $output [,OPTS]
- or die "zip failed: $ZipError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 zip $input => $output [, OPTS]
-
-C<zip> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the uncompressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is compressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<zip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-In addition, if C<$input> is a simple filename, the default values for
-the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options will be sourced from that file.
-
-If you do not want to use these defaults they can be overridden by
-explicitly setting the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options or by setting the
-C<Minimal> parameter.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<zip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple files/buffers and C<$output> is a single
-file/buffer the input files/buffers will each be stored
-in C<$output> as a distinct entry.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<zip>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<zip> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<zip> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeIn => 0|1 >>
-
-When reading from a file or filehandle, set C<binmode> before reading.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt> and write the compressed
-data to the file C<file1.txt.zip>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Zip qw(zip $ZipError) ;
-
- my $input = "file1.txt";
- zip $input => "$input.zip"
- or die "zip failed: $ZipError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-compressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Compress::Zip qw(zip $ZipError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt"
- or die "Cannot open 'file1.txt': $!\n" ;
- my $buffer ;
- zip $input => \$buffer
- or die "zip failed: $ZipError\n";
-
-To compress all files in the directory "/my/home" that match "*.txt"
-and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Compress::Zip qw(zip $ZipError) ;
-
- zip '</my/home/*.txt>' => '<*.zip>'
- or die "zip failed: $ZipError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Compress::Zip qw(zip $ZipError) ;
-
- for my $input ( glob "/my/home/*.txt" )
- {
- my $output = "$input.zip" ;
- zip $input => $output
- or die "Error compressing '$input': $ZipError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for C<IO::Compress::Zip> is shown below
-
- my $z = new IO::Compress::Zip $output [,OPTS]
- or die "IO::Compress::Zip failed: $ZipError\n";
-
-It returns an C<IO::Compress::Zip> object on success and undef on failure.
-The variable C<$ZipError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Compress::Zip can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal output file operations can be carried out
-with C<$z>.
-For example, to write to a compressed file/buffer you can use either of
-these forms
-
- $z->print("hello world\n");
- print $z "hello world\n";
-
-The mandatory parameter C<$output> is used to control the destination
-of the compressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the compressed data
-will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the compressed data will be
-written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the compressed data will be stored
-in C<$$output>.
-
-=back
-
-If the C<$output> parameter is any other type, C<IO::Compress::Zip>::new will
-return undef.
-
-=head2 Constructor Options
-
-C<OPTS> is any combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$output> parameter is a filehandle. If
-specified, and the value is true, it will result in the C<$output> being
-closed once either the C<close> method is called or the C<IO::Compress::Zip>
-object is destroyed.
-
-This parameter defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-Opens C<$output> in append mode.
-
-The behaviour of this option is dependent on the type of C<$output>.
-
-=over 5
-
-=item * A Buffer
-
-If C<$output> is a buffer and C<Append> is enabled, all compressed data
-will be append to the end if C<$output>. Otherwise C<$output> will be
-cleared before any data is written to it.
-
-=item * A Filename
-
-If C<$output> is a filename and C<Append> is enabled, the file will be
-opened in append mode. Otherwise the contents of the file, if any, will be
-truncated before any compressed data is written to it.
-
-=item * A Filehandle
-
-If C<$output> is a filehandle, the file pointer will be positioned to the
-end of the file via a call to C<seek> before any compressed data is written
-to it. Otherwise the file pointer will not be moved.
-
-=back
-
-This parameter defaults to 0.
-
-=item C<< Name => $string >>
-
-Stores the contents of C<$string> in the zip filename header field. If
-C<Name> is not specified, no zip filename field will be created.
-
-=item C<< Time => $number >>
-
-Sets the last modified time field in the zip header to $number.
-
-This field defaults to the time the C<IO::Compress::Zip> object was created
-if this option is not specified.
-
-=item C<< ExtAttr => $attr >>
-
-This option controls the "external file attributes" field in the central
-header of the zip file. This is a 4 byte field.
-
-If you are running a Unix derivative this value defaults to
-
- 0666 << 16
-
-This should allow read/write access to any files that are extracted from
-the zip file/buffer.
-
-For all other systems it defaults to 0.
-
-=item C<< exTime => [$atime, $mtime, $ctime] >>
-
-This option expects an array reference with exactly three elements:
-C<$atime>, C<mtime> and C<$ctime>. These correspond to the last access
-time, last modification time and creation time respectively.
-
-It uses these values to set the extended timestamp field (ID is "UT") in
-the local zip header using the three values, $atime, $mtime, $ctime. In
-addition it sets the extended timestamp field in the central zip header
-using C<$mtime>.
-
-If any of the three values is C<undef> that time value will not be used.
-So, for example, to set only the C<$mtime> you would use this
-
- exTime => [undef, $mtime, undef]
-
-If the C<Minimal> option is set to true, this option will be ignored.
-
-By default no extended time field is created.
-
-=item C<< exUnix2 => [$uid, $gid] >>
-
-This option expects an array reference with exactly two elements: C<$uid>
-and C<$gid>. These values correspond to the numeric user ID and group ID
-of the owner of the files respectively.
-
-When the C<exUnix2> option is present it will trigger the creation of a
-Unix2 extra field (ID is "Ux") in the local zip. This will be populated
-with C<$uid> and C<$gid>. In addition an empty Unix2 extra field will also
-be created in the central zip header
-
-If the C<Minimal> option is set to true, this option will be ignored.
-
-By default no Unix2 extra field is created.
-
-=item C<< Comment => $comment >>
-
-Stores the contents of C<$comment> in the Central File Header of
-the zip file.
-
-By default, no comment field is written to the zip file.
-
-=item C<< ZipComment => $comment >>
-
-Stores the contents of C<$comment> in the End of Central Directory record
-of the zip file.
-
-By default, no comment field is written to the zip file.
-
-=item C<< Method => $method >>
-
-Controls which compression method is used. At present three compression
-methods are supported, namely Store (no compression at all), Deflate and
-Bzip2.
-
-The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 are used to
-select the compression method.
-
-These constants are not imported by C<IO::Compress::Zip> by default.
-
- use IO::Compress::Zip qw(:zip_method);
- use IO::Compress::Zip qw(:constants);
- use IO::Compress::Zip qw(:all);
-
-Note that to create Bzip2 content, the module C<IO::Compress::Bzip2> must
-be installed. A fatal error will be thrown if you attempt to create Bzip2
-content when C<IO::Compress::Bzip2> is not available.
-
-The default method is ZIP_CM_DEFLATE.
-
-=item C<< Stream => 0|1 >>
-
-This option controls whether the zip file/buffer output is created in
-streaming mode.
-
-Note that when outputting to a file with streaming mode disabled (C<Stream>
-is 0), the output file must be seekable.
-
-The default is 1.
-
-=item C<< Zip64 => 0|1 >>
-
-Create a Zip64 zip file/buffer. This option should only be used if you want
-to store files larger than 4 Gig.
-
-If you intend to manipulate the Zip64 zip files created with this module
-using an external zip/unzip make sure that it supports streaming Zip64.
-
-In particular, if you are using Info-Zip you need to have zip version 3.x
-or better to update a Zip64 archive and unzip version 6.x to read a zip64
-archive. At the time of writing both are beta status.
-
-When the C<Zip64> option is enabled, the C<Stream> option I<must> be
-enabled as well.
-
-The default is 0.
-
-=item C<< TextFlag => 0|1 >>
-
-This parameter controls the setting of a bit in the zip central header. It
-is used to signal that the data stored in the zip file/buffer is probably
-text.
-
-The default is 0.
-
-=item C<< ExtraFieldLocal => $data >>
-=item C<< ExtraFieldCentral => $data >>
-
-The C<ExtraFieldLocal> option is used to store additional metadata in the
-local header for the zip file/buffer. The C<ExtraFieldCentral> does the
-same for the matching central header.
-
-An extra field consists of zero or more subfields. Each subfield consists
-of a two byte header followed by the subfield data.
-
-The list of subfields can be supplied in any of the following formats
-
- ExtraFieldLocal => [$id1, $data1,
- $id2, $data2,
- ...
- ]
-
- ExtraFieldLocal => [ [$id1 => $data1],
- [$id2 => $data2],
- ...
- ]
-
- ExtraFieldLocal => { $id1 => $data1,
- $id2 => $data2,
- ...
- }
-
-Where C<$id1>, C<$id2> are two byte subfield ID's.
-
-If you use the hash syntax, you have no control over the order in which
-the ExtraSubFields are stored, plus you cannot have SubFields with
-duplicate ID.
-
-Alternatively the list of subfields can by supplied as a scalar, thus
-
- ExtraField => $rawdata
-
-The Extended Time field (ID "UT"), set using the C<exTime> option, and the
-Unix2 extra field (ID "Ux), set using the C<exUnix2> option, are examples
-of extra fields.
-
-If the C<Minimal> option is set to true, this option will be ignored.
-
-The maximum size of an extra field 65535 bytes.
-
-=item C<< Minimal => 1|0 >>
-
-If specified, this option will disable the creation of all extra fields
-in the zip local and central headers. So the C<exTime>, C<exUnix2>,
-C<ExtraFieldLocal> and C<ExtraFieldCentral> options will be ignored.
-
-This parameter defaults to 0.
-
-=item C<< BlockSize100K => number >>
-
-Specify the number of 100K blocks bzip2 uses during compression.
-
-Valid values are from 1 to 9, where 9 is best compression.
-
-This option is only valid if the C<Method> is ZIP_CM_BZIP2. It is ignored
-otherwise.
-
-The default is 1.
-
-=item C<< WorkFactor => number >>
-
-Specifies how much effort bzip2 should take before resorting to a slower
-fallback compression algorithm.
-
-Valid values range from 0 to 250, where 0 means use the default value 30.
-
-This option is only valid if the C<Method> is ZIP_CM_BZIP2. It is ignored
-otherwise.
-
-The default is 0.
-
-=item -Level
-
-Defines the compression level used by zlib. The value should either be
-a number between 0 and 9 (0 means no compression and 9 is maximum
-compression), or one of the symbolic constants defined below.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-The default is Z_DEFAULT_COMPRESSION.
-
-Note, these constants are not imported by C<IO::Compress::Zip> by default.
-
- use IO::Compress::Zip qw(:strategy);
- use IO::Compress::Zip qw(:constants);
- use IO::Compress::Zip qw(:all);
-
-=item -Strategy
-
-Defines the strategy used to tune the compression. Use one of the symbolic
-constants defined below.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-The default is Z_DEFAULT_STRATEGY.
-
-=item C<< Strict => 0|1 >>
-
-This is a placeholder option.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 print
-
-Usage is
-
- $z->print($data)
- print $z $data
-
-Compresses and outputs the contents of the C<$data> parameter. This
-has the same behaviour as the C<print> built-in.
-
-Returns true if successful.
-
-=head2 printf
-
-Usage is
-
- $z->printf($format, $data)
- printf $z $format, $data
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns true if successful.
-
-=head2 syswrite
-
-Usage is
-
- $z->syswrite $data
- $z->syswrite $data, $length
- $z->syswrite $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 write
-
-Usage is
-
- $z->write $data
- $z->write $data, $length
- $z->write $data, $length, $offset
-
-Compresses and outputs the contents of the C<$data> parameter.
-
-Returns the number of uncompressed bytes written, or C<undef> if
-unsuccessful.
-
-=head2 flush
-
-Usage is
-
- $z->flush;
- $z->flush($flush_type);
-
-Flushes any pending compressed data to the output file/buffer.
-
-This method takes an optional parameter, C<$flush_type>, that controls
-how the flushing will be carried out. By default the C<$flush_type>
-used is C<Z_FINISH>. Other valid values for C<$flush_type> are
-C<Z_NO_FLUSH>, C<Z_SYNC_FLUSH>, C<Z_FULL_FLUSH> and C<Z_BLOCK>. It is
-strongly recommended that you only set the C<flush_type> parameter if
-you fully understand the implications of what it does - overuse of C<flush>
-can seriously degrade the level of compression achieved. See the C<zlib>
-documentation for details.
-
-Returns true on success.
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the C<close> method has been called.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the output file/buffer.
-It is a fatal error to attempt to seek backward.
-
-Empty parts of the file/buffer will have NULL (0x00) bytes written to them.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-This method always returns C<undef> when compressing.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Flushes any pending compressed data and then closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Compress::Zip object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Compress::Zip
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 newStream([OPTS])
-
-Usage is
-
- $z->newStream( [OPTS] )
-
-Closes the current compressed data stream and starts a new one.
-
-OPTS consists of any of the the options that are available when creating
-the C<$z> object.
-
-See the L</"Constructor Options"> section for more details.
-
-=head2 deflateParams
-
-Usage is
-
- $z->deflateParams
-
-TODO
-
-=head1 Importing
-
-A number of symbolic constants are required by some methods in
-C<IO::Compress::Zip>. None are imported by default.
-
-=over 5
-
-=item :all
-
-Imports C<zip>, C<$ZipError> and all symbolic
-constants that can be used by C<IO::Compress::Zip>. Same as doing this
-
- use IO::Compress::Zip qw(zip $ZipError :constants) ;
-
-=item :constants
-
-Import all symbolic constants. Same as doing this
-
- use IO::Compress::Zip qw(:flush :level :strategy :zip_method) ;
-
-=item :flush
-
-These symbolic constants are used by the C<flush> method.
-
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
-
-=item :level
-
-These symbolic constants are used by the C<Level> option in the constructor.
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
-=item :strategy
-
-These symbolic constants are used by the C<Strategy> option in the constructor.
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
-
-=item :zip_method
-
-These symbolic constants are used by the C<Method> option in the
-constructor.
-
- ZIP_CM_STORE
- ZIP_CM_DEFLATE
- ZIP_CM_BZIP2
-
-
-
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Apache::GZip Revisited
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Apache::GZip Revisited">
-
-
-
-=head2 Working with Net::FTP
-
-See L<IO::Compress::Zlib::FAQ|IO::Compress::Zlib::FAQ/"Compressed files and Net::FTP">
-
-=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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Compress/Zip/Constants.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip/Constants.pm
deleted file mode 100644
index 85e976726a3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zip/Constants.pm
+++ /dev/null
@@ -1,102 +0,0 @@
-package IO::Compress::Zip::Constants;
-
-use strict ;
-use warnings;
-
-require Exporter;
-
-our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
-
-$VERSION = '2.011';
-
-@ISA = qw(Exporter);
-
-@EXPORT= qw(
-
- ZIP_CM_STORE
- ZIP_CM_DEFLATE
- ZIP_CM_BZIP2
- ZIP_CM_LZMA
- ZIP_CM_PPMD
-
- ZIP_LOCAL_HDR_SIG
- ZIP_DATA_HDR_SIG
- ZIP_CENTRAL_HDR_SIG
- ZIP_END_CENTRAL_HDR_SIG
- ZIP64_END_CENTRAL_REC_HDR_SIG
- ZIP64_END_CENTRAL_LOC_HDR_SIG
- ZIP64_ARCHIVE_EXTRA_SIG
- ZIP64_DIGITAL_SIGNATURE_SIG
-
- ZIP_GP_FLAG_ENCRYPTED_MASK
- ZIP_GP_FLAG_STREAMING_MASK
- ZIP_GP_FLAG_PATCHED_MASK
- ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK
- ZIP_GP_FLAG_LZMA_EOS_PRESENT
- ZIP_GP_FLAG_LANGUAGE_ENCODING
-
- ZIP_EXTRA_ID_ZIP64
- ZIP_EXTRA_ID_EXT_TIMESTAMP
- ZIP_EXTRA_ID_INFO_ZIP_UNIX2
-
- ZIP_OS_CODE_UNIX
- ZIP_OS_CODE_DEFAULT
-
- ZIP_IFA_TEXT_MASK
-
- %ZIP_CM_MIN_VERSIONS
- ZIP64_MIN_VERSION
-
- );
-
-# Compression types supported
-use constant ZIP_CM_STORE => 0 ;
-use constant ZIP_CM_DEFLATE => 8 ;
-use constant ZIP_CM_BZIP2 => 12 ;
-use constant ZIP_CM_LZMA => 14 ; # Not Supported yet
-use constant ZIP_CM_PPMD => 98 ; # Not Supported yet
-
-# General Purpose Flag
-use constant ZIP_GP_FLAG_ENCRYPTED_MASK => (1 << 0) ;
-use constant ZIP_GP_FLAG_STREAMING_MASK => (1 << 3) ;
-use constant ZIP_GP_FLAG_PATCHED_MASK => (1 << 5) ;
-use constant ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK => (1 << 6) ;
-use constant ZIP_GP_FLAG_LZMA_EOS_PRESENT => (1 << 1) ;
-use constant ZIP_GP_FLAG_LANGUAGE_ENCODING => (1 << 11) ;
-
-# Internal File Attributes
-use constant ZIP_IFA_TEXT_MASK => 1;
-
-# Signatures for each of the headers
-use constant ZIP_LOCAL_HDR_SIG => 0x04034b50;
-use constant ZIP_DATA_HDR_SIG => 0x08074b50;
-use constant ZIP_CENTRAL_HDR_SIG => 0x02014b50;
-use constant ZIP_END_CENTRAL_HDR_SIG => 0x06054b50;
-use constant ZIP64_END_CENTRAL_REC_HDR_SIG => 0x06064b50;
-use constant ZIP64_END_CENTRAL_LOC_HDR_SIG => 0x07064b50;
-use constant ZIP64_ARCHIVE_EXTRA_SIG => 0x08064b50;
-use constant ZIP64_DIGITAL_SIGNATURE_SIG => 0x05054b50;
-
-use constant ZIP_OS_CODE_UNIX => 3;
-use constant ZIP_OS_CODE_DEFAULT => 3;
-
-# Extra Field ID's
-use constant ZIP_EXTRA_ID_ZIP64 => pack "v", 1;
-use constant ZIP_EXTRA_ID_EXT_TIMESTAMP => "UT";
-use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 => "Ux";
-use constant ZIP_EXTRA_ID_JAVA_EXE => pack "v", 0xCAFE;
-
-use constant ZIP64_MIN_VERSION => 45;
-
-%ZIP_CM_MIN_VERSIONS = (
- ZIP_CM_STORE() => 20,
- ZIP_CM_DEFLATE() => 20,
- ZIP_CM_BZIP2() => 46,
- ZIP_CM_LZMA() => 63,
- );
-
-
-1;
-
-__END__
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Constants.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Constants.pm
deleted file mode 100644
index f57f6a2c195..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Constants.pm
+++ /dev/null
@@ -1,77 +0,0 @@
-
-package IO::Compress::Zlib::Constants ;
-
-use strict ;
-use warnings;
-use bytes;
-
-require Exporter;
-
-our ($VERSION, @ISA, @EXPORT);
-
-$VERSION = '2.011';
-
-@ISA = qw(Exporter);
-
-@EXPORT= qw(
-
- ZLIB_HEADER_SIZE
- ZLIB_TRAILER_SIZE
-
- ZLIB_CMF_CM_OFFSET
- ZLIB_CMF_CM_BITS
- ZLIB_CMF_CM_DEFLATED
-
- ZLIB_CMF_CINFO_OFFSET
- ZLIB_CMF_CINFO_BITS
- ZLIB_CMF_CINFO_MAX
-
- ZLIB_FLG_FCHECK_OFFSET
- ZLIB_FLG_FCHECK_BITS
-
- ZLIB_FLG_FDICT_OFFSET
- ZLIB_FLG_FDICT_BITS
-
- ZLIB_FLG_LEVEL_OFFSET
- ZLIB_FLG_LEVEL_BITS
-
- ZLIB_FLG_LEVEL_FASTEST
- ZLIB_FLG_LEVEL_FAST
- ZLIB_FLG_LEVEL_DEFAULT
- ZLIB_FLG_LEVEL_SLOWEST
-
- ZLIB_FDICT_SIZE
-
- );
-
-# Constant names derived from RFC1950
-
-use constant ZLIB_HEADER_SIZE => 2;
-use constant ZLIB_TRAILER_SIZE => 4;
-
-use constant ZLIB_CMF_CM_OFFSET => 0;
-use constant ZLIB_CMF_CM_BITS => 0xF ; # 0b1111
-use constant ZLIB_CMF_CM_DEFLATED => 8;
-
-use constant ZLIB_CMF_CINFO_OFFSET => 4;
-use constant ZLIB_CMF_CINFO_BITS => 0xF ; # 0b1111;
-use constant ZLIB_CMF_CINFO_MAX => 7;
-
-use constant ZLIB_FLG_FCHECK_OFFSET => 0;
-use constant ZLIB_FLG_FCHECK_BITS => 0x1F ; # 0b11111;
-
-use constant ZLIB_FLG_FDICT_OFFSET => 5;
-use constant ZLIB_FLG_FDICT_BITS => 0x1 ; # 0b1;
-
-use constant ZLIB_FLG_LEVEL_OFFSET => 6;
-use constant ZLIB_FLG_LEVEL_BITS => 0x3 ; # 0b11;
-
-use constant ZLIB_FLG_LEVEL_FASTEST => 0;
-use constant ZLIB_FLG_LEVEL_FAST => 1;
-use constant ZLIB_FLG_LEVEL_DEFAULT => 2;
-use constant ZLIB_FLG_LEVEL_SLOWEST => 3;
-
-use constant ZLIB_FDICT_SIZE => 4;
-
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Extra.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Extra.pm
deleted file mode 100644
index 92109faddf7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Compress/Zlib/Extra.pm
+++ /dev/null
@@ -1,198 +0,0 @@
-package IO::Compress::Zlib::Extra;
-
-require 5.004 ;
-
-use strict ;
-use warnings;
-use bytes;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
-
-$VERSION = '2.011';
-
-use IO::Compress::Gzip::Constants 2.011 ;
-
-sub ExtraFieldError
-{
- return $_[0];
- return "Error with ExtraField Parameter: $_[0]" ;
-}
-
-sub validateExtraFieldPair
-{
- my $pair = shift ;
- my $strict = shift;
- my $gzipMode = shift ;
-
- return ExtraFieldError("Not an array ref")
- unless ref $pair && ref $pair eq 'ARRAY';
-
- return ExtraFieldError("SubField must have two parts")
- unless @$pair == 2 ;
-
- return ExtraFieldError("SubField ID is a reference")
- if ref $pair->[0] ;
-
- return ExtraFieldError("SubField Data is a reference")
- if ref $pair->[1] ;
-
- # ID is exactly two chars
- return ExtraFieldError("SubField ID not two chars long")
- unless length $pair->[0] == GZIP_FEXTRA_SUBFIELD_ID_SIZE ;
-
- # Check that the 2nd byte of the ID isn't 0
- return ExtraFieldError("SubField ID 2nd byte is 0x00")
- if $strict && $gzipMode && substr($pair->[0], 1, 1) eq "\x00" ;
-
- return ExtraFieldError("SubField Data too long")
- if length $pair->[1] > GZIP_FEXTRA_SUBFIELD_MAX_SIZE ;
-
-
- return undef ;
-}
-
-sub parseRawExtra
-{
- my $data = shift ;
- my $extraRef = shift;
- my $strict = shift;
- my $gzipMode = shift ;
-
- #my $lax = shift ;
-
- #return undef
- # if $lax ;
-
- my $XLEN = length $data ;
-
- return ExtraFieldError("Too Large")
- if $XLEN > GZIP_FEXTRA_MAX_SIZE;
-
- my $offset = 0 ;
- while ($offset < $XLEN) {
-
- return ExtraFieldError("Truncated in FEXTRA Body Section")
- if $offset + GZIP_FEXTRA_SUBFIELD_HEADER_SIZE > $XLEN ;
-
- my $id = substr($data, $offset, GZIP_FEXTRA_SUBFIELD_ID_SIZE);
- $offset += GZIP_FEXTRA_SUBFIELD_ID_SIZE;
-
- my $subLen = unpack("v", substr($data, $offset,
- GZIP_FEXTRA_SUBFIELD_LEN_SIZE));
- $offset += GZIP_FEXTRA_SUBFIELD_LEN_SIZE ;
-
- return ExtraFieldError("Truncated in FEXTRA Body Section")
- if $offset + $subLen > $XLEN ;
-
- my $bad = validateExtraFieldPair( [$id,
- substr($data, $offset, $subLen)],
- $strict, $gzipMode );
- return $bad if $bad ;
- push @$extraRef, [$id => substr($data, $offset, $subLen)]
- if defined $extraRef;;
-
- $offset += $subLen ;
- }
-
-
- return undef ;
-}
-
-
-sub mkSubField
-{
- my $id = shift ;
- my $data = shift ;
-
- return $id . pack("v", length $data) . $data ;
-}
-
-sub parseExtraField
-{
- my $dataRef = $_[0];
- my $strict = $_[1];
- my $gzipMode = $_[2];
- #my $lax = @_ == 2 ? $_[1] : 1;
-
-
- # ExtraField can be any of
- #
- # -ExtraField => $data
- #
- # -ExtraField => [$id1, $data1,
- # $id2, $data2]
- # ...
- # ]
- #
- # -ExtraField => [ [$id1 => $data1],
- # [$id2 => $data2],
- # ...
- # ]
- #
- # -ExtraField => { $id1 => $data1,
- # $id2 => $data2,
- # ...
- # }
-
- if ( ! ref $dataRef ) {
-
- return undef
- if ! $strict;
-
- return parseRawExtra($dataRef, undef, 1, $gzipMode);
- }
-
- #my $data = $$dataRef;
- my $data = $dataRef;
- my $out = '' ;
-
- if (ref $data eq 'ARRAY') {
- if (ref $data->[0]) {
-
- foreach my $pair (@$data) {
- return ExtraFieldError("Not list of lists")
- unless ref $pair eq 'ARRAY' ;
-
- my $bad = validateExtraFieldPair($pair, $strict, $gzipMode) ;
- return $bad if $bad ;
-
- $out .= mkSubField(@$pair);
- }
- }
- else {
- return ExtraFieldError("Not even number of elements")
- unless @$data % 2 == 0;
-
- for (my $ix = 0; $ix <= length(@$data) -1 ; $ix += 2) {
- my $bad = validateExtraFieldPair([$data->[$ix],
- $data->[$ix+1]],
- $strict, $gzipMode) ;
- return $bad if $bad ;
-
- $out .= mkSubField($data->[$ix], $data->[$ix+1]);
- }
- }
- }
- elsif (ref $data eq 'HASH') {
- while (my ($id, $info) = each %$data) {
- my $bad = validateExtraFieldPair([$id, $info], $strict, $gzipMode);
- return $bad if $bad ;
-
- $out .= mkSubField($id, $info);
- }
- }
- else {
- return ExtraFieldError("Not a scalar, array ref or hash ref") ;
- }
-
- return ExtraFieldError("Too Large")
- if length $out > GZIP_FEXTRA_MAX_SIZE;
-
- $_[0] = $out ;
-
- return undef;
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Dir.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Dir.pm
deleted file mode 100644
index 06892f5c24a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Dir.pm
+++ /dev/null
@@ -1,247 +0,0 @@
-# IO::Dir.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Dir;
-
-use 5.006;
-
-use strict;
-use Carp;
-use Symbol;
-use Exporter;
-use IO::File;
-our(@ISA, $VERSION, @EXPORT_OK);
-use Tie::Hash;
-use File::stat;
-use File::Spec;
-
-@ISA = qw(Tie::Hash Exporter);
-$VERSION = "1.06";
-$VERSION = eval $VERSION;
-@EXPORT_OK = qw(DIR_UNLINK);
-
-sub DIR_UNLINK () { 1 }
-
-sub new {
- @_ >= 1 && @_ <= 2 or croak 'usage: new IO::Dir [DIRNAME]';
- my $class = shift;
- my $dh = gensym;
- if (@_) {
- IO::Dir::open($dh, $_[0])
- or return undef;
- }
- bless $dh, $class;
-}
-
-sub DESTROY {
- my ($dh) = @_;
- no warnings 'io';
- closedir($dh);
-}
-
-sub open {
- @_ == 2 or croak 'usage: $dh->open(DIRNAME)';
- my ($dh, $dirname) = @_;
- return undef
- unless opendir($dh, $dirname);
- # a dir name should always have a ":" in it; assume dirname is
- # in current directory
- $dirname = ':' . $dirname if ( ($^O eq 'MacOS') && ($dirname !~ /:/) );
- ${*$dh}{io_dir_path} = $dirname;
- 1;
-}
-
-sub close {
- @_ == 1 or croak 'usage: $dh->close()';
- my ($dh) = @_;
- closedir($dh);
-}
-
-sub read {
- @_ == 1 or croak 'usage: $dh->read()';
- my ($dh) = @_;
- readdir($dh);
-}
-
-sub seek {
- @_ == 2 or croak 'usage: $dh->seek(POS)';
- my ($dh,$pos) = @_;
- seekdir($dh,$pos);
-}
-
-sub tell {
- @_ == 1 or croak 'usage: $dh->tell()';
- my ($dh) = @_;
- telldir($dh);
-}
-
-sub rewind {
- @_ == 1 or croak 'usage: $dh->rewind()';
- my ($dh) = @_;
- rewinddir($dh);
-}
-
-sub TIEHASH {
- my($class,$dir,$options) = @_;
-
- my $dh = $class->new($dir)
- or return undef;
-
- $options ||= 0;
-
- ${*$dh}{io_dir_unlink} = $options & DIR_UNLINK;
- $dh;
-}
-
-sub FIRSTKEY {
- my($dh) = @_;
- $dh->rewind;
- scalar $dh->read;
-}
-
-sub NEXTKEY {
- my($dh) = @_;
- scalar $dh->read;
-}
-
-sub EXISTS {
- my($dh,$key) = @_;
- -e File::Spec->catfile(${*$dh}{io_dir_path}, $key);
-}
-
-sub FETCH {
- my($dh,$key) = @_;
- &lstat(File::Spec->catfile(${*$dh}{io_dir_path}, $key));
-}
-
-sub STORE {
- my($dh,$key,$data) = @_;
- my($atime,$mtime) = ref($data) ? @$data : ($data,$data);
- my $file = File::Spec->catfile(${*$dh}{io_dir_path}, $key);
- unless(-e $file) {
- my $io = IO::File->new($file,O_CREAT | O_RDWR);
- $io->close if $io;
- }
- utime($atime,$mtime, $file);
-}
-
-sub DELETE {
- my($dh,$key) = @_;
-
- # Only unlink if unlink-ing is enabled
- return 0
- unless ${*$dh}{io_dir_unlink};
-
- my $file = File::Spec->catfile(${*$dh}{io_dir_path}, $key);
-
- -d $file
- ? rmdir($file)
- : unlink($file);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Dir - supply object methods for directory handles
-
-=head1 SYNOPSIS
-
- use IO::Dir;
- $d = IO::Dir->new(".");
- if (defined $d) {
- while (defined($_ = $d->read)) { something($_); }
- $d->rewind;
- while (defined($_ = $d->read)) { something_else($_); }
- undef $d;
- }
-
- tie %dir, 'IO::Dir', ".";
- foreach (keys %dir) {
- print $_, " " , $dir{$_}->size,"\n";
- }
-
-=head1 DESCRIPTION
-
-The C<IO::Dir> package provides two interfaces to perl's directory reading
-routines.
-
-The first interface is an object approach. C<IO::Dir> provides an object
-constructor and methods, which are just wrappers around perl's built in
-directory reading routines.
-
-=over 4
-
-=item new ( [ DIRNAME ] )
-
-C<new> is the constructor for C<IO::Dir> objects. It accepts one optional
-argument which, if given, C<new> will pass to C<open>
-
-=back
-
-The following methods are wrappers for the directory related functions built
-into perl (the trailing `dir' has been removed from the names). See L<perlfunc>
-for details of these functions.
-
-=over 4
-
-=item open ( DIRNAME )
-
-=item read ()
-
-=item seek ( POS )
-
-=item tell ()
-
-=item rewind ()
-
-=item close ()
-
-=back
-
-C<IO::Dir> also provides an interface to reading directories via a tied
-hash. The tied hash extends the interface beyond just the directory
-reading routines by the use of C<lstat>, from the C<File::stat> package,
-C<unlink>, C<rmdir> and C<utime>.
-
-=over 4
-
-=item tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]
-
-=back
-
-The keys of the hash will be the names of the entries in the directory.
-Reading a value from the hash will be the result of calling
-C<File::stat::lstat>. Deleting an element from the hash will
-delete the corresponding file or subdirectory,
-provided that C<DIR_UNLINK> is included in the C<OPTIONS>.
-
-Assigning to an entry in the hash will cause the time stamps of the file
-to be modified. If the file does not exist then it will be created. Assigning
-a single integer to a hash element will cause both the access and
-modification times to be changed to that value. Alternatively a reference to
-an array of two values can be passed. The first array element will be used to
-set the access time and the second element will be used to set the modification
-time.
-
-=head1 SEE ALSO
-
-L<File::stat>
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2003 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/File.pm
deleted file mode 100644
index d33d090d0b2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/File.pm
+++ /dev/null
@@ -1,204 +0,0 @@
-#
-
-package IO::File;
-
-=head1 NAME
-
-IO::File - supply object methods for filehandles
-
-=head1 SYNOPSIS
-
- use IO::File;
-
- $fh = new IO::File;
- if ($fh->open("< file")) {
- print <$fh>;
- $fh->close;
- }
-
- $fh = new IO::File "> file";
- if (defined $fh) {
- print $fh "bar\n";
- $fh->close;
- }
-
- $fh = new IO::File "file", "r";
- if (defined $fh) {
- print <$fh>;
- undef $fh; # automatically closes the file
- }
-
- $fh = new IO::File "file", O_WRONLY|O_APPEND;
- if (defined $fh) {
- print $fh "corge\n";
-
- $pos = $fh->getpos;
- $fh->setpos($pos);
-
- undef $fh; # automatically closes the file
- }
-
- autoflush STDOUT 1;
-
-=head1 DESCRIPTION
-
-C<IO::File> inherits from C<IO::Handle> and C<IO::Seekable>. It extends
-these classes with methods that are specific to file handles.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( FILENAME [,MODE [,PERMS]] )
-
-Creates an C<IO::File>. If it receives any parameters, they are passed to
-the method C<open>; if the open fails, the object is destroyed. Otherwise,
-it is returned to the caller.
-
-=item new_tmpfile
-
-Creates an C<IO::File> opened for read/write on a newly created temporary
-file. On systems where this is possible, the temporary file is anonymous
-(i.e. it is unlinked after creation, but held open). If the temporary
-file cannot be created or opened, the C<IO::File> object is destroyed.
-Otherwise, it is returned to the caller.
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item open( FILENAME [,MODE [,PERMS]] )
-
-=item open( FILENAME, IOLAYERS )
-
-C<open> accepts one, two or three parameters. With one parameter,
-it is just a front end for the built-in C<open> function. With two or three
-parameters, the first parameter is a filename that may include
-whitespace or other special characters, and the second parameter is
-the open mode, optionally followed by a file permission value.
-
-If C<IO::File::open> receives a Perl mode string ("E<gt>", "+E<lt>", etc.)
-or an ANSI C fopen() mode string ("w", "r+", etc.), it uses the basic
-Perl C<open> operator (but protects any special characters).
-
-If C<IO::File::open> is given a numeric mode, it passes that mode
-and the optional permissions value to the Perl C<sysopen> operator.
-The permissions default to 0666.
-
-If C<IO::File::open> is given a mode that includes the C<:> character,
-it passes all the three arguments to the three-argument C<open> operator.
-
-For convenience, C<IO::File> exports the O_XXX constants from the
-Fcntl module, if this module is available.
-
-=item binmode( [LAYER] )
-
-C<binmode> sets C<binmode> on the underlying C<IO> object, as documented
-in C<perldoc -f binmode>.
-
-C<binmode> accepts one optional parameter, which is the layer to be
-passed on to the C<binmode> call.
-
-=back
-
-=head1 NOTE
-
-Some operating systems may perform C<IO::File::new()> or C<IO::File::open()>
-on a directory without errors. This behavior is not portable and not
-suggested for use. Using C<opendir()> and C<readdir()> or C<IO::Dir> are
-suggested instead.
-
-=head1 SEE ALSO
-
-L<perlfunc>,
-L<perlop/"I/O Operators">,
-L<IO::Handle>,
-L<IO::Seekable>,
-L<IO::Dir>
-
-=head1 HISTORY
-
-Derived from FileHandle.pm by Graham Barr E<lt>F<gbarr@pobox.com>E<gt>.
-
-=cut
-
-use 5.006_001;
-use strict;
-our($VERSION, @EXPORT, @EXPORT_OK, @ISA);
-use Carp;
-use Symbol;
-use SelectSaver;
-use IO::Seekable;
-use File::Spec;
-
-require Exporter;
-
-@ISA = qw(IO::Handle IO::Seekable Exporter);
-
-$VERSION = "1.14";
-
-@EXPORT = @IO::Seekable::EXPORT;
-
-eval {
- # Make all Fcntl O_XXX constants available for importing
- require Fcntl;
- my @O = grep /^O_/, @Fcntl::EXPORT;
- Fcntl->import(@O); # first we import what we want to export
- push(@EXPORT, @O);
-};
-
-################################################
-## Constructor
-##
-
-sub new {
- my $type = shift;
- my $class = ref($type) || $type || "IO::File";
- @_ >= 0 && @_ <= 3
- or croak "usage: new $class [FILENAME [,MODE [,PERMS]]]";
- my $fh = $class->SUPER::new();
- if (@_) {
- $fh->open(@_)
- or return undef;
- }
- $fh;
-}
-
-################################################
-## Open
-##
-
-sub open {
- @_ >= 2 && @_ <= 4 or croak 'usage: $fh->open(FILENAME [,MODE [,PERMS]])';
- my ($fh, $file) = @_;
- if (@_ > 2) {
- my ($mode, $perms) = @_[2, 3];
- if ($mode =~ /^\d+$/) {
- defined $perms or $perms = 0666;
- return sysopen($fh, $file, $mode, $perms);
- } elsif ($mode =~ /:/) {
- return open($fh, $mode, $file) if @_ == 3;
- croak 'usage: $fh->open(FILENAME, IOLAYERS)';
- } else {
- return open($fh, IO::Handle::_open_mode_string($mode), $file);
- }
- }
- open($fh, $file);
-}
-
-################################################
-## Binmode
-##
-
-sub binmode {
- ( @_ == 1 or @_ == 2 ) or croak 'usage $fh->binmode([LAYER])';
-
- my($fh, $layer) = @_;
-
- return binmode $$fh unless $layer;
- return binmode $$fh, $layer;
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Handle.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Handle.pm
deleted file mode 100644
index e47ae874f15..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Handle.pm
+++ /dev/null
@@ -1,633 +0,0 @@
-package IO::Handle;
-
-=head1 NAME
-
-IO::Handle - supply object methods for I/O handles
-
-=head1 SYNOPSIS
-
- use IO::Handle;
-
- $io = new IO::Handle;
- if ($io->fdopen(fileno(STDIN),"r")) {
- print $io->getline;
- $io->close;
- }
-
- $io = new IO::Handle;
- if ($io->fdopen(fileno(STDOUT),"w")) {
- $io->print("Some text\n");
- }
-
- # setvbuf is not available by default on Perls 5.8.0 and later.
- use IO::Handle '_IOLBF';
- $io->setvbuf($buffer_var, _IOLBF, 1024);
-
- undef $io; # automatically closes the file if it's open
-
- autoflush STDOUT 1;
-
-=head1 DESCRIPTION
-
-C<IO::Handle> is the base class for all other IO handle classes. It is
-not intended that objects of C<IO::Handle> would be created directly,
-but instead C<IO::Handle> is inherited from by several other classes
-in the IO hierarchy.
-
-If you are reading this documentation, looking for a replacement for
-the C<FileHandle> package, then I suggest you read the documentation
-for C<IO::File> too.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ()
-
-Creates a new C<IO::Handle> object.
-
-=item new_from_fd ( FD, MODE )
-
-Creates an C<IO::Handle> like C<new> does.
-It requires two parameters, which are passed to the method C<fdopen>;
-if the fdopen fails, the object is destroyed. Otherwise, it is returned
-to the caller.
-
-=back
-
-=head1 METHODS
-
-See L<perlfunc> for complete descriptions of each of the following
-supported C<IO::Handle> methods, which are just front ends for the
-corresponding built-in functions:
-
- $io->close
- $io->eof
- $io->fileno
- $io->format_write( [FORMAT_NAME] )
- $io->getc
- $io->read ( BUF, LEN, [OFFSET] )
- $io->print ( ARGS )
- $io->printf ( FMT, [ARGS] )
- $io->say ( ARGS )
- $io->stat
- $io->sysread ( BUF, LEN, [OFFSET] )
- $io->syswrite ( BUF, [LEN, [OFFSET]] )
- $io->truncate ( LEN )
-
-See L<perlvar> for complete descriptions of each of the following
-supported C<IO::Handle> methods. All of them return the previous
-value of the attribute and takes an optional single argument that when
-given will set the value. If no argument is given the previous value
-is unchanged (except for $io->autoflush will actually turn ON
-autoflush by default).
-
- $io->autoflush ( [BOOL] ) $|
- $io->format_page_number( [NUM] ) $%
- $io->format_lines_per_page( [NUM] ) $=
- $io->format_lines_left( [NUM] ) $-
- $io->format_name( [STR] ) $~
- $io->format_top_name( [STR] ) $^
- $io->input_line_number( [NUM]) $.
-
-The following methods are not supported on a per-filehandle basis.
-
- IO::Handle->format_line_break_characters( [STR] ) $:
- IO::Handle->format_formfeed( [STR]) $^L
- IO::Handle->output_field_separator( [STR] ) $,
- IO::Handle->output_record_separator( [STR] ) $\
-
- IO::Handle->input_record_separator( [STR] ) $/
-
-Furthermore, for doing normal I/O you might need these:
-
-=over 4
-
-=item $io->fdopen ( FD, MODE )
-
-C<fdopen> is like an ordinary C<open> except that its first parameter
-is not a filename but rather a file handle name, an IO::Handle object,
-or a file descriptor number.
-
-=item $io->opened
-
-Returns true if the object is currently a valid file descriptor, false
-otherwise.
-
-=item $io->getline
-
-This works like <$io> described in L<perlop/"I/O Operators">
-except that it's more readable and can be safely called in a
-list context but still returns just one line. If used as the conditional
-+within a C<while> or C-style C<for> loop, however, you will need to
-+emulate the functionality of <$io> with C<< defined($_ = $io->getline) >>.
-
-=item $io->getlines
-
-This works like <$io> when called in a list context to read all
-the remaining lines in a file, except that it's more readable.
-It will also croak() if accidentally called in a scalar context.
-
-=item $io->ungetc ( ORD )
-
-Pushes a character with the given ordinal value back onto the given
-handle's input stream. Only one character of pushback per handle is
-guaranteed.
-
-=item $io->write ( BUF, LEN [, OFFSET ] )
-
-This C<write> is like C<write> found in C, that is it is the
-opposite of read. The wrapper for the perl C<write> function is
-called C<format_write>.
-
-=item $io->error
-
-Returns a true value if the given handle has experienced any errors
-since it was opened or since the last call to C<clearerr>, or if the
-handle is invalid. It only returns false for a valid handle with no
-outstanding errors.
-
-=item $io->clearerr
-
-Clear the given handle's error indicator. Returns -1 if the handle is
-invalid, 0 otherwise.
-
-=item $io->sync
-
-C<sync> synchronizes a file's in-memory state with that on the
-physical medium. C<sync> does not operate at the perlio api level, but
-operates on the file descriptor (similar to sysread, sysseek and
-systell). This means that any data held at the perlio api level will not
-be synchronized. To synchronize data that is buffered at the perlio api
-level you must use the flush method. C<sync> is not implemented on all
-platforms. Returns "0 but true" on success, C<undef> on error, C<undef>
-for an invalid handle. See L<fsync(3c)>.
-
-=item $io->flush
-
-C<flush> causes perl to flush any buffered data at the perlio api level.
-Any unread data in the buffer will be discarded, and any unwritten data
-will be written to the underlying file descriptor. Returns "0 but true"
-on success, C<undef> on error.
-
-=item $io->printflush ( ARGS )
-
-Turns on autoflush, print ARGS and then restores the autoflush status of the
-C<IO::Handle> object. Returns the return value from print.
-
-=item $io->blocking ( [ BOOL ] )
-
-If called with an argument C<blocking> will turn on non-blocking IO if
-C<BOOL> is false, and turn it off if C<BOOL> is true.
-
-C<blocking> will return the value of the previous setting, or the
-current setting if C<BOOL> is not given.
-
-If an error occurs C<blocking> will return undef and C<$!> will be set.
-
-=back
-
-
-If the C functions setbuf() and/or setvbuf() are available, then
-C<IO::Handle::setbuf> and C<IO::Handle::setvbuf> set the buffering
-policy for an IO::Handle. The calling sequences for the Perl functions
-are the same as their C counterparts--including the constants C<_IOFBF>,
-C<_IOLBF>, and C<_IONBF> for setvbuf()--except that the buffer parameter
-specifies a scalar variable to use as a buffer. You should only
-change the buffer before any I/O, or immediately after calling flush.
-
-WARNING: The IO::Handle::setvbuf() is not available by default on
-Perls 5.8.0 and later because setvbuf() is rather specific to using
-the stdio library, while Perl prefers the new perlio subsystem instead.
-
-WARNING: A variable used as a buffer by C<setbuf> or C<setvbuf> B<must not
-be modified> in any way until the IO::Handle is closed or C<setbuf> or
-C<setvbuf> is called again, or memory corruption may result! Remember that
-the order of global destruction is undefined, so even if your buffer
-variable remains in scope until program termination, it may be undefined
-before the file IO::Handle is closed. Note that you need to import the
-constants C<_IOFBF>, C<_IOLBF>, and C<_IONBF> explicitly. Like C, setbuf
-returns nothing. setvbuf returns "0 but true", on success, C<undef> on
-failure.
-
-Lastly, there is a special method for working under B<-T> and setuid/gid
-scripts:
-
-=over 4
-
-=item $io->untaint
-
-Marks the object as taint-clean, and as such data read from it will also
-be considered taint-clean. Note that this is a very trusting action to
-take, and appropriate consideration for the data source and potential
-vulnerability should be kept in mind. Returns 0 on success, -1 if setting
-the taint-clean flag failed. (eg invalid handle)
-
-=back
-
-=head1 NOTE
-
-An C<IO::Handle> object is a reference to a symbol/GLOB reference (see
-the C<Symbol> package). Some modules that
-inherit from C<IO::Handle> may want to keep object related variables
-in the hash table part of the GLOB. In an attempt to prevent modules
-trampling on each other I propose the that any such module should prefix
-its variables with its own name separated by _'s. For example the IO::Socket
-module keeps a C<timeout> variable in 'io_socket_timeout'.
-
-=head1 SEE ALSO
-
-L<perlfunc>,
-L<perlop/"I/O Operators">,
-L<IO::File>
-
-=head1 BUGS
-
-Due to backwards compatibility, all filehandles resemble objects
-of class C<IO::Handle>, or actually classes derived from that class.
-They actually aren't. Which means you can't derive your own
-class from C<IO::Handle> and inherit those methods.
-
-=head1 HISTORY
-
-Derived from FileHandle.pm by Graham Barr E<lt>F<gbarr@pobox.com>E<gt>
-
-=cut
-
-use 5.006_001;
-use strict;
-our($VERSION, @EXPORT_OK, @ISA);
-use Carp;
-use Symbol;
-use SelectSaver;
-use IO (); # Load the XS module
-
-require Exporter;
-@ISA = qw(Exporter);
-
-$VERSION = "1.27";
-$VERSION = eval $VERSION;
-
-@EXPORT_OK = qw(
- autoflush
- output_field_separator
- output_record_separator
- input_record_separator
- input_line_number
- format_page_number
- format_lines_per_page
- format_lines_left
- format_name
- format_top_name
- format_line_break_characters
- format_formfeed
- format_write
-
- print
- printf
- say
- getline
- getlines
-
- printflush
- flush
-
- SEEK_SET
- SEEK_CUR
- SEEK_END
- _IOFBF
- _IOLBF
- _IONBF
-);
-
-################################################
-## Constructors, destructors.
-##
-
-sub new {
- my $class = ref($_[0]) || $_[0] || "IO::Handle";
- @_ == 1 or croak "usage: new $class";
- my $io = gensym;
- bless $io, $class;
-}
-
-sub new_from_fd {
- my $class = ref($_[0]) || $_[0] || "IO::Handle";
- @_ == 3 or croak "usage: new_from_fd $class FD, MODE";
- my $io = gensym;
- shift;
- IO::Handle::fdopen($io, @_)
- or return undef;
- bless $io, $class;
-}
-
-#
-# There is no need for DESTROY to do anything, because when the
-# last reference to an IO object is gone, Perl automatically
-# closes its associated files (if any). However, to avoid any
-# attempts to autoload DESTROY, we here define it to do nothing.
-#
-sub DESTROY {}
-
-
-################################################
-## Open and close.
-##
-
-sub _open_mode_string {
- my ($mode) = @_;
- $mode =~ /^\+?(<|>>?)$/
- or $mode =~ s/^r(\+?)$/$1</
- or $mode =~ s/^w(\+?)$/$1>/
- or $mode =~ s/^a(\+?)$/$1>>/
- or croak "IO::Handle: bad open mode: $mode";
- $mode;
-}
-
-sub fdopen {
- @_ == 3 or croak 'usage: $io->fdopen(FD, MODE)';
- my ($io, $fd, $mode) = @_;
- local(*GLOB);
-
- if (ref($fd) && "".$fd =~ /GLOB\(/o) {
- # It's a glob reference; Alias it as we cannot get name of anon GLOBs
- my $n = qualify(*GLOB);
- *GLOB = *{*$fd};
- $fd = $n;
- } elsif ($fd =~ m#^\d+$#) {
- # It's an FD number; prefix with "=".
- $fd = "=$fd";
- }
-
- open($io, _open_mode_string($mode) . '&' . $fd)
- ? $io : undef;
-}
-
-sub close {
- @_ == 1 or croak 'usage: $io->close()';
- my($io) = @_;
-
- close($io);
-}
-
-################################################
-## Normal I/O functions.
-##
-
-# flock
-# select
-
-sub opened {
- @_ == 1 or croak 'usage: $io->opened()';
- defined fileno($_[0]);
-}
-
-sub fileno {
- @_ == 1 or croak 'usage: $io->fileno()';
- fileno($_[0]);
-}
-
-sub getc {
- @_ == 1 or croak 'usage: $io->getc()';
- getc($_[0]);
-}
-
-sub eof {
- @_ == 1 or croak 'usage: $io->eof()';
- eof($_[0]);
-}
-
-sub print {
- @_ or croak 'usage: $io->print(ARGS)';
- my $this = shift;
- print $this @_;
-}
-
-sub printf {
- @_ >= 2 or croak 'usage: $io->printf(FMT,[ARGS])';
- my $this = shift;
- printf $this @_;
-}
-
-sub say {
- @_ or croak 'usage: $io->say(ARGS)';
- my $this = shift;
- print $this @_, "\n";
-}
-
-sub getline {
- @_ == 1 or croak 'usage: $io->getline()';
- my $this = shift;
- return scalar <$this>;
-}
-
-*gets = \&getline; # deprecated
-
-sub getlines {
- @_ == 1 or croak 'usage: $io->getlines()';
- wantarray or
- croak 'Can\'t call $io->getlines in a scalar context, use $io->getline';
- my $this = shift;
- return <$this>;
-}
-
-sub truncate {
- @_ == 2 or croak 'usage: $io->truncate(LEN)';
- truncate($_[0], $_[1]);
-}
-
-sub read {
- @_ == 3 || @_ == 4 or croak 'usage: $io->read(BUF, LEN [, OFFSET])';
- read($_[0], $_[1], $_[2], $_[3] || 0);
-}
-
-sub sysread {
- @_ == 3 || @_ == 4 or croak 'usage: $io->sysread(BUF, LEN [, OFFSET])';
- sysread($_[0], $_[1], $_[2], $_[3] || 0);
-}
-
-sub write {
- @_ >= 2 && @_ <= 4 or croak 'usage: $io->write(BUF [, LEN [, OFFSET]])';
- local($\) = "";
- $_[2] = length($_[1]) unless defined $_[2];
- print { $_[0] } substr($_[1], $_[3] || 0, $_[2]);
-}
-
-sub syswrite {
- @_ >= 2 && @_ <= 4 or croak 'usage: $io->syswrite(BUF [, LEN [, OFFSET]])';
- if (defined($_[2])) {
- syswrite($_[0], $_[1], $_[2], $_[3] || 0);
- } else {
- syswrite($_[0], $_[1]);
- }
-}
-
-sub stat {
- @_ == 1 or croak 'usage: $io->stat()';
- stat($_[0]);
-}
-
-################################################
-## State modification functions.
-##
-
-sub autoflush {
- my $old = new SelectSaver qualify($_[0], caller);
- my $prev = $|;
- $| = @_ > 1 ? $_[1] : 1;
- $prev;
-}
-
-sub output_field_separator {
- carp "output_field_separator is not supported on a per-handle basis"
- if ref($_[0]);
- my $prev = $,;
- $, = $_[1] if @_ > 1;
- $prev;
-}
-
-sub output_record_separator {
- carp "output_record_separator is not supported on a per-handle basis"
- if ref($_[0]);
- my $prev = $\;
- $\ = $_[1] if @_ > 1;
- $prev;
-}
-
-sub input_record_separator {
- carp "input_record_separator is not supported on a per-handle basis"
- if ref($_[0]);
- my $prev = $/;
- $/ = $_[1] if @_ > 1;
- $prev;
-}
-
-sub input_line_number {
- local $.;
- () = tell qualify($_[0], caller) if ref($_[0]);
- my $prev = $.;
- $. = $_[1] if @_ > 1;
- $prev;
-}
-
-sub format_page_number {
- my $old;
- $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
- my $prev = $%;
- $% = $_[1] if @_ > 1;
- $prev;
-}
-
-sub format_lines_per_page {
- my $old;
- $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
- my $prev = $=;
- $= = $_[1] if @_ > 1;
- $prev;
-}
-
-sub format_lines_left {
- my $old;
- $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
- my $prev = $-;
- $- = $_[1] if @_ > 1;
- $prev;
-}
-
-sub format_name {
- my $old;
- $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
- my $prev = $~;
- $~ = qualify($_[1], caller) if @_ > 1;
- $prev;
-}
-
-sub format_top_name {
- my $old;
- $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
- my $prev = $^;
- $^ = qualify($_[1], caller) if @_ > 1;
- $prev;
-}
-
-sub format_line_break_characters {
- carp "format_line_break_characters is not supported on a per-handle basis"
- if ref($_[0]);
- my $prev = $:;
- $: = $_[1] if @_ > 1;
- $prev;
-}
-
-sub format_formfeed {
- carp "format_formfeed is not supported on a per-handle basis"
- if ref($_[0]);
- my $prev = $^L;
- $^L = $_[1] if @_ > 1;
- $prev;
-}
-
-sub formline {
- my $io = shift;
- my $picture = shift;
- local($^A) = $^A;
- local($\) = "";
- formline($picture, @_);
- print $io $^A;
-}
-
-sub format_write {
- @_ < 3 || croak 'usage: $io->write( [FORMAT_NAME] )';
- if (@_ == 2) {
- my ($io, $fmt) = @_;
- my $oldfmt = $io->format_name(qualify($fmt,caller));
- CORE::write($io);
- $io->format_name($oldfmt);
- } else {
- CORE::write($_[0]);
- }
-}
-
-# XXX undocumented
-sub fcntl {
- @_ == 3 || croak 'usage: $io->fcntl( OP, VALUE );';
- my ($io, $op) = @_;
- return fcntl($io, $op, $_[2]);
-}
-
-# XXX undocumented
-sub ioctl {
- @_ == 3 || croak 'usage: $io->ioctl( OP, VALUE );';
- my ($io, $op) = @_;
- return ioctl($io, $op, $_[2]);
-}
-
-# this sub is for compatability with older releases of IO that used
-# a sub called constant to detemine if a constant existed -- GMB
-#
-# The SEEK_* and _IO?BF constants were the only constants at that time
-# any new code should just chech defined(&CONSTANT_NAME)
-
-sub constant {
- no strict 'refs';
- my $name = shift;
- (($name =~ /^(SEEK_(SET|CUR|END)|_IO[FLN]BF)$/) && defined &{$name})
- ? &{$name}() : undef;
-}
-
-
-# so that flush.pl can be deprecated
-
-sub printflush {
- my $io = shift;
- my $old;
- $old = new SelectSaver qualify($io, caller) if ref($io);
- local $| = 1;
- if(ref($io)) {
- print $io @_;
- }
- else {
- print @_;
- }
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Pipe.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Pipe.pm
deleted file mode 100644
index 827cc48bfcd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Pipe.pm
+++ /dev/null
@@ -1,257 +0,0 @@
-# IO::Pipe.pm
-#
-# Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Pipe;
-
-use 5.006_001;
-
-use IO::Handle;
-use strict;
-our($VERSION);
-use Carp;
-use Symbol;
-
-$VERSION = "1.13";
-
-sub new {
- my $type = shift;
- my $class = ref($type) || $type || "IO::Pipe";
- @_ == 0 || @_ == 2 or croak "usage: new $class [READFH, WRITEFH]";
-
- my $me = bless gensym(), $class;
-
- my($readfh,$writefh) = @_ ? @_ : $me->handles;
-
- pipe($readfh, $writefh)
- or return undef;
-
- @{*$me} = ($readfh, $writefh);
-
- $me;
-}
-
-sub handles {
- @_ == 1 or croak 'usage: $pipe->handles()';
- (IO::Pipe::End->new(), IO::Pipe::End->new());
-}
-
-my $do_spawn = $^O eq 'os2' || $^O eq 'MSWin32';
-
-sub _doit {
- my $me = shift;
- my $rw = shift;
-
- my $pid = $do_spawn ? 0 : fork();
-
- if($pid) { # Parent
- return $pid;
- }
- elsif(defined $pid) { # Child or spawn
- my $fh;
- my $io = $rw ? \*STDIN : \*STDOUT;
- my ($mode, $save) = $rw ? "r" : "w";
- if ($do_spawn) {
- require Fcntl;
- $save = IO::Handle->new_from_fd($io, $mode);
- my $handle = shift;
- # Close in child:
- unless ($^O eq 'MSWin32') {
- fcntl($handle, Fcntl::F_SETFD(), 1) or croak "fcntl: $!";
- }
- $fh = $rw ? ${*$me}[0] : ${*$me}[1];
- } else {
- shift;
- $fh = $rw ? $me->reader() : $me->writer(); # close the other end
- }
- bless $io, "IO::Handle";
- $io->fdopen($fh, $mode);
- $fh->close;
-
- if ($do_spawn) {
- $pid = eval { system 1, @_ }; # 1 == P_NOWAIT
- my $err = $!;
-
- $io->fdopen($save, $mode);
- $save->close or croak "Cannot close $!";
- croak "IO::Pipe: Cannot spawn-NOWAIT: $err" if not $pid or $pid < 0;
- return $pid;
- } else {
- exec @_ or
- croak "IO::Pipe: Cannot exec: $!";
- }
- }
- else {
- croak "IO::Pipe: Cannot fork: $!";
- }
-
- # NOT Reached
-}
-
-sub reader {
- @_ >= 1 or croak 'usage: $pipe->reader( [SUB_COMMAND_ARGS] )';
- my $me = shift;
-
- return undef
- unless(ref($me) || ref($me = $me->new));
-
- my $fh = ${*$me}[0];
- my $pid;
- $pid = $me->_doit(0, $fh, @_)
- if(@_);
-
- close ${*$me}[1];
- bless $me, ref($fh);
- *$me = *$fh; # Alias self to handle
- $me->fdopen($fh->fileno,"r")
- unless defined($me->fileno);
- bless $fh; # Really wan't un-bless here
- ${*$me}{'io_pipe_pid'} = $pid
- if defined $pid;
-
- $me;
-}
-
-sub writer {
- @_ >= 1 or croak 'usage: $pipe->writer( [SUB_COMMAND_ARGS] )';
- my $me = shift;
-
- return undef
- unless(ref($me) || ref($me = $me->new));
-
- my $fh = ${*$me}[1];
- my $pid;
- $pid = $me->_doit(1, $fh, @_)
- if(@_);
-
- close ${*$me}[0];
- bless $me, ref($fh);
- *$me = *$fh; # Alias self to handle
- $me->fdopen($fh->fileno,"w")
- unless defined($me->fileno);
- bless $fh; # Really wan't un-bless here
- ${*$me}{'io_pipe_pid'} = $pid
- if defined $pid;
-
- $me;
-}
-
-package IO::Pipe::End;
-
-our(@ISA);
-
-@ISA = qw(IO::Handle);
-
-sub close {
- my $fh = shift;
- my $r = $fh->SUPER::close(@_);
-
- waitpid(${*$fh}{'io_pipe_pid'},0)
- if(defined ${*$fh}{'io_pipe_pid'});
-
- $r;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Pipe - supply object methods for pipes
-
-=head1 SYNOPSIS
-
- use IO::Pipe;
-
- $pipe = new IO::Pipe;
-
- if($pid = fork()) { # Parent
- $pipe->reader();
-
- while(<$pipe>) {
- ...
- }
-
- }
- elsif(defined $pid) { # Child
- $pipe->writer();
-
- print $pipe ...
- }
-
- or
-
- $pipe = new IO::Pipe;
-
- $pipe->reader(qw(ls -l));
-
- while(<$pipe>) {
- ...
- }
-
-=head1 DESCRIPTION
-
-C<IO::Pipe> provides an interface to creating pipes between
-processes.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( [READER, WRITER] )
-
-Creates an C<IO::Pipe>, which is a reference to a newly created symbol
-(see the C<Symbol> package). C<IO::Pipe::new> optionally takes two
-arguments, which should be objects blessed into C<IO::Handle>, or a
-subclass thereof. These two objects will be used for the system call
-to C<pipe>. If no arguments are given then method C<handles> is called
-on the new C<IO::Pipe> object.
-
-These two handles are held in the array part of the GLOB until either
-C<reader> or C<writer> is called.
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item reader ([ARGS])
-
-The object is re-blessed into a sub-class of C<IO::Handle>, and becomes a
-handle at the reading end of the pipe. If C<ARGS> are given then C<fork>
-is called and C<ARGS> are passed to exec.
-
-=item writer ([ARGS])
-
-The object is re-blessed into a sub-class of C<IO::Handle>, and becomes a
-handle at the writing end of the pipe. If C<ARGS> are given then C<fork>
-is called and C<ARGS> are passed to exec.
-
-=item handles ()
-
-This method is called during construction by C<IO::Pipe::new>
-on the newly created C<IO::Pipe> object. It returns an array of two objects
-blessed into C<IO::Pipe::End>, or a subclass thereof.
-
-=back
-
-=head1 SEE ALSO
-
-L<IO::Handle>
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/Poll.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Poll.pm
deleted file mode 100644
index e7fb0135069..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Poll.pm
+++ /dev/null
@@ -1,209 +0,0 @@
-
-# IO::Poll.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Poll;
-
-use strict;
-use IO::Handle;
-use Exporter ();
-our(@ISA, @EXPORT_OK, @EXPORT, $VERSION);
-
-@ISA = qw(Exporter);
-$VERSION = "0.07";
-
-@EXPORT = qw( POLLIN
- POLLOUT
- POLLERR
- POLLHUP
- POLLNVAL
- );
-
-@EXPORT_OK = qw(
- POLLPRI
- POLLRDNORM
- POLLWRNORM
- POLLRDBAND
- POLLWRBAND
- POLLNORM
- );
-
-# [0] maps fd's to requested masks
-# [1] maps fd's to returned masks
-# [2] maps fd's to handles
-sub new {
- my $class = shift;
-
- my $self = bless [{},{},{}], $class;
-
- $self;
-}
-
-sub mask {
- my $self = shift;
- my $io = shift;
- my $fd = fileno($io);
- return unless defined $fd;
- if (@_) {
- my $mask = shift;
- if($mask) {
- $self->[0]{$fd}{$io} = $mask; # the error events are always returned
- $self->[1]{$fd} = 0; # output mask
- $self->[2]{$io} = $io; # remember handle
- } else {
- delete $self->[0]{$fd}{$io};
- unless(%{$self->[0]{$fd}}) {
- # We no longer have any handles for this FD
- delete $self->[1]{$fd};
- delete $self->[0]{$fd};
- }
- delete $self->[2]{$io};
- }
- }
-
- return unless exists $self->[0]{$fd} and exists $self->[0]{$fd}{$io};
- return $self->[0]{$fd}{$io};
-}
-
-
-sub poll {
- my($self,$timeout) = @_;
-
- $self->[1] = {};
-
- my($fd,$mask,$iom);
- my @poll = ();
-
- while(($fd,$iom) = each %{$self->[0]}) {
- $mask = 0;
- $mask |= $_ for values(%$iom);
- push(@poll,$fd => $mask);
- }
-
- my $ret = @poll ? _poll(defined($timeout) ? $timeout * 1000 : -1,@poll) : 0;
-
- return $ret
- unless $ret > 0;
-
- while(@poll) {
- my($fd,$got) = splice(@poll,0,2);
- $self->[1]{$fd} = $got if $got;
- }
-
- return $ret;
-}
-
-sub events {
- my $self = shift;
- my $io = shift;
- my $fd = fileno($io);
- exists $self->[1]{$fd} and exists $self->[0]{$fd}{$io}
- ? $self->[1]{$fd} & ($self->[0]{$fd}{$io}|POLLHUP|POLLERR|POLLNVAL)
- : 0;
-}
-
-sub remove {
- my $self = shift;
- my $io = shift;
- $self->mask($io,0);
-}
-
-sub handles {
- my $self = shift;
- return values %{$self->[2]} unless @_;
-
- my $events = shift || 0;
- my($fd,$ev,$io,$mask);
- my @handles = ();
-
- while(($fd,$ev) = each %{$self->[1]}) {
- while (($io,$mask) = each %{$self->[0]{$fd}}) {
- $mask |= POLLHUP|POLLERR|POLLNVAL; # must allow these
- push @handles,$self->[2]{$io} if ($ev & $mask) & $events;
- }
- }
- return @handles;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Poll - Object interface to system poll call
-
-=head1 SYNOPSIS
-
- use IO::Poll qw(POLLRDNORM POLLWRNORM POLLIN POLLHUP);
-
- $poll = new IO::Poll;
-
- $poll->mask($input_handle => POLLIN);
- $poll->mask($output_handle => POLLOUT);
-
- $poll->poll($timeout);
-
- $ev = $poll->events($input);
-
-=head1 DESCRIPTION
-
-C<IO::Poll> is a simple interface to the system level poll routine.
-
-=head1 METHODS
-
-=over 4
-
-=item mask ( IO [, EVENT_MASK ] )
-
-If EVENT_MASK is given, then, if EVENT_MASK is non-zero, IO is added to the
-list of file descriptors and the next call to poll will check for
-any event specified in EVENT_MASK. If EVENT_MASK is zero then IO will be
-removed from the list of file descriptors.
-
-If EVENT_MASK is not given then the return value will be the current
-event mask value for IO.
-
-=item poll ( [ TIMEOUT ] )
-
-Call the system level poll routine. If TIMEOUT is not specified then the
-call will block. Returns the number of handles which had events
-happen, or -1 on error.
-
-=item events ( IO )
-
-Returns the event mask which represents the events that happened on IO
-during the last call to C<poll>.
-
-=item remove ( IO )
-
-Remove IO from the list of file descriptors for the next poll.
-
-=item handles( [ EVENT_MASK ] )
-
-Returns a list of handles. If EVENT_MASK is not given then a list of all
-handles known will be returned. If EVENT_MASK is given then a list
-of handles will be returned which had one of the events specified by
-EVENT_MASK happen during the last call ti C<poll>
-
-=back
-
-=head1 SEE ALSO
-
-L<poll(2)>, L<IO::Handle>, L<IO::Select>
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/Seekable.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Seekable.pm
deleted file mode 100644
index db1effda287..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Seekable.pm
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-
-package IO::Seekable;
-
-=head1 NAME
-
-IO::Seekable - supply seek based methods for I/O objects
-
-=head1 SYNOPSIS
-
- use IO::Seekable;
- package IO::Something;
- @ISA = qw(IO::Seekable);
-
-=head1 DESCRIPTION
-
-C<IO::Seekable> does not have a constructor of its own as it is intended to
-be inherited by other C<IO::Handle> based objects. It provides methods
-which allow seeking of the file descriptors.
-
-=over 4
-
-=item $io->getpos
-
-Returns an opaque value that represents the current position of the
-IO::File, or C<undef> if this is not possible (eg an unseekable stream such
-as a terminal, pipe or socket). If the fgetpos() function is available in
-your C library it is used to implements getpos, else perl emulates getpos
-using C's ftell() function.
-
-=item $io->setpos
-
-Uses the value of a previous getpos call to return to a previously visited
-position. Returns "0 but true" on success, C<undef> on failure.
-
-=back
-
-See L<perlfunc> for complete descriptions of each of the following
-supported C<IO::Seekable> methods, which are just front ends for the
-corresponding built-in functions:
-
-=over 4
-
-=item $io->seek ( POS, WHENCE )
-
-Seek the IO::File to position POS, relative to WHENCE:
-
-=over 8
-
-=item WHENCE=0 (SEEK_SET)
-
-POS is absolute position. (Seek relative to the start of the file)
-
-=item WHENCE=1 (SEEK_CUR)
-
-POS is an offset from the current position. (Seek relative to current)
-
-=item WHENCE=2 (SEEK_END)
-
-POS is an offset from the end of the file. (Seek relative to end)
-
-=back
-
-The SEEK_* constants can be imported from the C<Fcntl> module if you
-don't wish to use the numbers C<0> C<1> or C<2> in your code.
-
-Returns C<1> upon success, C<0> otherwise.
-
-=item $io->sysseek( POS, WHENCE )
-
-Similar to $io->seek, but sets the IO::File's position using the system
-call lseek(2) directly, so will confuse most perl IO operators except
-sysread and syswrite (see L<perlfunc> for full details)
-
-Returns the new position, or C<undef> on failure. A position
-of zero is returned as the string C<"0 but true">
-
-=item $io->tell
-
-Returns the IO::File's current position, or -1 on error.
-
-=back
-
-=head1 SEE ALSO
-
-L<perlfunc>,
-L<perlop/"I/O Operators">,
-L<IO::Handle>
-L<IO::File>
-
-=head1 HISTORY
-
-Derived from FileHandle.pm by Graham Barr E<lt>gbarr@pobox.comE<gt>
-
-=cut
-
-use 5.006_001;
-use Carp;
-use strict;
-our($VERSION, @EXPORT, @ISA);
-use IO::Handle ();
-# XXX we can't get these from IO::Handle or we'll get prototype
-# mismatch warnings on C<use POSIX; use IO::File;> :-(
-use Fcntl qw(SEEK_SET SEEK_CUR SEEK_END);
-require Exporter;
-
-@EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END);
-@ISA = qw(Exporter);
-
-$VERSION = "1.10";
-$VERSION = eval $VERSION;
-
-sub seek {
- @_ == 3 or croak 'usage: $io->seek(POS, WHENCE)';
- seek($_[0], $_[1], $_[2]);
-}
-
-sub sysseek {
- @_ == 3 or croak 'usage: $io->sysseek(POS, WHENCE)';
- sysseek($_[0], $_[1], $_[2]);
-}
-
-sub tell {
- @_ == 1 or croak 'usage: $io->tell()';
- tell($_[0]);
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Select.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Select.pm
deleted file mode 100644
index fc05fe70e9c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Select.pm
+++ /dev/null
@@ -1,381 +0,0 @@
-# IO::Select.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Select;
-
-use strict;
-use warnings::register;
-use vars qw($VERSION @ISA);
-require Exporter;
-
-$VERSION = "1.17";
-
-@ISA = qw(Exporter); # This is only so we can do version checking
-
-sub VEC_BITS () {0}
-sub FD_COUNT () {1}
-sub FIRST_FD () {2}
-
-sub new
-{
- my $self = shift;
- my $type = ref($self) || $self;
-
- my $vec = bless [undef,0], $type;
-
- $vec->add(@_)
- if @_;
-
- $vec;
-}
-
-sub add
-{
- shift->_update('add', @_);
-}
-
-
-sub remove
-{
- shift->_update('remove', @_);
-}
-
-
-sub exists
-{
- my $vec = shift;
- my $fno = $vec->_fileno(shift);
- return undef unless defined $fno;
- $vec->[$fno + FIRST_FD];
-}
-
-
-sub _fileno
-{
- my($self, $f) = @_;
- return unless defined $f;
- $f = $f->[0] if ref($f) eq 'ARRAY';
- ($f =~ /^\d+$/) ? $f : fileno($f);
-}
-
-sub _update
-{
- my $vec = shift;
- my $add = shift eq 'add';
-
- my $bits = $vec->[VEC_BITS];
- $bits = '' unless defined $bits;
-
- my $count = 0;
- my $f;
- foreach $f (@_)
- {
- my $fn = $vec->_fileno($f);
- next unless defined $fn;
- my $i = $fn + FIRST_FD;
- if ($add) {
- if (defined $vec->[$i]) {
- $vec->[$i] = $f; # if array rest might be different, so we update
- next;
- }
- $vec->[FD_COUNT]++;
- vec($bits, $fn, 1) = 1;
- $vec->[$i] = $f;
- } else { # remove
- next unless defined $vec->[$i];
- $vec->[FD_COUNT]--;
- vec($bits, $fn, 1) = 0;
- $vec->[$i] = undef;
- }
- $count++;
- }
- $vec->[VEC_BITS] = $vec->[FD_COUNT] ? $bits : undef;
- $count;
-}
-
-sub can_read
-{
- my $vec = shift;
- my $timeout = shift;
- my $r = $vec->[VEC_BITS];
-
- defined($r) && (select($r,undef,undef,$timeout) > 0)
- ? handles($vec, $r)
- : ();
-}
-
-sub can_write
-{
- my $vec = shift;
- my $timeout = shift;
- my $w = $vec->[VEC_BITS];
-
- defined($w) && (select(undef,$w,undef,$timeout) > 0)
- ? handles($vec, $w)
- : ();
-}
-
-sub has_exception
-{
- my $vec = shift;
- my $timeout = shift;
- my $e = $vec->[VEC_BITS];
-
- defined($e) && (select(undef,undef,$e,$timeout) > 0)
- ? handles($vec, $e)
- : ();
-}
-
-sub has_error
-{
- warnings::warn("Call to deprecated method 'has_error', use 'has_exception'")
- if warnings::enabled();
- goto &has_exception;
-}
-
-sub count
-{
- my $vec = shift;
- $vec->[FD_COUNT];
-}
-
-sub bits
-{
- my $vec = shift;
- $vec->[VEC_BITS];
-}
-
-sub as_string # for debugging
-{
- my $vec = shift;
- my $str = ref($vec) . ": ";
- my $bits = $vec->bits;
- my $count = $vec->count;
- $str .= defined($bits) ? unpack("b*", $bits) : "undef";
- $str .= " $count";
- my @handles = @$vec;
- splice(@handles, 0, FIRST_FD);
- for (@handles) {
- $str .= " " . (defined($_) ? "$_" : "-");
- }
- $str;
-}
-
-sub _max
-{
- my($a,$b,$c) = @_;
- $a > $b
- ? $a > $c
- ? $a
- : $c
- : $b > $c
- ? $b
- : $c;
-}
-
-sub select
-{
- shift
- if defined $_[0] && !ref($_[0]);
-
- my($r,$w,$e,$t) = @_;
- my @result = ();
-
- my $rb = defined $r ? $r->[VEC_BITS] : undef;
- my $wb = defined $w ? $w->[VEC_BITS] : undef;
- my $eb = defined $e ? $e->[VEC_BITS] : undef;
-
- if(select($rb,$wb,$eb,$t) > 0)
- {
- my @r = ();
- my @w = ();
- my @e = ();
- my $i = _max(defined $r ? scalar(@$r)-1 : 0,
- defined $w ? scalar(@$w)-1 : 0,
- defined $e ? scalar(@$e)-1 : 0);
-
- for( ; $i >= FIRST_FD ; $i--)
- {
- my $j = $i - FIRST_FD;
- push(@r, $r->[$i])
- if defined $rb && defined $r->[$i] && vec($rb, $j, 1);
- push(@w, $w->[$i])
- if defined $wb && defined $w->[$i] && vec($wb, $j, 1);
- push(@e, $e->[$i])
- if defined $eb && defined $e->[$i] && vec($eb, $j, 1);
- }
-
- @result = (\@r, \@w, \@e);
- }
- @result;
-}
-
-
-sub handles
-{
- my $vec = shift;
- my $bits = shift;
- my @h = ();
- my $i;
- my $max = scalar(@$vec) - 1;
-
- for ($i = FIRST_FD; $i <= $max; $i++)
- {
- next unless defined $vec->[$i];
- push(@h, $vec->[$i])
- if !defined($bits) || vec($bits, $i - FIRST_FD, 1);
- }
-
- @h;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-IO::Select - OO interface to the select system call
-
-=head1 SYNOPSIS
-
- use IO::Select;
-
- $s = IO::Select->new();
-
- $s->add(\*STDIN);
- $s->add($some_handle);
-
- @ready = $s->can_read($timeout);
-
- @ready = IO::Select->new(@handles)->can_read(0);
-
-=head1 DESCRIPTION
-
-The C<IO::Select> package implements an object approach to the system C<select>
-function call. It allows the user to see what IO handles, see L<IO::Handle>,
-are ready for reading, writing or have an exception pending.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( [ HANDLES ] )
-
-The constructor creates a new object and optionally initialises it with a set
-of handles.
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item add ( HANDLES )
-
-Add the list of handles to the C<IO::Select> object. It is these values that
-will be returned when an event occurs. C<IO::Select> keeps these values in a
-cache which is indexed by the C<fileno> of the handle, so if more than one
-handle with the same C<fileno> is specified then only the last one is cached.
-
-Each handle can be an C<IO::Handle> object, an integer or an array
-reference where the first element is an C<IO::Handle> or an integer.
-
-=item remove ( HANDLES )
-
-Remove all the given handles from the object. This method also works
-by the C<fileno> of the handles. So the exact handles that were added
-need not be passed, just handles that have an equivalent C<fileno>
-
-=item exists ( HANDLE )
-
-Returns a true value (actually the handle itself) if it is present.
-Returns undef otherwise.
-
-=item handles
-
-Return an array of all registered handles.
-
-=item can_read ( [ TIMEOUT ] )
-
-Return an array of handles that are ready for reading. C<TIMEOUT> is
-the maximum amount of time to wait before returning an empty list, in
-seconds, possibly fractional. If C<TIMEOUT> is not given and any
-handles are registered then the call will block.
-
-=item can_write ( [ TIMEOUT ] )
-
-Same as C<can_read> except check for handles that can be written to.
-
-=item has_exception ( [ TIMEOUT ] )
-
-Same as C<can_read> except check for handles that have an exception
-condition, for example pending out-of-band data.
-
-=item count ()
-
-Returns the number of handles that the object will check for when
-one of the C<can_> methods is called or the object is passed to
-the C<select> static method.
-
-=item bits()
-
-Return the bit string suitable as argument to the core select() call.
-
-=item select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )
-
-C<select> is a static method, that is you call it with the package name
-like C<new>. C<READ>, C<WRITE> and C<EXCEPTION> are either C<undef> or
-C<IO::Select> objects. C<TIMEOUT> is optional and has the same effect as
-for the core select call.
-
-The result will be an array of 3 elements, each a reference to an array
-which will hold the handles that are ready for reading, writing and have
-exceptions respectively. Upon error an empty list is returned.
-
-=back
-
-=head1 EXAMPLE
-
-Here is a short example which shows how C<IO::Select> could be used
-to write a server which communicates with several sockets while also
-listening for more connections on a listen socket
-
- use IO::Select;
- use IO::Socket;
-
- $lsn = new IO::Socket::INET(Listen => 1, LocalPort => 8080);
- $sel = new IO::Select( $lsn );
-
- while(@ready = $sel->can_read) {
- foreach $fh (@ready) {
- if($fh == $lsn) {
- # Create a new socket
- $new = $lsn->accept;
- $sel->add($new);
- }
- else {
- # Process socket
-
- # Maybe we have finished with the socket
- $sel->remove($fh);
- $fh->close;
- }
- }
- }
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/Socket.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket.pm
deleted file mode 100644
index f1fcddedaff..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket.pm
+++ /dev/null
@@ -1,529 +0,0 @@
-# IO::Socket.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Socket;
-
-require 5.006;
-
-use IO::Handle;
-use Socket 1.3;
-use Carp;
-use strict;
-our(@ISA, $VERSION, @EXPORT_OK);
-use Exporter;
-use Errno;
-
-# legacy
-
-require IO::Socket::INET;
-require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
-
-@ISA = qw(IO::Handle);
-
-$VERSION = "1.30_01";
-
-@EXPORT_OK = qw(sockatmark);
-
-sub import {
- my $pkg = shift;
- if (@_ && $_[0] eq 'sockatmark') { # not very extensible but for now, fast
- Exporter::export_to_level('IO::Socket', 1, $pkg, 'sockatmark');
- } else {
- my $callpkg = caller;
- Exporter::export 'Socket', $callpkg, @_;
- }
-}
-
-sub new {
- my($class,%arg) = @_;
- my $sock = $class->SUPER::new();
-
- $sock->autoflush(1);
-
- ${*$sock}{'io_socket_timeout'} = delete $arg{Timeout};
-
- return scalar(%arg) ? $sock->configure(\%arg)
- : $sock;
-}
-
-my @domain2pkg;
-
-sub register_domain {
- my($p,$d) = @_;
- $domain2pkg[$d] = $p;
-}
-
-sub configure {
- my($sock,$arg) = @_;
- my $domain = delete $arg->{Domain};
-
- croak 'IO::Socket: Cannot configure a generic socket'
- unless defined $domain;
-
- croak "IO::Socket: Unsupported socket domain"
- unless defined $domain2pkg[$domain];
-
- croak "IO::Socket: Cannot configure socket in domain '$domain'"
- unless ref($sock) eq "IO::Socket";
-
- bless($sock, $domain2pkg[$domain]);
- $sock->configure($arg);
-}
-
-sub socket {
- @_ == 4 or croak 'usage: $sock->socket(DOMAIN, TYPE, PROTOCOL)';
- my($sock,$domain,$type,$protocol) = @_;
-
- socket($sock,$domain,$type,$protocol) or
- return undef;
-
- ${*$sock}{'io_socket_domain'} = $domain;
- ${*$sock}{'io_socket_type'} = $type;
- ${*$sock}{'io_socket_proto'} = $protocol;
-
- $sock;
-}
-
-sub socketpair {
- @_ == 4 || croak 'usage: IO::Socket->socketpair(DOMAIN, TYPE, PROTOCOL)';
- my($class,$domain,$type,$protocol) = @_;
- my $sock1 = $class->new();
- my $sock2 = $class->new();
-
- socketpair($sock1,$sock2,$domain,$type,$protocol) or
- return ();
-
- ${*$sock1}{'io_socket_type'} = ${*$sock2}{'io_socket_type'} = $type;
- ${*$sock1}{'io_socket_proto'} = ${*$sock2}{'io_socket_proto'} = $protocol;
-
- ($sock1,$sock2);
-}
-
-sub connect {
- @_ == 2 or croak 'usage: $sock->connect(NAME)';
- my $sock = shift;
- my $addr = shift;
- my $timeout = ${*$sock}{'io_socket_timeout'};
- my $err;
- my $blocking;
-
- $blocking = $sock->blocking(0) if $timeout;
- if (!connect($sock, $addr)) {
- if (defined $timeout && ($!{EINPROGRESS} || $!{EWOULDBLOCK})) {
- require IO::Select;
-
- my $sel = new IO::Select $sock;
-
- undef $!;
- if (!$sel->can_write($timeout)) {
- $err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
- $@ = "connect: timeout";
- }
- elsif (!connect($sock,$addr) &&
- not ($!{EISCONN} || ($! == 10022 && $^O eq 'MSWin32'))
- ) {
- # Some systems refuse to re-connect() to
- # an already open socket and set errno to EISCONN.
- # Windows sets errno to WSAEINVAL (10022)
- $err = $!;
- $@ = "connect: $!";
- }
- }
- elsif ($blocking || !($!{EINPROGRESS} || $!{EWOULDBLOCK})) {
- $err = $!;
- $@ = "connect: $!";
- }
- }
-
- $sock->blocking(1) if $blocking;
-
- $! = $err if $err;
-
- $err ? undef : $sock;
-}
-
-# Enable/disable blocking IO on sockets.
-# Without args return the current status of blocking,
-# with args change the mode as appropriate, returning the
-# old setting, or in case of error during the mode change
-# undef.
-
-sub blocking {
- my $sock = shift;
-
- return $sock->SUPER::blocking(@_)
- if $^O ne 'MSWin32';
-
- # Windows handles blocking differently
- #
- # http://groups.google.co.uk/group/perl.perl5.porters/browse_thread/thread/b4e2b1d88280ddff/630b667a66e3509f?#630b667a66e3509f
- # http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/ioctlsocket_2.asp
- #
- # 0x8004667e is FIONBIO
- #
- # which is used to set blocking behaviour.
-
- # NOTE:
- # This is a little confusing, the perl keyword for this is
- # 'blocking' but the OS level behaviour is 'non-blocking', probably
- # because sockets are blocking by default.
- # Therefore internally we have to reverse the semantics.
-
- my $orig= !${*$sock}{io_sock_nonblocking};
-
- return $orig unless @_;
-
- my $block = shift;
-
- if ( !$block != !$orig ) {
- ${*$sock}{io_sock_nonblocking} = $block ? 0 : 1;
- ioctl($sock, 0x8004667e, pack("L!",${*$sock}{io_sock_nonblocking}))
- or return undef;
- }
-
- return $orig;
-}
-
-
-sub close {
- @_ == 1 or croak 'usage: $sock->close()';
- my $sock = shift;
- ${*$sock}{'io_socket_peername'} = undef;
- $sock->SUPER::close();
-}
-
-sub bind {
- @_ == 2 or croak 'usage: $sock->bind(NAME)';
- my $sock = shift;
- my $addr = shift;
-
- return bind($sock, $addr) ? $sock
- : undef;
-}
-
-sub listen {
- @_ >= 1 && @_ <= 2 or croak 'usage: $sock->listen([QUEUE])';
- my($sock,$queue) = @_;
- $queue = 5
- unless $queue && $queue > 0;
-
- return listen($sock, $queue) ? $sock
- : undef;
-}
-
-sub accept {
- @_ == 1 || @_ == 2 or croak 'usage $sock->accept([PKG])';
- my $sock = shift;
- my $pkg = shift || $sock;
- my $timeout = ${*$sock}{'io_socket_timeout'};
- my $new = $pkg->new(Timeout => $timeout);
- my $peer = undef;
-
- if(defined $timeout) {
- require IO::Select;
-
- my $sel = new IO::Select $sock;
-
- unless ($sel->can_read($timeout)) {
- $@ = 'accept: timeout';
- $! = (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
- return;
- }
- }
-
- $peer = accept($new,$sock)
- or return;
-
- return wantarray ? ($new, $peer)
- : $new;
-}
-
-sub sockname {
- @_ == 1 or croak 'usage: $sock->sockname()';
- getsockname($_[0]);
-}
-
-sub peername {
- @_ == 1 or croak 'usage: $sock->peername()';
- my($sock) = @_;
- ${*$sock}{'io_socket_peername'} ||= getpeername($sock);
-}
-
-sub connected {
- @_ == 1 or croak 'usage: $sock->connected()';
- my($sock) = @_;
- getpeername($sock);
-}
-
-sub send {
- @_ >= 2 && @_ <= 4 or croak 'usage: $sock->send(BUF, [FLAGS, [TO]])';
- my $sock = $_[0];
- my $flags = $_[2] || 0;
- my $peer = $_[3] || $sock->peername;
-
- croak 'send: Cannot determine peer address'
- unless(defined $peer);
-
- my $r = defined(getpeername($sock))
- ? send($sock, $_[1], $flags)
- : send($sock, $_[1], $flags, $peer);
-
- # remember who we send to, if it was successful
- ${*$sock}{'io_socket_peername'} = $peer
- if(@_ == 4 && defined $r);
-
- $r;
-}
-
-sub recv {
- @_ == 3 || @_ == 4 or croak 'usage: $sock->recv(BUF, LEN [, FLAGS])';
- my $sock = $_[0];
- my $len = $_[2];
- my $flags = $_[3] || 0;
-
- # remember who we recv'd from
- ${*$sock}{'io_socket_peername'} = recv($sock, $_[1]='', $len, $flags);
-}
-
-sub shutdown {
- @_ == 2 or croak 'usage: $sock->shutdown(HOW)';
- my($sock, $how) = @_;
- ${*$sock}{'io_socket_peername'} = undef;
- shutdown($sock, $how);
-}
-
-sub setsockopt {
- @_ == 4 or croak '$sock->setsockopt(LEVEL, OPTNAME, OPTVAL)';
- setsockopt($_[0],$_[1],$_[2],$_[3]);
-}
-
-my $intsize = length(pack("i",0));
-
-sub getsockopt {
- @_ == 3 or croak '$sock->getsockopt(LEVEL, OPTNAME)';
- my $r = getsockopt($_[0],$_[1],$_[2]);
- # Just a guess
- $r = unpack("i", $r)
- if(defined $r && length($r) == $intsize);
- $r;
-}
-
-sub sockopt {
- my $sock = shift;
- @_ == 1 ? $sock->getsockopt(SOL_SOCKET,@_)
- : $sock->setsockopt(SOL_SOCKET,@_);
-}
-
-sub atmark {
- @_ == 1 or croak 'usage: $sock->atmark()';
- my($sock) = @_;
- sockatmark($sock);
-}
-
-sub timeout {
- @_ == 1 || @_ == 2 or croak 'usage: $sock->timeout([VALUE])';
- my($sock,$val) = @_;
- my $r = ${*$sock}{'io_socket_timeout'};
-
- ${*$sock}{'io_socket_timeout'} = defined $val ? 0 + $val : $val
- if(@_ == 2);
-
- $r;
-}
-
-sub sockdomain {
- @_ == 1 or croak 'usage: $sock->sockdomain()';
- my $sock = shift;
- ${*$sock}{'io_socket_domain'};
-}
-
-sub socktype {
- @_ == 1 or croak 'usage: $sock->socktype()';
- my $sock = shift;
- ${*$sock}{'io_socket_type'}
-}
-
-sub protocol {
- @_ == 1 or croak 'usage: $sock->protocol()';
- my($sock) = @_;
- ${*$sock}{'io_socket_proto'};
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Socket - Object interface to socket communications
-
-=head1 SYNOPSIS
-
- use IO::Socket;
-
-=head1 DESCRIPTION
-
-C<IO::Socket> provides an object interface to creating and using sockets. It
-is built upon the L<IO::Handle> interface and inherits all the methods defined
-by L<IO::Handle>.
-
-C<IO::Socket> only defines methods for those operations which are common to all
-types of socket. Operations which are specified to a socket in a particular
-domain have methods defined in sub classes of C<IO::Socket>
-
-C<IO::Socket> will export all functions (and constants) defined by L<Socket>.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( [ARGS] )
-
-Creates an C<IO::Socket>, which is a reference to a
-newly created symbol (see the C<Symbol> package). C<new>
-optionally takes arguments, these arguments are in key-value pairs.
-C<new> only looks for one key C<Domain> which tells new which domain
-the socket will be in. All other arguments will be passed to the
-configuration method of the package for that domain, See below.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-As of VERSION 1.18 all IO::Socket objects have autoflush turned on
-by default. This was not the case with earlier releases.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-=back
-
-=head1 METHODS
-
-See L<perlfunc> for complete descriptions of each of the following
-supported C<IO::Socket> methods, which are just front ends for the
-corresponding built-in functions:
-
- socket
- socketpair
- bind
- listen
- accept
- send
- recv
- peername (getpeername)
- sockname (getsockname)
- shutdown
-
-Some methods take slightly different arguments to those defined in L<perlfunc>
-in attempt to make the interface more flexible. These are
-
-=over 4
-
-=item accept([PKG])
-
-perform the system call C<accept> on the socket and return a new
-object. The new object will be created in the same class as the listen
-socket, unless C<PKG> is specified. This object can be used to
-communicate with the client that was trying to connect.
-
-In a scalar context the new socket is returned, or undef upon
-failure. In a list context a two-element array is returned containing
-the new socket and the peer address; the list will be empty upon
-failure.
-
-The timeout in the [PKG] can be specified as zero to effect a "poll",
-but you shouldn't do that because a new IO::Select object will be
-created behind the scenes just to do the single poll. This is
-horrendously inefficient. Use rather true select() with a zero
-timeout on the handle, or non-blocking IO.
-
-=item socketpair(DOMAIN, TYPE, PROTOCOL)
-
-Call C<socketpair> and return a list of two sockets created, or an
-empty list on failure.
-
-=back
-
-Additional methods that are provided are:
-
-=over 4
-
-=item atmark
-
-True if the socket is currently positioned at the urgent data mark,
-false otherwise.
-
- use IO::Socket;
-
- my $sock = IO::Socket::INET->new('some_server');
- $sock->read($data, 1024) until $sock->atmark;
-
-Note: this is a reasonably new addition to the family of socket
-functions, so all systems may not support this yet. If it is
-unsupported by the system, an attempt to use this method will
-abort the program.
-
-The atmark() functionality is also exportable as sockatmark() function:
-
- use IO::Socket 'sockatmark';
-
-This allows for a more traditional use of sockatmark() as a procedural
-socket function. If your system does not support sockatmark(), the
-C<use> declaration will fail at compile time.
-
-=item connected
-
-If the socket is in a connected state the peer address is returned.
-If the socket is not in a connected state then undef will be returned.
-
-=item protocol
-
-Returns the numerical number for the protocol being used on the socket, if
-known. If the protocol is unknown, as with an AF_UNIX socket, zero
-is returned.
-
-=item sockdomain
-
-Returns the numerical number for the socket domain type. For example, for
-an AF_INET socket the value of &AF_INET will be returned.
-
-=item sockopt(OPT [, VAL])
-
-Unified method to both set and get options in the SOL_SOCKET level. If called
-with one argument then getsockopt is called, otherwise setsockopt is called.
-
-=item socktype
-
-Returns the numerical number for the socket type. For example, for
-a SOCK_STREAM socket the value of &SOCK_STREAM will be returned.
-
-=item timeout([VAL])
-
-Set or get the timeout value associated with this socket. If called without
-any arguments then the current setting is returned. If called with an argument
-the current setting is changed and the previous value returned.
-
-=back
-
-=head1 SEE ALSO
-
-L<Socket>, L<IO::Handle>, L<IO::Socket::INET>, L<IO::Socket::UNIX>
-
-=head1 AUTHOR
-
-Graham Barr. atmark() by Lincoln Stein. Currently maintained by the
-Perl Porters. Please report all bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-The atmark() implementation: Copyright 2001, Lincoln Stein <lstein@cshl.org>.
-This module is distributed under the same terms as Perl itself.
-Feel free to use, modify and redistribute it as long as you retain
-the correct attribution.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/INET.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/INET.pm
deleted file mode 100644
index 2f0e5d1d7a6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/INET.pm
+++ /dev/null
@@ -1,464 +0,0 @@
-# IO::Socket::INET.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Socket::INET;
-
-use strict;
-our(@ISA, $VERSION);
-use IO::Socket;
-use Socket;
-use Carp;
-use Exporter;
-use Errno;
-
-@ISA = qw(IO::Socket);
-$VERSION = "1.31";
-
-my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
-
-IO::Socket::INET->register_domain( AF_INET );
-
-my %socket_type = ( tcp => SOCK_STREAM,
- udp => SOCK_DGRAM,
- icmp => SOCK_RAW
- );
-my %proto_number;
-$proto_number{tcp} = Socket::IPPROTO_TCP() if defined &Socket::IPPROTO_TCP;
-$proto_number{udp} = Socket::IPPROTO_UDP() if defined &Socket::IPPROTO_UDP;
-$proto_number{icmp} = Socket::IPPROTO_ICMP() if defined &Socket::IPPROTO_ICMP;
-my %proto_name = reverse %proto_number;
-
-sub new {
- my $class = shift;
- unshift(@_, "PeerAddr") if @_ == 1;
- return $class->SUPER::new(@_);
-}
-
-sub _cache_proto {
- my @proto = @_;
- for (map lc($_), $proto[0], split(' ', $proto[1])) {
- $proto_number{$_} = $proto[2];
- }
- $proto_name{$proto[2]} = $proto[0];
-}
-
-sub _get_proto_number {
- my $name = lc(shift);
- return undef unless defined $name;
- return $proto_number{$name} if exists $proto_number{$name};
-
- my @proto = getprotobyname($name);
- return undef unless @proto;
- _cache_proto(@proto);
-
- return $proto[2];
-}
-
-sub _get_proto_name {
- my $num = shift;
- return undef unless defined $num;
- return $proto_name{$num} if exists $proto_name{$num};
-
- my @proto = getprotobynumber($num);
- return undef unless @proto;
- _cache_proto(@proto);
-
- return $proto[0];
-}
-
-sub _sock_info {
- my($addr,$port,$proto) = @_;
- my $origport = $port;
- my @serv = ();
-
- $port = $1
- if(defined $addr && $addr =~ s,:([\w\(\)/]+)$,,);
-
- if(defined $proto && $proto =~ /\D/) {
- my $num = _get_proto_number($proto);
- unless (defined $num) {
- $@ = "Bad protocol '$proto'";
- return;
- }
- $proto = $num;
- }
-
- if(defined $port) {
- my $defport = ($port =~ s,\((\d+)\)$,,) ? $1 : undef;
- my $pnum = ($port =~ m,^(\d+)$,)[0];
-
- @serv = getservbyname($port, _get_proto_name($proto) || "")
- if ($port =~ m,\D,);
-
- $port = $serv[2] || $defport || $pnum;
- unless (defined $port) {
- $@ = "Bad service '$origport'";
- return;
- }
-
- $proto = _get_proto_number($serv[3]) if @serv && !$proto;
- }
-
- return ($addr || undef,
- $port || undef,
- $proto || undef
- );
-}
-
-sub _error {
- my $sock = shift;
- my $err = shift;
- {
- local($!);
- my $title = ref($sock).": ";
- $@ = join("", $_[0] =~ /^$title/ ? "" : $title, @_);
- $sock->close()
- if(defined fileno($sock));
- }
- $! = $err;
- return undef;
-}
-
-sub _get_addr {
- my($sock,$addr_str, $multi) = @_;
- my @addr;
- if ($multi && $addr_str !~ /^\d+(?:\.\d+){3}$/) {
- (undef, undef, undef, undef, @addr) = gethostbyname($addr_str);
- } else {
- my $h = inet_aton($addr_str);
- push(@addr, $h) if defined $h;
- }
- @addr;
-}
-
-sub configure {
- my($sock,$arg) = @_;
- my($lport,$rport,$laddr,$raddr,$proto,$type);
-
-
- $arg->{LocalAddr} = $arg->{LocalHost}
- if exists $arg->{LocalHost} && !exists $arg->{LocalAddr};
-
- ($laddr,$lport,$proto) = _sock_info($arg->{LocalAddr},
- $arg->{LocalPort},
- $arg->{Proto})
- or return _error($sock, $!, $@);
-
- $laddr = defined $laddr ? inet_aton($laddr)
- : INADDR_ANY;
-
- return _error($sock, $EINVAL, "Bad hostname '",$arg->{LocalAddr},"'")
- unless(defined $laddr);
-
- $arg->{PeerAddr} = $arg->{PeerHost}
- if exists $arg->{PeerHost} && !exists $arg->{PeerAddr};
-
- unless(exists $arg->{Listen}) {
- ($raddr,$rport,$proto) = _sock_info($arg->{PeerAddr},
- $arg->{PeerPort},
- $proto)
- or return _error($sock, $!, $@);
- }
-
- $proto ||= _get_proto_number('tcp');
-
- $type = $arg->{Type} || $socket_type{lc _get_proto_name($proto)};
-
- my @raddr = ();
-
- if(defined $raddr) {
- @raddr = $sock->_get_addr($raddr, $arg->{MultiHomed});
- return _error($sock, $EINVAL, "Bad hostname '",$arg->{PeerAddr},"'")
- unless @raddr;
- }
-
- while(1) {
-
- $sock->socket(AF_INET, $type, $proto) or
- return _error($sock, $!, "$!");
-
- if (defined $arg->{Blocking}) {
- defined $sock->blocking($arg->{Blocking})
- or return _error($sock, $!, "$!");
- }
-
- if ($arg->{Reuse} || $arg->{ReuseAddr}) {
- $sock->sockopt(SO_REUSEADDR,1) or
- return _error($sock, $!, "$!");
- }
-
- if ($arg->{ReusePort}) {
- $sock->sockopt(SO_REUSEPORT,1) or
- return _error($sock, $!, "$!");
- }
-
- if ($arg->{Broadcast}) {
- $sock->sockopt(SO_BROADCAST,1) or
- return _error($sock, $!, "$!");
- }
-
- if($lport || ($laddr ne INADDR_ANY) || exists $arg->{Listen}) {
- $sock->bind($lport || 0, $laddr) or
- return _error($sock, $!, "$!");
- }
-
- if(exists $arg->{Listen}) {
- $sock->listen($arg->{Listen} || 5) or
- return _error($sock, $!, "$!");
- last;
- }
-
- # don't try to connect unless we're given a PeerAddr
- last unless exists($arg->{PeerAddr});
-
- $raddr = shift @raddr;
-
- return _error($sock, $EINVAL, 'Cannot determine remote port')
- unless($rport || $type == SOCK_DGRAM || $type == SOCK_RAW);
-
- last
- unless($type == SOCK_STREAM || defined $raddr);
-
- return _error($sock, $EINVAL, "Bad hostname '",$arg->{PeerAddr},"'")
- unless defined $raddr;
-
-# my $timeout = ${*$sock}{'io_socket_timeout'};
-# my $before = time() if $timeout;
-
- undef $@;
- if ($sock->connect(pack_sockaddr_in($rport, $raddr))) {
-# ${*$sock}{'io_socket_timeout'} = $timeout;
- return $sock;
- }
-
- return _error($sock, $!, $@ || "Timeout")
- unless @raddr;
-
-# if ($timeout) {
-# my $new_timeout = $timeout - (time() - $before);
-# return _error($sock,
-# (exists(&Errno::ETIMEDOUT) ? Errno::ETIMEDOUT() : $EINVAL),
-# "Timeout") if $new_timeout <= 0;
-# ${*$sock}{'io_socket_timeout'} = $new_timeout;
-# }
-
- }
-
- $sock;
-}
-
-sub connect {
- @_ == 2 || @_ == 3 or
- croak 'usage: $sock->connect(NAME) or $sock->connect(PORT, ADDR)';
- my $sock = shift;
- return $sock->SUPER::connect(@_ == 1 ? shift : pack_sockaddr_in(@_));
-}
-
-sub bind {
- @_ == 2 || @_ == 3 or
- croak 'usage: $sock->bind(NAME) or $sock->bind(PORT, ADDR)';
- my $sock = shift;
- return $sock->SUPER::bind(@_ == 1 ? shift : pack_sockaddr_in(@_))
-}
-
-sub sockaddr {
- @_ == 1 or croak 'usage: $sock->sockaddr()';
- my($sock) = @_;
- my $name = $sock->sockname;
- $name ? (sockaddr_in($name))[1] : undef;
-}
-
-sub sockport {
- @_ == 1 or croak 'usage: $sock->sockport()';
- my($sock) = @_;
- my $name = $sock->sockname;
- $name ? (sockaddr_in($name))[0] : undef;
-}
-
-sub sockhost {
- @_ == 1 or croak 'usage: $sock->sockhost()';
- my($sock) = @_;
- my $addr = $sock->sockaddr;
- $addr ? inet_ntoa($addr) : undef;
-}
-
-sub peeraddr {
- @_ == 1 or croak 'usage: $sock->peeraddr()';
- my($sock) = @_;
- my $name = $sock->peername;
- $name ? (sockaddr_in($name))[1] : undef;
-}
-
-sub peerport {
- @_ == 1 or croak 'usage: $sock->peerport()';
- my($sock) = @_;
- my $name = $sock->peername;
- $name ? (sockaddr_in($name))[0] : undef;
-}
-
-sub peerhost {
- @_ == 1 or croak 'usage: $sock->peerhost()';
- my($sock) = @_;
- my $addr = $sock->peeraddr;
- $addr ? inet_ntoa($addr) : undef;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IO::Socket::INET - Object interface for AF_INET domain sockets
-
-=head1 SYNOPSIS
-
- use IO::Socket::INET;
-
-=head1 DESCRIPTION
-
-C<IO::Socket::INET> provides an object interface to creating and using sockets
-in the AF_INET domain. It is built upon the L<IO::Socket> interface and
-inherits all the methods defined by L<IO::Socket>.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( [ARGS] )
-
-Creates an C<IO::Socket::INET> object, which is a reference to a
-newly created symbol (see the C<Symbol> package). C<new>
-optionally takes arguments, these arguments are in key-value pairs.
-
-In addition to the key-value pairs accepted by L<IO::Socket>,
-C<IO::Socket::INET> provides.
-
-
- PeerAddr Remote host address <hostname>[:<port>]
- PeerHost Synonym for PeerAddr
- PeerPort Remote port or service <service>[(<no>)] | <no>
- LocalAddr Local host bind address hostname[:port]
- LocalHost Synonym for LocalAddr
- LocalPort Local host bind port <service>[(<no>)] | <no>
- Proto Protocol name (or number) "tcp" | "udp" | ...
- Type Socket type SOCK_STREAM | SOCK_DGRAM | ...
- Listen Queue size for listen
- ReuseAddr Set SO_REUSEADDR before binding
- Reuse Set SO_REUSEADDR before binding (deprecated, prefer ReuseAddr)
- ReusePort Set SO_REUSEPORT before binding
- Broadcast Set SO_BROADCAST before binding
- Timeout Timeout value for various operations
- MultiHomed Try all addresses for multi-homed hosts
- Blocking Determine if connection will be blocking mode
-
-If C<Listen> is defined then a listen socket is created, else if the
-socket type, which is derived from the protocol, is SOCK_STREAM then
-connect() is called.
-
-Although it is not illegal, the use of C<MultiHomed> on a socket
-which is in non-blocking mode is of little use. This is because the
-first connect will never fail with a timeout as the connect call
-will not block.
-
-The C<PeerAddr> can be a hostname or the IP-address on the
-"xx.xx.xx.xx" form. The C<PeerPort> can be a number or a symbolic
-service name. The service name might be followed by a number in
-parenthesis which is used if the service is not known by the system.
-The C<PeerPort> specification can also be embedded in the C<PeerAddr>
-by preceding it with a ":".
-
-If C<Proto> is not given and you specify a symbolic C<PeerPort> port,
-then the constructor will try to derive C<Proto> from the service
-name. As a last resort C<Proto> "tcp" is assumed. The C<Type>
-parameter will be deduced from C<Proto> if not specified.
-
-If the constructor is only passed a single argument, it is assumed to
-be a C<PeerAddr> specification.
-
-If C<Blocking> is set to 0, the connection will be in nonblocking mode.
-If not specified it defaults to 1 (blocking mode).
-
-Examples:
-
- $sock = IO::Socket::INET->new(PeerAddr => 'www.perl.org',
- PeerPort => 'http(80)',
- Proto => 'tcp');
-
- $sock = IO::Socket::INET->new(PeerAddr => 'localhost:smtp(25)');
-
- $sock = IO::Socket::INET->new(Listen => 5,
- LocalAddr => 'localhost',
- LocalPort => 9000,
- Proto => 'tcp');
-
- $sock = IO::Socket::INET->new('127.0.0.1:25');
-
- $sock = IO::Socket::INET->new(PeerPort => 9999,
- PeerAddr => inet_ntoa(INADDR_BROADCAST),
- Proto => udp,
- LocalAddr => 'localhost',
- Broadcast => 1 )
- or die "Can't bind : $@\n";
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-As of VERSION 1.18 all IO::Socket objects have autoflush turned on
-by default. This was not the case with earlier releases.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-=back
-
-=head2 METHODS
-
-=over 4
-
-=item sockaddr ()
-
-Return the address part of the sockaddr structure for the socket
-
-=item sockport ()
-
-Return the port number that the socket is using on the local host
-
-=item sockhost ()
-
-Return the address part of the sockaddr structure for the socket in a
-text form xx.xx.xx.xx
-
-=item peeraddr ()
-
-Return the address part of the sockaddr structure for the socket on
-the peer host
-
-=item peerport ()
-
-Return the port number for the socket on the peer host.
-
-=item peerhost ()
-
-Return the address part of the sockaddr structure for the socket on the
-peer host in a text form xx.xx.xx.xx
-
-=back
-
-=head1 SEE ALSO
-
-L<Socket>, L<IO::Socket>
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/Socket/UNIX.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/UNIX.pm
deleted file mode 100644
index baa092ba1fb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Socket/UNIX.pm
+++ /dev/null
@@ -1,143 +0,0 @@
-# IO::Socket::UNIX.pm
-#
-# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package IO::Socket::UNIX;
-
-use strict;
-our(@ISA, $VERSION);
-use IO::Socket;
-use Carp;
-
-@ISA = qw(IO::Socket);
-$VERSION = "1.23";
-$VERSION = eval $VERSION;
-
-IO::Socket::UNIX->register_domain( AF_UNIX );
-
-sub new {
- my $class = shift;
- unshift(@_, "Peer") if @_ == 1;
- return $class->SUPER::new(@_);
-}
-
-sub configure {
- my($sock,$arg) = @_;
- my($bport,$cport);
-
- my $type = $arg->{Type} || SOCK_STREAM;
-
- $sock->socket(AF_UNIX, $type, 0) or
- return undef;
-
- if(exists $arg->{Local}) {
- my $addr = sockaddr_un($arg->{Local});
- $sock->bind($addr) or
- return undef;
- }
- if(exists $arg->{Listen} && $type != SOCK_DGRAM) {
- $sock->listen($arg->{Listen} || 5) or
- return undef;
- }
- elsif(exists $arg->{Peer}) {
- my $addr = sockaddr_un($arg->{Peer});
- $sock->connect($addr) or
- return undef;
- }
-
- $sock;
-}
-
-sub hostpath {
- @_ == 1 or croak 'usage: $sock->hostpath()';
- my $n = $_[0]->sockname || return undef;
- (sockaddr_un($n))[0];
-}
-
-sub peerpath {
- @_ == 1 or croak 'usage: $sock->peerpath()';
- my $n = $_[0]->peername || return undef;
- (sockaddr_un($n))[0];
-}
-
-1; # Keep require happy
-
-__END__
-
-=head1 NAME
-
-IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
-
-=head1 SYNOPSIS
-
- use IO::Socket::UNIX;
-
-=head1 DESCRIPTION
-
-C<IO::Socket::UNIX> provides an object interface to creating and using sockets
-in the AF_UNIX domain. It is built upon the L<IO::Socket> interface and
-inherits all the methods defined by L<IO::Socket>.
-
-=head1 CONSTRUCTOR
-
-=over 4
-
-=item new ( [ARGS] )
-
-Creates an C<IO::Socket::UNIX> object, which is a reference to a
-newly created symbol (see the C<Symbol> package). C<new>
-optionally takes arguments, these arguments are in key-value pairs.
-
-In addition to the key-value pairs accepted by L<IO::Socket>,
-C<IO::Socket::UNIX> provides.
-
- Type Type of socket (eg SOCK_STREAM or SOCK_DGRAM)
- Local Path to local fifo
- Peer Path to peer fifo
- Listen Create a listen socket
-
-If the constructor is only passed a single argument, it is assumed to
-be a C<Peer> specification.
-
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-As of VERSION 1.18 all IO::Socket objects have autoflush turned on
-by default. This was not the case with earlier releases.
-
- NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
-
-=back
-
-=head1 METHODS
-
-=over 4
-
-=item hostpath()
-
-Returns the pathname to the fifo at the local end
-
-=item peerpath()
-
-Returns the pathanme to the fifo at the peer end
-
-=back
-
-=head1 SEE ALSO
-
-L<Socket>, L<IO::Socket>
-
-=head1 AUTHOR
-
-Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/IO/Uncompress/Adapter/Identity.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Identity.pm
deleted file mode 100644
index 91e9be2c224..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Identity.pm
+++ /dev/null
@@ -1,102 +0,0 @@
-package IO::Uncompress::Adapter::Identity;
-
-use warnings;
-use strict;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status);
-
-our ($VERSION);
-
-$VERSION = '2.011';
-
-use Compress::Raw::Zlib 2.011 ();
-
-sub mkUncompObject
-{
- my $crc32 = 1; #shift ;
- my $adler32 = shift;
-
- bless { 'CompSize' => 0,
- 'UnCompSize' => 0,
- 'wantCRC32' => $crc32,
- 'CRC32' => Compress::Raw::Zlib::crc32(''),
- 'wantADLER32'=> $adler32,
- 'ADLER32' => Compress::Raw::Zlib::adler32(''),
- } ;
-}
-
-sub uncompr
-{
- my $self = shift;
- my $eof = $_[2];
-
- if (defined ${ $_[0] } && length ${ $_[0] }) {
- $self->{CompSize} += length ${ $_[0] } ;
- $self->{UnCompSize} = $self->{CompSize} ;
-
- $self->{CRC32} = Compress::Raw::Zlib::crc32($_[0], $self->{CRC32})
- if $self->{wantCRC32};
-
- $self->{ADLER32} = Compress::Zlib::adler32($_[0], $self->{ADLER32})
- if $self->{wantADLER32};
-
- ${ $_[1] } .= ${ $_[0] };
- ${ $_[0] } = "";
- }
-
- return STATUS_ENDSTREAM if $eof;
- return STATUS_OK ;
-}
-
-sub reset
-{
- my $self = shift;
-
- $self->{CompSize} = 0;
- $self->{UnCompSize} = 0;
- $self->{CRC32} = Compress::Raw::Zlib::crc32('');
- $self->{ADLER32} = Compress::Raw::Zlib::adler32('');
-
- return STATUS_OK ;
-}
-
-
-#sub count
-#{
-# my $self = shift ;
-# return $self->{UnCompSize} ;
-#}
-
-sub compressedBytes
-{
- my $self = shift ;
- return $self->{UnCompSize} ;
-}
-
-sub uncompressedBytes
-{
- my $self = shift ;
- return $self->{UnCompSize} ;
-}
-
-sub sync
-{
- return STATUS_OK ;
-}
-
-sub crc32
-{
- my $self = shift ;
- return $self->{CRC32};
-}
-
-sub adler32
-{
- my $self = shift ;
- return $self->{ADLER32};
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Inflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Inflate.pm
deleted file mode 100644
index b93b1d80be7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Adapter/Inflate.pm
+++ /dev/null
@@ -1,161 +0,0 @@
-package IO::Uncompress::Adapter::Inflate;
-
-use strict;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status);
-use Compress::Raw::Zlib 2.011 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
-
-our ($VERSION);
-$VERSION = '2.011';
-
-
-
-sub mkUncompObject
-{
- my $crc32 = shift || 1;
- my $adler32 = shift || 1;
- my $scan = shift || 0;
-
- my $inflate ;
- my $status ;
-
- if ($scan)
- {
- ($inflate, $status) = new Compress::Raw::Zlib::InflateScan
- CRC32 => $crc32,
- ADLER32 => $adler32,
- WindowBits => - MAX_WBITS ;
- }
- else
- {
- ($inflate, $status) = new Compress::Raw::Zlib::Inflate
- AppendOutput => 1,
- CRC32 => $crc32,
- ADLER32 => $adler32,
- WindowBits => - MAX_WBITS ;
- }
-
- return (undef, "Could not create Inflation object: $status", $status)
- if $status != Z_OK ;
-
- return bless {'Inf' => $inflate,
- 'CompSize' => 0,
- 'UnCompSize' => 0,
- 'Error' => '',
- } ;
-
-}
-
-sub uncompr
-{
- my $self = shift ;
- my $from = shift ;
- my $to = shift ;
- my $eof = shift ;
-
- my $inf = $self->{Inf};
-
- my $status = $inf->inflate($from, $to, $eof);
- $self->{ErrorNo} = $status;
-
- if ($status != Z_STREAM_END && $eof)
- {
- $self->{Error} = "unexpected end of file";
- return STATUS_ERROR;
- }
-
- if ($status != Z_OK && $status != Z_STREAM_END )
- {
- $self->{Error} = "Inflation Error: $status";
- return STATUS_ERROR;
- }
-
-
- return STATUS_OK if $status == Z_OK ;
- return STATUS_ENDSTREAM if $status == Z_STREAM_END ;
- return STATUS_ERROR ;
-}
-
-sub reset
-{
- my $self = shift ;
- $self->{Inf}->inflateReset();
-
- return STATUS_OK ;
-}
-
-#sub count
-#{
-# my $self = shift ;
-# $self->{Inf}->inflateCount();
-#}
-
-sub crc32
-{
- my $self = shift ;
- $self->{Inf}->crc32();
-}
-
-sub compressedBytes
-{
- my $self = shift ;
- $self->{Inf}->compressedBytes();
-}
-
-sub uncompressedBytes
-{
- my $self = shift ;
- $self->{Inf}->uncompressedBytes();
-}
-
-sub adler32
-{
- my $self = shift ;
- $self->{Inf}->adler32();
-}
-
-sub sync
-{
- my $self = shift ;
- ( $self->{Inf}->inflateSync(@_) == Z_OK)
- ? STATUS_OK
- : STATUS_ERROR ;
-}
-
-
-sub getLastBlockOffset
-{
- my $self = shift ;
- $self->{Inf}->getLastBlockOffset();
-}
-
-sub getEndOffset
-{
- my $self = shift ;
- $self->{Inf}->getEndOffset();
-}
-
-sub resetLastBlockByte
-{
- my $self = shift ;
- $self->{Inf}->resetLastBlockByte(@_);
-}
-
-sub createDeflateStream
-{
- my $self = shift ;
- my $deflate = $self->{Inf}->createDeflateStream(@_);
- return bless {'Def' => $deflate,
- 'CompSize' => 0,
- 'UnCompSize' => 0,
- 'Error' => '',
- }, 'IO::Compress::Adapter::Deflate';
-}
-
-1;
-
-
-__END__
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyInflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyInflate.pm
deleted file mode 100644
index f604acbda4e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyInflate.pm
+++ /dev/null
@@ -1,946 +0,0 @@
-package IO::Uncompress::AnyInflate ;
-
-# for RFC1950, RFC1951 or RFC1952
-
-use strict;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);
-
-use IO::Uncompress::Adapter::Inflate 2.011 ();
-
-
-use IO::Uncompress::Base 2.011 ;
-use IO::Uncompress::Gunzip 2.011 ;
-use IO::Uncompress::Inflate 2.011 ;
-use IO::Uncompress::RawInflate 2.011 ;
-use IO::Uncompress::Unzip 2.011 ;
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-
-$VERSION = '2.011';
-$AnyInflateError = '';
-
-@ISA = qw( Exporter IO::Uncompress::Base );
-@EXPORT_OK = qw( $AnyInflateError anyinflate ) ;
-%EXPORT_TAGS = %IO::Uncompress::Base::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-# TODO - allow the user to pick a set of the three formats to allow
-# or just assume want to auto-detect any of the three formats.
-
-sub new
-{
- my $class = shift ;
- my $obj = createSelfTiedObject($class, \$AnyInflateError);
- $obj->_create(undef, 0, @_);
-}
-
-sub anyinflate
-{
- my $obj = createSelfTiedObject(undef, \$AnyInflateError);
- return $obj->_inf(@_) ;
-}
-
-sub getExtraParams
-{
- use IO::Compress::Base::Common 2.011 qw(:Parse);
- return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # any always needs both crc32 and adler32
- $got->value('CRC32' => 1);
- $got->value('ADLER32' => 1);
-
- return 1;
-}
-
-sub mkUncomp
-{
- my $self = shift ;
- my $got = shift ;
-
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject();
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- my @possible = qw( Inflate Gunzip Unzip );
- unshift @possible, 'RawInflate'
- if 1 || $got->value('RawInflate');
-
- my $magic = $self->ckMagic( @possible );
-
- if ($magic) {
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- return 1;
- }
-
- return 0 ;
-}
-
-
-
-sub ckMagic
-{
- my $self = shift;
- my @names = @_ ;
-
- my $keep = ref $self ;
- for my $class ( map { "IO::Uncompress::$_" } @names)
- {
- bless $self => $class;
- my $magic = $self->ckMagic();
-
- if ($magic)
- {
- #bless $self => $class;
- return $magic ;
- }
-
- $self->pushBack(*$self->{HeaderPending}) ;
- *$self->{HeaderPending} = '' ;
- }
-
- bless $self => $keep;
- return undef;
-}
-
-1 ;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip) file/buffer
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
- my $status = anyinflate $input => $output [,OPTS]
- or die "anyinflate failed: $AnyInflateError\n";
-
- my $z = new IO::Uncompress::AnyInflate $input [OPTS]
- or die "anyinflate failed: $AnyInflateError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $status = $z->inflateSync()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $AnyInflateError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-files/buffers that have been compressed in a number of formats that use the
-zlib compression library.
-
-The formats supported are
-
-=over 5
-
-=item RFC 1950
-
-=item RFC 1951 (optionally)
-
-=item gzip (RFC 1952)
-
-=item zip
-
-=back
-
-The module will auto-detect which, if any, of the supported
-compression formats is being used.
-
-=head1 Functional Interface
-
-A top-level function, C<anyinflate>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
- anyinflate $input => $output [,OPTS]
- or die "anyinflate failed: $AnyInflateError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 anyinflate $input => $output [, OPTS]
-
-C<anyinflate> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<anyinflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<anyinflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<anyinflate>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<anyinflate> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<anyinflate> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-If the input file/buffer contains multiple compressed data streams, this
-option will uncompress the whole lot as a single data stream.
-
-Defaults to 0.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.Compressed> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
- my $input = "file1.txt.Compressed";
- my $output = "file1.txt";
- anyinflate $input => $output
- or die "anyinflate failed: $AnyInflateError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.Compressed"
- or die "Cannot open 'file1.txt.Compressed': $!\n" ;
- my $buffer ;
- anyinflate $input => \$buffer
- or die "anyinflate failed: $AnyInflateError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.Compressed" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
- anyinflate '</my/home/*.txt.Compressed>' => '</my/home/#1.txt>'
- or die "anyinflate failed: $AnyInflateError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
- for my $input ( glob "/my/home/*.txt.Compressed" )
- {
- my $output = $input;
- $output =~ s/.Compressed// ;
- anyinflate $input => $output
- or die "Error compressing '$input': $AnyInflateError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::AnyInflate is shown below
-
- my $z = new IO::Uncompress::AnyInflate $input [OPTS]
- or die "IO::Uncompress::AnyInflate failed: $AnyInflateError\n";
-
-Returns an C<IO::Uncompress::AnyInflate> object on success and undef on failure.
-The variable C<$AnyInflateError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::AnyInflate can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::AnyInflate object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Allows multiple concatenated compressed streams to be treated as a single
-compressed stream. Decompression will stop once either the end of the
-file/buffer is reached, an error is encountered (premature eof, corrupt
-compressed data) or the end of a stream is not immediately followed by the
-start of another stream.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::AnyInflate will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option controls whether the extra checks defined below are used when
-carrying out the decompression. When Strict is on, the extra tests are
-carried out, when Strict is off they are not.
-
-The default for this option is off.
-
-If the input is an RFC 1950 data stream, the following will be checked:
-
-=over 5
-
-=item 1
-
-The ADLER32 checksum field must be present.
-
-=item 2
-
-The value of the ADLER32 field read must match the adler32 value of the
-uncompressed data actually contained in the file.
-
-=back
-
-If the input is a gzip (RFC 1952) data stream, the following will be checked:
-
-=over 5
-
-=item 1
-
-If the FHCRC bit is set in the gzip FLG header byte, the CRC16 bytes in the
-header must match the crc16 value of the gzip header actually read.
-
-=item 2
-
-If the gzip header contains a name field (FNAME) it consists solely of ISO
-8859-1 characters.
-
-=item 3
-
-If the gzip header contains a comment field (FCOMMENT) it consists solely
-of ISO 8859-1 characters plus line-feed.
-
-=item 4
-
-If the gzip FEXTRA header field is present it must conform to the sub-field
-structure as defined in RFC 1952.
-
-=item 5
-
-The CRC32 and ISIZE trailer fields must be present.
-
-=item 6
-
-The value of the CRC32 field read must match the crc32 value of the
-uncompressed data actually contained in the gzip file.
-
-=item 7
-
-The value of the ISIZE fields read must match the length of the
-uncompressed data actually read from the file.
-
-=back
-
-=item C<< RawInflate => 0|1 >>
-
-When auto-detecting the compressed format, try to test for raw-deflate (RFC
-1951) content using the C<IO::Uncompress::RawInflate> module.
-
-The reason this is not default behaviour is because RFC 1951 content can
-only be detected by attempting to uncompress it. This process is error
-prone and can result is false positives.
-
-Defaults to 0.
-
-=item C<< ParseExtra => 0|1 >>
-If the gzip FEXTRA header field is present and this option is set, it will
-force the module to check that it conforms to the sub-field structure as
-defined in RFC 1952.
-
-If the C<Strict> is on it will automatically enable this option.
-
-Defaults to 0.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 inflateSync
-
-Usage is
-
- $status = $z->inflateSync()
-
-TODO
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::AnyInflate object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::AnyInflate
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::AnyInflate at present.
-
-=over 5
-
-=item :all
-
-Imports C<anyinflate> and C<$AnyInflateError>.
-Same as doing this
-
- use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Working with Net::FTP
-
-See L<IO::Uncompress::AnyInflate::FAQ|IO::Uncompress::AnyInflate::FAQ/"Compressed files and Net::FTP">
-
-=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::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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Uncompress/AnyUncompress.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyUncompress.pm
deleted file mode 100644
index 8888577a04a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/AnyUncompress.pm
+++ /dev/null
@@ -1,922 +0,0 @@
-package IO::Uncompress::AnyUncompress ;
-
-use strict;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);
-
-use IO::Uncompress::Base 2.011 ;
-
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-
-$VERSION = '2.011';
-$AnyUncompressError = '';
-
-@ISA = qw( Exporter IO::Uncompress::Base );
-@EXPORT_OK = qw( $AnyUncompressError anyuncompress ) ;
-%EXPORT_TAGS = %IO::Uncompress::Base::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-# TODO - allow the user to pick a set of the three formats to allow
-# or just assume want to auto-detect any of the three formats.
-
-BEGIN
-{
- eval ' use IO::Uncompress::Adapter::Inflate 2.011 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.011 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.011 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.011 ;';
-
- eval ' use IO::Uncompress::Bunzip2 2.011 ;';
- eval ' use IO::Uncompress::UnLzop 2.011 ;';
- eval ' use IO::Uncompress::Gunzip 2.011 ;';
- eval ' use IO::Uncompress::Inflate 2.011 ;';
- eval ' use IO::Uncompress::RawInflate 2.011 ;';
- eval ' use IO::Uncompress::Unzip 2.011 ;';
- eval ' use IO::Uncompress::UnLzf 2.011 ;';
-}
-
-sub new
-{
- my $class = shift ;
- my $obj = createSelfTiedObject($class, \$AnyUncompressError);
- $obj->_create(undef, 0, @_);
-}
-
-sub anyuncompress
-{
- my $obj = createSelfTiedObject(undef, \$AnyUncompressError);
- return $obj->_inf(@_) ;
-}
-
-sub getExtraParams
-{
- use IO::Compress::Base::Common 2.011 qw(:Parse);
- return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # any always needs both crc32 and adler32
- $got->value('CRC32' => 1);
- $got->value('ADLER32' => 1);
-
- return 1;
-}
-
-sub mkUncomp
-{
- my $self = shift ;
- my $got = shift ;
-
- my $magic ;
-
- # try zlib first
- if (defined $IO::Uncompress::RawInflate::VERSION )
- {
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject();
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- my @possible = qw( Inflate Gunzip Unzip );
- unshift @possible, 'RawInflate'
- if $got->value('RawInflate');
-
- $magic = $self->ckMagic( @possible );
-
- if ($magic) {
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- return 1;
- }
- }
-
- if (defined $IO::Uncompress::Bunzip2::VERSION and
- $magic = $self->ckMagic('Bunzip2')) {
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Bunzip2::mkUncompObject();
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- return 1;
- }
-
- if (defined $IO::Uncompress::UnLzop::VERSION and
- $magic = $self->ckMagic('UnLzop')) {
-
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::LZO::mkUncompObject();
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- return 1;
- }
-
- if (defined $IO::Uncompress::UnLzf::VERSION and
- $magic = $self->ckMagic('UnLzf')) {
-
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Lzf::mkUncompObject();
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- return 1;
- }
-
- return 0 ;
-}
-
-
-
-sub ckMagic
-{
- my $self = shift;
- my @names = @_ ;
-
- my $keep = ref $self ;
- for my $class ( map { "IO::Uncompress::$_" } @names)
- {
- bless $self => $class;
- my $magic = $self->ckMagic();
-
- if ($magic)
- {
- #bless $self => $class;
- return $magic ;
- }
-
- $self->pushBack(*$self->{HeaderPending}) ;
- *$self->{HeaderPending} = '' ;
- }
-
- bless $self => $keep;
- return undef;
-}
-
-1 ;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop file/buffer
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
- my $status = anyuncompress $input => $output [,OPTS]
- or die "anyuncompress failed: $AnyUncompressError\n";
-
- my $z = new IO::Uncompress::AnyUncompress $input [OPTS]
- or die "anyuncompress failed: $AnyUncompressError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $AnyUncompressError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-files/buffers that have been compressed with a variety of compression
-libraries.
-
-The formats supported are:
-
-=over 5
-
-=item RFC 1950
-
-=item RFC 1951 (optionally)
-
-=item gzip (RFC 1952)
-
-=item zip
-
-=item bzip2
-
-=item lzop
-
-=item lzf
-
-=back
-
-The module will auto-detect which, if any, of the supported
-compression formats is being used.
-
-=head1 Functional Interface
-
-A top-level function, C<anyuncompress>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
- anyuncompress $input => $output [,OPTS]
- or die "anyuncompress failed: $AnyUncompressError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 anyuncompress $input => $output [, OPTS]
-
-C<anyuncompress> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<anyuncompress> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<anyuncompress> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<anyuncompress>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<anyuncompress> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<anyuncompress> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-If the input file/buffer contains multiple compressed data streams, this
-option will uncompress the whole lot as a single data stream.
-
-Defaults to 0.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.Compressed> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
- my $input = "file1.txt.Compressed";
- my $output = "file1.txt";
- anyuncompress $input => $output
- or die "anyuncompress failed: $AnyUncompressError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.Compressed"
- or die "Cannot open 'file1.txt.Compressed': $!\n" ;
- my $buffer ;
- anyuncompress $input => \$buffer
- or die "anyuncompress failed: $AnyUncompressError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.Compressed" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
- anyuncompress '</my/home/*.txt.Compressed>' => '</my/home/#1.txt>'
- or die "anyuncompress failed: $AnyUncompressError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
- for my $input ( glob "/my/home/*.txt.Compressed" )
- {
- my $output = $input;
- $output =~ s/.Compressed// ;
- anyuncompress $input => $output
- or die "Error compressing '$input': $AnyUncompressError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::AnyUncompress is shown below
-
- my $z = new IO::Uncompress::AnyUncompress $input [OPTS]
- or die "IO::Uncompress::AnyUncompress failed: $AnyUncompressError\n";
-
-Returns an C<IO::Uncompress::AnyUncompress> object on success and undef on failure.
-The variable C<$AnyUncompressError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::AnyUncompress can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::AnyUncompress object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Allows multiple concatenated compressed streams to be treated as a single
-compressed stream. Decompression will stop once either the end of the
-file/buffer is reached, an error is encountered (premature eof, corrupt
-compressed data) or the end of a stream is not immediately followed by the
-start of another stream.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::AnyUncompress will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option controls whether the extra checks defined below are used when
-carrying out the decompression. When Strict is on, the extra tests are
-carried out, when Strict is off they are not.
-
-The default for this option is off.
-
-=item C<< RawInflate => 0|1 >>
-
-When auto-detecting the compressed format, try to test for raw-deflate (RFC
-1951) content using the C<IO::Uncompress::RawInflate> module.
-
-The reason this is not default behaviour is because RFC 1951 content can
-only be detected by attempting to uncompress it. This process is error
-prone and can result is false positives.
-
-Defaults to 0.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::AnyUncompress object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::AnyUncompress
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::AnyUncompress at present.
-
-=over 5
-
-=item :all
-
-Imports C<anyuncompress> and C<$AnyUncompressError>.
-Same as doing this
-
- use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=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<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>
-
-=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/5.10/i686-cygwin/IO/Uncompress/Base.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Base.pm
deleted file mode 100644
index 4493042d5ab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Base.pm
+++ /dev/null
@@ -1,1454 +0,0 @@
-
-package IO::Uncompress::Base ;
-
-use strict ;
-use warnings;
-use bytes;
-
-our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
-@ISA = qw(Exporter IO::File);
-
-
-$VERSION = '2.011';
-
-use constant G_EOF => 0 ;
-use constant G_ERR => -1 ;
-
-use IO::Compress::Base::Common 2.011 ;
-#use Parse::Parameters ;
-
-use IO::File ;
-use Symbol;
-use Scalar::Util qw(readonly);
-use List::Util qw(min);
-use Carp ;
-
-%EXPORT_TAGS = ( );
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-#Exporter::export_ok_tags('all') ;
-
-
-
-sub smartRead
-{
- my $self = $_[0];
- my $out = $_[1];
- my $size = $_[2];
- $$out = "" ;
-
- my $offset = 0 ;
-
-
- if (defined *$self->{InputLength}) {
- return 0
- if *$self->{InputLengthRemaining} <= 0 ;
- $size = min($size, *$self->{InputLengthRemaining});
- }
-
- if ( length *$self->{Prime} ) {
- #$$out = substr(*$self->{Prime}, 0, $size, '') ;
- $$out = substr(*$self->{Prime}, 0, $size) ;
- substr(*$self->{Prime}, 0, $size) = '' ;
- if (length $$out == $size) {
- *$self->{InputLengthRemaining} -= length $$out
- if defined *$self->{InputLength};
-
- return length $$out ;
- }
- $offset = length $$out ;
- }
-
- my $get_size = $size - $offset ;
-
- if (defined *$self->{FH}) {
- if ($offset) {
- # Not using this
- #
- # *$self->{FH}->read($$out, $get_size, $offset);
- #
- # because the filehandle may not support the offset parameter
- # An example is Net::FTP
- my $tmp = '';
- *$self->{FH}->read($tmp, $get_size) > 0 &&
- (substr($$out, $offset) = $tmp);
- }
- else
- { *$self->{FH}->read($$out, $get_size) }
- }
- elsif (defined *$self->{InputEvent}) {
- my $got = 1 ;
- while (length $$out < $size) {
- last
- if ($got = *$self->{InputEvent}->($$out, $get_size)) <= 0;
- }
-
- if (length $$out > $size ) {
- #*$self->{Prime} = substr($$out, $size, length($$out), '');
- *$self->{Prime} = substr($$out, $size, length($$out));
- substr($$out, $size, length($$out)) = '';
- }
-
- *$self->{EventEof} = 1 if $got <= 0 ;
- }
- else {
- no warnings 'uninitialized';
- my $buf = *$self->{Buffer} ;
- $$buf = '' unless defined $$buf ;
- #$$out = '' unless defined $$out ;
- substr($$out, $offset) = substr($$buf, *$self->{BufferOffset}, $get_size);
- if (*$self->{ConsumeInput})
- { substr($$buf, 0, $get_size) = '' }
- else
- { *$self->{BufferOffset} += length($$out) - $offset }
- }
-
- *$self->{InputLengthRemaining} -= length($$out) #- $offset
- if defined *$self->{InputLength};
-
- $self->saveStatus(length $$out < 0 ? STATUS_ERROR : STATUS_OK) ;
-
- return length $$out;
-}
-
-sub pushBack
-{
- my $self = shift ;
-
- return if ! defined $_[0] || length $_[0] == 0 ;
-
- if (defined *$self->{FH} || defined *$self->{InputEvent} ) {
- *$self->{Prime} = $_[0] . *$self->{Prime} ;
- *$self->{InputLengthRemaining} += length($_[0]);
- }
- else {
- my $len = length $_[0];
-
- if($len > *$self->{BufferOffset}) {
- *$self->{Prime} = substr($_[0], 0, $len - *$self->{BufferOffset}) . *$self->{Prime} ;
- *$self->{InputLengthRemaining} = *$self->{InputLength};
- *$self->{BufferOffset} = 0
- }
- else {
- *$self->{InputLengthRemaining} += length($_[0]);
- *$self->{BufferOffset} -= length($_[0]) ;
- }
- }
-}
-
-sub smartSeek
-{
- my $self = shift ;
- my $offset = shift ;
- my $truncate = shift;
- #print "smartSeek to $offset\n";
-
- # TODO -- need to take prime into account
- if (defined *$self->{FH})
- { *$self->{FH}->seek($offset, SEEK_SET) }
- else {
- *$self->{BufferOffset} = $offset ;
- substr(${ *$self->{Buffer} }, *$self->{BufferOffset}) = ''
- if $truncate;
- return 1;
- }
-}
-
-sub smartWrite
-{
- my $self = shift ;
- my $out_data = shift ;
-
- if (defined *$self->{FH}) {
- # flush needed for 5.8.0
- defined *$self->{FH}->write($out_data, length $out_data) &&
- defined *$self->{FH}->flush() ;
- }
- else {
- my $buf = *$self->{Buffer} ;
- substr($$buf, *$self->{BufferOffset}, length $out_data) = $out_data ;
- *$self->{BufferOffset} += length($out_data) ;
- return 1;
- }
-}
-
-sub smartReadExact
-{
- return $_[0]->smartRead($_[1], $_[2]) == $_[2];
-}
-
-sub smartEof
-{
- my ($self) = $_[0];
- local $.;
-
- return 0 if length *$self->{Prime} || *$self->{PushMode};
-
- if (defined *$self->{FH})
- {
- # Could use
- #
- # *$self->{FH}->eof()
- #
- # here, but this can cause trouble if
- # the filehandle is itself a tied handle, but it uses sysread.
- # Then we get into mixing buffered & non-buffered IO, which will cause trouble
-
- my $info = $self->getErrInfo();
-
- my $buffer = '';
- my $status = $self->smartRead(\$buffer, 1);
- $self->pushBack($buffer) if length $buffer;
- $self->setErrInfo($info);
-
- return $status == 0 ;
- }
- elsif (defined *$self->{InputEvent})
- { *$self->{EventEof} }
- else
- { *$self->{BufferOffset} >= length(${ *$self->{Buffer} }) }
-}
-
-sub clearError
-{
- my $self = shift ;
-
- *$self->{ErrorNo} = 0 ;
- ${ *$self->{Error} } = '' ;
-}
-
-sub getErrInfo
-{
- my $self = shift ;
-
- return [ *$self->{ErrorNo}, ${ *$self->{Error} } ] ;
-}
-
-sub setErrInfo
-{
- my $self = shift ;
- my $ref = shift;
-
- *$self->{ErrorNo} = $ref->[0] ;
- ${ *$self->{Error} } = $ref->[1] ;
-}
-
-sub saveStatus
-{
- my $self = shift ;
- my $errno = shift() + 0 ;
- #return $errno unless $errno || ! defined *$self->{ErrorNo};
- #return $errno unless $errno ;
-
- *$self->{ErrorNo} = $errno;
- ${ *$self->{Error} } = '' ;
-
- return *$self->{ErrorNo} ;
-}
-
-
-sub saveErrorString
-{
- my $self = shift ;
- my $retval = shift ;
-
- #return $retval if ${ *$self->{Error} };
-
- ${ *$self->{Error} } = shift ;
- *$self->{ErrorNo} = shift() + 0 if @_ ;
-
- #warn "saveErrorString: " . ${ *$self->{Error} } . " " . *$self->{Error} . "\n" ;
- return $retval;
-}
-
-sub croakError
-{
- my $self = shift ;
- $self->saveErrorString(0, $_[0]);
- croak $_[0];
-}
-
-
-sub closeError
-{
- my $self = shift ;
- my $retval = shift ;
-
- my $errno = *$self->{ErrorNo};
- my $error = ${ *$self->{Error} };
-
- $self->close();
-
- *$self->{ErrorNo} = $errno ;
- ${ *$self->{Error} } = $error ;
-
- return $retval;
-}
-
-sub error
-{
- my $self = shift ;
- return ${ *$self->{Error} } ;
-}
-
-sub errorNo
-{
- my $self = shift ;
- return *$self->{ErrorNo};
-}
-
-sub HeaderError
-{
- my ($self) = shift;
- return $self->saveErrorString(undef, "Header Error: $_[0]", STATUS_ERROR);
-}
-
-sub TrailerError
-{
- my ($self) = shift;
- return $self->saveErrorString(G_ERR, "Trailer Error: $_[0]", STATUS_ERROR);
-}
-
-sub TruncatedHeader
-{
- my ($self) = shift;
- return $self->HeaderError("Truncated in $_[0] Section");
-}
-
-sub TruncatedTrailer
-{
- my ($self) = shift;
- return $self->TrailerError("Truncated in $_[0] Section");
-}
-
-sub postCheckParams
-{
- return 1;
-}
-
-sub checkParams
-{
- my $self = shift ;
- my $class = shift ;
-
- my $got = shift || IO::Compress::Base::Parameters::new();
-
- my $Valid = {
- 'BlockSize' => [1, 1, Parse_unsigned, 16 * 1024],
- 'AutoClose' => [1, 1, Parse_boolean, 0],
- 'Strict' => [1, 1, Parse_boolean, 0],
- 'Append' => [1, 1, Parse_boolean, 0],
- 'Prime' => [1, 1, Parse_any, undef],
- 'MultiStream' => [1, 1, Parse_boolean, 0],
- 'Transparent' => [1, 1, Parse_any, 1],
- 'Scan' => [1, 1, Parse_boolean, 0],
- 'InputLength' => [1, 1, Parse_unsigned, undef],
- 'BinModeOut' => [1, 1, Parse_boolean, 0],
- #'Encode' => [1, 1, Parse_any, undef],
-
- #'ConsumeInput' => [1, 1, Parse_boolean, 0],
-
- $self->getExtraParams(),
-
- #'Todo - Revert to ordinary file on end Z_STREAM_END'=> 0,
- # ContinueAfterEof
- } ;
-
- $Valid->{TrailingData} = [1, 1, Parse_writable_scalar, undef]
- if *$self->{OneShot} ;
-
- $got->parse($Valid, @_ )
- or $self->croakError("${class}: $got->{Error}") ;
-
- $self->postCheckParams($got)
- or $self->croakError("${class}: " . $self->error()) ;
-
- return $got;
-}
-
-sub _create
-{
- my $obj = shift;
- my $got = shift;
- my $append_mode = shift ;
-
- my $class = ref $obj;
- $obj->croakError("$class: Missing Input parameter")
- if ! @_ && ! $got ;
-
- my $inValue = shift ;
-
- *$obj->{OneShot} = 0 ;
-
- if (! $got)
- {
- $got = $obj->checkParams($class, undef, @_)
- or return undef ;
- }
-
- my $inType = whatIsInput($inValue, 1);
-
- $obj->ckInputParam($class, $inValue, 1)
- or return undef ;
-
- *$obj->{InNew} = 1;
-
- $obj->ckParams($got)
- or $obj->croakError("${class}: " . *$obj->{Error});
-
- if ($inType eq 'buffer' || $inType eq 'code') {
- *$obj->{Buffer} = $inValue ;
- *$obj->{InputEvent} = $inValue
- if $inType eq 'code' ;
- }
- else {
- if ($inType eq 'handle') {
- *$obj->{FH} = $inValue ;
- *$obj->{Handle} = 1 ;
-
- # Need to rewind for Scan
- *$obj->{FH}->seek(0, SEEK_SET)
- if $got->value('Scan');
- }
- else {
- my $mode = '<';
- $mode = '+<' if $got->value('Scan');
- *$obj->{StdIO} = ($inValue eq '-');
- *$obj->{FH} = new IO::File "$mode $inValue"
- or return $obj->saveErrorString(undef, "cannot open file '$inValue': $!", $!) ;
- }
-
- *$obj->{LineNo} = $. = 0;
- setBinModeInput(*$obj->{FH}) ;
-
- my $buff = "" ;
- *$obj->{Buffer} = \$buff ;
- }
-
- if ($got->parsed('Encode')) {
- my $want_encoding = $got->value('Encode');
- *$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
- }
-
-
- *$obj->{InputLength} = $got->parsed('InputLength')
- ? $got->value('InputLength')
- : undef ;
- *$obj->{InputLengthRemaining} = $got->value('InputLength');
- *$obj->{BufferOffset} = 0 ;
- *$obj->{AutoClose} = $got->value('AutoClose');
- *$obj->{Strict} = $got->value('Strict');
- *$obj->{BlockSize} = $got->value('BlockSize');
- *$obj->{Append} = $got->value('Append');
- *$obj->{AppendOutput} = $append_mode || $got->value('Append');
- *$obj->{ConsumeInput} = $got->value('ConsumeInput');
- *$obj->{Transparent} = $got->value('Transparent');
- *$obj->{MultiStream} = $got->value('MultiStream');
-
- # TODO - move these two into RawDeflate
- *$obj->{Scan} = $got->value('Scan');
- *$obj->{ParseExtra} = $got->value('ParseExtra')
- || $got->value('Strict') ;
- *$obj->{Type} = '';
- *$obj->{Prime} = $got->value('Prime') || '' ;
- *$obj->{Pending} = '';
- *$obj->{Plain} = 0;
- *$obj->{PlainBytesRead} = 0;
- *$obj->{InflatedBytesRead} = 0;
- *$obj->{UnCompSize} = new U64;
- *$obj->{CompSize} = new U64;
- *$obj->{TotalInflatedBytesRead} = 0;
- *$obj->{NewStream} = 0 ;
- *$obj->{EventEof} = 0 ;
- *$obj->{ClassName} = $class ;
- *$obj->{Params} = $got ;
-
- if (*$obj->{ConsumeInput}) {
- *$obj->{InNew} = 0;
- *$obj->{Closed} = 0;
- return $obj
- }
-
- my $status = $obj->mkUncomp($got);
-
- return undef
- unless defined $status;
-
- if ( ! $status) {
- return undef
- unless *$obj->{Transparent};
-
- $obj->clearError();
- *$obj->{Type} = 'plain';
- *$obj->{Plain} = 1;
- #$status = $obj->mkIdentityUncomp($class, $got);
- $obj->pushBack(*$obj->{HeaderPending}) ;
- }
-
- push @{ *$obj->{InfoList} }, *$obj->{Info} ;
-
- $obj->saveStatus(STATUS_OK) ;
- *$obj->{InNew} = 0;
- *$obj->{Closed} = 0;
-
- return $obj;
-}
-
-sub ckInputParam
-{
- my $self = shift ;
- my $from = shift ;
- my $inType = whatIsInput($_[0], $_[1]);
-
- $self->croakError("$from: input parameter not a filename, filehandle, array ref or scalar ref")
- if ! $inType ;
-
- if ($inType eq 'filename' )
- {
- $self->croakError("$from: input filename is undef or null string")
- if ! defined $_[0] || $_[0] eq '' ;
-
- if ($_[0] ne '-' && ! -e $_[0] )
- {
- return $self->saveErrorString(undef,
- "input file '$_[0]' does not exist", STATUS_ERROR);
- }
- }
-
- return 1;
-}
-
-
-sub _inf
-{
- my $obj = shift ;
-
- my $class = (caller)[0] ;
- my $name = (caller(1))[3] ;
-
- $obj->croakError("$name: expected at least 1 parameters\n")
- unless @_ >= 1 ;
-
- my $input = shift ;
- my $haveOut = @_ ;
- my $output = shift ;
-
-
- my $x = new IO::Compress::Base::Validator($class, *$obj->{Error}, $name, $input, $output)
- or return undef ;
-
- push @_, $output if $haveOut && $x->{Hash};
-
- *$obj->{OneShot} = 1 ;
-
- my $got = $obj->checkParams($name, undef, @_)
- or return undef ;
-
- if ($got->parsed('TrailingData'))
- {
- *$obj->{TrailingData} = $got->value('TrailingData');
- }
-
- *$obj->{MultiStream} = $got->value('MultiStream');
- $got->value('MultiStream', 0);
-
- $x->{Got} = $got ;
-
-# if ($x->{Hash})
-# {
-# while (my($k, $v) = each %$input)
-# {
-# $v = \$input->{$k}
-# unless defined $v ;
-#
-# $obj->_singleTarget($x, $k, $v, @_)
-# or return undef ;
-# }
-#
-# return keys %$input ;
-# }
-
- if ($x->{GlobMap})
- {
- $x->{oneInput} = 1 ;
- foreach my $pair (@{ $x->{Pairs} })
- {
- my ($from, $to) = @$pair ;
- $obj->_singleTarget($x, $from, $to, @_)
- or return undef ;
- }
-
- return scalar @{ $x->{Pairs} } ;
- }
-
- if (! $x->{oneOutput} )
- {
- my $inFile = ($x->{inType} eq 'filenames'
- || $x->{inType} eq 'filename');
-
- $x->{inType} = $inFile ? 'filename' : 'buffer';
-
- foreach my $in ($x->{oneInput} ? $input : @$input)
- {
- my $out ;
- $x->{oneInput} = 1 ;
-
- $obj->_singleTarget($x, $in, $output, @_)
- or return undef ;
- }
-
- return 1 ;
- }
-
- # finally the 1 to 1 and n to 1
- return $obj->_singleTarget($x, $input, $output, @_);
-
- croak "should not be here" ;
-}
-
-sub retErr
-{
- my $x = shift ;
- my $string = shift ;
-
- ${ $x->{Error} } = $string ;
-
- return undef ;
-}
-
-sub _singleTarget
-{
- my $self = shift ;
- my $x = shift ;
- my $input = shift;
- my $output = shift;
-
- my $buff = '';
- $x->{buff} = \$buff ;
-
- my $fh ;
- if ($x->{outType} eq 'filename') {
- my $mode = '>' ;
- $mode = '>>'
- if $x->{Got}->value('Append') ;
- $x->{fh} = new IO::File "$mode $output"
- or return retErr($x, "cannot open file '$output': $!") ;
- binmode $x->{fh} if $x->{Got}->valueOrDefault('BinModeOut');
-
- }
-
- elsif ($x->{outType} eq 'handle') {
- $x->{fh} = $output;
- binmode $x->{fh} if $x->{Got}->valueOrDefault('BinModeOut');
- if ($x->{Got}->value('Append')) {
- seek($x->{fh}, 0, SEEK_END)
- or return retErr($x, "Cannot seek to end of output filehandle: $!") ;
- }
- }
-
-
- elsif ($x->{outType} eq 'buffer' )
- {
- $$output = ''
- unless $x->{Got}->value('Append');
- $x->{buff} = $output ;
- }
-
- if ($x->{oneInput})
- {
- defined $self->_rd2($x, $input, $output)
- or return undef;
- }
- else
- {
- for my $element ( ($x->{inType} eq 'hash') ? keys %$input : @$input)
- {
- defined $self->_rd2($x, $element, $output)
- or return undef ;
- }
- }
-
-
- if ( ($x->{outType} eq 'filename' && $output ne '-') ||
- ($x->{outType} eq 'handle' && $x->{Got}->value('AutoClose'))) {
- $x->{fh}->close()
- or return retErr($x, $!);
- delete $x->{fh};
- }
-
- return 1 ;
-}
-
-sub _rd2
-{
- my $self = shift ;
- my $x = shift ;
- my $input = shift;
- my $output = shift;
-
- my $z = createSelfTiedObject($x->{Class}, *$self->{Error});
-
- $z->_create($x->{Got}, 1, $input, @_)
- or return undef ;
-
- my $status ;
- my $fh = $x->{fh};
-
- while (1) {
-
- while (($status = $z->read($x->{buff})) > 0) {
- if ($fh) {
- print $fh ${ $x->{buff} }
- or return $z->saveErrorString(undef, "Error writing to output file: $!", $!);
- ${ $x->{buff} } = '' ;
- }
- }
-
- if (! $x->{oneOutput} ) {
- my $ot = $x->{outType} ;
-
- if ($ot eq 'array')
- { push @$output, $x->{buff} }
- elsif ($ot eq 'hash')
- { $output->{$input} = $x->{buff} }
-
- my $buff = '';
- $x->{buff} = \$buff;
- }
-
- last
- unless *$self->{MultiStream};
-
- $status = $z->nextStream();
-
- last
- unless $status == 1 ;
- }
-
- return $z->closeError(undef)
- if $status < 0 ;
-
- ${ *$self->{TrailingData} } = $z->trailingData()
- if defined *$self->{TrailingData} ;
-
- $z->close()
- or return undef ;
-
- return 1 ;
-}
-
-sub TIEHANDLE
-{
- return $_[0] if ref($_[0]);
- die "OOPS\n" ;
-
-}
-
-sub UNTIE
-{
- my $self = shift ;
-}
-
-
-sub getHeaderInfo
-{
- my $self = shift ;
- wantarray ? @{ *$self->{InfoList} } : *$self->{Info};
-}
-
-sub readBlock
-{
- my $self = shift ;
- my $buff = shift ;
- my $size = shift ;
-
- if (defined *$self->{CompressedInputLength}) {
- if (*$self->{CompressedInputLengthRemaining} == 0) {
- delete *$self->{CompressedInputLength};
- *$self->{CompressedInputLengthDone} = 1;
- return STATUS_OK ;
- }
- $size = min($size, *$self->{CompressedInputLengthRemaining} );
- *$self->{CompressedInputLengthRemaining} -= $size ;
- }
-
- my $status = $self->smartRead($buff, $size) ;
- return $self->saveErrorString(STATUS_ERROR, "Error Reading Data")
- if $status < 0 ;
-
- if ($status == 0 ) {
- *$self->{Closed} = 1 ;
- *$self->{EndStream} = 1 ;
- return $self->saveErrorString(STATUS_ERROR, "unexpected end of file", STATUS_ERROR);
- }
-
- return STATUS_OK;
-}
-
-sub postBlockChk
-{
- return STATUS_OK;
-}
-
-sub _raw_read
-{
- # return codes
- # >0 - ok, number of bytes read
- # =0 - ok, eof
- # <0 - not ok
-
- my $self = shift ;
-
- return G_EOF if *$self->{Closed} ;
- #return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
- return G_EOF if *$self->{EndStream} ;
-
- my $buffer = shift ;
- my $scan_mode = shift ;
-
- if (*$self->{Plain}) {
- my $tmp_buff ;
- my $len = $self->smartRead(\$tmp_buff, *$self->{BlockSize}) ;
-
- return $self->saveErrorString(G_ERR, "Error reading data: $!", $!)
- if $len < 0 ;
-
- if ($len == 0 ) {
- *$self->{EndStream} = 1 ;
- }
- else {
- *$self->{PlainBytesRead} += $len ;
- $$buffer .= $tmp_buff;
- }
-
- return $len ;
- }
-
- if (*$self->{NewStream}) {
-
- $self->gotoNextStream() > 0
- or return G_ERR;
-
- # For the headers that actually uncompressed data, put the
- # uncompressed data into the output buffer.
- $$buffer .= *$self->{Pending} ;
- my $len = length *$self->{Pending} ;
- *$self->{Pending} = '';
- return $len;
- }
-
- my $temp_buf = '';
- my $outSize = 0;
- my $status = $self->readBlock(\$temp_buf, *$self->{BlockSize}, $outSize) ;
- return G_ERR
- if $status == STATUS_ERROR ;
-
- my $buf_len = 0;
- if ($status == STATUS_OK) {
- my $beforeC_len = length $temp_buf;
- my $before_len = defined $$buffer ? length $$buffer : 0 ;
- $status = *$self->{Uncomp}->uncompr(\$temp_buf, $buffer,
- defined *$self->{CompressedInputLengthDone} ||
- $self->smartEof(), $outSize);
-
- return $self->saveErrorString(G_ERR, *$self->{Uncomp}{Error}, *$self->{Uncomp}{ErrorNo})
- if $self->saveStatus($status) == STATUS_ERROR;
-
- $self->postBlockChk($buffer, $before_len) == STATUS_OK
- or return G_ERR;
-
- $buf_len = length($$buffer) - $before_len;
-
- *$self->{CompSize}->add($beforeC_len - length $temp_buf) ;
-
- *$self->{InflatedBytesRead} += $buf_len ;
- *$self->{TotalInflatedBytesRead} += $buf_len ;
- *$self->{UnCompSize}->add($buf_len) ;
-
- $self->filterUncompressed($buffer);
-
- if (*$self->{Encoding}) {
- $$buffer = *$self->{Encoding}->decode($$buffer);
- }
- }
-
- if ($status == STATUS_ENDSTREAM) {
-
- *$self->{EndStream} = 1 ;
- $self->pushBack($temp_buf) ;
- $temp_buf = '';
-
- my $trailer;
- my $trailer_size = *$self->{Info}{TrailerLength} ;
- my $got = 0;
- if (*$self->{Info}{TrailerLength})
- {
- $got = $self->smartRead(\$trailer, $trailer_size) ;
- }
-
- if ($got == $trailer_size) {
- $self->chkTrailer($trailer) == STATUS_OK
- or return G_ERR;
- }
- else {
- return $self->TrailerError("trailer truncated. Expected " .
- "$trailer_size bytes, got $got")
- if *$self->{Strict};
- $self->pushBack($trailer) ;
- }
-
- # TODO - if want to file file pointer, do it here
-
- if (! $self->smartEof()) {
- *$self->{NewStream} = 1 ;
-
- if (*$self->{MultiStream}) {
- *$self->{EndStream} = 0 ;
- return $buf_len ;
- }
- }
-
- }
-
-
- # return the number of uncompressed bytes read
- return $buf_len ;
-}
-
-sub reset
-{
- my $self = shift ;
-
- return *$self->{Uncomp}->reset();
-}
-
-sub filterUncompressed
-{
-}
-
-#sub isEndStream
-#{
-# my $self = shift ;
-# return *$self->{NewStream} ||
-# *$self->{EndStream} ;
-#}
-
-sub nextStream
-{
- my $self = shift ;
-
- my $status = $self->gotoNextStream();
- $status == 1
- or return $status ;
-
- *$self->{TotalInflatedBytesRead} = 0 ;
- *$self->{LineNo} = $. = 0;
-
- return 1;
-}
-
-sub gotoNextStream
-{
- my $self = shift ;
-
- if (! *$self->{NewStream}) {
- my $status = 1;
- my $buffer ;
-
- # TODO - make this more efficient if know the offset for the end of
- # the stream and seekable
- $status = $self->read($buffer)
- while $status > 0 ;
-
- return $status
- if $status < 0;
- }
-
- *$self->{NewStream} = 0 ;
- *$self->{EndStream} = 0 ;
- $self->reset();
- *$self->{UnCompSize}->reset();
- *$self->{CompSize}->reset();
-
- my $magic = $self->ckMagic();
- #*$self->{EndStream} = 0 ;
-
- if ( ! defined $magic) {
- if (! *$self->{Transparent} )
- {
- *$self->{EndStream} = 1 ;
- return 0;
- }
-
- $self->clearError();
- *$self->{Type} = 'plain';
- *$self->{Plain} = 1;
- $self->pushBack(*$self->{HeaderPending}) ;
- }
- else
- {
- *$self->{Info} = $self->readHeader($magic);
-
- if ( ! defined *$self->{Info} ) {
- *$self->{EndStream} = 1 ;
- return -1;
- }
- }
-
- push @{ *$self->{InfoList} }, *$self->{Info} ;
-
- return 1;
-}
-
-sub streamCount
-{
- my $self = shift ;
- return 1 if ! defined *$self->{InfoList};
- return scalar @{ *$self->{InfoList} } ;
-}
-
-sub read
-{
- # return codes
- # >0 - ok, number of bytes read
- # =0 - ok, eof
- # <0 - not ok
-
- my $self = shift ;
-
- return G_EOF if *$self->{Closed} ;
-
- my $buffer ;
-
- if (ref $_[0] ) {
- $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
- if readonly(${ $_[0] });
-
- $self->croakError(*$self->{ClassName} . "::read: not a scalar reference $_[0]" )
- unless ref $_[0] eq 'SCALAR' ;
- $buffer = $_[0] ;
- }
- else {
- $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
- if readonly($_[0]);
-
- $buffer = \$_[0] ;
- }
-
- my $length = $_[1] ;
- my $offset = $_[2] || 0;
-
- if (! *$self->{AppendOutput}) {
- if (! $offset) {
- $$buffer = '' ;
- }
- else {
- if ($offset > length($$buffer)) {
- $$buffer .= "\x00" x ($offset - length($$buffer));
- }
- else {
- substr($$buffer, $offset) = '';
- }
- }
- }
-
- return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
-
- # the core read will return 0 if asked for 0 bytes
- return 0 if defined $length && $length == 0 ;
-
- $length = $length || 0;
-
- $self->croakError(*$self->{ClassName} . "::read: length parameter is negative")
- if $length < 0 ;
-
- # Short-circuit if this is a simple read, with no length
- # or offset specified.
- unless ( $length || $offset) {
- if (length *$self->{Pending}) {
- $$buffer .= *$self->{Pending} ;
- my $len = length *$self->{Pending};
- *$self->{Pending} = '' ;
- return $len ;
- }
- else {
- my $len = 0;
- $len = $self->_raw_read($buffer)
- while ! *$self->{EndStream} && $len == 0 ;
- return $len ;
- }
- }
-
- # Need to jump through more hoops - either length or offset
- # or both are specified.
- my $out_buffer = *$self->{Pending} ;
-
-
- while (! *$self->{EndStream} && length($out_buffer) < $length)
- {
- my $buf_len = $self->_raw_read(\$out_buffer);
- return $buf_len
- if $buf_len < 0 ;
- }
-
- $length = length $out_buffer
- if length($out_buffer) < $length ;
-
- return 0
- if $length == 0 ;
-
- $$buffer = ''
- if ! defined $$buffer;
-
- $offset = length $$buffer
- if *$self->{AppendOutput} ;
-
- *$self->{Pending} = $out_buffer;
- $out_buffer = \*$self->{Pending} ;
-
- #substr($$buffer, $offset) = substr($$out_buffer, 0, $length, '') ;
- substr($$buffer, $offset) = substr($$out_buffer, 0, $length) ;
- substr($$out_buffer, 0, $length) = '' ;
-
- return $length ;
-}
-
-sub _getline
-{
- my $self = shift ;
-
- # Slurp Mode
- if ( ! defined $/ ) {
- my $data ;
- 1 while $self->read($data) > 0 ;
- return \$data ;
- }
-
- # Record Mode
- if ( ref $/ eq 'SCALAR' && ${$/} =~ /^\d+$/ && ${$/} > 0) {
- my $reclen = ${$/} ;
- my $data ;
- $self->read($data, $reclen) ;
- return \$data ;
- }
-
- # Paragraph Mode
- if ( ! length $/ ) {
- my $paragraph ;
- while ($self->read($paragraph) > 0 ) {
- if ($paragraph =~ s/^(.*?\n\n+)//s) {
- *$self->{Pending} = $paragraph ;
- my $par = $1 ;
- return \$par ;
- }
- }
- return \$paragraph;
- }
-
- # $/ isn't empty, or a reference, so it's Line Mode.
- {
- my $line ;
- my $offset;
- my $p = \*$self->{Pending} ;
-
- if (length(*$self->{Pending}) &&
- ($offset = index(*$self->{Pending}, $/)) >=0) {
- my $l = substr(*$self->{Pending}, 0, $offset + length $/ );
- substr(*$self->{Pending}, 0, $offset + length $/) = '';
- return \$l;
- }
-
- while ($self->read($line) > 0 ) {
- my $offset = index($line, $/);
- if ($offset >= 0) {
- my $l = substr($line, 0, $offset + length $/ );
- substr($line, 0, $offset + length $/) = '';
- $$p = $line;
- return \$l;
- }
- }
-
- return \$line;
- }
-}
-
-sub getline
-{
- my $self = shift;
- my $current_append = *$self->{AppendOutput} ;
- *$self->{AppendOutput} = 1;
- my $lineref = $self->_getline();
- $. = ++ *$self->{LineNo} if defined $$lineref ;
- *$self->{AppendOutput} = $current_append;
- return $$lineref ;
-}
-
-sub getlines
-{
- my $self = shift;
- $self->croakError(*$self->{ClassName} .
- "::getlines: called in scalar context\n") unless wantarray;
- my($line, @lines);
- push(@lines, $line)
- while defined($line = $self->getline);
- return @lines;
-}
-
-sub READLINE
-{
- goto &getlines if wantarray;
- goto &getline;
-}
-
-sub getc
-{
- my $self = shift;
- my $buf;
- return $buf if $self->read($buf, 1);
- return undef;
-}
-
-sub ungetc
-{
- my $self = shift;
- *$self->{Pending} = "" unless defined *$self->{Pending} ;
- *$self->{Pending} = $_[0] . *$self->{Pending} ;
-}
-
-
-sub trailingData
-{
- my $self = shift ;
-
- if (defined *$self->{FH} || defined *$self->{InputEvent} ) {
- return *$self->{Prime} ;
- }
- else {
- my $buf = *$self->{Buffer} ;
- my $offset = *$self->{BufferOffset} ;
- return substr($$buf, $offset) ;
- }
-}
-
-
-sub eof
-{
- my $self = shift ;
-
- return (*$self->{Closed} ||
- (!length *$self->{Pending}
- && ( $self->smartEof() || *$self->{EndStream}))) ;
-}
-
-sub tell
-{
- my $self = shift ;
-
- my $in ;
- if (*$self->{Plain}) {
- $in = *$self->{PlainBytesRead} ;
- }
- else {
- $in = *$self->{TotalInflatedBytesRead} ;
- }
-
- my $pending = length *$self->{Pending} ;
-
- return 0 if $pending > $in ;
- return $in - $pending ;
-}
-
-sub close
-{
- # todo - what to do if close is called before the end of the gzip file
- # do we remember any trailing data?
- my $self = shift ;
-
- return 1 if *$self->{Closed} ;
-
- untie *$self
- if $] >= 5.008 ;
-
- my $status = 1 ;
-
- if (defined *$self->{FH}) {
- if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) {
- #if ( *$self->{AutoClose}) {
- local $.;
- $! = 0 ;
- $status = *$self->{FH}->close();
- return $self->saveErrorString(0, $!, $!)
- if !*$self->{InNew} && $self->saveStatus($!) != 0 ;
- }
- delete *$self->{FH} ;
- $! = 0 ;
- }
- *$self->{Closed} = 1 ;
-
- return 1;
-}
-
-sub DESTROY
-{
- my $self = shift ;
- $self->close() ;
-}
-
-sub seek
-{
- my $self = shift ;
- my $position = shift;
- my $whence = shift ;
-
- my $here = $self->tell() ;
- my $target = 0 ;
-
-
- if ($whence == SEEK_SET) {
- $target = $position ;
- }
- elsif ($whence == SEEK_CUR) {
- $target = $here + $position ;
- }
- elsif ($whence == SEEK_END) {
- $target = $position ;
- $self->croakError(*$self->{ClassName} . "::seek: SEEK_END not allowed") ;
- }
- else {
- $self->croakError(*$self->{ClassName} ."::seek: unknown value, $whence, for whence parameter");
- }
-
- # short circuit if seeking to current offset
- return 1 if $target == $here ;
-
- # Outlaw any attempt to seek backwards
- $self->croakError( *$self->{ClassName} ."::seek: cannot seek backwards")
- if $target < $here ;
-
- # Walk the file to the new offset
- my $offset = $target - $here ;
-
- my $got;
- while (($got = $self->read(my $buffer, min($offset, *$self->{BlockSize})) ) > 0)
- {
- $offset -= $got;
- last if $offset == 0 ;
- }
-
- return $offset == 0 ? 1 : 0 ;
-}
-
-sub fileno
-{
- my $self = shift ;
- return defined *$self->{FH}
- ? fileno *$self->{FH}
- : undef ;
-}
-
-sub binmode
-{
- 1;
-# my $self = shift ;
-# return defined *$self->{FH}
-# ? binmode *$self->{FH}
-# : 1 ;
-}
-
-sub opened
-{
- my $self = shift ;
- return ! *$self->{Closed} ;
-}
-
-sub autoflush
-{
- my $self = shift ;
- return defined *$self->{FH}
- ? *$self->{FH}->autoflush(@_)
- : undef ;
-}
-
-sub input_line_number
-{
- my $self = shift ;
- my $last = *$self->{LineNo};
- $. = *$self->{LineNo} = $_[1] if @_ ;
- return $last;
-}
-
-
-*BINMODE = \&binmode;
-*SEEK = \&seek;
-*READ = \&read;
-*sysread = \&read;
-*TELL = \&tell;
-*EOF = \&eof;
-
-*FILENO = \&fileno;
-*CLOSE = \&close;
-
-sub _notAvailable
-{
- my $name = shift ;
- #return sub { croak "$name Not Available" ; } ;
- return sub { croak "$name Not Available: File opened only for intput" ; } ;
-}
-
-
-*print = _notAvailable('print');
-*PRINT = _notAvailable('print');
-*printf = _notAvailable('printf');
-*PRINTF = _notAvailable('printf');
-*write = _notAvailable('write');
-*WRITE = _notAvailable('write');
-
-#*sysread = \&read;
-#*syswrite = \&_notAvailable;
-
-
-
-package IO::Uncompress::Base ;
-
-
-1 ;
-__END__
-
-=head1 NAME
-
-IO::Uncompress::Base - Base Class for IO::Uncompress modules
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::Base ;
-
-=head1 DESCRIPTION
-
-This module is not intended for direct use in application code. Its sole
-purpose if to to be sub-classed by IO::Unompress modules.
-
-=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>
-
-=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/5.10/i686-cygwin/IO/Uncompress/Gunzip.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Gunzip.pm
deleted file mode 100644
index 494cc386ff6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Gunzip.pm
+++ /dev/null
@@ -1,1070 +0,0 @@
-
-package IO::Uncompress::Gunzip ;
-
-require 5.004 ;
-
-# for RFC1952
-
-use strict ;
-use warnings;
-use bytes;
-
-use IO::Uncompress::RawInflate 2.011 ;
-
-use Compress::Raw::Zlib 2.011 qw( crc32 ) ;
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.011 ;
-use IO::Compress::Zlib::Extra 2.011 ;
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GunzipError);
-
-@ISA = qw( Exporter IO::Uncompress::RawInflate );
-@EXPORT_OK = qw( $GunzipError gunzip );
-%EXPORT_TAGS = %IO::Uncompress::RawInflate::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-$GunzipError = '';
-
-$VERSION = '2.011';
-
-sub new
-{
- my $class = shift ;
- $GunzipError = '';
- my $obj = createSelfTiedObject($class, \$GunzipError);
-
- $obj->_create(undef, 0, @_);
-}
-
-sub gunzip
-{
- my $obj = createSelfTiedObject(undef, \$GunzipError);
- return $obj->_inf(@_) ;
-}
-
-sub getExtraParams
-{
- use IO::Compress::Base::Common 2.011 qw(:Parse);
- return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ;
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # gunzip always needs crc32
- $got->value('CRC32' => 1);
-
- return 1;
-}
-
-sub ckMagic
-{
- my $self = shift;
-
- my $magic ;
- $self->smartReadExact(\$magic, GZIP_ID_SIZE);
-
- *$self->{HeaderPending} = $magic ;
-
- return $self->HeaderError("Minimum header size is " .
- GZIP_MIN_HEADER_SIZE . " bytes")
- if length $magic != GZIP_ID_SIZE ;
-
- return $self->HeaderError("Bad Magic")
- if ! isGzipMagic($magic) ;
-
- *$self->{Type} = 'rfc1952';
-
- return $magic ;
-}
-
-sub readHeader
-{
- my $self = shift;
- my $magic = shift;
-
- return $self->_readGzipHeader($magic);
-}
-
-sub chkTrailer
-{
- my $self = shift;
- my $trailer = shift;
-
- # Check CRC & ISIZE
- my ($CRC32, $ISIZE) = unpack("V V", $trailer) ;
- *$self->{Info}{CRC32} = $CRC32;
- *$self->{Info}{ISIZE} = $ISIZE;
-
- if (*$self->{Strict}) {
- return $self->TrailerError("CRC mismatch")
- if $CRC32 != *$self->{Uncomp}->crc32() ;
-
- my $exp_isize = *$self->{UnCompSize}->get32bit();
- return $self->TrailerError("ISIZE mismatch. Got $ISIZE"
- . ", expected $exp_isize")
- if $ISIZE != $exp_isize ;
- }
-
- return STATUS_OK;
-}
-
-sub isGzipMagic
-{
- my $buffer = shift ;
- return 0 if length $buffer < GZIP_ID_SIZE ;
- my ($id1, $id2) = unpack("C C", $buffer) ;
- return $id1 == GZIP_ID1 && $id2 == GZIP_ID2 ;
-}
-
-sub _readFullGzipHeader($)
-{
- my ($self) = @_ ;
- my $magic = '' ;
-
- $self->smartReadExact(\$magic, GZIP_ID_SIZE);
-
- *$self->{HeaderPending} = $magic ;
-
- return $self->HeaderError("Minimum header size is " .
- GZIP_MIN_HEADER_SIZE . " bytes")
- if length $magic != GZIP_ID_SIZE ;
-
-
- return $self->HeaderError("Bad Magic")
- if ! isGzipMagic($magic) ;
-
- my $status = $self->_readGzipHeader($magic);
- delete *$self->{Transparent} if ! defined $status ;
- return $status ;
-}
-
-sub _readGzipHeader($)
-{
- my ($self, $magic) = @_ ;
- my ($HeaderCRC) ;
- my ($buffer) = '' ;
-
- $self->smartReadExact(\$buffer, GZIP_MIN_HEADER_SIZE - GZIP_ID_SIZE)
- or return $self->HeaderError("Minimum header size is " .
- GZIP_MIN_HEADER_SIZE . " bytes") ;
-
- my $keep = $magic . $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- # now split out the various parts
- my ($cm, $flag, $mtime, $xfl, $os) = unpack("C C V C C", $buffer) ;
-
- $cm == GZIP_CM_DEFLATED
- or return $self->HeaderError("Not Deflate (CM is $cm)") ;
-
- # check for use of reserved bits
- return $self->HeaderError("Use of Reserved Bits in FLG field.")
- if $flag & GZIP_FLG_RESERVED ;
-
- my $EXTRA ;
- my @EXTRA = () ;
- if ($flag & GZIP_FLG_FEXTRA) {
- $EXTRA = "" ;
- $self->smartReadExact(\$buffer, GZIP_FEXTRA_HEADER_SIZE)
- or return $self->TruncatedHeader("FEXTRA Length") ;
-
- my ($XLEN) = unpack("v", $buffer) ;
- $self->smartReadExact(\$EXTRA, $XLEN)
- or return $self->TruncatedHeader("FEXTRA Body");
- $keep .= $buffer . $EXTRA ;
-
- if ($XLEN && *$self->{'ParseExtra'}) {
- my $bad = IO::Compress::Zlib::Extra::parseRawExtra($EXTRA,
- \@EXTRA, 1, 1);
- return $self->HeaderError($bad)
- if defined $bad;
- }
- }
-
- my $origname ;
- if ($flag & GZIP_FLG_FNAME) {
- $origname = "" ;
- while (1) {
- $self->smartReadExact(\$buffer, 1)
- or return $self->TruncatedHeader("FNAME");
- last if $buffer eq GZIP_NULL_BYTE ;
- $origname .= $buffer
- }
- $keep .= $origname . GZIP_NULL_BYTE ;
-
- return $self->HeaderError("Non ISO 8859-1 Character found in Name")
- if *$self->{Strict} && $origname =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ;
- }
-
- my $comment ;
- if ($flag & GZIP_FLG_FCOMMENT) {
- $comment = "";
- while (1) {
- $self->smartReadExact(\$buffer, 1)
- or return $self->TruncatedHeader("FCOMMENT");
- last if $buffer eq GZIP_NULL_BYTE ;
- $comment .= $buffer
- }
- $keep .= $comment . GZIP_NULL_BYTE ;
-
- return $self->HeaderError("Non ISO 8859-1 Character found in Comment")
- if *$self->{Strict} && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o ;
- }
-
- if ($flag & GZIP_FLG_FHCRC) {
- $self->smartReadExact(\$buffer, GZIP_FHCRC_SIZE)
- or return $self->TruncatedHeader("FHCRC");
-
- $HeaderCRC = unpack("v", $buffer) ;
- my $crc16 = crc32($keep) & 0xFF ;
-
- return $self->HeaderError("CRC16 mismatch.")
- if *$self->{Strict} && $crc16 != $HeaderCRC;
-
- $keep .= $buffer ;
- }
-
- # Assume compression method is deflated for xfl tests
- #if ($xfl) {
- #}
-
- *$self->{Type} = 'rfc1952';
-
- return {
- 'Type' => 'rfc1952',
- 'FingerprintLength' => 2,
- 'HeaderLength' => length $keep,
- 'TrailerLength' => GZIP_TRAILER_SIZE,
- 'Header' => $keep,
- 'isMinimalHeader' => $keep eq GZIP_MINIMUM_HEADER ? 1 : 0,
-
- 'MethodID' => $cm,
- 'MethodName' => $cm == GZIP_CM_DEFLATED ? "Deflated" : "Unknown" ,
- 'TextFlag' => $flag & GZIP_FLG_FTEXT ? 1 : 0,
- 'HeaderCRCFlag' => $flag & GZIP_FLG_FHCRC ? 1 : 0,
- 'NameFlag' => $flag & GZIP_FLG_FNAME ? 1 : 0,
- 'CommentFlag' => $flag & GZIP_FLG_FCOMMENT ? 1 : 0,
- 'ExtraFlag' => $flag & GZIP_FLG_FEXTRA ? 1 : 0,
- 'Name' => $origname,
- 'Comment' => $comment,
- 'Time' => $mtime,
- 'OsID' => $os,
- 'OsName' => defined $GZIP_OS_Names{$os}
- ? $GZIP_OS_Names{$os} : "Unknown",
- 'HeaderCRC' => $HeaderCRC,
- 'Flags' => $flag,
- 'ExtraFlags' => $xfl,
- 'ExtraFieldRaw' => $EXTRA,
- 'ExtraField' => [ @EXTRA ],
-
-
- #'CompSize'=> $compsize,
- #'CRC32'=> $CRC32,
- #'OrigSize'=> $ISIZE,
- }
-}
-
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
- my $status = gunzip $input => $output [,OPTS]
- or die "gunzip failed: $GunzipError\n";
-
- my $z = new IO::Uncompress::Gunzip $input [OPTS]
- or die "gunzip failed: $GunzipError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $status = $z->inflateSync()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $GunzipError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-files/buffers that conform to RFC 1952.
-
-For writing RFC 1952 files/buffers, see the companion module IO::Compress::Gzip.
-
-=head1 Functional Interface
-
-A top-level function, C<gunzip>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
- gunzip $input => $output [,OPTS]
- or die "gunzip failed: $GunzipError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 gunzip $input => $output [, OPTS]
-
-C<gunzip> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<gunzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<gunzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<gunzip>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<gunzip> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<gunzip> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-If the input file/buffer contains multiple compressed data streams, this
-option will uncompress the whole lot as a single data stream.
-
-Defaults to 0.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.gz> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
- my $input = "file1.txt.gz";
- my $output = "file1.txt";
- gunzip $input => $output
- or die "gunzip failed: $GunzipError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.gz"
- or die "Cannot open 'file1.txt.gz': $!\n" ;
- my $buffer ;
- gunzip $input => \$buffer
- or die "gunzip failed: $GunzipError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.gz" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
- gunzip '</my/home/*.txt.gz>' => '</my/home/#1.txt>'
- or die "gunzip failed: $GunzipError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
- for my $input ( glob "/my/home/*.txt.gz" )
- {
- my $output = $input;
- $output =~ s/.gz// ;
- gunzip $input => $output
- or die "Error compressing '$input': $GunzipError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::Gunzip is shown below
-
- my $z = new IO::Uncompress::Gunzip $input [OPTS]
- or die "IO::Uncompress::Gunzip failed: $GunzipError\n";
-
-Returns an C<IO::Uncompress::Gunzip> object on success and undef on failure.
-The variable C<$GunzipError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::Gunzip can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::Gunzip object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Allows multiple concatenated compressed streams to be treated as a single
-compressed stream. Decompression will stop once either the end of the
-file/buffer is reached, an error is encountered (premature eof, corrupt
-compressed data) or the end of a stream is not immediately followed by the
-start of another stream.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::Gunzip will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option controls whether the extra checks defined below are used when
-carrying out the decompression. When Strict is on, the extra tests are
-carried out, when Strict is off they are not.
-
-The default for this option is off.
-
-=over 5
-
-=item 1
-
-If the FHCRC bit is set in the gzip FLG header byte, the CRC16 bytes in the
-header must match the crc16 value of the gzip header actually read.
-
-=item 2
-
-If the gzip header contains a name field (FNAME) it consists solely of ISO
-8859-1 characters.
-
-=item 3
-
-If the gzip header contains a comment field (FCOMMENT) it consists solely
-of ISO 8859-1 characters plus line-feed.
-
-=item 4
-
-If the gzip FEXTRA header field is present it must conform to the sub-field
-structure as defined in RFC 1952.
-
-=item 5
-
-The CRC32 and ISIZE trailer fields must be present.
-
-=item 6
-
-The value of the CRC32 field read must match the crc32 value of the
-uncompressed data actually contained in the gzip file.
-
-=item 7
-
-The value of the ISIZE fields read must match the length of the
-uncompressed data actually read from the file.
-
-=back
-
-=item C<< ParseExtra => 0|1 >>
-If the gzip FEXTRA header field is present and this option is set, it will
-force the module to check that it conforms to the sub-field structure as
-defined in RFC 1952.
-
-If the C<Strict> is on it will automatically enable this option.
-
-Defaults to 0.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 inflateSync
-
-Usage is
-
- $status = $z->inflateSync()
-
-TODO
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=over 5
-
-=item Name
-
-The contents of the Name header field, if present. If no name is
-present, the value will be undef. Note this is different from a zero length
-name, which will return an empty string.
-
-=item Comment
-
-The contents of the Comment header field, if present. If no comment is
-present, the value will be undef. Note this is different from a zero length
-comment, which will return an empty string.
-
-=back
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::Gunzip object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::Gunzip
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::Gunzip at present.
-
-=over 5
-
-=item :all
-
-Imports C<gunzip> and C<$GunzipError>.
-Same as doing this
-
- use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Working with Net::FTP
-
-See L<IO::Uncompress::Gunzip::FAQ|IO::Uncompress::Gunzip::FAQ/"Compressed files and Net::FTP">
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, L<IO::Compress::Gzip>, 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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Uncompress/Inflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Inflate.pm
deleted file mode 100644
index 1a74bf432bf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Inflate.pm
+++ /dev/null
@@ -1,941 +0,0 @@
-package IO::Uncompress::Inflate ;
-# for RFC1950
-
-use strict ;
-use warnings;
-use bytes;
-
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.011 ;
-
-use IO::Uncompress::RawInflate 2.011 ;
-
-require Exporter ;
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-
-$VERSION = '2.011';
-$InflateError = '';
-
-@ISA = qw( Exporter IO::Uncompress::RawInflate );
-@EXPORT_OK = qw( $InflateError inflate ) ;
-%EXPORT_TAGS = %IO::Uncompress::RawInflate::DEFLATE_CONSTANTS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-
-sub new
-{
- my $class = shift ;
- my $obj = createSelfTiedObject($class, \$InflateError);
-
- $obj->_create(undef, 0, @_);
-}
-
-sub inflate
-{
- my $obj = createSelfTiedObject(undef, \$InflateError);
- return $obj->_inf(@_);
-}
-
-sub getExtraParams
-{
- return ();
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # gunzip always needs adler32
- $got->value('ADLER32' => 1);
-
- return 1;
-}
-
-sub ckMagic
-{
- my $self = shift;
-
- my $magic ;
- $self->smartReadExact(\$magic, ZLIB_HEADER_SIZE);
-
- *$self->{HeaderPending} = $magic ;
-
- return $self->HeaderError("Header size is " .
- ZLIB_HEADER_SIZE . " bytes")
- if length $magic != ZLIB_HEADER_SIZE;
-
- #return $self->HeaderError("CRC mismatch.")
- return undef
- if ! $self->isZlibMagic($magic) ;
-
- *$self->{Type} = 'rfc1950';
- return $magic;
-}
-
-sub readHeader
-{
- my $self = shift;
- my $magic = shift ;
-
- return $self->_readDeflateHeader($magic) ;
-}
-
-sub chkTrailer
-{
- my $self = shift;
- my $trailer = shift;
-
- my $ADLER32 = unpack("N", $trailer) ;
- *$self->{Info}{ADLER32} = $ADLER32;
- return $self->TrailerError("CRC mismatch")
- if *$self->{Strict} && $ADLER32 != *$self->{Uncomp}->adler32() ;
-
- return STATUS_OK;
-}
-
-
-
-sub isZlibMagic
-{
- my $self = shift;
- my $buffer = shift ;
-
- return 0
- if length $buffer < ZLIB_HEADER_SIZE ;
-
- my $hdr = unpack("n", $buffer) ;
- #return 0 if $hdr % 31 != 0 ;
- return $self->HeaderError("CRC mismatch.")
- if $hdr % 31 != 0 ;
-
- my ($CMF, $FLG) = unpack "C C", $buffer;
- my $cm = bits($CMF, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS) ;
-
- # Only Deflate supported
- return $self->HeaderError("Not Deflate (CM is $cm)")
- if $cm != ZLIB_CMF_CM_DEFLATED ;
-
- # Max window value is 7 for Deflate.
- my $cinfo = bits($CMF, ZLIB_CMF_CINFO_OFFSET, ZLIB_CMF_CINFO_BITS) ;
- return $self->HeaderError("CINFO > " . ZLIB_CMF_CINFO_MAX .
- " (CINFO is $cinfo)")
- if $cinfo > ZLIB_CMF_CINFO_MAX ;
-
- return 1;
-}
-
-sub bits
-{
- my $data = shift ;
- my $offset = shift ;
- my $mask = shift ;
-
- ($data >> $offset ) & $mask & 0xFF ;
-}
-
-
-sub _readDeflateHeader
-{
- my ($self, $buffer) = @_ ;
-
-# if (! $buffer) {
-# $self->smartReadExact(\$buffer, ZLIB_HEADER_SIZE);
-#
-# *$self->{HeaderPending} = $buffer ;
-#
-# return $self->HeaderError("Header size is " .
-# ZLIB_HEADER_SIZE . " bytes")
-# if length $buffer != ZLIB_HEADER_SIZE;
-#
-# return $self->HeaderError("CRC mismatch.")
-# if ! isZlibMagic($buffer) ;
-# }
-
- my ($CMF, $FLG) = unpack "C C", $buffer;
- my $FDICT = bits($FLG, ZLIB_FLG_FDICT_OFFSET, ZLIB_FLG_FDICT_BITS ),
-
- my $cm = bits($CMF, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS) ;
- $cm == ZLIB_CMF_CM_DEFLATED
- or return $self->HeaderError("Not Deflate (CM is $cm)") ;
-
- my $DICTID;
- if ($FDICT) {
- $self->smartReadExact(\$buffer, ZLIB_FDICT_SIZE)
- or return $self->TruncatedHeader("FDICT");
-
- $DICTID = unpack("N", $buffer) ;
- }
-
- *$self->{Type} = 'rfc1950';
-
- return {
- 'Type' => 'rfc1950',
- 'FingerprintLength' => ZLIB_HEADER_SIZE,
- 'HeaderLength' => ZLIB_HEADER_SIZE,
- 'TrailerLength' => ZLIB_TRAILER_SIZE,
- 'Header' => $buffer,
-
- CMF => $CMF ,
- CM => bits($CMF, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS ),
- CINFO => bits($CMF, ZLIB_CMF_CINFO_OFFSET, ZLIB_CMF_CINFO_BITS ),
- FLG => $FLG ,
- FCHECK => bits($FLG, ZLIB_FLG_FCHECK_OFFSET, ZLIB_FLG_FCHECK_BITS),
- FDICT => bits($FLG, ZLIB_FLG_FDICT_OFFSET, ZLIB_FLG_FDICT_BITS ),
- FLEVEL => bits($FLG, ZLIB_FLG_LEVEL_OFFSET, ZLIB_FLG_LEVEL_BITS ),
- DICTID => $DICTID ,
-
- };
-}
-
-
-
-
-1 ;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::Inflate - Read RFC 1950 files/buffers
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
- my $status = inflate $input => $output [,OPTS]
- or die "inflate failed: $InflateError\n";
-
- my $z = new IO::Uncompress::Inflate $input [OPTS]
- or die "inflate failed: $InflateError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $status = $z->inflateSync()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $InflateError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-files/buffers that conform to RFC 1950.
-
-For writing RFC 1950 files/buffers, see the companion module IO::Compress::Deflate.
-
-=head1 Functional Interface
-
-A top-level function, C<inflate>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
- inflate $input => $output [,OPTS]
- or die "inflate failed: $InflateError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 inflate $input => $output [, OPTS]
-
-C<inflate> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<inflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<inflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<inflate>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<inflate> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<inflate> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-If the input file/buffer contains multiple compressed data streams, this
-option will uncompress the whole lot as a single data stream.
-
-Defaults to 0.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.1950> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
- my $input = "file1.txt.1950";
- my $output = "file1.txt";
- inflate $input => $output
- or die "inflate failed: $InflateError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.1950"
- or die "Cannot open 'file1.txt.1950': $!\n" ;
- my $buffer ;
- inflate $input => \$buffer
- or die "inflate failed: $InflateError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.1950" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
- inflate '</my/home/*.txt.1950>' => '</my/home/#1.txt>'
- or die "inflate failed: $InflateError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
- for my $input ( glob "/my/home/*.txt.1950" )
- {
- my $output = $input;
- $output =~ s/.1950// ;
- inflate $input => $output
- or die "Error compressing '$input': $InflateError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::Inflate is shown below
-
- my $z = new IO::Uncompress::Inflate $input [OPTS]
- or die "IO::Uncompress::Inflate failed: $InflateError\n";
-
-Returns an C<IO::Uncompress::Inflate> object on success and undef on failure.
-The variable C<$InflateError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::Inflate can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::Inflate object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Allows multiple concatenated compressed streams to be treated as a single
-compressed stream. Decompression will stop once either the end of the
-file/buffer is reached, an error is encountered (premature eof, corrupt
-compressed data) or the end of a stream is not immediately followed by the
-start of another stream.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::Inflate will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option controls whether the extra checks defined below are used when
-carrying out the decompression. When Strict is on, the extra tests are
-carried out, when Strict is off they are not.
-
-The default for this option is off.
-
-=over 5
-
-=item 1
-
-The ADLER32 checksum field must be present.
-
-=item 2
-
-The value of the ADLER32 field read must match the adler32 value of the
-uncompressed data actually contained in the file.
-
-=back
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 inflateSync
-
-Usage is
-
- $status = $z->inflateSync()
-
-TODO
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::Inflate object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::Inflate
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::Inflate at present.
-
-=over 5
-
-=item :all
-
-Imports C<inflate> and C<$InflateError>.
-Same as doing this
-
- use IO::Uncompress::Inflate qw(inflate $InflateError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Working with Net::FTP
-
-See L<IO::Uncompress::Inflate::FAQ|IO::Uncompress::Inflate::FAQ/"Compressed files and Net::FTP">
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, 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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Uncompress/RawInflate.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/RawInflate.pm
deleted file mode 100644
index 64f85bf71fe..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/RawInflate.pm
+++ /dev/null
@@ -1,1052 +0,0 @@
-package IO::Uncompress::RawInflate ;
-# for RFC1951
-
-use strict ;
-use warnings;
-use bytes;
-
-use Compress::Raw::Zlib 2.011 ;
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-
-use IO::Uncompress::Base 2.011 ;
-use IO::Uncompress::Adapter::Inflate 2.011 ;
-
-
-
-
-require Exporter ;
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-
-$VERSION = '2.011';
-$RawInflateError = '';
-
-@ISA = qw( Exporter IO::Uncompress::Base );
-@EXPORT_OK = qw( $RawInflateError rawinflate ) ;
-%DEFLATE_CONSTANTS = ();
-%EXPORT_TAGS = %IO::Uncompress::Base::EXPORT_TAGS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-
-
-sub new
-{
- my $class = shift ;
- my $obj = createSelfTiedObject($class, \$RawInflateError);
- $obj->_create(undef, 0, @_);
-}
-
-sub rawinflate
-{
- my $obj = createSelfTiedObject(undef, \$RawInflateError);
- return $obj->_inf(@_);
-}
-
-sub getExtraParams
-{
- return ();
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- return 1;
-}
-
-sub mkUncomp
-{
- my $self = shift ;
- my $got = shift ;
-
- my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject(
- $got->value('CRC32'),
- $got->value('ADLER32'),
- $got->value('Scan'),
- );
-
- return $self->saveErrorString(undef, $errstr, $errno)
- if ! defined $obj;
-
- *$self->{Uncomp} = $obj;
-
- my $magic = $self->ckMagic()
- or return 0;
-
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- return 1;
-
-}
-
-
-sub ckMagic
-{
- my $self = shift;
-
- return $self->_isRaw() ;
-}
-
-sub readHeader
-{
- my $self = shift;
- my $magic = shift ;
-
- return {
- 'Type' => 'rfc1951',
- 'FingerprintLength' => 0,
- 'HeaderLength' => 0,
- 'TrailerLength' => 0,
- 'Header' => ''
- };
-}
-
-sub chkTrailer
-{
- return STATUS_OK ;
-}
-
-sub _isRaw
-{
- my $self = shift ;
-
- my $got = $self->_isRawx(@_);
-
- if ($got) {
- *$self->{Pending} = *$self->{HeaderPending} ;
- }
- else {
- $self->pushBack(*$self->{HeaderPending});
- *$self->{Uncomp}->reset();
- }
- *$self->{HeaderPending} = '';
-
- return $got ;
-}
-
-sub _isRawx
-{
- my $self = shift ;
- my $magic = shift ;
-
- $magic = '' unless defined $magic ;
-
- my $buffer = '';
-
- $self->smartRead(\$buffer, *$self->{BlockSize}) >= 0
- or return $self->saveErrorString(undef, "No data to read");
-
- my $temp_buf = $magic . $buffer ;
- *$self->{HeaderPending} = $temp_buf ;
- $buffer = '';
- my $status = *$self->{Uncomp}->uncompr(\$temp_buf, \$buffer, $self->smartEof()) ;
- return $self->saveErrorString(undef, *$self->{Uncomp}{Error}, STATUS_ERROR)
- if $status == STATUS_ERROR;
-
- #my $buf_len = *$self->{Uncomp}->uncompressedBytes();
- my $buf_len = length $buffer;
-
- if ($status == STATUS_ENDSTREAM) {
- if (*$self->{MultiStream}
- && (length $temp_buf || ! $self->smartEof())){
- *$self->{NewStream} = 1 ;
- *$self->{EndStream} = 0 ;
- $self->pushBack($temp_buf);
- }
- else {
- *$self->{EndStream} = 1 ;
- $self->pushBack($temp_buf);
- }
- }
- *$self->{HeaderPending} = $buffer ;
- *$self->{InflatedBytesRead} = $buf_len ;
- *$self->{TotalInflatedBytesRead} += $buf_len ;
- *$self->{Type} = 'rfc1951';
-
- $self->saveStatus(STATUS_OK);
-
- return {
- 'Type' => 'rfc1951',
- 'HeaderLength' => 0,
- 'TrailerLength' => 0,
- 'Header' => ''
- };
-}
-
-
-sub inflateSync
-{
- my $self = shift ;
-
- # inflateSync is a no-op in Plain mode
- return 1
- if *$self->{Plain} ;
-
- return 0 if *$self->{Closed} ;
- #return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
- return 0 if ! length *$self->{Pending} && *$self->{EndStream} ;
-
- # Disable CRC check
- *$self->{Strict} = 0 ;
-
- my $status ;
- while (1)
- {
- my $temp_buf ;
-
- if (length *$self->{Pending} )
- {
- $temp_buf = *$self->{Pending} ;
- *$self->{Pending} = '';
- }
- else
- {
- $status = $self->smartRead(\$temp_buf, *$self->{BlockSize}) ;
- return $self->saveErrorString(0, "Error Reading Data")
- if $status < 0 ;
-
- if ($status == 0 ) {
- *$self->{EndStream} = 1 ;
- return $self->saveErrorString(0, "unexpected end of file", STATUS_ERROR);
- }
- }
-
- $status = *$self->{Uncomp}->sync($temp_buf) ;
-
- if ($status == STATUS_OK)
- {
- *$self->{Pending} .= $temp_buf ;
- return 1 ;
- }
-
- last unless $status == STATUS_ERROR ;
- }
-
- return 0;
-}
-
-#sub performScan
-#{
-# my $self = shift ;
-#
-# my $status ;
-# my $end_offset = 0;
-#
-# $status = $self->scan()
-# #or return $self->saveErrorString(undef, "Error Scanning: $$error_ref", $self->errorNo) ;
-# or return $self->saveErrorString(G_ERR, "Error Scanning: $status")
-#
-# $status = $self->zap($end_offset)
-# or return $self->saveErrorString(G_ERR, "Error Zapping: $status");
-# #or return $self->saveErrorString(undef, "Error Zapping: $$error_ref", $self->errorNo) ;
-#
-# #(*$obj->{Deflate}, $status) = $inf->createDeflate();
-#
-## *$obj->{Header} = *$inf->{Info}{Header};
-## *$obj->{UnCompSize_32bit} =
-## *$obj->{BytesWritten} = *$inf->{UnCompSize_32bit} ;
-## *$obj->{CompSize_32bit} = *$inf->{CompSize_32bit} ;
-#
-#
-## if ( $outType eq 'buffer')
-## { substr( ${ *$self->{Buffer} }, $end_offset) = '' }
-## elsif ($outType eq 'handle' || $outType eq 'filename') {
-## *$self->{FH} = *$inf->{FH} ;
-## delete *$inf->{FH};
-## *$obj->{FH}->flush() ;
-## *$obj->{Handle} = 1 if $outType eq 'handle';
-##
-## #seek(*$obj->{FH}, $end_offset, SEEK_SET)
-## *$obj->{FH}->seek($end_offset, SEEK_SET)
-## or return $obj->saveErrorString(undef, $!, $!) ;
-## }
-#
-#}
-
-sub scan
-{
- my $self = shift ;
-
- return 1 if *$self->{Closed} ;
- return 1 if !length *$self->{Pending} && *$self->{EndStream} ;
-
- my $buffer = '' ;
- my $len = 0;
-
- $len = $self->_raw_read(\$buffer, 1)
- while ! *$self->{EndStream} && $len >= 0 ;
-
- #return $len if $len < 0 ? $len : 0 ;
- return $len < 0 ? 0 : 1 ;
-}
-
-sub zap
-{
- my $self = shift ;
-
- my $headerLength = *$self->{Info}{HeaderLength};
- my $block_offset = $headerLength + *$self->{Uncomp}->getLastBlockOffset();
- $_[0] = $headerLength + *$self->{Uncomp}->getEndOffset();
- #printf "# End $_[0], headerlen $headerLength \n";;
- #printf "# block_offset $block_offset %x\n", $block_offset;
- my $byte ;
- ( $self->smartSeek($block_offset) &&
- $self->smartRead(\$byte, 1) )
- or return $self->saveErrorString(0, $!, $!);
-
- #printf "#byte is %x\n", unpack('C*',$byte);
- *$self->{Uncomp}->resetLastBlockByte($byte);
- #printf "#to byte is %x\n", unpack('C*',$byte);
-
- ( $self->smartSeek($block_offset) &&
- $self->smartWrite($byte) )
- or return $self->saveErrorString(0, $!, $!);
-
- #$self->smartSeek($end_offset, 1);
-
- return 1 ;
-}
-
-sub createDeflate
-{
- my $self = shift ;
- my ($def, $status) = *$self->{Uncomp}->createDeflateStream(
- -AppendOutput => 1,
- -WindowBits => - MAX_WBITS,
- -CRC32 => *$self->{Params}->value('CRC32'),
- -ADLER32 => *$self->{Params}->value('ADLER32'),
- );
-
- return wantarray ? ($status, $def) : $def ;
-}
-
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
- my $status = rawinflate $input => $output [,OPTS]
- or die "rawinflate failed: $RawInflateError\n";
-
- my $z = new IO::Uncompress::RawInflate $input [OPTS]
- or die "rawinflate failed: $RawInflateError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $status = $z->inflateSync()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $RawInflateError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-files/buffers that conform to RFC 1951.
-
-For writing RFC 1951 files/buffers, see the companion module IO::Compress::RawDeflate.
-
-=head1 Functional Interface
-
-A top-level function, C<rawinflate>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
- rawinflate $input => $output [,OPTS]
- or die "rawinflate failed: $RawInflateError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 rawinflate $input => $output [, OPTS]
-
-C<rawinflate> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<rawinflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<rawinflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<rawinflate>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<rawinflate> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<rawinflate> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-This option is a no-op.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.1951> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
- my $input = "file1.txt.1951";
- my $output = "file1.txt";
- rawinflate $input => $output
- or die "rawinflate failed: $RawInflateError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.1951"
- or die "Cannot open 'file1.txt.1951': $!\n" ;
- my $buffer ;
- rawinflate $input => \$buffer
- or die "rawinflate failed: $RawInflateError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.1951" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
- rawinflate '</my/home/*.txt.1951>' => '</my/home/#1.txt>'
- or die "rawinflate failed: $RawInflateError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
- for my $input ( glob "/my/home/*.txt.1951" )
- {
- my $output = $input;
- $output =~ s/.1951// ;
- rawinflate $input => $output
- or die "Error compressing '$input': $RawInflateError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::RawInflate is shown below
-
- my $z = new IO::Uncompress::RawInflate $input [OPTS]
- or die "IO::Uncompress::RawInflate failed: $RawInflateError\n";
-
-Returns an C<IO::Uncompress::RawInflate> object on success and undef on failure.
-The variable C<$RawInflateError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::RawInflate can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::RawInflate object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Allows multiple concatenated compressed streams to be treated as a single
-compressed stream. Decompression will stop once either the end of the
-file/buffer is reached, an error is encountered (premature eof, corrupt
-compressed data) or the end of a stream is not immediately followed by the
-start of another stream.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::RawInflate will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option is a no-op.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 inflateSync
-
-Usage is
-
- $status = $z->inflateSync()
-
-TODO
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::RawInflate object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::RawInflate
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::RawInflate at present.
-
-=over 5
-
-=item :all
-
-Imports C<rawinflate> and C<$RawInflateError>.
-Same as doing this
-
- use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Working with Net::FTP
-
-See L<IO::Uncompress::RawInflate::FAQ|IO::Uncompress::RawInflate::FAQ/"Compressed files and Net::FTP">
-
-=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::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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IO/Uncompress/Unzip.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Unzip.pm
deleted file mode 100644
index c50259f34cf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IO/Uncompress/Unzip.pm
+++ /dev/null
@@ -1,1485 +0,0 @@
-package IO::Uncompress::Unzip;
-
-require 5.004 ;
-
-# for RFC1952
-
-use strict ;
-use warnings;
-use bytes;
-
-use IO::Uncompress::RawInflate 2.011 ;
-use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.011 ;
-use IO::Uncompress::Adapter::Identity 2.011 ;
-use IO::Compress::Zlib::Extra 2.011 ;
-use IO::Compress::Zip::Constants 2.011 ;
-
-use Compress::Raw::Zlib 2.011 qw(crc32) ;
-
-BEGIN
-{
- eval { require IO::Uncompress::Adapter::Bunzip2 ;
- import IO::Uncompress::Adapter::Bunzip2 } ;
-}
-
-
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-
-$VERSION = '2.011';
-$UnzipError = '';
-
-@ISA = qw(Exporter IO::Uncompress::RawInflate);
-@EXPORT_OK = qw( $UnzipError unzip );
-%EXPORT_TAGS = %IO::Uncompress::RawInflate::EXPORT_TAGS ;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-Exporter::export_ok_tags('all');
-
-%headerLookup = (
- ZIP_CENTRAL_HDR_SIG, \&skipCentralDirectory,
- ZIP_END_CENTRAL_HDR_SIG, \&skipEndCentralDirectory,
- ZIP64_END_CENTRAL_REC_HDR_SIG, \&skipCentralDirectory64Rec,
- ZIP64_END_CENTRAL_LOC_HDR_SIG, \&skipCentralDirectory64Loc,
- ZIP64_ARCHIVE_EXTRA_SIG, \&skipArchiveExtra,
- ZIP64_DIGITAL_SIGNATURE_SIG, \&skipDigitalSignature,
- );
-
-sub new
-{
- my $class = shift ;
- my $obj = createSelfTiedObject($class, \$UnzipError);
- $obj->_create(undef, 0, @_);
-}
-
-sub unzip
-{
- my $obj = createSelfTiedObject(undef, \$UnzipError);
- return $obj->_inf(@_) ;
-}
-
-sub getExtraParams
-{
- use IO::Compress::Base::Common 2.011 qw(:Parse);
-
-
- return (
-# # Zip header fields
- 'Name' => [1, 1, Parse_any, undef],
-
-# 'Streaming' => [1, 1, Parse_boolean, 1],
- );
-}
-
-sub ckParams
-{
- my $self = shift ;
- my $got = shift ;
-
- # unzip always needs crc32
- $got->value('CRC32' => 1);
-
- *$self->{UnzipData}{Name} = $got->value('Name');
-
- return 1;
-}
-
-sub mkUncomp
-{
- my $self = shift ;
- my $got = shift ;
-
- my $magic = $self->ckMagic()
- or return 0;
-
- *$self->{Info} = $self->readHeader($magic)
- or return undef ;
-
- return 1;
-
-}
-
-sub ckMagic
-{
- my $self = shift;
-
- my $magic ;
- $self->smartReadExact(\$magic, 4);
-
- *$self->{HeaderPending} = $magic ;
-
- return $self->HeaderError("Minimum header size is " .
- 4 . " bytes")
- if length $magic != 4 ;
-
- return $self->HeaderError("Bad Magic")
- if ! _isZipMagic($magic) ;
-
- *$self->{Type} = 'zip';
-
- return $magic ;
-}
-
-
-
-sub readHeader
-{
- my $self = shift;
- my $magic = shift ;
-
- my $name = *$self->{UnzipData}{Name} ;
- my $hdr = $self->_readZipHeader($magic) ;
-
- while (defined $hdr)
- {
- if (! defined $name || $hdr->{Name} eq $name)
- {
- return $hdr ;
- }
-
- # skip the data
- my $buffer;
- if (*$self->{ZipData}{Streaming}) {
-
- while (1) {
-
- my $b;
- my $status = $self->smartRead(\$b, 1024 * 16);
- return undef
- if $status <= 0 ;
-
- my $temp_buf;
- my $out;
- $status = *$self->{Uncomp}->uncompr(\$b, \$temp_buf, 0, $out);
-
- return $self->saveErrorString(undef, *$self->{Uncomp}{Error},
- *$self->{Uncomp}{ErrorNo})
- if $self->saveStatus($status) == STATUS_ERROR;
-
- if ($status == STATUS_ENDSTREAM) {
- *$self->{Uncomp}->reset();
- $self->pushBack($b) ;
- last;
- }
- }
-
- # skip the trailer
- $self->smartReadExact(\$buffer, $hdr->{TrailerLength})
- or return $self->saveErrorString(undef, "Truncated file");
- }
- else {
- my $c = $hdr->{CompressedLength}->get32bit();
- $self->smartReadExact(\$buffer, $c)
- or return $self->saveErrorString(undef, "Truncated file");
- $buffer = '';
- }
-
- $self->chkTrailer($buffer) == STATUS_OK
- or return $self->saveErrorString(undef, "Truncated file");
-
- $hdr = $self->_readFullZipHeader();
-
- return $self->saveErrorString(undef, "Cannot find '$name'")
- if $self->smartEof();
- }
-
- return undef;
-}
-
-sub chkTrailer
-{
- my $self = shift;
- my $trailer = shift;
-
- my ($sig, $CRC32, $cSize, $uSize) ;
- my ($cSizeHi, $uSizeHi) = (0, 0);
- if (*$self->{ZipData}{Streaming}) {
- $sig = unpack ("V", substr($trailer, 0, 4));
- $CRC32 = unpack ("V", substr($trailer, 4, 4));
-
- if (*$self->{ZipData}{Zip64} ) {
- $cSize = U64::newUnpack_V64 substr($trailer, 8, 8);
- $uSize = U64::newUnpack_V64 substr($trailer, 16, 8);
- }
- else {
- $cSize = U64::newUnpack_V32 substr($trailer, 8, 4);
- $uSize = U64::newUnpack_V32 substr($trailer, 12, 4);
- }
-
- return $self->TrailerError("Data Descriptor signature, got $sig")
- if $sig != ZIP_DATA_HDR_SIG;
- }
- else {
- ($CRC32, $cSize, $uSize) =
- (*$self->{ZipData}{Crc32},
- *$self->{ZipData}{CompressedLen},
- *$self->{ZipData}{UnCompressedLen});
- }
-
- if (*$self->{Strict}) {
- return $self->TrailerError("CRC mismatch")
- if $CRC32 != *$self->{ZipData}{CRC32} ;
-
- return $self->TrailerError("CSIZE mismatch.")
- if ! $cSize->equal(*$self->{CompSize});
-
- return $self->TrailerError("USIZE mismatch.")
- if ! $uSize->equal(*$self->{UnCompSize});
- }
-
- my $reachedEnd = STATUS_ERROR ;
- # check for central directory or end of central directory
- while (1)
- {
- my $magic ;
- my $got = $self->smartRead(\$magic, 4);
-
- return $self->saveErrorString(STATUS_ERROR, "Truncated file")
- if $got != 4 && *$self->{Strict};
-
- if ($got == 0) {
- return STATUS_EOF ;
- }
- elsif ($got < 0) {
- return STATUS_ERROR ;
- }
- elsif ($got < 4) {
- $self->pushBack($magic) ;
- return STATUS_OK ;
- }
-
- my $sig = unpack("V", $magic) ;
-
- my $hdr;
- if ($hdr = $headerLookup{$sig})
- {
- if (&$hdr($self, $magic) != STATUS_OK ) {
- if (*$self->{Strict}) {
- return STATUS_ERROR ;
- }
- else {
- $self->clearError();
- return STATUS_OK ;
- }
- }
-
- if ($sig == ZIP_END_CENTRAL_HDR_SIG)
- {
- return STATUS_OK ;
- last;
- }
- }
- elsif ($sig == ZIP_LOCAL_HDR_SIG)
- {
- $self->pushBack($magic) ;
- return STATUS_OK ;
- }
- else
- {
- # put the data back
- $self->pushBack($magic) ;
- last;
- }
- }
-
- return $reachedEnd ;
-}
-
-sub skipCentralDirectory
-{
- my $self = shift;
- my $magic = shift ;
-
- my $buffer;
- $self->smartReadExact(\$buffer, 46 - 4)
- or return $self->TrailerError("Minimum header size is " .
- 46 . " bytes") ;
-
- my $keep = $magic . $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- #my $versionMadeBy = unpack ("v", substr($buffer, 4-4, 2));
- #my $extractVersion = unpack ("v", substr($buffer, 6-4, 2));
- #my $gpFlag = unpack ("v", substr($buffer, 8-4, 2));
- #my $compressedMethod = unpack ("v", substr($buffer, 10-4, 2));
- #my $lastModTime = unpack ("V", substr($buffer, 12-4, 4));
- #my $crc32 = unpack ("V", substr($buffer, 16-4, 4));
- my $compressedLength = unpack ("V", substr($buffer, 20-4, 4));
- my $uncompressedLength = unpack ("V", substr($buffer, 24-4, 4));
- my $filename_length = unpack ("v", substr($buffer, 28-4, 2));
- my $extra_length = unpack ("v", substr($buffer, 30-4, 2));
- my $comment_length = unpack ("v", substr($buffer, 32-4, 2));
- #my $disk_start = unpack ("v", substr($buffer, 34-4, 2));
- #my $int_file_attrib = unpack ("v", substr($buffer, 36-4, 2));
- #my $ext_file_attrib = unpack ("V", substr($buffer, 38-4, 2));
- #my $lcl_hdr_offset = unpack ("V", substr($buffer, 42-4, 2));
-
-
- my $filename;
- my $extraField;
- my $comment ;
- if ($filename_length)
- {
- $self->smartReadExact(\$filename, $filename_length)
- or return $self->TruncatedTrailer("filename");
- $keep .= $filename ;
- }
-
- if ($extra_length)
- {
- $self->smartReadExact(\$extraField, $extra_length)
- or return $self->TruncatedTrailer("extra");
- $keep .= $extraField ;
- }
-
- if ($comment_length)
- {
- $self->smartReadExact(\$comment, $comment_length)
- or return $self->TruncatedTrailer("comment");
- $keep .= $comment ;
- }
-
- return STATUS_OK ;
-}
-
-sub skipArchiveExtra
-{
- my $self = shift;
- my $magic = shift ;
-
- my $buffer;
- $self->smartReadExact(\$buffer, 4)
- or return $self->TrailerError("Minimum header size is " .
- 4 . " bytes") ;
-
- my $keep = $magic . $buffer ;
-
- my $size = unpack ("V", $buffer);
-
- $self->smartReadExact(\$buffer, $size)
- or return $self->TrailerError("Minimum header size is " .
- $size . " bytes") ;
-
- $keep .= $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- return STATUS_OK ;
-}
-
-
-sub skipCentralDirectory64Rec
-{
- my $self = shift;
- my $magic = shift ;
-
- my $buffer;
- $self->smartReadExact(\$buffer, 8)
- or return $self->TrailerError("Minimum header size is " .
- 8 . " bytes") ;
-
- my $keep = $magic . $buffer ;
-
- my ($sizeLo, $sizeHi) = unpack ("V V", $buffer);
-
- # TODO - take SizeHi into account
- $self->smartReadExact(\$buffer, $sizeLo)
- or return $self->TrailerError("Minimum header size is " .
- $sizeLo . " bytes") ;
-
- $keep .= $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- #my $versionMadeBy = unpack ("v", substr($buffer, 0, 2));
- #my $extractVersion = unpack ("v", substr($buffer, 2, 2));
- #my $diskNumber = unpack ("V", substr($buffer, 4, 4));
- #my $cntrlDirDiskNo = unpack ("V", substr($buffer, 8, 4));
- #my $entriesInThisCD = unpack ("V V", substr($buffer, 12, 8));
- #my $entriesInCD = unpack ("V V", substr($buffer, 20, 8));
- #my $sizeOfCD = unpack ("V V", substr($buffer, 28, 8));
- #my $offsetToCD = unpack ("V V", substr($buffer, 36, 8));
-
- return STATUS_OK ;
-}
-
-sub skipCentralDirectory64Loc
-{
- my $self = shift;
- my $magic = shift ;
-
- my $buffer;
- $self->smartReadExact(\$buffer, 20 - 4)
- or return $self->TrailerError("Minimum header size is " .
- 20 . " bytes") ;
-
- my $keep = $magic . $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- #my $startCdDisk = unpack ("V", substr($buffer, 4-4, 4));
- #my $offsetToCD = unpack ("V V", substr($buffer, 8-4, 8));
- #my $diskCount = unpack ("V", substr($buffer, 16-4, 4));
-
- return STATUS_OK ;
-}
-
-sub skipEndCentralDirectory
-{
- my $self = shift;
- my $magic = shift ;
-
- my $buffer;
- $self->smartReadExact(\$buffer, 22 - 4)
- or return $self->TrailerError("Minimum header size is " .
- 22 . " bytes") ;
-
- my $keep = $magic . $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- #my $diskNumber = unpack ("v", substr($buffer, 4-4, 2));
- #my $cntrlDirDiskNo = unpack ("v", substr($buffer, 6-4, 2));
- #my $entriesInThisCD = unpack ("v", substr($buffer, 8-4, 2));
- #my $entriesInCD = unpack ("v", substr($buffer, 10-4, 2));
- #my $sizeOfCD = unpack ("V", substr($buffer, 12-4, 2));
- #my $offsetToCD = unpack ("V", substr($buffer, 16-4, 2));
- my $comment_length = unpack ("v", substr($buffer, 20-4, 2));
-
-
- my $comment ;
- if ($comment_length)
- {
- $self->smartReadExact(\$comment, $comment_length)
- or return $self->TruncatedTrailer("comment");
- $keep .= $comment ;
- }
-
- return STATUS_OK ;
-}
-
-
-sub _isZipMagic
-{
- my $buffer = shift ;
- return 0 if length $buffer < 4 ;
- my $sig = unpack("V", $buffer) ;
- return $sig == ZIP_LOCAL_HDR_SIG ;
-}
-
-
-sub _readFullZipHeader($)
-{
- my ($self) = @_ ;
- my $magic = '' ;
-
- $self->smartReadExact(\$magic, 4);
-
- *$self->{HeaderPending} = $magic ;
-
- return $self->HeaderError("Minimum header size is " .
- 30 . " bytes")
- if length $magic != 4 ;
-
-
- return $self->HeaderError("Bad Magic")
- if ! _isZipMagic($magic) ;
-
- my $status = $self->_readZipHeader($magic);
- delete *$self->{Transparent} if ! defined $status ;
- return $status ;
-}
-
-sub _readZipHeader($)
-{
- my ($self, $magic) = @_ ;
- my ($HeaderCRC) ;
- my ($buffer) = '' ;
-
- $self->smartReadExact(\$buffer, 30 - 4)
- or return $self->HeaderError("Minimum header size is " .
- 30 . " bytes") ;
-
- my $keep = $magic . $buffer ;
- *$self->{HeaderPending} = $keep ;
-
- my $extractVersion = unpack ("v", substr($buffer, 4-4, 2));
- my $gpFlag = unpack ("v", substr($buffer, 6-4, 2));
- my $compressedMethod = unpack ("v", substr($buffer, 8-4, 2));
- my $lastModTime = unpack ("V", substr($buffer, 10-4, 4));
- my $crc32 = unpack ("V", substr($buffer, 14-4, 4));
- my $compressedLength = new U64 unpack ("V", substr($buffer, 18-4, 4));
- my $uncompressedLength = new U64 unpack ("V", substr($buffer, 22-4, 4));
- my $filename_length = unpack ("v", substr($buffer, 26-4, 2));
- my $extra_length = unpack ("v", substr($buffer, 28-4, 2));
-
- my $filename;
- my $extraField;
- my @EXTRA = ();
- my $streamingMode = ($gpFlag & ZIP_GP_FLAG_STREAMING_MASK) ? 1 : 0 ;
-
- return $self->HeaderError("Streamed Stored content not supported")
- if $streamingMode && $compressedMethod == 0 ;
-
- return $self->HeaderError("Encrypted content not supported")
- if $gpFlag & (ZIP_GP_FLAG_ENCRYPTED_MASK|ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK);
-
- return $self->HeaderError("Patch content not supported")
- if $gpFlag & ZIP_GP_FLAG_PATCHED_MASK;
-
- *$self->{ZipData}{Streaming} = $streamingMode;
-
-
- if ($filename_length)
- {
- $self->smartReadExact(\$filename, $filename_length)
- or return $self->TruncatedHeader("Filename");
- $keep .= $filename ;
- }
-
- my $zip64 = 0 ;
-
- if ($extra_length)
- {
- $self->smartReadExact(\$extraField, $extra_length)
- or return $self->TruncatedHeader("Extra Field");
-
- my $bad = IO::Compress::Zlib::Extra::parseRawExtra($extraField,
- \@EXTRA, 1, 0);
- return $self->HeaderError($bad)
- if defined $bad;
-
- $keep .= $extraField ;
-
- my %Extra ;
- for (@EXTRA)
- {
- $Extra{$_->[0]} = \$_->[1];
- }
-
- if (defined $Extra{ZIP_EXTRA_ID_ZIP64()})
- {
- $zip64 = 1 ;
-
- my $buff = ${ $Extra{ZIP_EXTRA_ID_ZIP64()} };
-
- # TODO - This code assumes that all the fields in the Zip64
- # extra field aren't necessarily present. The spec says that
- # they only exist if the equivalent local headers are -1.
- # Need to check that info-zip fills out -1 in the local header
- # correctly.
-
- if (! $streamingMode) {
- my $offset = 0 ;
-
- $uncompressedLength = U64::newUnpack_V64 substr($buff, 0, 8)
- if $uncompressedLength == 0xFFFF ;
-
- $offset += 8 ;
-
- $compressedLength = U64::newUnpack_V64 substr($buff, $offset, 8)
- if $compressedLength == 0xFFFF ;
-
- $offset += 8 ;
-
- #my $cheaderOffset = U64::newUnpack_V64 substr($buff, 16, 8);
- #my $diskNumber = unpack ("V", substr($buff, 24, 4));
- }
- }
- }
-
- *$self->{ZipData}{Zip64} = $zip64;
-
- if (! $streamingMode) {
- *$self->{ZipData}{Streaming} = 0;
- *$self->{ZipData}{Crc32} = $crc32;
- *$self->{ZipData}{CompressedLen} = $compressedLength;
- *$self->{ZipData}{UnCompressedLen} = $uncompressedLength;
- *$self->{CompressedInputLengthRemaining} =
- *$self->{CompressedInputLength} = $compressedLength->get32bit();
- }
-
- *$self->{ZipData}{Method} = $compressedMethod;
- if ($compressedMethod == ZIP_CM_DEFLATE)
- {
- *$self->{Type} = 'zip-deflate';
- my $obj = IO::Uncompress::Adapter::Inflate::mkUncompObject(1,0,0);
-
- *$self->{Uncomp} = $obj;
- *$self->{ZipData}{CRC32} = crc32(undef);
- }
- elsif ($compressedMethod == ZIP_CM_BZIP2)
- {
- return $self->HeaderError("Unsupported Compression format $compressedMethod")
- if ! defined $IO::Uncompress::Adapter::Bunzip2::VERSION ;
-
- *$self->{Type} = 'zip-bzip2';
-
- my $obj = IO::Uncompress::Adapter::Bunzip2::mkUncompObject();
-
- *$self->{Uncomp} = $obj;
- *$self->{ZipData}{CRC32} = crc32(undef);
- }
- elsif ($compressedMethod == ZIP_CM_STORE)
- {
- # TODO -- add support for reading uncompressed
-
- *$self->{Type} = 'zip-stored';
-
- my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject();
-
- *$self->{Uncomp} = $obj;
- }
- else
- {
- return $self->HeaderError("Unsupported Compression format $compressedMethod");
- }
-
- return {
- 'Type' => 'zip',
- 'FingerprintLength' => 4,
- #'HeaderLength' => $compressedMethod == 8 ? length $keep : 0,
- 'HeaderLength' => length $keep,
- 'Zip64' => $zip64,
- 'TrailerLength' => ! $streamingMode ? 0 : $zip64 ? 24 : 16,
- 'Header' => $keep,
- 'CompressedLength' => $compressedLength ,
- 'UncompressedLength' => $uncompressedLength ,
- 'CRC32' => $crc32 ,
- 'Name' => $filename,
- 'Time' => _dosToUnixTime($lastModTime),
- 'Stream' => $streamingMode,
-
- 'MethodID' => $compressedMethod,
- 'MethodName' => $compressedMethod == ZIP_CM_DEFLATE
- ? "Deflated"
- : $compressedMethod == ZIP_CM_BZIP2
- ? "Bzip2"
- : $compressedMethod == ZIP_CM_STORE
- ? "Stored"
- : "Unknown" ,
-
-# 'TextFlag' => $flag & GZIP_FLG_FTEXT ? 1 : 0,
-# 'HeaderCRCFlag' => $flag & GZIP_FLG_FHCRC ? 1 : 0,
-# 'NameFlag' => $flag & GZIP_FLG_FNAME ? 1 : 0,
-# 'CommentFlag' => $flag & GZIP_FLG_FCOMMENT ? 1 : 0,
-# 'ExtraFlag' => $flag & GZIP_FLG_FEXTRA ? 1 : 0,
-# 'Comment' => $comment,
-# 'OsID' => $os,
-# 'OsName' => defined $GZIP_OS_Names{$os}
-# ? $GZIP_OS_Names{$os} : "Unknown",
-# 'HeaderCRC' => $HeaderCRC,
-# 'Flags' => $flag,
-# 'ExtraFlags' => $xfl,
- 'ExtraFieldRaw' => $extraField,
- 'ExtraField' => [ @EXTRA ],
-
-
- }
-}
-
-sub filterUncompressed
-{
- my $self = shift ;
-
- if (*$self->{ZipData}{Method} == 12) {
- *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
- }
- else {
- *$self->{ZipData}{CRC32} = *$self->{Uncomp}->crc32() ;
- }
-}
-
-
-# from Archive::Zip
-sub _dosToUnixTime
-{
- #use Time::Local 'timelocal_nocheck';
- use Time::Local 'timelocal';
-
- my $dt = shift;
-
- my $year = ( ( $dt >> 25 ) & 0x7f ) + 80;
- my $mon = ( ( $dt >> 21 ) & 0x0f ) - 1;
- my $mday = ( ( $dt >> 16 ) & 0x1f );
-
- my $hour = ( ( $dt >> 11 ) & 0x1f );
- my $min = ( ( $dt >> 5 ) & 0x3f );
- my $sec = ( ( $dt << 1 ) & 0x3e );
-
- # catch errors
- my $time_t =
- eval { timelocal( $sec, $min, $hour, $mday, $mon, $year ); };
- return 0
- if $@;
- return $time_t;
-}
-
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-IO::Uncompress::Unzip - Read zip files/buffers
-
-=head1 SYNOPSIS
-
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
- my $status = unzip $input => $output [,OPTS]
- or die "unzip failed: $UnzipError\n";
-
- my $z = new IO::Uncompress::Unzip $input [OPTS]
- or die "unzip failed: $UnzipError\n";
-
- $status = $z->read($buffer)
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
- $line = $z->getline()
- $char = $z->getc()
- $char = $z->ungetc()
- $char = $z->opened()
-
- $status = $z->inflateSync()
-
- $data = $z->trailingData()
- $status = $z->nextStream()
- $data = $z->getHeaderInfo()
- $z->tell()
- $z->seek($position, $whence)
- $z->binmode()
- $z->fileno()
- $z->eof()
- $z->close()
-
- $UnzipError ;
-
- # IO::File mode
-
- <$z>
- read($z, $buffer);
- read($z, $buffer, $length);
- read($z, $buffer, $length, $offset);
- tell($z)
- seek($z, $position, $whence)
- binmode($z)
- fileno($z)
- eof($z)
- close($z)
-
-=head1 DESCRIPTION
-
-This module provides a Perl interface that allows the reading of
-zlib files/buffers.
-
-For writing zip files/buffers, see the companion module IO::Compress::Zip.
-
-=head1 Functional Interface
-
-A top-level function, C<unzip>, is provided to carry out
-"one-shot" uncompression between buffers and/or files. For finer
-control over the uncompression process, see the L</"OO Interface">
-section.
-
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
- unzip $input => $output [,OPTS]
- or die "unzip failed: $UnzipError\n";
-
-The functional interface needs Perl5.005 or better.
-
-=head2 unzip $input => $output [, OPTS]
-
-C<unzip> expects at least two parameters, C<$input> and C<$output>.
-
-=head3 The C<$input> parameter
-
-The parameter, C<$input>, is used to define the source of
-the compressed data.
-
-It can take one of the following forms:
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
-
-=item An array reference
-
-If C<$input> is an array reference, each element in the array must be a
-filename.
-
-The input data will be read from each file in turn.
-
-The complete array will be walked to ensure that it only
-contains valid filenames before any data is uncompressed.
-
-=item An Input FileGlob string
-
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<unzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
-
-If the fileglob does not match any files ...
-
-See L<File::GlobMapper|File::GlobMapper> for more details.
-
-=back
-
-If the C<$input> parameter is any other type, C<undef> will be returned.
-
-=head3 The C<$output> parameter
-
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
-
-=over 5
-
-=item A filename
-
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for writing and the uncompressed
-data will be written to it.
-
-=item A filehandle
-
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
-
-=item A scalar reference
-
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
-
-=item An Array Reference
-
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
-
-=item An Output FileGlob
-
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<unzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
-
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
-
-=back
-
-If the C<$output> parameter is any other type, C<undef> will be returned.
-
-=head2 Notes
-
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
-concatenation of all the uncompressed data from each of the input
-files/buffers.
-
-=head2 Optional Parameters
-
-Unless specified below, the optional parameters for C<unzip>,
-C<OPTS>, are the same as those used with the OO interface defined in the
-L</"Constructor Options"> section below.
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option applies to any input or output data streams to
-C<unzip> that are filehandles.
-
-If C<AutoClose> is specified, and the value is true, it will result in all
-input and/or output filehandles being closed once C<unzip> has
-completed.
-
-This parameter defaults to 0.
-
-=item C<< BinModeOut => 0|1 >>
-
-When writing to a file or filehandle, set C<binmode> before writing to the
-file.
-
-Defaults to 0.
-
-=item C<< Append => 0|1 >>
-
-TODO
-
-=item C<< MultiStream => 0|1 >>
-
-If the input file/buffer contains multiple compressed data streams, this
-option will uncompress the whole lot as a single data stream.
-
-Defaults to 0.
-
-=item C<< TrailingData => $scalar >>
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option.
-
-=back
-
-=head2 Examples
-
-To read the contents of the file C<file1.txt.zip> and write the
-compressed data to the file C<file1.txt>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
- my $input = "file1.txt.zip";
- my $output = "file1.txt";
- unzip $input => $output
- or die "unzip failed: $UnzipError\n";
-
-To read from an existing Perl filehandle, C<$input>, and write the
-uncompressed data to a buffer, C<$buffer>.
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
- use IO::File ;
-
- my $input = new IO::File "<file1.txt.zip"
- or die "Cannot open 'file1.txt.zip': $!\n" ;
- my $buffer ;
- unzip $input => \$buffer
- or die "unzip failed: $UnzipError\n";
-
-To uncompress all files in the directory "/my/home" that match "*.txt.zip" and store the compressed data in the same directory
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
- unzip '</my/home/*.txt.zip>' => '</my/home/#1.txt>'
- or die "unzip failed: $UnzipError\n";
-
-and if you want to compress each file one at a time, this will do the trick
-
- use strict ;
- use warnings ;
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
- for my $input ( glob "/my/home/*.txt.zip" )
- {
- my $output = $input;
- $output =~ s/.zip// ;
- unzip $input => $output
- or die "Error compressing '$input': $UnzipError\n";
- }
-
-=head1 OO Interface
-
-=head2 Constructor
-
-The format of the constructor for IO::Uncompress::Unzip is shown below
-
- my $z = new IO::Uncompress::Unzip $input [OPTS]
- or die "IO::Uncompress::Unzip failed: $UnzipError\n";
-
-Returns an C<IO::Uncompress::Unzip> object on success and undef on failure.
-The variable C<$UnzipError> will contain an error message on failure.
-
-If you are running Perl 5.005 or better the object, C<$z>, returned from
-IO::Uncompress::Unzip can be used exactly like an L<IO::File|IO::File> filehandle.
-This means that all normal input file operations can be carried out with
-C<$z>. For example, to read a line from a compressed file/buffer you can
-use either of these forms
-
- $line = $z->getline();
- $line = <$z>;
-
-The mandatory parameter C<$input> is used to determine the source of the
-compressed data. This parameter can take one of three forms.
-
-=over 5
-
-=item A filename
-
-If the C<$input> parameter is a scalar, it is assumed to be a filename. This
-file will be opened for reading and the compressed data will be read from it.
-
-=item A filehandle
-
-If the C<$input> parameter is a filehandle, the compressed data will be
-read from it.
-The string '-' can be used as an alias for standard input.
-
-=item A scalar reference
-
-If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
-
-=back
-
-=head2 Constructor Options
-
-The option names defined below are case insensitive and can be optionally
-prefixed by a '-'. So all of the following are valid
-
- -AutoClose
- -autoclose
- AUTOCLOSE
- autoclose
-
-OPTS is a combination of the following options:
-
-=over 5
-
-=item C<< AutoClose => 0|1 >>
-
-This option is only valid when the C<$input> parameter is a filehandle. If
-specified, and the value is true, it will result in the file being closed once
-either the C<close> method is called or the IO::Uncompress::Unzip object is
-destroyed.
-
-This parameter defaults to 0.
-
-=item C<< MultiStream => 0|1 >>
-
-Treats the complete zip file/buffer as a single compressed data
-stream. When reading in multi-stream mode each member of the zip
-file/buffer will be uncompressed in turn until the end of the file/buffer
-is encountered.
-
-This parameter defaults to 0.
-
-=item C<< Prime => $string >>
-
-This option will uncompress the contents of C<$string> before processing the
-input file/buffer.
-
-This option can be useful when the compressed data is embedded in another
-file/data structure and it is not possible to work out where the compressed
-data begins without having to read the first few bytes. If this is the
-case, the uncompression can be I<primed> with these bytes using this
-option.
-
-=item C<< Transparent => 0|1 >>
-
-If this option is set and the input file/buffer is not compressed data,
-the module will allow reading of it anyway.
-
-In addition, if the input file/buffer does contain compressed data and
-there is non-compressed data immediately following it, setting this option
-will make this module treat the whole file/bufffer as a single data stream.
-
-This option defaults to 1.
-
-=item C<< BlockSize => $num >>
-
-When reading the compressed input data, IO::Uncompress::Unzip will read it in
-blocks of C<$num> bytes.
-
-This option defaults to 4096.
-
-=item C<< InputLength => $size >>
-
-When present this option will limit the number of compressed bytes read
-from the input file/buffer to C<$size>. This option can be used in the
-situation where there is useful data directly after the compressed data
-stream and you know beforehand the exact length of the compressed data
-stream.
-
-This option is mostly used when reading from a filehandle, in which case
-the file pointer will be left pointing to the first byte directly after the
-compressed data stream.
-
-This option defaults to off.
-
-=item C<< Append => 0|1 >>
-
-This option controls what the C<read> method does with uncompressed data.
-
-If set to 1, all uncompressed data will be appended to the output parameter
-of the C<read> method.
-
-If set to 0, the contents of the output parameter of the C<read> method
-will be overwritten by the uncompressed data.
-
-Defaults to 0.
-
-=item C<< Strict => 0|1 >>
-
-This option controls whether the extra checks defined below are used when
-carrying out the decompression. When Strict is on, the extra tests are
-carried out, when Strict is off they are not.
-
-The default for this option is off.
-
-=back
-
-=head2 Examples
-
-TODO
-
-=head1 Methods
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer)
-
-Reads a block of compressed data (the size the the compressed block is
-determined by the C<Buffer> option in the constructor), uncompresses it and
-writes any uncompressed data into C<$buffer>. If the C<Append> parameter is
-set in the constructor, the uncompressed data will be appended to the
-C<$buffer> parameter. Otherwise C<$buffer> will be overwritten.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 read
-
-Usage is
-
- $status = $z->read($buffer, $length)
- $status = $z->read($buffer, $length, $offset)
-
- $status = read($z, $buffer, $length)
- $status = read($z, $buffer, $length, $offset)
-
-Attempt to read C<$length> bytes of uncompressed data into C<$buffer>.
-
-The main difference between this form of the C<read> method and the
-previous one, is that this one will attempt to return I<exactly> C<$length>
-bytes. The only circumstances that this function will not is if end-of-file
-or an IO error is encountered.
-
-Returns the number of uncompressed bytes written to C<$buffer>, zero if eof
-or a negative number on error.
-
-=head2 getline
-
-Usage is
-
- $line = $z->getline()
- $line = <$z>
-
-Reads a single line.
-
-This method fully supports the use of of the variable C<$/> (or
-C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use) to
-determine what constitutes an end of line. Paragraph mode, record mode and
-file slurp mode are all supported.
-
-=head2 getc
-
-Usage is
-
- $char = $z->getc()
-
-Read a single character.
-
-=head2 ungetc
-
-Usage is
-
- $char = $z->ungetc($string)
-
-=head2 inflateSync
-
-Usage is
-
- $status = $z->inflateSync()
-
-TODO
-
-=head2 getHeaderInfo
-
-Usage is
-
- $hdr = $z->getHeaderInfo();
- @hdrs = $z->getHeaderInfo();
-
-This method returns either a hash reference (in scalar context) or a list
-or hash references (in array context) that contains information about each
-of the header fields in the compressed data stream(s).
-
-=head2 tell
-
-Usage is
-
- $z->tell()
- tell $z
-
-Returns the uncompressed file offset.
-
-=head2 eof
-
-Usage is
-
- $z->eof();
- eof($z);
-
-Returns true if the end of the compressed input stream has been reached.
-
-=head2 seek
-
- $z->seek($position, $whence);
- seek($z, $position, $whence);
-
-Provides a sub-set of the C<seek> functionality, with the restriction
-that it is only legal to seek forward in the input file/buffer.
-It is a fatal error to attempt to seek backward.
-
-The C<$whence> parameter takes one the usual values, namely SEEK_SET,
-SEEK_CUR or SEEK_END.
-
-Returns 1 on success, 0 on failure.
-
-=head2 binmode
-
-Usage is
-
- $z->binmode
- binmode $z ;
-
-This is a noop provided for completeness.
-
-=head2 opened
-
- $z->opened()
-
-Returns true if the object currently refers to a opened file/buffer.
-
-=head2 autoflush
-
- my $prev = $z->autoflush()
- my $prev = $z->autoflush(EXPR)
-
-If the C<$z> object is associated with a file or a filehandle, this method
-returns the current autoflush setting for the underlying filehandle. If
-C<EXPR> is present, and is non-zero, it will enable flushing after every
-write/print operation.
-
-If C<$z> is associated with a buffer, this method has no effect and always
-returns C<undef>.
-
-B<Note> that the special variable C<$|> B<cannot> be used to set or
-retrieve the autoflush setting.
-
-=head2 input_line_number
-
- $z->input_line_number()
- $z->input_line_number(EXPR)
-
-Returns the current uncompressed line number. If C<EXPR> is present it has
-the effect of setting the line number. Note that setting the line number
-does not change the current position within the file/buffer being read.
-
-The contents of C<$/> are used to to determine what constitutes a line
-terminator.
-
-=head2 fileno
-
- $z->fileno()
- fileno($z)
-
-If the C<$z> object is associated with a file or a filehandle, C<fileno>
-will return the underlying file descriptor. Once the C<close> method is
-called C<fileno> will return C<undef>.
-
-If the C<$z> object is is associated with a buffer, this method will return
-C<undef>.
-
-=head2 close
-
- $z->close() ;
- close $z ;
-
-Closes the output file/buffer.
-
-For most versions of Perl this method will be automatically invoked if
-the IO::Uncompress::Unzip object is destroyed (either explicitly or by the
-variable with the reference to the object going out of scope). The
-exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In
-these cases, the C<close> method will be called automatically, but
-not until global destruction of all live objects when the program is
-terminating.
-
-Therefore, if you want your scripts to be able to run on all versions
-of Perl, you should call C<close> explicitly and not rely on automatic
-closing.
-
-Returns true on success, otherwise 0.
-
-If the C<AutoClose> option has been enabled when the IO::Uncompress::Unzip
-object was created, and the object is associated with a file, the
-underlying file will also be closed.
-
-=head2 nextStream
-
-Usage is
-
- my $status = $z->nextStream();
-
-Skips to the next compressed data stream in the input file/buffer. If a new
-compressed data stream is found, the eof marker will be cleared and C<$.>
-will be reset to 0.
-
-Returns 1 if a new stream was found, 0 if none was found, and -1 if an
-error was encountered.
-
-=head2 trailingData
-
-Usage is
-
- my $data = $z->trailingData();
-
-Returns the data, if any, that is present immediately after the compressed
-data stream once uncompression is complete. It only makes sense to call
-this method once the end of the compressed data stream has been
-encountered.
-
-This option can be used when there is useful information immediately
-following the compressed data stream, and you don't know the length of the
-compressed data stream.
-
-If the input is a buffer, C<trailingData> will return everything from the
-end of the compressed data stream to the end of the buffer.
-
-If the input is a filehandle, C<trailingData> will return the data that is
-left in the filehandle input buffer once the end of the compressed data
-stream has been reached. You can then use the filehandle to read the rest
-of the input file.
-
-Don't bother using C<trailingData> if the input is a filename.
-
-If you know the length of the compressed data stream before you start
-uncompressing, you can avoid having to use C<trailingData> by setting the
-C<InputLength> option in the constructor.
-
-=head1 Importing
-
-No symbolic constants are required by this IO::Uncompress::Unzip at present.
-
-=over 5
-
-=item :all
-
-Imports C<unzip> and C<$UnzipError>.
-Same as doing this
-
- use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
-
-=back
-
-=head1 EXAMPLES
-
-=head2 Working with Net::FTP
-
-See L<IO::Uncompress::Unzip::FAQ|IO::Uncompress::Unzip::FAQ/"Compressed files and Net::FTP">
-
-=head2 Walking through a zip file
-
-The code below can be used to traverse a zip file, one compressed data
-stream at a time.
-
- use IO::Uncompress::Unzip qw($UnzipError);
-
- my $zipfile = "somefile.zip";
- my $u = new IO::Uncompress::Unzip $zipfile
- or die "Cannot open $zipfile: $UnzipError";
-
- my $status;
- for ($status = 1; ! $u->eof(); $status = $u->nextStream())
- {
-
- my $name = $u->getHeaderInfo()->{Name};
- warn "Processing member $name\n" ;
-
- my $buff;
- while (($status = $u->read($buff)) > 0) {
- # Do something here
- }
-
- last unless $status == 0;
- }
-
- die "Error processing $zipfile: $!\n"
- if $status < 0 ;
-
-Each individual compressed data stream is read until the logical
-end-of-file is reached. Then C<nextStream> is called. This will skip to the
-start of the next compressed data stream and clear the end-of-file flag.
-
-It is also worth noting that C<nextStream> can be called at any time -- you
-don't have to wait until you have exhausted a compressed data stream before
-skipping to the next one.
-
-=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>
-
-For RFC 1950, 1951 and 1952 see
-F<http://www.faqs.org/rfcs/rfc1950.html>,
-F<http://www.faqs.org/rfcs/rfc1951.html> and
-F<http://www.faqs.org/rfcs/rfc1952.html>
-
-The I<zlib> compression library was written by Jean-loup Gailly
-F<gzip@prep.ai.mit.edu> and Mark Adler F<madler@alumni.caltech.edu>.
-
-The primary site for the I<zlib> compression library is
-F<http://www.zlib.org>.
-
-The primary site for gzip is F<http://www.gzip.org>.
-
-=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/5.10/i686-cygwin/IPC/Msg.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Msg.pm
deleted file mode 100644
index 2128af9dd4c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Msg.pm
+++ /dev/null
@@ -1,245 +0,0 @@
-################################################################################
-#
-# $Revision: 17 $
-# $Author: mhx $
-# $Date: 2007/10/15 20:29:06 +0200 $
-#
-################################################################################
-#
-# Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz <mhx@cpan.org>.
-# Version 1.x, Copyright (C) 1997, Graham Barr <gbarr@pobox.com>.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-################################################################################
-
-package IPC::Msg;
-
-use IPC::SysV qw(IPC_STAT IPC_SET IPC_RMID);
-use strict;
-use vars qw($VERSION);
-use Carp;
-
-$VERSION = do { my @r = '$Snapshot: /IPC-SysV/2.00 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
-$VERSION = eval $VERSION;
-
-# Figure out if we have support for native sized types
-my $N = do { my $foo = eval { pack "L!", 0 }; $@ ? '' : '!' };
-
-{
- package IPC::Msg::stat;
-
- use Class::Struct qw(struct);
-
- struct 'IPC::Msg::stat' => [
- uid => '$',
- gid => '$',
- cuid => '$',
- cgid => '$',
- mode => '$',
- qnum => '$',
- qbytes => '$',
- lspid => '$',
- lrpid => '$',
- stime => '$',
- rtime => '$',
- ctime => '$',
- ];
-}
-
-sub new {
- @_ == 3 || croak 'new IPC::Msg ( KEY , FLAGS )';
- my $class = shift;
-
- my $id = msgget($_[0],$_[1]);
-
- defined($id)
- ? bless \$id, $class
- : undef;
-}
-
-sub id {
- my $self = shift;
- $$self;
-}
-
-sub stat {
- my $self = shift;
- my $data = "";
- msgctl($$self,IPC_STAT,$data) or
- return undef;
- IPC::Msg::stat->new->unpack($data);
-}
-
-sub set {
- my $self = shift;
- my $ds;
-
- if(@_ == 1) {
- $ds = shift;
- }
- else {
- croak 'Bad arg count' if @_ % 2;
- my %arg = @_;
- $ds = $self->stat
- or return undef;
- my($key,$val);
- $ds->$key($val)
- while(($key,$val) = each %arg);
- }
-
- msgctl($$self,IPC_SET,$ds->pack);
-}
-
-sub remove {
- my $self = shift;
- (msgctl($$self,IPC_RMID,0), undef $$self)[0];
-}
-
-sub rcv {
- @_ <= 5 && @_ >= 3 or croak '$msg->rcv( BUF, LEN, TYPE, FLAGS )';
- my $self = shift;
- my $buf = "";
- msgrcv($$self,$buf,$_[1],$_[2] || 0, $_[3] || 0) or
- return;
- my $type;
- ($type,$_[0]) = unpack("l$N a*",$buf);
- $type;
-}
-
-sub snd {
- @_ <= 4 && @_ >= 3 or croak '$msg->snd( TYPE, BUF, FLAGS )';
- my $self = shift;
- msgsnd($$self,pack("l$N a*",$_[0],$_[1]), $_[2] || 0);
-}
-
-
-1;
-
-__END__
-
-=head1 NAME
-
-IPC::Msg - SysV Msg IPC object class
-
-=head1 SYNOPSIS
-
- use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
- use IPC::Msg;
-
- $msg = IPC::Msg->new(IPC_PRIVATE, S_IRUSR | S_IWUSR);
-
- $msg->snd(pack("l! a*",$msgtype,$msg));
-
- $msg->rcv($buf,256);
-
- $ds = $msg->stat;
-
- $msg->remove;
-
-=head1 DESCRIPTION
-
-A class providing an object based interface to SysV IPC message queues.
-
-=head1 METHODS
-
-=over 4
-
-=item new ( KEY , FLAGS )
-
-Creates a new message queue associated with C<KEY>. A new queue is
-created if
-
-=over 4
-
-=item *
-
-C<KEY> is equal to C<IPC_PRIVATE>
-
-=item *
-
-C<KEY> does not already have a message queue associated with
-it, and C<I<FLAGS> & IPC_CREAT> is true.
-
-=back
-
-On creation of a new message queue C<FLAGS> is used to set the
-permissions. Be careful not to set any flags that the Sys V
-IPC implementation does not allow: in some systems setting
-execute bits makes the operations fail.
-
-=item id
-
-Returns the system message queue identifier.
-
-=item rcv ( BUF, LEN [, TYPE [, FLAGS ]] )
-
-Read a message from the queue. Returns the type of the message read.
-See L<msgrcv>. The BUF becomes tainted.
-
-=item remove
-
-Remove and destroy the message queue from the system.
-
-=item set ( STAT )
-
-=item set ( NAME => VALUE [, NAME => VALUE ...] )
-
-C<set> will set the following values of the C<stat> structure associated
-with the message queue.
-
- uid
- gid
- mode (oly the permission bits)
- qbytes
-
-C<set> accepts either a stat object, as returned by the C<stat> method,
-or a list of I<name>-I<value> pairs.
-
-=item snd ( TYPE, MSG [, FLAGS ] )
-
-Place a message on the queue with the data from C<MSG> and with type C<TYPE>.
-See L<msgsnd>.
-
-=item stat
-
-Returns an object of type C<IPC::Msg::stat> which is a sub-class of
-C<Class::Struct>. It provides the following fields. For a description
-of these fields see you system documentation.
-
- uid
- gid
- cuid
- cgid
- mode
- qnum
- qbytes
- lspid
- lrpid
- stime
- rtime
- ctime
-
-=back
-
-=head1 SEE ALSO
-
-L<IPC::SysV>, L<Class::Struct>
-
-=head1 AUTHORS
-
-Graham Barr <gbarr@pobox.com>,
-Marcus Holland-Moritz <mhx@cpan.org>
-
-=head1 COPYRIGHT
-
-Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz.
-
-Version 1.x, Copyright (c) 1997, Graham Barr.
-
-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/5.10/i686-cygwin/IPC/Semaphore.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Semaphore.pm
deleted file mode 100644
index 29a3cbe9c27..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/Semaphore.pm
+++ /dev/null
@@ -1,319 +0,0 @@
-################################################################################
-#
-# $Revision: 18 $
-# $Author: mhx $
-# $Date: 2007/10/15 20:29:08 +0200 $
-#
-################################################################################
-#
-# Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz <mhx@cpan.org>.
-# Version 1.x, Copyright (C) 1997, Graham Barr <gbarr@pobox.com>.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-################################################################################
-
-package IPC::Semaphore;
-
-use IPC::SysV qw(GETNCNT GETZCNT GETVAL SETVAL GETPID GETALL SETALL
- IPC_STAT IPC_SET IPC_RMID);
-use strict;
-use vars qw($VERSION);
-use Carp;
-
-$VERSION = do { my @r = '$Snapshot: /IPC-SysV/2.00 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
-$VERSION = eval $VERSION;
-
-# Figure out if we have support for native sized types
-my $N = do { my $foo = eval { pack "L!", 0 }; $@ ? '' : '!' };
-
-{
- package IPC::Semaphore::stat;
-
- use Class::Struct qw(struct);
-
- struct 'IPC::Semaphore::stat' => [
- uid => '$',
- gid => '$',
- cuid => '$',
- cgid => '$',
- mode => '$',
- ctime => '$',
- otime => '$',
- nsems => '$',
- ];
-}
-
-sub new {
- @_ == 4 || croak 'new ' . __PACKAGE__ . '( KEY, NSEMS, FLAGS )';
- my $class = shift;
-
- my $id = semget($_[0],$_[1],$_[2]);
-
- defined($id)
- ? bless \$id, $class
- : undef;
-}
-
-sub id {
- my $self = shift;
- $$self;
-}
-
-sub remove {
- my $self = shift;
- (semctl($$self,0,IPC_RMID,0), undef $$self)[0];
-}
-
-sub getncnt {
- @_ == 2 || croak '$sem->getncnt( SEM )';
- my $self = shift;
- my $sem = shift;
- my $v = semctl($$self,$sem,GETNCNT,0);
- $v ? 0 + $v : undef;
-}
-
-sub getzcnt {
- @_ == 2 || croak '$sem->getzcnt( SEM )';
- my $self = shift;
- my $sem = shift;
- my $v = semctl($$self,$sem,GETZCNT,0);
- $v ? 0 + $v : undef;
-}
-
-sub getval {
- @_ == 2 || croak '$sem->getval( SEM )';
- my $self = shift;
- my $sem = shift;
- my $v = semctl($$self,$sem,GETVAL,0);
- $v ? 0 + $v : undef;
-}
-
-sub getpid {
- @_ == 2 || croak '$sem->getpid( SEM )';
- my $self = shift;
- my $sem = shift;
- my $v = semctl($$self,$sem,GETPID,0);
- $v ? 0 + $v : undef;
-}
-
-sub op {
- @_ >= 4 || croak '$sem->op( OPLIST )';
- my $self = shift;
- croak 'Bad arg count' if @_ % 3;
- my $data = pack("s$N*",@_);
- semop($$self,$data);
-}
-
-sub stat {
- my $self = shift;
- my $data = "";
- semctl($$self,0,IPC_STAT,$data)
- or return undef;
- IPC::Semaphore::stat->new->unpack($data);
-}
-
-sub set {
- my $self = shift;
- my $ds;
-
- if(@_ == 1) {
- $ds = shift;
- }
- else {
- croak 'Bad arg count' if @_ % 2;
- my %arg = @_;
- $ds = $self->stat
- or return undef;
- my($key,$val);
- $ds->$key($val)
- while(($key,$val) = each %arg);
- }
-
- my $v = semctl($$self,0,IPC_SET,$ds->pack);
- $v ? 0 + $v : undef;
-}
-
-sub getall {
- my $self = shift;
- my $data = "";
- semctl($$self,0,GETALL,$data)
- or return ();
- (unpack("s$N*",$data));
-}
-
-sub setall {
- my $self = shift;
- my $data = pack("s$N*",@_);
- semctl($$self,0,SETALL,$data);
-}
-
-sub setval {
- @_ == 3 || croak '$sem->setval( SEM, VAL )';
- my $self = shift;
- my $sem = shift;
- my $val = shift;
- semctl($$self,$sem,SETVAL,$val);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IPC::Semaphore - SysV Semaphore IPC object class
-
-=head1 SYNOPSIS
-
- use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR IPC_CREAT);
- use IPC::Semaphore;
-
- $sem = IPC::Semaphore->new(IPC_PRIVATE, 10, S_IRUSR | S_IWUSR | IPC_CREAT);
-
- $sem->setall( (0) x 10);
-
- @sem = $sem->getall;
-
- $ncnt = $sem->getncnt;
-
- $zcnt = $sem->getzcnt;
-
- $ds = $sem->stat;
-
- $sem->remove;
-
-=head1 DESCRIPTION
-
-A class providing an object based interface to SysV IPC semaphores.
-
-=head1 METHODS
-
-=over 4
-
-=item new ( KEY , NSEMS , FLAGS )
-
-Create a new semaphore set associated with C<KEY>. C<NSEMS> is the number
-of semaphores in the set. A new set is created if
-
-=over 4
-
-=item *
-
-C<KEY> is equal to C<IPC_PRIVATE>
-
-=item *
-
-C<KEY> does not already have a semaphore identifier
-associated with it, and C<I<FLAGS> & IPC_CREAT> is true.
-
-=back
-
-On creation of a new semaphore set C<FLAGS> is used to set the
-permissions. Be careful not to set any flags that the Sys V
-IPC implementation does not allow: in some systems setting
-execute bits makes the operations fail.
-
-=item getall
-
-Returns the values of the semaphore set as an array.
-
-=item getncnt ( SEM )
-
-Returns the number of processes waiting for the semaphore C<SEM> to
-become greater than its current value
-
-=item getpid ( SEM )
-
-Returns the process id of the last process that performed an operation
-on the semaphore C<SEM>.
-
-=item getval ( SEM )
-
-Returns the current value of the semaphore C<SEM>.
-
-=item getzcnt ( SEM )
-
-Returns the number of processes waiting for the semaphore C<SEM> to
-become zero.
-
-=item id
-
-Returns the system identifier for the semaphore set.
-
-=item op ( OPLIST )
-
-C<OPLIST> is a list of operations to pass to C<semop>. C<OPLIST> is
-a concatenation of smaller lists, each which has three values. The
-first is the semaphore number, the second is the operation and the last
-is a flags value. See L<semop> for more details. For example
-
- $sem->op(
- 0, -1, IPC_NOWAIT,
- 1, 1, IPC_NOWAIT
- );
-
-=item remove
-
-Remove and destroy the semaphore set from the system.
-
-=item set ( STAT )
-
-=item set ( NAME => VALUE [, NAME => VALUE ...] )
-
-C<set> will set the following values of the C<stat> structure associated
-with the semaphore set.
-
- uid
- gid
- mode (only the permission bits)
-
-C<set> accepts either a stat object, as returned by the C<stat> method,
-or a list of I<name>-I<value> pairs.
-
-=item setall ( VALUES )
-
-Sets all values in the semaphore set to those given on the C<VALUES> list.
-C<VALUES> must contain the correct number of values.
-
-=item setval ( N , VALUE )
-
-Set the C<N>th value in the semaphore set to C<VALUE>
-
-=item stat
-
-Returns an object of type C<IPC::Semaphore::stat> which is a sub-class of
-C<Class::Struct>. It provides the following fields. For a description
-of these fields see your system documentation.
-
- uid
- gid
- cuid
- cgid
- mode
- ctime
- otime
- nsems
-
-=back
-
-=head1 SEE ALSO
-
-L<IPC::SysV>, L<Class::Struct>, L<semget>, L<semctl>, L<semop>
-
-=head1 AUTHORS
-
-Graham Barr <gbarr@pobox.com>,
-Marcus Holland-Moritz <mhx@cpan.org>
-
-=head1 COPYRIGHT
-
-Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz.
-
-Version 1.x, Copyright (c) 1997, Graham Barr.
-
-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/5.10/i686-cygwin/IPC/SharedMem.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SharedMem.pm
deleted file mode 100644
index 0f58f1af20f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SharedMem.pm
+++ /dev/null
@@ -1,276 +0,0 @@
-################################################################################
-#
-# $Revision: 2 $
-# $Author: mhx $
-# $Date: 2007/10/14 05:16:08 +0200 $
-#
-################################################################################
-#
-# Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz <mhx@cpan.org>.
-# Version 1.x, Copyright (C) 1997, Graham Barr <gbarr@pobox.com>.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-################################################################################
-
-package IPC::SharedMem;
-
-use IPC::SysV qw(IPC_STAT IPC_RMID shmat shmdt memread memwrite);
-use strict;
-use vars qw($VERSION);
-use Carp;
-
-$VERSION = do { my @r = '$Snapshot: /IPC-SysV/2.00 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
-$VERSION = eval $VERSION;
-
-# Figure out if we have support for native sized types
-my $N = do { my $foo = eval { pack "L!", 0 }; $@ ? '' : '!' };
-
-{
- package IPC::SharedMem::stat;
-
- use Class::Struct qw(struct);
-
- struct 'IPC::SharedMem::stat' => [
- uid => '$',
- gid => '$',
- cuid => '$',
- cgid => '$',
- mode => '$',
- segsz => '$',
- lpid => '$',
- cpid => '$',
- nattch => '$',
- atime => '$',
- dtime => '$',
- ctime => '$',
- ];
-}
-
-sub new
-{
- @_ == 4 or croak 'IPC::SharedMem->new(KEY, SIZE, FLAGS)';
- my($class, $key, $size, $flags) = @_;
-
- my $id = shmget $key, $size, $flags or return undef;
-
- bless { _id => $id, _addr => undef, _isrm => 0 }, $class
-}
-
-sub id
-{
- my $self = shift;
- $self->{_id};
-}
-
-sub addr
-{
- my $self = shift;
- $self->{_addr};
-}
-
-sub stat
-{
- my $self = shift;
- my $data = '';
- shmctl $self->id, IPC_STAT, $data or return undef;
- IPC::SharedMem::stat->new->unpack($data);
-}
-
-sub attach
-{
- @_ >= 1 && @_ <= 2 or croak '$shm->attach([FLAG])';
- my($self, $flag) = @_;
- defined $self->addr and return undef;
- $self->{_addr} = shmat($self->id, undef, $flag || 0);
- defined $self->addr;
-}
-
-sub detach
-{
- my $self = shift;
- defined $self->addr or return undef;
- my $rv = defined shmdt($self->addr);
- undef $self->{_addr} if $rv;
- $rv;
-}
-
-sub remove
-{
- my $self = shift;
- return undef if $self->is_removed;
- my $rv = shmctl $self->id, IPC_RMID, 0;
- $self->{_isrm} = 1 if $rv;
- return $rv;
-}
-
-sub is_removed
-{
- my $self = shift;
- $self->{_isrm};
-}
-
-sub read
-{
- @_ == 3 or croak '$shm->read(POS, SIZE)';
- my($self, $pos, $size) = @_;
- my $buf = '';
- if (defined $self->addr) {
- memread($self->addr, $buf, $pos, $size) or return undef;
- }
- else {
- shmread($self->id, $buf, $pos, $size) or return undef;
- }
- $buf;
-}
-
-sub write
-{
- @_ == 4 or croak '$shm->write(STRING, POS, SIZE)';
- my($self, $str, $pos, $size) = @_;
- if (defined $self->addr) {
- return memwrite($self->addr, $str, $pos, $size);
- }
- else {
- return shmwrite($self->id, $str, $pos, $size);
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IPC::SharedMem - SysV Shared Memory IPC object class
-
-=head1 SYNOPSIS
-
- use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
- use IPC::SharedMem;
-
- $shm = IPC::SharedMem->new(IPC_PRIVATE, 8, S_IRWXU);
-
- $shm->write(pack("S", 4711), 2, 2);
-
- $data = $shm->read(0, 2);
-
- $ds = $shm->stat;
-
- $shm->remove;
-
-=head1 DESCRIPTION
-
-A class providing an object based interface to SysV IPC shared memory.
-
-=head1 METHODS
-
-=over 4
-
-=item new ( KEY , SIZE , FLAGS )
-
-Creates a new shared memory segment associated with C<KEY>. A new
-segment is created if
-
-=over 4
-
-=item *
-
-C<KEY> is equal to C<IPC_PRIVATE>
-
-=item *
-
-C<KEY> does not already have a shared memory segment associated
-with it, and C<I<FLAGS> & IPC_CREAT> is true.
-
-=back
-
-On creation of a new shared memory segment C<FLAGS> is used to
-set the permissions. Be careful not to set any flags that the
-Sys V IPC implementation does not allow: in some systems setting
-execute bits makes the operations fail.
-
-=item id
-
-Returns the shared memory identifier.
-
-=item read ( POS, SIZE )
-
-Read C<SIZE> bytes from the shared memory segment at C<POS>. Returns
-the string read, or C<undef> if there was an error. The return value
-becomes tainted. See L<shmread>.
-
-=item write ( STRING, POS, SIZE )
-
-Write C<SIZE> bytes to the shared memory segment at C<POS>. Returns
-true if successful, or false if there is an error. See L<shmwrite>.
-
-=item remove
-
-Remove the shared memory segment from the system or mark it as
-removed as long as any processes are still attached to it.
-
-=item is_removed
-
-Returns true if the shared memory segment has been removed or
-marked for removal.
-
-=item stat
-
-Returns an object of type C<IPC::SharedMem::stat> which is a sub-class
-of C<Class::Struct>. It provides the following fields. For a description
-of these fields see you system documentation.
-
- uid
- gid
- cuid
- cgid
- mode
- segsz
- lpid
- cpid
- nattach
- atime
- dtime
- ctime
-
-=item attach ( [FLAG] )
-
-Permanently attach to the shared memory segment. When a C<IPC::SharedMem>
-object is attached, it will use L<memread> and L<memwrite> instead of
-L<shmread> and L<shmwrite> for accessing the shared memory segment.
-Returns true if successful, or false on error. See L<shmat>.
-
-=item detach
-
-Detach from the shared memory segment that previously has been attached
-to. Returns true if successful, or false on error. See L<shmdt>.
-
-=item addr
-
-Returns the address of the shared memory that has been attached to in a
-format suitable for use with C<pack('P')>. Returns C<undef> if the shared
-memory has not been attached.
-
-=back
-
-=head1 SEE ALSO
-
-L<IPC::SysV>, L<Class::Struct>
-
-=head1 AUTHORS
-
-Marcus Holland-Moritz <mhx@cpan.org>
-
-=head1 COPYRIGHT
-
-Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz.
-
-Version 1.x, Copyright (c) 1997, Graham Barr.
-
-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/5.10/i686-cygwin/IPC/SysV.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SysV.pm
deleted file mode 100644
index 4005e286961..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/IPC/SysV.pm
+++ /dev/null
@@ -1,188 +0,0 @@
-################################################################################
-#
-# $Revision: 23 $
-# $Author: mhx $
-# $Date: 2007/10/19 20:46:32 +0200 $
-#
-################################################################################
-#
-# Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz <mhx@cpan.org>.
-# Version 1.x, Copyright (C) 1997, Graham Barr <gbarr@pobox.com>.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-################################################################################
-
-package IPC::SysV;
-
-use strict;
-use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION $XS_VERSION $AUTOLOAD);
-use Carp;
-use Config;
-
-require Exporter;
-@ISA = qw(Exporter);
-
-$VERSION = do { my @r = '$Snapshot: /IPC-SysV/2.00 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
-$XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-# To support new constants, just add them to @EXPORT_OK
-# and the C/XS code will be generated automagically.
-@EXPORT_OK = (qw(
-
- GETALL GETNCNT GETPID GETVAL GETZCNT
-
- IPC_ALLOC IPC_CREAT IPC_EXCL IPC_GETACL IPC_INFO IPC_LOCKED
- IPC_M IPC_NOERROR IPC_NOWAIT IPC_PRIVATE IPC_R IPC_RMID
- IPC_SET IPC_SETACL IPC_SETLABEL IPC_STAT IPC_W IPC_WANTED
-
- MSG_EXCEPT MSG_FWAIT MSG_INFO MSG_LOCKED MSG_MWAIT MSG_NOERROR
- MSG_QWAIT MSG_R MSG_RWAIT MSG_STAT MSG_W MSG_WAIT MSG_WWAIT
-
- SEM_A SEM_ALLOC SEM_DEST SEM_ERR SEM_INFO SEM_ORDER SEM_R
- SEM_STAT SEM_UNDO
-
- SETALL SETVAL
-
- SHMLBA
-
- SHM_A SHM_CLEAR SHM_COPY SHM_DCACHE SHM_DEST SHM_ECACHE
- SHM_FMAP SHM_HUGETLB SHM_ICACHE SHM_INFO SHM_INIT SHM_LOCK
- SHM_LOCKED SHM_MAP SHM_NORESERVE SHM_NOSWAP SHM_R SHM_RDONLY
- SHM_REMAP SHM_REMOVED SHM_RND SHM_SHARE_MMU SHM_SHATTR
- SHM_SIZE SHM_STAT SHM_UNLOCK SHM_W
-
- S_IRUSR S_IWUSR S_IXUSR S_IRWXU
- S_IRGRP S_IWGRP S_IXGRP S_IRWXG
- S_IROTH S_IWOTH S_IXOTH S_IRWXO
-
- ENOSPC ENOSYS
-
-), qw(
-
- ftok shmat shmdt memread memwrite
-
-));
-
-sub AUTOLOAD
-{
- my $constname = $AUTOLOAD;
- $constname =~ s/.*:://;
- die "&IPC::SysV::_constant not defined" if $constname eq '_constant';
- my ($error, $val) = _constant($constname);
- if ($error) {
- my (undef, $file, $line) = caller;
- die "$error at $file line $line.\n";
- }
- {
- no strict 'refs';
- *$AUTOLOAD = sub { $val };
- }
- goto &$AUTOLOAD;
-}
-
-BOOT_XS: {
- # If I inherit DynaLoader then I inherit AutoLoader and I DON'T WANT TO
- require DynaLoader;
-
- # DynaLoader calls dl_load_flags as a static method.
- *dl_load_flags = DynaLoader->can('dl_load_flags');
-
- do {
- __PACKAGE__->can('bootstrap') || \&DynaLoader::bootstrap
- }->(__PACKAGE__, $XS_VERSION);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-IPC::SysV - System V IPC constants and system calls
-
-=head1 SYNOPSIS
-
- use IPC::SysV qw(IPC_STAT IPC_PRIVATE);
-
-=head1 DESCRIPTION
-
-C<IPC::SysV> defines and conditionally exports all the constants
-defined in your system include files which are needed by the SysV
-IPC calls. Common ones include
-
- IPC_CREATE IPC_EXCL IPC_NOWAIT IPC_PRIVATE IPC_RMID IPC_SET IPC_STAT
- GETVAL SETVAL GETPID GETNCNT GETZCNT GETALL SETALL
- SEM_A SEM_R SEM_UNDO
- SHM_RDONLY SHM_RND SHMLBA
-
-and auxiliary ones
-
- S_IRUSR S_IWUSR S_IRWXU
- S_IRGRP S_IWGRP S_IRWXG
- S_IROTH S_IWOTH S_IRWXO
-
-but your system might have more.
-
-=over 4
-
-=item ftok( PATH )
-
-=item ftok( PATH, ID )
-
-Return a key based on PATH and ID, which can be used as a key for
-C<msgget>, C<semget> and C<shmget>. See L<ftok>.
-
-If ID is omitted, it defaults to C<1>. If a single character is
-given for ID, the numeric value of that character is used.
-
-=item shmat( ID, ADDR, FLAG )
-
-Attach the shared memory segment identified by ID to the address
-space of the calling process. See L<shmat>.
-
-ADDR should be C<undef> unless you really know what you're doing.
-
-=item shmdt( ADDR )
-
-Detach the shared memory segment located at the address specified
-by ADDR from the address space of the calling process. See L<shmdt>.
-
-=item memread( ADDR, VAR, POS, SIZE )
-
-Reads SIZE bytes from a memory segment at ADDR starting at position POS.
-VAR must be a variable that will hold the data read. Returns true if
-successful, or false if there is an error. memread() taints the variable.
-
-=item memwrite( ADDR, STRING, POS, SIZE )
-
-Writes SIZE bytes from STRING to a memory segment at ADDR starting at
-position POS. If STRING is too long, only SIZE bytes are used; if STRING
-is too short, nulls are written to fill out SIZE bytes. Returns true if
-successful, or false if there is an error.
-
-=back
-
-=head1 SEE ALSO
-
-L<IPC::Msg>, L<IPC::Semaphore>, L<IPC::SharedMem>, L<ftok>, L<shmat>, L<shmdt>
-
-=head1 AUTHORS
-
-Graham Barr <gbarr@pobox.com>,
-Jarkko Hietaniemi <jhi@iki.fi>,
-Marcus Holland-Moritz <mhx@cpan.org>
-
-=head1 COPYRIGHT
-
-Version 2.x, Copyright (C) 2007, Marcus Holland-Moritz.
-
-Version 1.x, Copyright (c) 1997, Graham Barr.
-
-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/5.10/i686-cygwin/List/Util.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/List/Util.pm
deleted file mode 100644
index 829148c0561..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/List/Util.pm
+++ /dev/null
@@ -1,281 +0,0 @@
-# List::Util.pm
-#
-# Copyright (c) 1997-2006 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package List::Util;
-
-use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION $XS_VERSION $TESTING_PERL_ONLY);
-require Exporter;
-
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION = "1.19";
-$XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-eval {
- # PERL_DL_NONLAZY must be false, or any errors in loading will just
- # cause the perl code to be tested
- local $ENV{PERL_DL_NONLAZY} = 0 if $ENV{PERL_DL_NONLAZY};
- eval {
- require XSLoader;
- XSLoader::load('List::Util', $XS_VERSION);
- 1;
- } or do {
- require DynaLoader;
- local @ISA = qw(DynaLoader);
- bootstrap List::Util $XS_VERSION;
- };
-} unless $TESTING_PERL_ONLY;
-
-
-# This code is only compiled if the XS did not load
-# of for perl < 5.6.0
-
-if (!defined &reduce) {
-eval <<'ESQ'
-
-sub reduce (&@) {
- my $code = shift;
- no strict 'refs';
-
- return shift unless @_ > 1;
-
- use vars qw($a $b);
-
- my $caller = caller;
- local(*{$caller."::a"}) = \my $a;
- local(*{$caller."::b"}) = \my $b;
-
- $a = shift;
- foreach (@_) {
- $b = $_;
- $a = &{$code}();
- }
-
- $a;
-}
-
-sub first (&@) {
- my $code = shift;
-
- foreach (@_) {
- return $_ if &{$code}();
- }
-
- undef;
-}
-
-ESQ
-}
-
-# This code is only compiled if the XS did not load
-eval <<'ESQ' if !defined &sum;
-
-use vars qw($a $b);
-
-sub sum (@) { reduce { $a + $b } @_ }
-
-sub min (@) { reduce { $a < $b ? $a : $b } @_ }
-
-sub max (@) { reduce { $a > $b ? $a : $b } @_ }
-
-sub minstr (@) { reduce { $a lt $b ? $a : $b } @_ }
-
-sub maxstr (@) { reduce { $a gt $b ? $a : $b } @_ }
-
-sub shuffle (@) {
- my @a=\(@_);
- my $n;
- my $i=@_;
- map {
- $n = rand($i--);
- (${$a[$n]}, $a[$n] = $a[$i])[0];
- } @_;
-}
-
-ESQ
-
-1;
-
-__END__
-
-=head1 NAME
-
-List::Util - A selection of general-utility list subroutines
-
-=head1 SYNOPSIS
-
- use List::Util qw(first max maxstr min minstr reduce shuffle sum);
-
-=head1 DESCRIPTION
-
-C<List::Util> contains a selection of subroutines that people have
-expressed would be nice to have in the perl core, but the usage would
-not really be high enough to warrant the use of a keyword, and the size
-so small such that being individual extensions would be wasteful.
-
-By default C<List::Util> does not export any subroutines. The
-subroutines defined are
-
-=over 4
-
-=item first BLOCK LIST
-
-Similar to C<grep> in that it evaluates BLOCK setting C<$_> to each element
-of LIST in turn. C<first> returns the first element where the result from
-BLOCK is a true value. If BLOCK never returns true or LIST was empty then
-C<undef> is returned.
-
- $foo = first { defined($_) } @list # first defined value in @list
- $foo = first { $_ > $value } @list # first value in @list which
- # is greater than $value
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { defined($a) ? $a : wanted($b) ? $b : undef } undef, @list
-
-for example wanted() could be defined() which would return the first
-defined value in @list
-
-=item max LIST
-
-Returns the entry in the list with the highest numerical value. If the
-list is empty then C<undef> is returned.
-
- $foo = max 1..10 # 10
- $foo = max 3,9,12 # 12
- $foo = max @bar, @baz # whatever
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a > $b ? $a : $b } 1..10
-
-=item maxstr LIST
-
-Similar to C<max>, but treats all the entries in the list as strings
-and returns the highest string as defined by the C<gt> operator.
-If the list is empty then C<undef> is returned.
-
- $foo = maxstr 'A'..'Z' # 'Z'
- $foo = maxstr "hello","world" # "world"
- $foo = maxstr @bar, @baz # whatever
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a gt $b ? $a : $b } 'A'..'Z'
-
-=item min LIST
-
-Similar to C<max> but returns the entry in the list with the lowest
-numerical value. If the list is empty then C<undef> is returned.
-
- $foo = min 1..10 # 1
- $foo = min 3,9,12 # 3
- $foo = min @bar, @baz # whatever
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a < $b ? $a : $b } 1..10
-
-=item minstr LIST
-
-Similar to C<min>, but treats all the entries in the list as strings
-and returns the lowest string as defined by the C<lt> operator.
-If the list is empty then C<undef> is returned.
-
- $foo = minstr 'A'..'Z' # 'A'
- $foo = minstr "hello","world" # "hello"
- $foo = minstr @bar, @baz # whatever
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a lt $b ? $a : $b } 'A'..'Z'
-
-=item reduce BLOCK LIST
-
-Reduces LIST by calling BLOCK, in a scalar context, multiple times,
-setting C<$a> and C<$b> each time. The first call will be with C<$a>
-and C<$b> set to the first two elements of the list, subsequent
-calls will be done by setting C<$a> to the result of the previous
-call and C<$b> to the next element in the list.
-
-Returns the result of the last call to BLOCK. If LIST is empty then
-C<undef> is returned. If LIST only contains one element then that
-element is returned and BLOCK is not executed.
-
- $foo = reduce { $a < $b ? $a : $b } 1..10 # min
- $foo = reduce { $a lt $b ? $a : $b } 'aa'..'zz' # minstr
- $foo = reduce { $a + $b } 1 .. 10 # sum
- $foo = reduce { $a . $b } @bar # concat
-
-=item shuffle LIST
-
-Returns the elements of LIST in a random order
-
- @cards = shuffle 0..51 # 0..51 in a random order
-
-=item sum LIST
-
-Returns the sum of all the elements in LIST. If LIST is empty then
-C<undef> is returned.
-
- $foo = sum 1..10 # 55
- $foo = sum 3,9,12 # 24
- $foo = sum @bar, @baz # whatever
-
-This function could be implemented using C<reduce> like this
-
- $foo = reduce { $a + $b } 1..10
-
-=back
-
-=head1 KNOWN BUGS
-
-With perl versions prior to 5.005 there are some cases where reduce
-will return an incorrect result. This will show up as test 7 of
-reduce.t failing.
-
-=head1 SUGGESTED ADDITIONS
-
-The following are additions that have been requested, but I have been reluctant
-to add due to them being very simple to implement in perl
-
- # One argument is true
-
- sub any { $_ && return 1 for @_; 0 }
-
- # All arguments are true
-
- sub all { $_ || return 0 for @_; 1 }
-
- # All arguments are false
-
- sub none { $_ && return 0 for @_; 1 }
-
- # One argument is false
-
- sub notall { $_ || return 1 for @_; 0 }
-
- # How many elements are true
-
- sub true { scalar grep { $_ } @_ }
-
- # How many elements are false
-
- sub false { scalar grep { !$_ } @_ }
-
-=head1 SEE ALSO
-
-L<Scalar::Util>, L<List::MoreUtils>
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2006 Graham Barr <gbarr@pobox.com>. 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/5.10/i686-cygwin/MIME/Base64.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/Base64.pm
deleted file mode 100644
index 4c1538dc720..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/Base64.pm
+++ /dev/null
@@ -1,177 +0,0 @@
-package MIME::Base64;
-
-# $Id: Base64.pm,v 3.11 2005/11/29 20:59:55 gisle Exp $
-
-use strict;
-use vars qw(@ISA @EXPORT $VERSION);
-
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(encode_base64 decode_base64);
-
-$VERSION = '3.07_01';
-
-require XSLoader;
-XSLoader::load('MIME::Base64', $VERSION);
-
-*encode = \&encode_base64;
-*decode = \&decode_base64;
-
-1;
-
-__END__
-
-=head1 NAME
-
-MIME::Base64 - Encoding and decoding of base64 strings
-
-=head1 SYNOPSIS
-
- use MIME::Base64;
-
- $encoded = encode_base64('Aladdin:open sesame');
- $decoded = decode_base64($encoded);
-
-=head1 DESCRIPTION
-
-This module provides functions to encode and decode strings into and from the
-base64 encoding specified in RFC 2045 - I<MIME (Multipurpose Internet
-Mail Extensions)>. The base64 encoding is designed to represent
-arbitrary sequences of octets in a form that need not be humanly
-readable. A 65-character subset ([A-Za-z0-9+/=]) of US-ASCII is used,
-enabling 6 bits to be represented per printable character.
-
-The following functions are provided:
-
-=over 4
-
-=item encode_base64($str)
-
-=item encode_base64($str, $eol);
-
-Encode data by calling the encode_base64() function. The first
-argument is the string to encode. The second argument is the
-line-ending sequence to use. It is optional and defaults to "\n". The
-returned encoded string is broken into lines of no more than 76
-characters each and it will end with $eol unless it is empty. Pass an
-empty string as second argument if you do not want the encoded string
-to be broken into lines.
-
-=item decode_base64($str)
-
-Decode a base64 string by calling the decode_base64() function. This
-function takes a single argument which is the string to decode and
-returns the decoded data.
-
-Any character not part of the 65-character base64 subset is
-silently ignored. Characters occurring after a '=' padding character
-are never decoded.
-
-If the length of the string to decode, after ignoring
-non-base64 chars, is not a multiple of 4 or if padding occurs too early,
-then a warning is generated if perl is running under C<-w>.
-
-=back
-
-If you prefer not to import these routines into your namespace, you can
-call them as:
-
- use MIME::Base64 ();
- $encoded = MIME::Base64::encode($decoded);
- $decoded = MIME::Base64::decode($encoded);
-
-=head1 DIAGNOSTICS
-
-The following warnings can be generated if perl is invoked with the
-C<-w> switch:
-
-=over 4
-
-=item Premature end of base64 data
-
-The number of characters to decode is not a multiple of 4. Legal
-base64 data should be padded with one or two "=" characters to make
-its length a multiple of 4. The decoded result will be the same
-whether the padding is present or not.
-
-=item Premature padding of base64 data
-
-The '=' padding character occurs as the first or second character
-in a base64 quartet.
-
-=back
-
-The following exception can be raised:
-
-=over 4
-
-=item Wide character in subroutine entry
-
-The string passed to encode_base64() contains characters with code
-above 255. The base64 encoding is only defined for single-byte
-characters. Use the Encode module to select the byte encoding you
-want.
-
-=back
-
-=head1 EXAMPLES
-
-If you want to encode a large file, you should encode it in chunks
-that are a multiple of 57 bytes. This ensures that the base64 lines
-line up and that you do not end up with padding in the middle. 57
-bytes of data fills one complete base64 line (76 == 57*4/3):
-
- use MIME::Base64 qw(encode_base64);
-
- open(FILE, "/var/log/wtmp") or die "$!";
- while (read(FILE, $buf, 60*57)) {
- print encode_base64($buf);
- }
-
-or if you know you have enough memory
-
- use MIME::Base64 qw(encode_base64);
- local($/) = undef; # slurp
- print encode_base64(<STDIN>);
-
-The same approach as a command line:
-
- perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' <file
-
-Decoding does not need slurp mode if every line contains a multiple
-of four base64 chars:
-
- perl -MMIME::Base64 -ne 'print decode_base64($_)' <file
-
-Perl v5.8 and better allow extended Unicode characters in strings.
-Such strings cannot be encoded directly, as the base64
-encoding is only defined for single-byte characters. The solution is
-to use the Encode module to select the byte encoding you want. For
-example:
-
- use MIME::Base64 qw(encode_base64);
- use Encode qw(encode);
-
- $encoded = encode_base64(encode("UTF-8", "\x{FFFF}\n"));
- print $encoded;
-
-=head1 COPYRIGHT
-
-Copyright 1995-1999, 2001-2004 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-Distantly based on LWP::Base64 written by Martijn Koster
-<m.koster@nexor.co.uk> and Joerg Reichelt <j.reichelt@nexor.co.uk> and
-code posted to comp.lang.perl <3pd2lp$6gf@wsinti07.win.tue.nl> by Hans
-Mulder <hansm@wsinti07.win.tue.nl>
-
-The XS implementation uses code from metamail. Copyright 1991 Bell
-Communications Research, Inc. (Bellcore)
-
-=head1 SEE ALSO
-
-L<MIME::QuotedPrint>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/QuotedPrint.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/QuotedPrint.pm
deleted file mode 100644
index 1d6a7c1d436..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/MIME/QuotedPrint.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package MIME::QuotedPrint;
-
-# $Id: QuotedPrint.pm,v 3.7 2005/11/29 20:49:46 gisle Exp $
-
-use strict;
-use vars qw(@ISA @EXPORT $VERSION);
-
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(encode_qp decode_qp);
-
-$VERSION = "3.07";
-
-use MIME::Base64; # will load XS version of {en,de}code_qp()
-
-*encode = \&encode_qp;
-*decode = \&decode_qp;
-
-1;
-
-__END__
-
-=head1 NAME
-
-MIME::QuotedPrint - Encoding and decoding of quoted-printable strings
-
-=head1 SYNOPSIS
-
- use MIME::QuotedPrint;
-
- $encoded = encode_qp($decoded);
- $decoded = decode_qp($encoded);
-
-=head1 DESCRIPTION
-
-This module provides functions to encode and decode strings into and from the
-quoted-printable encoding specified in RFC 2045 - I<MIME (Multipurpose
-Internet Mail Extensions)>. The quoted-printable encoding is intended
-to represent data that largely consists of bytes that correspond to
-printable characters in the ASCII character set. Each non-printable
-character (as defined by English Americans) is represented by a
-triplet consisting of the character "=" followed by two hexadecimal
-digits.
-
-The following functions are provided:
-
-=over 4
-
-=item encode_qp($str)
-
-=item encode_qp($str, $eol)
-
-=item encode_qp($str, $eol, $binmode)
-
-This function returns an encoded version of the string ($str) given as
-argument.
-
-The second argument ($eol) is the line-ending sequence to use. It is
-optional and defaults to "\n". Every occurrence of "\n" is replaced
-with this string, and it is also used for additional "soft line
-breaks" to ensure that no line end up longer than 76 characters. Pass
-it as "\015\012" to produce data suitable for external consumption.
-The string "\r\n" produces the same result on many platforms, but not
-all.
-
-The third argument ($binmode) will select binary mode if passed as a
-TRUE value. In binary mode "\n" will be encoded in the same way as
-any other non-printable character. This ensures that a decoder will
-end up with exactly the same string whatever line ending sequence it
-uses. In general it is preferable to use the base64 encoding for
-binary data; see L<MIME::Base64>.
-
-An $eol of "" (the empty string) is special. In this case, no "soft
-line breaks" are introduced and binary mode is effectively enabled so
-that any "\n" in the original data is encoded as well.
-
-=item decode_qp($str);
-
-This function returns the plain text version of the string given
-as argument. The lines of the result are "\n" terminated, even if
-the $str argument contains "\r\n" terminated lines.
-
-=back
-
-
-If you prefer not to import these routines into your namespace, you can
-call them as:
-
- use MIME::QuotedPrint ();
- $encoded = MIME::QuotedPrint::encode($decoded);
- $decoded = MIME::QuotedPrint::decode($encoded);
-
-Perl v5.8 and better allow extended Unicode characters in strings.
-Such strings cannot be encoded directly, as the quoted-printable
-encoding is only defined for single-byte characters. The solution is
-to use the Encode module to select the byte encoding you want. For
-example:
-
- use MIME::QuotedPrint qw(encode_qp);
- use Encode qw(encode);
-
- $encoded = encode_qp(encode("UTF-8", "\x{FFFF}\n"));
- print $encoded;
-
-=head1 COPYRIGHT
-
-Copyright 1995-1997,2002-2004 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<MIME::Base64>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Math/BigInt/FastCalc.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Math/BigInt/FastCalc.pm
deleted file mode 100644
index 2b4aea58dc2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/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/5.10/i686-cygwin/Module/Pluggable.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable.pm
deleted file mode 100644
index 7de3033aa51..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable.pm
+++ /dev/null
@@ -1,355 +0,0 @@
-package Module::Pluggable;
-
-use strict;
-use vars qw($VERSION);
-use Module::Pluggable::Object;
-
-# ObQuote:
-# Bob Porter: Looks like you've been missing a lot of work lately.
-# Peter Gibbons: I wouldn't say I've been missing it, Bob!
-
-
-$VERSION = '3.8';
-
-sub import {
- my $class = shift;
- my %opts = @_;
-
- my ($pkg, $file) = caller;
- # the default name for the method is 'plugins'
- my $sub = $opts{'sub_name'} || 'plugins';
- # get our package
- my ($package) = $opts{'package'} || $pkg;
- $opts{filename} = $file;
- $opts{package} = $package;
-
-
- my $finder = Module::Pluggable::Object->new(%opts);
- my $subroutine = sub { my $self = shift; return $finder->plugins(@_) };
-
- my $searchsub = sub {
- my $self = shift;
- my ($action,@paths) = @_;
-
- $finder->{'search_path'} = ["${package}::Plugin"] if ($action eq 'add' and not $finder->{'search_path'} );
- push @{$finder->{'search_path'}}, @paths if ($action eq 'add');
- $finder->{'search_path'} = \@paths if ($action eq 'new');
- return $finder->{'search_path'};
- };
-
-
- my $onlysub = sub {
- my ($self, $only) = @_;
-
- if (defined $only) {
- $finder->{'only'} = $only;
- };
-
- return $finder->{'only'};
- };
-
- my $exceptsub = sub {
- my ($self, $except) = @_;
-
- if (defined $except) {
- $finder->{'except'} = $except;
- };
-
- return $finder->{'except'};
- };
-
-
- no strict 'refs';
- no warnings qw(redefine prototype);
-
- *{"$package\::$sub"} = $subroutine;
- *{"$package\::search_path"} = $searchsub;
- *{"$package\::only"} = $onlysub;
- *{"$package\::except"} = $exceptsub;
-
-}
-
-1;
-
-=pod
-
-=head1 NAME
-
-Module::Pluggable - automatically give your module the ability to have plugins
-
-=head1 SYNOPSIS
-
-
-Simple use Module::Pluggable -
-
- package MyClass;
- use Module::Pluggable;
-
-
-and then later ...
-
- use MyClass;
- my $mc = MyClass->new();
- # returns the names of all plugins installed under MyClass::Plugin::*
- my @plugins = $mc->plugins();
-
-=head1 EXAMPLE
-
-Why would you want to do this? Say you have something that wants to pass an
-object to a number of different plugins in turn. For example you may
-want to extract meta-data from every email you get sent and do something
-with it. Plugins make sense here because then you can keep adding new
-meta data parsers and all the logic and docs for each one will be
-self contained and new handlers are easy to add without changing the
-core code. For that, you might do something like ...
-
- package Email::Examiner;
-
- use strict;
- use Email::Simple;
- use Module::Pluggable require => 1;
-
- sub handle_email {
- my $self = shift;
- my $email = shift;
-
- foreach my $plugin ($self->plugins) {
- $plugin->examine($email);
- }
-
- return 1;
- }
-
-
-
-.. and all the plugins will get a chance in turn to look at it.
-
-This can be trivally extended so that plugins could save the email
-somewhere and then no other plugin should try and do that.
-Simply have it so that the C<examine> method returns C<1> if
-it has saved the email somewhere. You might also wnat to be paranoid
-and check to see if the plugin has an C<examine> method.
-
- foreach my $plugin ($self->plugins) {
- next unless $plugin->can('examine');
- last if $plugin->examine($email);
- }
-
-
-And so on. The sky's the limit.
-
-
-=head1 DESCRIPTION
-
-Provides a simple but, hopefully, extensible way of having 'plugins' for
-your module. Obviously this isn't going to be the be all and end all of
-solutions but it works for me.
-
-Essentially all it does is export a method into your namespace that
-looks through a search path for .pm files and turn those into class names.
-
-Optionally it instantiates those classes for you.
-
-=head1 ADVANCED USAGE
-
-
-Alternatively, if you don't want to use 'plugins' as the method ...
-
- package MyClass;
- use Module::Pluggable sub_name => 'foo';
-
-
-and then later ...
-
- my @plugins = $mc->foo();
-
-
-Or if you want to look in another namespace
-
- package MyClass;
- use Module::Pluggable search_path => ['Acme::MyClass::Plugin', 'MyClass::Extend'];
-
-or directory
-
- use Module::Pluggable search_dirs => ['mylibs/Foo'];
-
-
-Or if you want to instantiate each plugin rather than just return the name
-
- package MyClass;
- use Module::Pluggable instantiate => 'new';
-
-and then
-
- # whatever is passed to 'plugins' will be passed
- # to 'new' for each plugin
- my @plugins = $mc->plugins(@options);
-
-
-alternatively you can just require the module without instantiating it
-
- package MyClass;
- use Module::Pluggable require => 1;
-
-since requiring automatically searches inner packages, which may not be desirable, you can turn this off
-
-
- package MyClass;
- use Module::Pluggable require => 1, inner => 0;
-
-
-You can limit the plugins loaded using the except option, either as a string,
-array ref or regex
-
- package MyClass;
- use Module::Pluggable except => 'MyClass::Plugin::Foo';
-
-or
-
- package MyClass;
- use Module::Pluggable except => ['MyClass::Plugin::Foo', 'MyClass::Plugin::Bar'];
-
-or
-
- package MyClass;
- use Module::Pluggable except => qr/^MyClass::Plugin::(Foo|Bar)$/;
-
-
-and similarly for only which will only load plugins which match.
-
-Remember you can use the module more than once
-
- package MyClass;
- use Module::Pluggable search_path => 'MyClass::Filters' sub_name => 'filters';
- use Module::Pluggable search_path => 'MyClass::Plugins' sub_name => 'plugins';
-
-and then later ...
-
- my @filters = $self->filters;
- my @plugins = $self->plugins;
-
-=head1 INNER PACKAGES
-
-If you have, for example, a file B<lib/Something/Plugin/Foo.pm> that
-contains package definitions for both C<Something::Plugin::Foo> and
-C<Something::Plugin::Bar> then as long as you either have either
-the B<require> or B<instantiate> option set then we'll also find
-C<Something::Plugin::Bar>. Nifty!
-
-=head1 OPTIONS
-
-You can pass a hash of options when importing this module.
-
-The options can be ...
-
-=head2 sub_name
-
-The name of the subroutine to create in your namespace.
-
-By default this is 'plugins'
-
-=head2 search_path
-
-An array ref of namespaces to look in.
-
-=head2 search_dirs
-
-An array ref of directorys to look in before @INC.
-
-=head2 instantiate
-
-Call this method on the class. In general this will probably be 'new'
-but it can be whatever you want. Whatever arguments are passed to 'plugins'
-will be passed to the method.
-
-The default is 'undef' i.e just return the class name.
-
-=head2 require
-
-Just require the class, don't instantiate (overrides 'instantiate');
-
-=head2 inner
-
-If set to 0 will B<not> search inner packages.
-If set to 1 will override C<require>.
-
-=head2 only
-
-Takes a string, array ref or regex describing the names of the only plugins to
-return. Whilst this may seem perverse ... well, it is. But it also
-makes sense. Trust me.
-
-=head2 except
-
-Similar to C<only> it takes a description of plugins to exclude
-from returning. This is slightly less perverse.
-
-=head2 package
-
-This is for use by extension modules which build on C<Module::Pluggable>:
-passing a C<package> option allows you to place the plugin method in a
-different package other than your own.
-
-=head2 file_regex
-
-By default C<Module::Pluggable> only looks for I<.pm> files.
-
-By supplying a new C<file_regex> then you can change this behaviour e.g
-
- file_regex => qr/\.plugin$/
-
-=head2 include_editor_junk
-
-By default C<Module::Pluggable> ignores files that look like they were
-left behind by editors. Currently this means files ending in F<~> (~),
-the extensions F<.swp> or F<.swo>, or files beginning with F<.#>.
-
-Setting C<include_editor_junk> changes C<Module::Pluggable> so it does
-not ignore any files it finds.
-
-
-=head1 METHODs
-
-=head2 search_path
-
-The method C<search_path> is exported into you namespace as well.
-You can call that at any time to change or replace the
-search_path.
-
- $self->search_path( add => "New::Path" ); # add
- $self->search_path( new => "New::Path" ); # replace
-
-
-
-=head1 FUTURE PLANS
-
-This does everything I need and I can't really think of any other
-features I want to add. Famous last words of course
-
-Recently tried fixed to find inner packages and to make it
-'just work' with PAR but there are still some issues.
-
-
-However suggestions (and patches) are welcome.
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2006 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=head1 SEE ALSO
-
-L<File::Spec>, L<File::Find>, L<File::Basename>, L<Class::Factory::Util>, L<Module::Pluggable::Ordered>
-
-=cut
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable/Object.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable/Object.pm
deleted file mode 100644
index d99eb9db904..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Module/Pluggable/Object.pm
+++ /dev/null
@@ -1,351 +0,0 @@
-package Module::Pluggable::Object;
-
-use strict;
-use File::Find ();
-use File::Basename;
-use File::Spec::Functions qw(splitdir catdir curdir catfile abs2rel);
-use Carp qw(croak carp);
-use Devel::InnerPackage;
-use Data::Dumper;
-use vars qw($VERSION);
-
-$VERSION = '3.6';
-
-
-sub new {
- my $class = shift;
- my %opts = @_;
-
- return bless \%opts, $class;
-
-}
-
-### Eugggh, this code smells
-### This is what happens when you keep adding patches
-### *sigh*
-
-
-sub plugins {
- my $self = shift;
-
- # override 'require'
- $self->{'require'} = 1 if $self->{'inner'};
-
- my $filename = $self->{'filename'};
- my $pkg = $self->{'package'};
-
- # automatically turn a scalar search path or namespace into a arrayref
- for (qw(search_path search_dirs)) {
- $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
- }
-
-
-
-
- # default search path is '<Module>::<Name>::Plugin'
- $self->{'search_path'} = ["${pkg}::Plugin"] unless $self->{'search_path'};
-
-
- #my %opts = %$self;
-
-
- # check to see if we're running under test
- my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! ? grep {/blib/} @INC : @INC;
-
- # add any search_dir params
- unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
-
-
- my @plugins = $self->search_directories(@SEARCHDIR);
-
- # push @plugins, map { print STDERR "$_\n"; $_->require } list_packages($_) for (@{$self->{'search_path'}});
-
- # return blank unless we've found anything
- return () unless @plugins;
-
-
- # exceptions
- my %only;
- my %except;
- my $only;
- my $except;
-
- if (defined $self->{'only'}) {
- if (ref($self->{'only'}) eq 'ARRAY') {
- %only = map { $_ => 1 } @{$self->{'only'}};
- } elsif (ref($self->{'only'}) eq 'Regexp') {
- $only = $self->{'only'}
- } elsif (ref($self->{'only'}) eq '') {
- $only{$self->{'only'}} = 1;
- }
- }
-
-
- if (defined $self->{'except'}) {
- if (ref($self->{'except'}) eq 'ARRAY') {
- %except = map { $_ => 1 } @{$self->{'except'}};
- } elsif (ref($self->{'except'}) eq 'Regexp') {
- $except = $self->{'except'}
- } elsif (ref($self->{'except'}) eq '') {
- $except{$self->{'except'}} = 1;
- }
- }
-
-
- # remove duplicates
- # probably not necessary but hey ho
- my %plugins;
- for(@plugins) {
- next if (keys %only && !$only{$_} );
- next unless (!defined $only || m!$only! );
-
- next if (keys %except && $except{$_} );
- next if (defined $except && m!$except! );
- $plugins{$_} = 1;
- }
-
- # are we instantiating or requring?
- if (defined $self->{'instantiate'}) {
- my $method = $self->{'instantiate'};
- return map { ($_->can($method)) ? $_->$method(@_) : () } keys %plugins;
- } else {
- # no? just return the names
- return keys %plugins;
- }
-
-
-}
-
-sub search_directories {
- my $self = shift;
- my @SEARCHDIR = @_;
-
- my @plugins;
- # go through our @INC
- foreach my $dir (@SEARCHDIR) {
- push @plugins, $self->search_paths($dir);
- }
-
- return @plugins;
-}
-
-
-sub search_paths {
- my $self = shift;
- my $dir = shift;
- my @plugins;
-
- my $file_regex = $self->{'file_regex'} || qr/\.pm$/;
-
-
- # and each directory in our search path
- foreach my $searchpath (@{$self->{'search_path'}}) {
- # create the search directory in a cross platform goodness way
- my $sp = catdir($dir, (split /::/, $searchpath));
-
- # if it doesn't exist or it's not a dir then skip it
- next unless ( -e $sp && -d _ ); # Use the cached stat the second time
-
- my @files = $self->find_files($sp);
-
- # foreach one we've found
- foreach my $file (@files) {
- # untaint the file; accept .pm only
- next unless ($file) = ($file =~ /(.*$file_regex)$/);
- # parse the file to get the name
- my ($name, $directory, $suffix) = fileparse($file, $file_regex);
-
- next if (!$self->{include_editor_junk} && $self->_is_editor_junk($name));
-
- $directory = abs2rel($directory, $sp);
-
- # If we have a mixed-case package name, assume case has been preserved
- # correctly. Otherwise, root through the file to locate the case-preserved
- # version of the package name.
- my @pkg_dirs = ();
- if ( $name eq lc($name) || $name eq uc($name) ) {
- my $pkg_file = catfile($sp, $directory, "$name$suffix");
- open PKGFILE, "<$pkg_file" or die "search_paths: Can't open $pkg_file: $!";
- my $in_pod = 0;
- while ( my $line = <PKGFILE> ) {
- $in_pod = 1 if $line =~ m/^=\w/;
- $in_pod = 0 if $line =~ /^=cut/;
- next if ($in_pod || $line =~ /^=cut/); # skip pod text
- next if $line =~ /^\s*#/; # and comments
- if ( $line =~ m/^\s*package\s+(.*::)?($name)\s*;/i ) {
- @pkg_dirs = split /::/, $1;
- $name = $2;
- last;
- }
- }
- close PKGFILE;
- }
-
- # then create the class name in a cross platform way
- $directory =~ s/^[a-z]://i if($^O =~ /MSWin32|dos/); # remove volume
- my @dirs = ();
- if ($directory) {
- ($directory) = ($directory =~ /(.*)/);
- @dirs = grep(length($_), splitdir($directory))
- unless $directory eq curdir();
- for my $d (reverse @dirs) {
- my $pkg_dir = pop @pkg_dirs;
- last unless defined $pkg_dir;
- $d =~ s/\Q$pkg_dir\E/$pkg_dir/i; # Correct case
- }
- } else {
- $directory = "";
- }
- my $plugin = join '::', $searchpath, @dirs, $name;
-
- next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]!i;
-
- my $err = $self->handle_finding_plugin($plugin);
- carp "Couldn't require $plugin : $err" if $err;
-
- push @plugins, $plugin;
- }
-
- # now add stuff that may have been in package
- # NOTE we should probably use all the stuff we've been given already
- # but then we can't unload it :(
- push @plugins, $self->handle_innerpackages($searchpath) unless (exists $self->{inner} && !$self->{inner});
- } # foreach $searchpath
-
- return @plugins;
-}
-
-sub _is_editor_junk {
- my $self = shift;
- my $name = shift;
-
- # Emacs (and other Unix-y editors) leave temp files ending in a
- # tilde as a backup.
- return 1 if $name =~ /~$/;
- # Emacs makes these files while a buffer is edited but not yet
- # saved.
- return 1 if $name =~ /^\.#/;
- # Vim can leave these files behind if it crashes.
- return 1 if $name =~ /\.sw[po]$/;
-
- return 0;
-}
-
-sub handle_finding_plugin {
- my $self = shift;
- my $plugin = shift;
-
- return unless (defined $self->{'instantiate'} || $self->{'require'});
- $self->_require($plugin);
-}
-
-sub find_files {
- my $self = shift;
- my $search_path = shift;
- my $file_regex = $self->{'file_regex'} || qr/\.pm$/;
-
-
- # find all the .pm files in it
- # this isn't perfect and won't find multiple plugins per file
- #my $cwd = Cwd::getcwd;
- my @files = ();
- { # for the benefit of perl 5.6.1's Find, localize topic
- local $_;
- File::Find::find( { no_chdir => 1,
- wanted => sub {
- # Inlined from File::Find::Rule C< name => '*.pm' >
- return unless $File::Find::name =~ /$file_regex/;
- (my $path = $File::Find::name) =~ s#^\\./##;
- push @files, $path;
- }
- }, $search_path );
- }
- #chdir $cwd;
- return @files;
-
-}
-
-sub handle_innerpackages {
- my $self = shift;
- my $path = shift;
- my @plugins;
-
-
- foreach my $plugin (Devel::InnerPackage::list_packages($path)) {
- my $err = $self->handle_finding_plugin($plugin);
- #next if $err;
- #next unless $INC{$plugin};
- push @plugins, $plugin;
- }
- return @plugins;
-
-}
-
-
-sub _require {
- my $self = shift;
- my $pack = shift;
- local $@;
- eval "CORE::require $pack";
- return $@;
-}
-
-
-1;
-
-=pod
-
-=head1 NAME
-
-Module::Pluggable::Object - automatically give your module the ability to have plugins
-
-=head1 SYNOPSIS
-
-
-Simple use Module::Pluggable -
-
- package MyClass;
- use Module::Pluggable::Object;
-
- my $finder = Module::Pluggable::Object->new(%opts);
- print "My plugins are: ".join(", ", $finder->plugins)."\n";
-
-=head1 DESCRIPTION
-
-Provides a simple but, hopefully, extensible way of having 'plugins' for
-your module. Obviously this isn't going to be the be all and end all of
-solutions but it works for me.
-
-Essentially all it does is export a method into your namespace that
-looks through a search path for .pm files and turn those into class names.
-
-Optionally it instantiates those classes for you.
-
-This object is wrapped by C<Module::Pluggable>. If you want to do something
-odd or add non-general special features you're probably best to wrap this
-and produce your own subclass.
-
-=head1 OPTIONS
-
-See the C<Module::Pluggable> docs.
-
-=head1 AUTHOR
-
-Simon Wistow <simon@thegestalt.org>
-
-=head1 COPYING
-
-Copyright, 2006 Simon Wistow
-
-Distributed under the same terms as Perl itself.
-
-=head1 BUGS
-
-None known.
-
-=head1 SEE ALSO
-
-L<Module::Pluggable>
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/NDBM_File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/NDBM_File.pm
deleted file mode 100644
index b88e657dbfb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/NDBM_File.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package NDBM_File;
-
-use strict;
-use warnings;
-
-require Tie::Hash;
-use XSLoader ();
-
-our @ISA = qw(Tie::Hash);
-our $VERSION = "1.07";
-
-XSLoader::load 'NDBM_File', $VERSION;
-
-1;
-
-__END__
-
-=head1 NAME
-
-NDBM_File - Tied access to ndbm files
-
-=head1 SYNOPSIS
-
- use Fcntl; # For O_RDWR, O_CREAT, etc.
- use NDBM_File;
-
- tie(%h, 'NDBM_File', 'filename', O_RDWR|O_CREAT, 0666)
- or die "Couldn't tie NDBM file 'filename': $!; aborting";
-
- # Now read and change the hash
- $h{newkey} = newvalue;
- print $h{oldkey};
- ...
-
- untie %h;
-
-=head1 DESCRIPTION
-
-C<NDBM_File> establishes a connection between a Perl hash variable and
-a file in NDBM_File format;. You can manipulate the data in the file
-just as if it were in a Perl hash, but when your program exits, the
-data will remain in the file, to be used the next time your program
-runs.
-
-Use C<NDBM_File> with the Perl built-in C<tie> function to establish
-the connection between the variable and the file. The arguments to
-C<tie> should be:
-
-=over 4
-
-=item 1.
-
-The hash variable you want to tie.
-
-=item 2.
-
-The string C<"NDBM_File">. (Ths tells Perl to use the C<NDBM_File>
-package to perform the functions of the hash.)
-
-=item 3.
-
-The name of the file you want to tie to the hash.
-
-=item 4.
-
-Flags. Use one of:
-
-=over 2
-
-=item C<O_RDONLY>
-
-Read-only access to the data in the file.
-
-=item C<O_WRONLY>
-
-Write-only access to the data in the file.
-
-=item C<O_RDWR>
-
-Both read and write access.
-
-=back
-
-If you want to create the file if it does not exist, add C<O_CREAT> to
-any of these, as in the example. If you omit C<O_CREAT> and the file
-does not already exist, the C<tie> call will fail.
-
-=item 5.
-
-The default permissions to use if a new file is created. The actual
-permissions will be modified by the user's umask, so you should
-probably use 0666 here. (See L<perlfunc/umask>.)
-
-=back
-
-=head1 DIAGNOSTICS
-
-On failure, the C<tie> call returns an undefined value and probably
-sets C<$!> to contain the reason the file could not be tied.
-
-=head2 C<ndbm store returned -1, errno 22, key "..." at ...>
-
-This warning is emitted when you try to store a key or a value that
-is too long. It means that the change was not recorded in the
-database. See BUGS AND WARNINGS below.
-
-=head1 BUGS AND WARNINGS
-
-There are a number of limits on the size of the data that you can
-store in the NDBM file. The most important is that the length of a
-key, plus the length of its associated value, may not exceed 1008
-bytes.
-
-See L<perlfunc/tie>, L<perldbmfilter>, L<Fcntl>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/O.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/O.pm
deleted file mode 100644
index d60e91a34b8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/O.pm
+++ /dev/null
@@ -1,143 +0,0 @@
-package O;
-
-our $VERSION = '1.00';
-
-use B qw(minus_c save_BEGINs);
-use Carp;
-
-sub import {
- my ($class, @options) = @_;
- my ($quiet, $veryquiet) = (0, 0);
- if ($options[0] eq '-q' || $options[0] eq '-qq') {
- $quiet = 1;
- open (SAVEOUT, ">&STDOUT");
- close STDOUT;
- open (STDOUT, ">", \$O::BEGIN_output);
- if ($options[0] eq '-qq') {
- $veryquiet = 1;
- }
- shift @options;
- }
- my $backend = shift (@options);
- eval q[
- BEGIN {
- minus_c;
- save_BEGINs;
- }
-
- CHECK {
- if ($quiet) {
- close STDOUT;
- open (STDOUT, ">&SAVEOUT");
- close SAVEOUT;
- }
-
- # Note: if you change the code after this 'use', please
- # change the fudge factors in B::Concise (grep for
- # "fragile kludge") so that its output still looks
- # nice. Thanks. --smcc
- use B::].$backend.q[ ();
- if ($@) {
- croak "use of backend $backend failed: $@";
- }
-
-
- my $compilesub = &{"B::${backend}::compile"}(@options);
- if (ref($compilesub) ne "CODE") {
- die $compilesub;
- }
-
- local $savebackslash = $\;
- local ($\,$",$,) = (undef,' ','');
- &$compilesub();
-
- close STDERR if $veryquiet;
- }
- ];
- die $@ if $@;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-O - Generic interface to Perl Compiler backends
-
-=head1 SYNOPSIS
-
- perl -MO=[-q,]Backend[,OPTIONS] foo.pl
-
-=head1 DESCRIPTION
-
-This is the module that is used as a frontend to the Perl Compiler.
-
-If you pass the C<-q> option to the module, then the STDOUT
-filehandle will be redirected into the variable C<$O::BEGIN_output>
-during compilation. This has the effect that any output printed
-to STDOUT by BEGIN blocks or use'd modules will be stored in this
-variable rather than printed. It's useful with those backends which
-produce output themselves (C<Deparse>, C<Concise> etc), so that
-their output is not confused with that generated by the code
-being compiled.
-
-The C<-qq> option behaves like C<-q>, except that it also closes
-STDERR after deparsing has finished. This suppresses the "Syntax OK"
-message normally produced by perl.
-
-=head1 CONVENTIONS
-
-Most compiler backends use the following conventions: OPTIONS
-consists of a comma-separated list of words (no white-space).
-The C<-v> option usually puts the backend into verbose mode.
-The C<-ofile> option generates output to B<file> instead of
-stdout. The C<-D> option followed by various letters turns on
-various internal debugging flags. See the documentation for the
-desired backend (named C<B::Backend> for the example above) to
-find out about that backend.
-
-=head1 IMPLEMENTATION
-
-This section is only necessary for those who want to write a
-compiler backend module that can be used via this module.
-
-The command-line mentioned in the SYNOPSIS section corresponds to
-the Perl code
-
- use O ("Backend", OPTIONS);
-
-The C<O::import> function loads the appropriate C<B::Backend> module
-and calls its C<compile> function, passing it OPTIONS. That function
-is expected to return a sub reference which we'll call CALLBACK. Next,
-the "compile-only" flag is switched on (equivalent to the command-line
-option C<-c>) and a CHECK block is registered which calls
-CALLBACK. Thus the main Perl program mentioned on the command-line is
-read in, parsed and compiled into internal syntax tree form. Since the
-C<-c> flag is set, the program does not start running (excepting BEGIN
-blocks of course) but the CALLBACK function registered by the compiler
-backend is called.
-
-In summary, a compiler backend module should be called "B::Foo"
-for some foo and live in the appropriate directory for that name.
-It should define a function called C<compile>. When the user types
-
- perl -MO=Foo,OPTIONS foo.pl
-
-that function is called and is passed those OPTIONS (split on
-commas). It should return a sub ref to the main compilation function.
-After the user's program is loaded and parsed, that returned sub ref
-is invoked which can then go ahead and do the compilation, usually by
-making use of the C<B> module's functionality.
-
-=head1 BUGS
-
-The C<-q> and C<-qq> options don't work correctly if perl isn't
-compiled with PerlIO support : STDOUT will be closed instead of being
-redirected to C<$O::BEGIN_output>.
-
-=head1 AUTHOR
-
-Malcolm Beattie, C<mbeattie@sable.ox.ac.uk>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ODBM_File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ODBM_File.pm
deleted file mode 100644
index 044e493055a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ODBM_File.pm
+++ /dev/null
@@ -1,113 +0,0 @@
-package ODBM_File;
-
-use strict;
-use warnings;
-
-require Tie::Hash;
-use XSLoader ();
-
-our @ISA = qw(Tie::Hash);
-our $VERSION = "1.07";
-
-XSLoader::load 'ODBM_File', $VERSION;
-
-1;
-
-__END__
-
-=head1 NAME
-
-ODBM_File - Tied access to odbm files
-
-=head1 SYNOPSIS
-
- use Fcntl; # For O_RDWR, O_CREAT, etc.
- use ODBM_File;
-
- # Now read and change the hash
- $h{newkey} = newvalue;
- print $h{oldkey};
- ...
-
- untie %h;
-
-=head1 DESCRIPTION
-
-C<ODBM_File> establishes a connection between a Perl hash variable and
-a file in ODBM_File format;. You can manipulate the data in the file
-just as if it were in a Perl hash, but when your program exits, the
-data will remain in the file, to be used the next time your program
-runs.
-
-Use C<ODBM_File> with the Perl built-in C<tie> function to establish
-the connection between the variable and the file. The arguments to
-C<tie> should be:
-
-=over 4
-
-=item 1.
-
-The hash variable you want to tie.
-
-=item 2.
-
-The string C<"ODBM_File">. (Ths tells Perl to use the C<ODBM_File>
-package to perform the functions of the hash.)
-
-=item 3.
-
-The name of the file you want to tie to the hash.
-
-=item 4.
-
-Flags. Use one of:
-
-=over 2
-
-=item C<O_RDONLY>
-
-Read-only access to the data in the file.
-
-=item C<O_WRONLY>
-
-Write-only access to the data in the file.
-
-=item C<O_RDWR>
-
-Both read and write access.
-
-=back
-
-If you want to create the file if it does not exist, add C<O_CREAT> to
-any of these, as in the example. If you omit C<O_CREAT> and the file
-does not already exist, the C<tie> call will fail.
-
-=item 5.
-
-The default permissions to use if a new file is created. The actual
-permissions will be modified by the user's umask, so you should
-probably use 0666 here. (See L<perlfunc/umask>.)
-
-=back
-
-=head1 DIAGNOSTICS
-
-On failure, the C<tie> call returns an undefined value and probably
-sets C<$!> to contain the reason the file could not be tied.
-
-=head2 C<odbm store returned -1, errno 22, key "..." at ...>
-
-This warning is emitted when you try to store a key or a value that
-is too long. It means that the change was not recorded in the
-database. See BUGS AND WARNINGS below.
-
-=head1 BUGS AND WARNINGS
-
-There are a number of limits on the size of the data that you can
-store in the ODBM file. The most important is that the length of a
-key, plus the length of its associated value, may not exceed 1008
-bytes.
-
-See L<perlfunc/tie>, L<perldbmfilter>, L<Fcntl>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Opcode.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Opcode.pm
deleted file mode 100644
index e0078e5d382..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Opcode.pm
+++ /dev/null
@@ -1,590 +0,0 @@
-package Opcode;
-
-use 5.006_001;
-
-use strict;
-
-our($VERSION, @ISA, @EXPORT_OK);
-
-$VERSION = "1.11";
-
-use Carp;
-use Exporter ();
-use XSLoader ();
-
-BEGIN {
- @ISA = qw(Exporter);
- @EXPORT_OK = qw(
- opset ops_to_opset
- opset_to_ops opset_to_hex invert_opset
- empty_opset full_opset
- opdesc opcodes opmask define_optag
- opmask_add verify_opset opdump
- );
-}
-
-sub opset (;@);
-sub opset_to_hex ($);
-sub opdump (;$);
-use subs @EXPORT_OK;
-
-XSLoader::load 'Opcode', $VERSION;
-
-_init_optags();
-
-sub ops_to_opset { opset @_ } # alias for old name
-
-sub opset_to_hex ($) {
- return "(invalid opset)" unless verify_opset($_[0]);
- unpack("h*",$_[0]);
-}
-
-sub opdump (;$) {
- my $pat = shift;
- # handy utility: perl -MOpcode=opdump -e 'opdump File'
- foreach(opset_to_ops(full_opset)) {
- my $op = sprintf " %12s %s\n", $_, opdesc($_);
- next if defined $pat and $op !~ m/$pat/i;
- print $op;
- }
-}
-
-
-
-sub _init_optags {
- my(%all, %seen);
- @all{opset_to_ops(full_opset)} = (); # keys only
-
- local($_);
- local($/) = "\n=cut"; # skip to optags definition section
- <DATA>;
- $/ = "\n="; # now read in 'pod section' chunks
- while(<DATA>) {
- next unless m/^item\s+(:\w+)/;
- my $tag = $1;
-
- # Split into lines, keep only indented lines
- my @lines = grep { m/^\s/ } split(/\n/);
- foreach (@lines) { s/--.*// } # delete comments
- my @ops = map { split ' ' } @lines; # get op words
-
- foreach(@ops) {
- warn "$tag - $_ already tagged in $seen{$_}\n" if $seen{$_};
- $seen{$_} = $tag;
- delete $all{$_};
- }
- # opset will croak on invalid names
- define_optag($tag, opset(@ops));
- }
- close(DATA);
- warn "Untagged opnames: ".join(' ',keys %all)."\n" if %all;
-}
-
-
-1;
-
-__DATA__
-
-=head1 NAME
-
-Opcode - Disable named opcodes when compiling perl code
-
-=head1 SYNOPSIS
-
- use Opcode;
-
-
-=head1 DESCRIPTION
-
-Perl code is always compiled into an internal format before execution.
-
-Evaluating perl code (e.g. via "eval" or "do 'file'") causes
-the code to be compiled into an internal format and then,
-provided there was no error in the compilation, executed.
-The internal format is based on many distinct I<opcodes>.
-
-By default no opmask is in effect and any code can be compiled.
-
-The Opcode module allow you to define an I<operator mask> to be in
-effect when perl I<next> compiles any code. Attempting to compile code
-which contains a masked opcode will cause the compilation to fail
-with an error. The code will not be executed.
-
-=head1 NOTE
-
-The Opcode module is not usually used directly. See the ops pragma and
-Safe modules for more typical uses.
-
-=head1 WARNING
-
-The authors make B<no warranty>, implied or otherwise, about the
-suitability of this software for safety or security purposes.
-
-The authors shall not in any case be liable for special, incidental,
-consequential, indirect or other similar damages arising from the use
-of this software.
-
-Your mileage will vary. If in any doubt B<do not use it>.
-
-
-=head1 Operator Names and Operator Lists
-
-The canonical list of operator names is the contents of the array
-PL_op_name defined and initialised in file F<opcode.h> of the Perl
-source distribution (and installed into the perl library).
-
-Each operator has both a terse name (its opname) and a more verbose or
-recognisable descriptive name. The opdesc function can be used to
-return a list of descriptions for a list of operators.
-
-Many of the functions and methods listed below take a list of
-operators as parameters. Most operator lists can be made up of several
-types of element. Each element can be one of
-
-=over 8
-
-=item an operator name (opname)
-
-Operator names are typically small lowercase words like enterloop,
-leaveloop, last, next, redo etc. Sometimes they are rather cryptic
-like gv2cv, i_ncmp and ftsvtx.
-
-=item an operator tag name (optag)
-
-Operator tags can be used to refer to groups (or sets) of operators.
-Tag names always begin with a colon. The Opcode module defines several
-optags and the user can define others using the define_optag function.
-
-=item a negated opname or optag
-
-An opname or optag can be prefixed with an exclamation mark, e.g., !mkdir.
-Negating an opname or optag means remove the corresponding ops from the
-accumulated set of ops at that point.
-
-=item an operator set (opset)
-
-An I<opset> as a binary string of approximately 44 bytes which holds a
-set or zero or more operators.
-
-The opset and opset_to_ops functions can be used to convert from
-a list of operators to an opset and I<vice versa>.
-
-Wherever a list of operators can be given you can use one or more opsets.
-See also Manipulating Opsets below.
-
-=back
-
-
-=head1 Opcode Functions
-
-The Opcode package contains functions for manipulating operator names
-tags and sets. All are available for export by the package.
-
-=over 8
-
-=item opcodes
-
-In a scalar context opcodes returns the number of opcodes in this
-version of perl (around 350 for perl-5.7.0).
-
-In a list context it returns a list of all the operator names.
-(Not yet implemented, use @names = opset_to_ops(full_opset).)
-
-=item opset (OP, ...)
-
-Returns an opset containing the listed operators.
-
-=item opset_to_ops (OPSET)
-
-Returns a list of operator names corresponding to those operators in
-the set.
-
-=item opset_to_hex (OPSET)
-
-Returns a string representation of an opset. Can be handy for debugging.
-
-=item full_opset
-
-Returns an opset which includes all operators.
-
-=item empty_opset
-
-Returns an opset which contains no operators.
-
-=item invert_opset (OPSET)
-
-Returns an opset which is the inverse set of the one supplied.
-
-=item verify_opset (OPSET, ...)
-
-Returns true if the supplied opset looks like a valid opset (is the
-right length etc) otherwise it returns false. If an optional second
-parameter is true then verify_opset will croak on an invalid opset
-instead of returning false.
-
-Most of the other Opcode functions call verify_opset automatically
-and will croak if given an invalid opset.
-
-=item define_optag (OPTAG, OPSET)
-
-Define OPTAG as a symbolic name for OPSET. Optag names always start
-with a colon C<:>.
-
-The optag name used must not be defined already (define_optag will
-croak if it is already defined). Optag names are global to the perl
-process and optag definitions cannot be altered or deleted once
-defined.
-
-It is strongly recommended that applications using Opcode should use a
-leading capital letter on their tag names since lowercase names are
-reserved for use by the Opcode module. If using Opcode within a module
-you should prefix your tags names with the name of your module to
-ensure uniqueness and thus avoid clashes with other modules.
-
-=item opmask_add (OPSET)
-
-Adds the supplied opset to the current opmask. Note that there is
-currently I<no> mechanism for unmasking ops once they have been masked.
-This is intentional.
-
-=item opmask
-
-Returns an opset corresponding to the current opmask.
-
-=item opdesc (OP, ...)
-
-This takes a list of operator names and returns the corresponding list
-of operator descriptions.
-
-=item opdump (PAT)
-
-Dumps to STDOUT a two column list of op names and op descriptions.
-If an optional pattern is given then only lines which match the
-(case insensitive) pattern will be output.
-
-It's designed to be used as a handy command line utility:
-
- perl -MOpcode=opdump -e opdump
- perl -MOpcode=opdump -e 'opdump Eval'
-
-=back
-
-=head1 Manipulating Opsets
-
-Opsets may be manipulated using the perl bit vector operators & (and), | (or),
-^ (xor) and ~ (negate/invert).
-
-However you should never rely on the numerical position of any opcode
-within the opset. In other words both sides of a bit vector operator
-should be opsets returned from Opcode functions.
-
-Also, since the number of opcodes in your current version of perl might
-not be an exact multiple of eight, there may be unused bits in the last
-byte of an upset. This should not cause any problems (Opcode functions
-ignore those extra bits) but it does mean that using the ~ operator
-will typically not produce the same 'physical' opset 'string' as the
-invert_opset function.
-
-
-=head1 TO DO (maybe)
-
- $bool = opset_eq($opset1, $opset2) true if opsets are logically eqiv
-
- $yes = opset_can($opset, @ops) true if $opset has all @ops set
-
- @diff = opset_diff($opset1, $opset2) => ('foo', '!bar', ...)
-
-=cut
-
-# the =cut above is used by _init_optags() to get here quickly
-
-=head1 Predefined Opcode Tags
-
-=over 5
-
-=item :base_core
-
- null stub scalar pushmark wantarray const defined undef
-
- rv2sv sassign
-
- rv2av aassign aelem aelemfast aslice av2arylen
-
- rv2hv helem hslice each values keys exists delete
-
- preinc i_preinc predec i_predec postinc i_postinc postdec i_postdec
- int hex oct abs pow multiply i_multiply divide i_divide
- modulo i_modulo add i_add subtract i_subtract
-
- left_shift right_shift bit_and bit_xor bit_or negate i_negate
- not complement
-
- lt i_lt gt i_gt le i_le ge i_ge eq i_eq ne i_ne ncmp i_ncmp
- slt sgt sle sge seq sne scmp
-
- substr vec stringify study pos length index rindex ord chr
-
- ucfirst lcfirst uc lc quotemeta trans chop schop chomp schomp
-
- match split qr
-
- list lslice splice push pop shift unshift reverse
-
- cond_expr flip flop andassign orassign dorassign and or dor xor
-
- warn die lineseq nextstate scope enter leave setstate
-
- rv2cv anoncode prototype
-
- entersub leavesub leavesublv return method method_named -- XXX loops via recursion?
-
- leaveeval -- needed for Safe to operate, is safe without entereval
-
-=item :base_mem
-
-These memory related ops are not included in :base_core because they
-can easily be used to implement a resource attack (e.g., consume all
-available memory).
-
- concat repeat join range
-
- anonlist anonhash
-
-Note that despite the existence of this optag a memory resource attack
-may still be possible using only :base_core ops.
-
-Disabling these ops is a I<very> heavy handed way to attempt to prevent
-a memory resource attack. It's probable that a specific memory limit
-mechanism will be added to perl in the near future.
-
-=item :base_loop
-
-These loop ops are not included in :base_core because they can easily be
-used to implement a resource attack (e.g., consume all available CPU time).
-
- grepstart grepwhile
- mapstart mapwhile
- enteriter iter
- enterloop leaveloop unstack
- last next redo
- goto
-
-=item :base_io
-
-These ops enable I<filehandle> (rather than filename) based input and
-output. These are safe on the assumption that only pre-existing
-filehandles are available for use. Usually, to create new filehandles
-other ops such as open would need to be enabled, if you don't take into
-account the magical open of ARGV.
-
- readline rcatline getc read
-
- formline enterwrite leavewrite
-
- print say sysread syswrite send recv
-
- eof tell seek sysseek
-
- readdir telldir seekdir rewinddir
-
-=item :base_orig
-
-These are a hotchpotch of opcodes still waiting to be considered
-
- gvsv gv gelem
-
- padsv padav padhv padany
-
- once
-
- rv2gv refgen srefgen ref
-
- bless -- could be used to change ownership of objects (reblessing)
-
- pushre regcmaybe regcreset regcomp subst substcont
-
- sprintf prtf -- can core dump
-
- crypt
-
- tie untie
-
- dbmopen dbmclose
- sselect select
- pipe_op sockpair
-
- getppid getpgrp setpgrp getpriority setpriority localtime gmtime
-
- entertry leavetry -- can be used to 'hide' fatal errors
-
- entergiven leavegiven
- enterwhen leavewhen
- break continue
- smartmatch
-
- custom -- where should this go
-
-=item :base_math
-
-These ops are not included in :base_core because of the risk of them being
-used to generate floating point exceptions (which would have to be caught
-using a $SIG{FPE} handler).
-
- atan2 sin cos exp log sqrt
-
-These ops are not included in :base_core because they have an effect
-beyond the scope of the compartment.
-
- rand srand
-
-=item :base_thread
-
-These ops are related to multi-threading.
-
- lock
-
-=item :default
-
-A handy tag name for a I<reasonable> default set of ops. (The current ops
-allowed are unstable while development continues. It will change.)
-
- :base_core :base_mem :base_loop :base_orig :base_thread
-
-This list used to contain :base_io prior to Opcode 1.07.
-
-If safety matters to you (and why else would you be using the Opcode module?)
-then you should not rely on the definition of this, or indeed any other, optag!
-
-=item :filesys_read
-
- stat lstat readlink
-
- ftatime ftblk ftchr ftctime ftdir fteexec fteowned fteread
- ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned
- ftrread ftsgid ftsize ftsock ftsuid fttty ftzero ftrwrite ftsvtx
-
- fttext ftbinary
-
- fileno
-
-=item :sys_db
-
- ghbyname ghbyaddr ghostent shostent ehostent -- hosts
- gnbyname gnbyaddr gnetent snetent enetent -- networks
- gpbyname gpbynumber gprotoent sprotoent eprotoent -- protocols
- gsbyname gsbyport gservent sservent eservent -- services
-
- gpwnam gpwuid gpwent spwent epwent getlogin -- users
- ggrnam ggrgid ggrent sgrent egrent -- groups
-
-=item :browse
-
-A handy tag name for a I<reasonable> default set of ops beyond the
-:default optag. Like :default (and indeed all the other optags) its
-current definition is unstable while development continues. It will change.
-
-The :browse tag represents the next step beyond :default. It it a
-superset of the :default ops and adds :filesys_read the :sys_db.
-The intent being that scripts can access more (possibly sensitive)
-information about your system but not be able to change it.
-
- :default :filesys_read :sys_db
-
-=item :filesys_open
-
- sysopen open close
- umask binmode
-
- open_dir closedir -- other dir ops are in :base_io
-
-=item :filesys_write
-
- link unlink rename symlink truncate
-
- mkdir rmdir
-
- utime chmod chown
-
- fcntl -- not strictly filesys related, but possibly as dangerous?
-
-=item :subprocess
-
- backtick system
-
- fork
-
- wait waitpid
-
- glob -- access to Cshell via <`rm *`>
-
-=item :ownprocess
-
- exec exit kill
-
- time tms -- could be used for timing attacks (paranoid?)
-
-=item :others
-
-This tag holds groups of assorted specialist opcodes that don't warrant
-having optags defined for them.
-
-SystemV Interprocess Communications:
-
- msgctl msgget msgrcv msgsnd
-
- semctl semget semop
-
- shmctl shmget shmread shmwrite
-
-=item :load
-
-This tag holds opcodes related to loading modules and getting information
-about calling environment and args.
-
- require dofile
- caller
-
-=item :still_to_be_decided
-
- chdir
- flock ioctl
-
- socket getpeername ssockopt
- bind connect listen accept shutdown gsockopt getsockname
-
- sleep alarm -- changes global timer state and signal handling
- sort -- assorted problems including core dumps
- tied -- can be used to access object implementing a tie
- pack unpack -- can be used to create/use memory pointers
-
- entereval -- can be used to hide code from initial compile
-
- reset
-
- dbstate -- perl -d version of nextstate(ment) opcode
-
-=item :dangerous
-
-This tag is simply a bucket for opcodes that are unlikely to be used via
-a tag name but need to be tagged for completeness and documentation.
-
- syscall dump chroot
-
-=back
-
-=head1 SEE ALSO
-
-L<ops> -- perl pragma interface to Opcode module.
-
-L<Safe> -- Opcode and namespace limited execution compartments
-
-=head1 AUTHORS
-
-Originally designed and implemented by Malcolm Beattie,
-mbeattie@sable.ox.ac.uk as part of Safe version 1.
-
-Split out from Safe module version 1, named opcode tags and other
-changes added by Tim Bunce.
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pm
deleted file mode 100644
index 0a5553bbe3b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pm
+++ /dev/null
@@ -1,1042 +0,0 @@
-package POSIX;
-use strict;
-use warnings;
-
-our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
-
-our $VERSION = "1.16";
-
-use AutoLoader;
-
-use XSLoader ();
-
-use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
- F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
- O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
- O_WRONLY SEEK_CUR SEEK_END SEEK_SET
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
- S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
-
-# Grandfather old foo_h form to new :foo_h form
-my $loaded;
-
-sub import {
- load_imports() unless $loaded++;
- my $this = shift;
- my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
- local $Exporter::ExportLevel = 1;
- Exporter::import($this,@list);
-}
-
-sub croak { require Carp; goto &Carp::croak }
-# declare usage to assist AutoLoad
-sub usage;
-
-XSLoader::load 'POSIX', $VERSION;
-
-sub AUTOLOAD {
- no strict;
- no warnings 'uninitialized';
- if ($AUTOLOAD =~ /::(_?[a-z])/) {
- # require AutoLoader;
- $AutoLoader::AUTOLOAD = $AUTOLOAD;
- goto &AutoLoader::AUTOLOAD
- }
- local $! = 0;
- my $constname = $AUTOLOAD;
- $constname =~ s/.*:://;
- my ($error, $val) = constant($constname);
- croak $error if $error;
- *$AUTOLOAD = sub { $val };
-
- goto &$AUTOLOAD;
-}
-
-package POSIX::SigAction;
-
-use AutoLoader 'AUTOLOAD';
-
-package POSIX::SigRt;
-
-use AutoLoader 'AUTOLOAD';
-
-use Tie::Hash;
-
-use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
-@POSIX::SigRt::ISA = qw(Tie::StdHash);
-
-$SIGACTION_FLAGS = 0;
-
-tie %POSIX::SIGRT, 'POSIX::SigRt';
-
-sub DESTROY {};
-
-package POSIX;
-
-1;
-__END__
-
-sub usage {
- my ($mess) = @_;
- croak "Usage: POSIX::$mess";
-}
-
-sub redef {
- my ($mess) = @_;
- croak "Use method $mess instead";
-}
-
-sub unimpl {
- my ($mess) = @_;
- $mess =~ s/xxx//;
- croak "Unimplemented: POSIX::$mess";
-}
-
-sub assert {
- usage "assert(expr)" if @_ != 1;
- if (!$_[0]) {
- croak "Assertion failed";
- }
-}
-
-sub tolower {
- usage "tolower(string)" if @_ != 1;
- lc($_[0]);
-}
-
-sub toupper {
- usage "toupper(string)" if @_ != 1;
- uc($_[0]);
-}
-
-sub closedir {
- usage "closedir(dirhandle)" if @_ != 1;
- CORE::closedir($_[0]);
-}
-
-sub opendir {
- usage "opendir(directory)" if @_ != 1;
- my $dirhandle;
- CORE::opendir($dirhandle, $_[0])
- ? $dirhandle
- : undef;
-}
-
-sub readdir {
- usage "readdir(dirhandle)" if @_ != 1;
- CORE::readdir($_[0]);
-}
-
-sub rewinddir {
- usage "rewinddir(dirhandle)" if @_ != 1;
- CORE::rewinddir($_[0]);
-}
-
-sub errno {
- usage "errno()" if @_ != 0;
- $! + 0;
-}
-
-sub creat {
- usage "creat(filename, mode)" if @_ != 2;
- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
-}
-
-sub fcntl {
- usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
- CORE::fcntl($_[0], $_[1], $_[2]);
-}
-
-sub getgrgid {
- usage "getgrgid(gid)" if @_ != 1;
- CORE::getgrgid($_[0]);
-}
-
-sub getgrnam {
- usage "getgrnam(name)" if @_ != 1;
- CORE::getgrnam($_[0]);
-}
-
-sub atan2 {
- usage "atan2(x,y)" if @_ != 2;
- CORE::atan2($_[0], $_[1]);
-}
-
-sub cos {
- usage "cos(x)" if @_ != 1;
- CORE::cos($_[0]);
-}
-
-sub exp {
- usage "exp(x)" if @_ != 1;
- CORE::exp($_[0]);
-}
-
-sub fabs {
- usage "fabs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-sub log {
- usage "log(x)" if @_ != 1;
- CORE::log($_[0]);
-}
-
-sub pow {
- usage "pow(x,exponent)" if @_ != 2;
- $_[0] ** $_[1];
-}
-
-sub sin {
- usage "sin(x)" if @_ != 1;
- CORE::sin($_[0]);
-}
-
-sub sqrt {
- usage "sqrt(x)" if @_ != 1;
- CORE::sqrt($_[0]);
-}
-
-sub getpwnam {
- usage "getpwnam(name)" if @_ != 1;
- CORE::getpwnam($_[0]);
-}
-
-sub getpwuid {
- usage "getpwuid(uid)" if @_ != 1;
- CORE::getpwuid($_[0]);
-}
-
-sub longjmp {
- unimpl "longjmp() is C-specific: use die instead";
-}
-
-sub setjmp {
- unimpl "setjmp() is C-specific: use eval {} instead";
-}
-
-sub siglongjmp {
- unimpl "siglongjmp() is C-specific: use die instead";
-}
-
-sub sigsetjmp {
- unimpl "sigsetjmp() is C-specific: use eval {} instead";
-}
-
-sub kill {
- usage "kill(pid, sig)" if @_ != 2;
- CORE::kill $_[1], $_[0];
-}
-
-sub raise {
- usage "raise(sig)" if @_ != 1;
- CORE::kill $_[0], $$; # Is this good enough?
-}
-
-sub offsetof {
- unimpl "offsetof() is C-specific, stopped";
-}
-
-sub clearerr {
- redef "IO::Handle::clearerr()";
-}
-
-sub fclose {
- redef "IO::Handle::close()";
-}
-
-sub fdopen {
- redef "IO::Handle::new_from_fd()";
-}
-
-sub feof {
- redef "IO::Handle::eof()";
-}
-
-sub fgetc {
- redef "IO::Handle::getc()";
-}
-
-sub fgets {
- redef "IO::Handle::gets()";
-}
-
-sub fileno {
- redef "IO::Handle::fileno()";
-}
-
-sub fopen {
- redef "IO::File::open()";
-}
-
-sub fprintf {
- unimpl "fprintf() is C-specific--use printf instead";
-}
-
-sub fputc {
- unimpl "fputc() is C-specific--use print instead";
-}
-
-sub fputs {
- unimpl "fputs() is C-specific--use print instead";
-}
-
-sub fread {
- unimpl "fread() is C-specific--use read instead";
-}
-
-sub freopen {
- unimpl "freopen() is C-specific--use open instead";
-}
-
-sub fscanf {
- unimpl "fscanf() is C-specific--use <> and regular expressions instead";
-}
-
-sub fseek {
- redef "IO::Seekable::seek()";
-}
-
-sub fsync {
- redef "IO::Handle::sync()";
-}
-
-sub ferror {
- redef "IO::Handle::error()";
-}
-
-sub fflush {
- redef "IO::Handle::flush()";
-}
-
-sub fgetpos {
- redef "IO::Seekable::getpos()";
-}
-
-sub fsetpos {
- redef "IO::Seekable::setpos()";
-}
-
-sub ftell {
- redef "IO::Seekable::tell()";
-}
-
-sub fwrite {
- unimpl "fwrite() is C-specific--use print instead";
-}
-
-sub getc {
- usage "getc(handle)" if @_ != 1;
- CORE::getc($_[0]);
-}
-
-sub getchar {
- usage "getchar()" if @_ != 0;
- CORE::getc(STDIN);
-}
-
-sub gets {
- usage "gets()" if @_ != 0;
- scalar <STDIN>;
-}
-
-sub perror {
- print STDERR "@_: " if @_;
- print STDERR $!,"\n";
-}
-
-sub printf {
- usage "printf(pattern, args...)" if @_ < 1;
- CORE::printf STDOUT @_;
-}
-
-sub putc {
- unimpl "putc() is C-specific--use print instead";
-}
-
-sub putchar {
- unimpl "putchar() is C-specific--use print instead";
-}
-
-sub puts {
- unimpl "puts() is C-specific--use print instead";
-}
-
-sub remove {
- usage "remove(filename)" if @_ != 1;
- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
-}
-
-sub rename {
- usage "rename(oldfilename, newfilename)" if @_ != 2;
- CORE::rename($_[0], $_[1]);
-}
-
-sub rewind {
- usage "rewind(filehandle)" if @_ != 1;
- CORE::seek($_[0],0,0);
-}
-
-sub scanf {
- unimpl "scanf() is C-specific--use <> and regular expressions instead";
-}
-
-sub sprintf {
- usage "sprintf(pattern,args)" if @_ == 0;
- CORE::sprintf(shift,@_);
-}
-
-sub sscanf {
- unimpl "sscanf() is C-specific--use regular expressions instead";
-}
-
-sub tmpfile {
- redef "IO::File::new_tmpfile()";
-}
-
-sub ungetc {
- redef "IO::Handle::ungetc()";
-}
-
-sub vfprintf {
- unimpl "vfprintf() is C-specific";
-}
-
-sub vprintf {
- unimpl "vprintf() is C-specific";
-}
-
-sub vsprintf {
- unimpl "vsprintf() is C-specific";
-}
-
-sub abs {
- usage "abs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-sub atexit {
- unimpl "atexit() is C-specific: use END {} instead";
-}
-
-sub atof {
- unimpl "atof() is C-specific, stopped";
-}
-
-sub atoi {
- unimpl "atoi() is C-specific, stopped";
-}
-
-sub atol {
- unimpl "atol() is C-specific, stopped";
-}
-
-sub bsearch {
- unimpl "bsearch() not supplied";
-}
-
-sub calloc {
- unimpl "calloc() is C-specific, stopped";
-}
-
-sub div {
- unimpl "div() is C-specific, use /, % and int instead";
-}
-
-sub exit {
- usage "exit(status)" if @_ != 1;
- CORE::exit($_[0]);
-}
-
-sub free {
- unimpl "free() is C-specific, stopped";
-}
-
-sub getenv {
- usage "getenv(name)" if @_ != 1;
- $ENV{$_[0]};
-}
-
-sub labs {
- unimpl "labs() is C-specific, use abs instead";
-}
-
-sub ldiv {
- unimpl "ldiv() is C-specific, use /, % and int instead";
-}
-
-sub malloc {
- unimpl "malloc() is C-specific, stopped";
-}
-
-sub qsort {
- unimpl "qsort() is C-specific, use sort instead";
-}
-
-sub rand {
- unimpl "rand() is non-portable, use Perl's rand instead";
-}
-
-sub realloc {
- unimpl "realloc() is C-specific, stopped";
-}
-
-sub srand {
- unimpl "srand()";
-}
-
-sub system {
- usage "system(command)" if @_ != 1;
- CORE::system($_[0]);
-}
-
-sub memchr {
- unimpl "memchr() is C-specific, use index() instead";
-}
-
-sub memcmp {
- unimpl "memcmp() is C-specific, use eq instead";
-}
-
-sub memcpy {
- unimpl "memcpy() is C-specific, use = instead";
-}
-
-sub memmove {
- unimpl "memmove() is C-specific, use = instead";
-}
-
-sub memset {
- unimpl "memset() is C-specific, use x instead";
-}
-
-sub strcat {
- unimpl "strcat() is C-specific, use .= instead";
-}
-
-sub strchr {
- unimpl "strchr() is C-specific, use index() instead";
-}
-
-sub strcmp {
- unimpl "strcmp() is C-specific, use eq instead";
-}
-
-sub strcpy {
- unimpl "strcpy() is C-specific, use = instead";
-}
-
-sub strcspn {
- unimpl "strcspn() is C-specific, use regular expressions instead";
-}
-
-sub strerror {
- usage "strerror(errno)" if @_ != 1;
- local $! = $_[0];
- $! . "";
-}
-
-sub strlen {
- unimpl "strlen() is C-specific, use length instead";
-}
-
-sub strncat {
- unimpl "strncat() is C-specific, use .= instead";
-}
-
-sub strncmp {
- unimpl "strncmp() is C-specific, use eq instead";
-}
-
-sub strncpy {
- unimpl "strncpy() is C-specific, use = instead";
-}
-
-sub strpbrk {
- unimpl "strpbrk() is C-specific, stopped";
-}
-
-sub strrchr {
- unimpl "strrchr() is C-specific, use rindex() instead";
-}
-
-sub strspn {
- unimpl "strspn() is C-specific, stopped";
-}
-
-sub strstr {
- usage "strstr(big, little)" if @_ != 2;
- CORE::index($_[0], $_[1]);
-}
-
-sub strtok {
- unimpl "strtok() is C-specific, stopped";
-}
-
-sub chmod {
- usage "chmod(mode, filename)" if @_ != 2;
- CORE::chmod($_[0], $_[1]);
-}
-
-sub fstat {
- usage "fstat(fd)" if @_ != 1;
- local *TMP;
- CORE::open(TMP, "<&$_[0]"); # Gross.
- my @l = CORE::stat(TMP);
- CORE::close(TMP);
- @l;
-}
-
-sub mkdir {
- usage "mkdir(directoryname, mode)" if @_ != 2;
- CORE::mkdir($_[0], $_[1]);
-}
-
-sub stat {
- usage "stat(filename)" if @_ != 1;
- CORE::stat($_[0]);
-}
-
-sub umask {
- usage "umask(mask)" if @_ != 1;
- CORE::umask($_[0]);
-}
-
-sub wait {
- usage "wait()" if @_ != 0;
- CORE::wait();
-}
-
-sub waitpid {
- usage "waitpid(pid, options)" if @_ != 2;
- CORE::waitpid($_[0], $_[1]);
-}
-
-sub gmtime {
- usage "gmtime(time)" if @_ != 1;
- CORE::gmtime($_[0]);
-}
-
-sub localtime {
- usage "localtime(time)" if @_ != 1;
- CORE::localtime($_[0]);
-}
-
-sub time {
- usage "time()" if @_ != 0;
- CORE::time;
-}
-
-sub alarm {
- usage "alarm(seconds)" if @_ != 1;
- CORE::alarm($_[0]);
-}
-
-sub chdir {
- usage "chdir(directory)" if @_ != 1;
- CORE::chdir($_[0]);
-}
-
-sub chown {
- usage "chown(uid, gid, filename)" if @_ != 3;
- CORE::chown($_[0], $_[1], $_[2]);
-}
-
-sub execl {
- unimpl "execl() is C-specific, stopped";
-}
-
-sub execle {
- unimpl "execle() is C-specific, stopped";
-}
-
-sub execlp {
- unimpl "execlp() is C-specific, stopped";
-}
-
-sub execv {
- unimpl "execv() is C-specific, stopped";
-}
-
-sub execve {
- unimpl "execve() is C-specific, stopped";
-}
-
-sub execvp {
- unimpl "execvp() is C-specific, stopped";
-}
-
-sub fork {
- usage "fork()" if @_ != 0;
- CORE::fork;
-}
-
-sub getegid {
- usage "getegid()" if @_ != 0;
- $) + 0;
-}
-
-sub geteuid {
- usage "geteuid()" if @_ != 0;
- $> + 0;
-}
-
-sub getgid {
- usage "getgid()" if @_ != 0;
- $( + 0;
-}
-
-sub getgroups {
- usage "getgroups()" if @_ != 0;
- my %seen;
- grep(!$seen{$_}++, split(' ', $) ));
-}
-
-sub getlogin {
- usage "getlogin()" if @_ != 0;
- CORE::getlogin();
-}
-
-sub getpgrp {
- usage "getpgrp()" if @_ != 0;
- CORE::getpgrp;
-}
-
-sub getpid {
- usage "getpid()" if @_ != 0;
- $$;
-}
-
-sub getppid {
- usage "getppid()" if @_ != 0;
- CORE::getppid;
-}
-
-sub getuid {
- usage "getuid()" if @_ != 0;
- $<;
-}
-
-sub isatty {
- usage "isatty(filehandle)" if @_ != 1;
- -t $_[0];
-}
-
-sub link {
- usage "link(oldfilename, newfilename)" if @_ != 2;
- CORE::link($_[0], $_[1]);
-}
-
-sub rmdir {
- usage "rmdir(directoryname)" if @_ != 1;
- CORE::rmdir($_[0]);
-}
-
-sub setbuf {
- redef "IO::Handle::setbuf()";
-}
-
-sub setvbuf {
- redef "IO::Handle::setvbuf()";
-}
-
-sub sleep {
- usage "sleep(seconds)" if @_ != 1;
- $_[0] - CORE::sleep($_[0]);
-}
-
-sub unlink {
- usage "unlink(filename)" if @_ != 1;
- CORE::unlink($_[0]);
-}
-
-sub utime {
- usage "utime(filename, atime, mtime)" if @_ != 3;
- CORE::utime($_[1], $_[2], $_[0]);
-}
-
-sub load_imports {
-%EXPORT_TAGS = (
-
- assert_h => [qw(assert NDEBUG)],
-
- ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
- isprint ispunct isspace isupper isxdigit tolower toupper)],
-
- dirent_h => [],
-
- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
- EUSERS EWOULDBLOCK EXDEV errno)],
-
- fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
- F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
- O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
- O_RDONLY O_RDWR O_TRUNC O_WRONLY
- creat
- SEEK_CUR SEEK_END SEEK_SET
- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
- S_IWGRP S_IWOTH S_IWUSR)],
-
- float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
- DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
- DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
- FLT_DIG FLT_EPSILON FLT_MANT_DIG
- FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
- FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
- FLT_RADIX FLT_ROUNDS
- LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
- LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
- LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
-
- grp_h => [],
-
- limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
- INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
- MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
- PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
- SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
- ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
- _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
- _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
- _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
- _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
-
- locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
- LC_MONETARY LC_NUMERIC LC_TIME NULL
- localeconv setlocale)],
-
- math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
- frexp ldexp log10 modf pow sinh tan tanh)],
-
- pwd_h => [],
-
- setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
-
- signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
- SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
- SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
- SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
- SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
- raise sigaction signal sigpending sigprocmask sigsuspend)],
-
- stdarg_h => [],
-
- stddef_h => [qw(NULL offsetof)],
-
- stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
- L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
- STREAM_MAX TMP_MAX stderr stdin stdout
- clearerr fclose fdopen feof ferror fflush fgetc fgetpos
- fgets fopen fprintf fputc fputs fread freopen
- fscanf fseek fsetpos ftell fwrite getchar gets
- perror putc putchar puts remove rewind
- scanf setbuf setvbuf sscanf tmpfile tmpnam
- ungetc vfprintf vprintf vsprintf)],
-
- stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
- abort atexit atof atoi atol bsearch calloc div
- free getenv labs ldiv malloc mblen mbstowcs mbtowc
- qsort realloc strtod strtol strtoul wcstombs wctomb)],
-
- string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
- strchr strcmp strcoll strcpy strcspn strerror strlen
- strncat strncmp strncpy strpbrk strrchr strspn strstr
- strtok strxfrm)],
-
- sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
- S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
- fstat mkfifo)],
-
- sys_times_h => [],
-
- sys_types_h => [],
-
- sys_utsname_h => [qw(uname)],
-
- sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
- WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
-
- termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
- B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
- CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
- ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
- INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
- PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
- TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
- TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
- VSTOP VSUSP VTIME
- cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
- tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
-
- time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
- difftime mktime strftime tzset tzname)],
-
- unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
- STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
- _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
- _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
- _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
- _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
- _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
- _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
- _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
- _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
- _exit access ctermid cuserid
- dup2 dup execl execle execlp execv execve execvp
- fpathconf fsync getcwd getegid geteuid getgid getgroups
- getpid getuid isatty lseek pathconf pause setgid setpgid
- setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
-
- utime_h => [],
-
-);
-
-# Exporter::export_tags();
-{
- # De-duplicate the export list:
- my %export;
- @export{map {@$_} values %EXPORT_TAGS} = ();
- # Doing the de-dup with a temporary hash has the advantage that the SVs in
- # @EXPORT are actually shared hash key sacalars, which will save some memory.
- push @EXPORT, keys %export;
-}
-
-@EXPORT_OK = qw(
- abs
- alarm
- atan2
- chdir
- chmod
- chown
- close
- closedir
- cos
- exit
- exp
- fcntl
- fileno
- fork
- getc
- getgrgid
- getgrnam
- getlogin
- getpgrp
- getppid
- getpwnam
- getpwuid
- gmtime
- isatty
- kill
- lchown
- link
- localtime
- log
- mkdir
- nice
- open
- opendir
- pipe
- printf
- rand
- read
- readdir
- rename
- rewinddir
- rmdir
- sin
- sleep
- sprintf
- sqrt
- srand
- stat
- system
- time
- times
- umask
- unlink
- utime
- wait
- waitpid
- write
-);
-
-require Exporter;
-}
-
-package POSIX::SigAction;
-
-sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
-sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
-sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
-sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
-sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
-
-package POSIX::SigRt;
-
-
-sub _init {
- $_SIGRTMIN = &POSIX::SIGRTMIN;
- $_SIGRTMAX = &POSIX::SIGRTMAX;
- $_sigrtn = $_SIGRTMAX - $_SIGRTMIN;
-}
-
-sub _croak {
- &_init unless defined $_sigrtn;
- die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
-}
-
-sub _getsig {
- &_croak;
- my $rtsig = $_[0];
- # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C.
- $rtsig = $_SIGRTMIN + ($1 || 0)
- if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/;
- return $rtsig;
-}
-
-sub _exist {
- my $rtsig = _getsig($_[1]);
- my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
- ($rtsig, $ok);
-}
-
-sub _check {
- my ($rtsig, $ok) = &_exist;
- die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
- unless $ok;
- return $rtsig;
-}
-
-sub new {
- my ($rtsig, $handler, $flags) = @_;
- my $sigset = POSIX::SigSet->new($rtsig);
- my $sigact = POSIX::SigAction->new($handler,
- $sigset,
- $flags);
- POSIX::sigaction($rtsig, $sigact);
-}
-
-sub EXISTS { &_exist }
-sub FETCH { my $rtsig = &_check;
- my $oa = POSIX::SigAction->new();
- POSIX::sigaction($rtsig, undef, $oa);
- return $oa->{HANDLER} }
-sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
-sub DELETE { delete $SIG{ &_check } }
-sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
-sub SCALAR { &_croak; $_sigrtn + 1 }
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pod b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pod
deleted file mode 100644
index bb3ee3af09b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/POSIX.pod
+++ /dev/null
@@ -1,2210 +0,0 @@
-=head1 NAME
-
-POSIX - Perl interface to IEEE Std 1003.1
-
-=head1 SYNOPSIS
-
- use POSIX;
- use POSIX qw(setsid);
- use POSIX qw(:errno_h :fcntl_h);
-
- printf "EINTR is %d\n", EINTR;
-
- $sess_id = POSIX::setsid();
-
- $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
- # note: that's a filedescriptor, *NOT* a filehandle
-
-=head1 DESCRIPTION
-
-The POSIX module permits you to access all (or nearly all) the standard
-POSIX 1003.1 identifiers. Many of these identifiers have been given Perl-ish
-interfaces.
-
-I<Everything is exported by default> with the exception of any POSIX
-functions with the same name as a built-in Perl function, such as
-C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
-only if you ask for them explicitly. This is an unfortunate backwards
-compatibility feature. You can stop the exporting by saying C<use
-POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>).
-
-This document gives a condensed list of the features available in the POSIX
-module. Consult your operating system's manpages for general information on
-most features. Consult L<perlfunc> for functions which are noted as being
-identical to Perl's builtin functions.
-
-The first section describes POSIX functions from the 1003.1 specification.
-The second section describes some classes for signal objects, TTY objects,
-and other miscellaneous objects. The remaining sections list various
-constants and macros in an organization which roughly follows IEEE Std
-1003.1b-1993.
-
-=head1 NOTE
-
-The POSIX module is probably the most complex Perl module supplied with
-the standard distribution. It incorporates autoloading, namespace games,
-and dynamic loading of code that's in Perl, C, or both. It's a great
-source of wisdom.
-
-=head1 CAVEATS
-
-A few functions are not implemented because they are C specific. If you
-attempt to call these, they will print a message telling you that they
-aren't implemented, and suggest using the Perl equivalent should one
-exist. For example, trying to access the setjmp() call will elicit the
-message "setjmp() is C-specific: use eval {} instead".
-
-Furthermore, some evil vendors will claim 1003.1 compliance, but in fact
-are not so: they will not pass the PCTS (POSIX Compliance Test Suites).
-For example, one vendor may not define EDEADLK, or the semantics of the
-errno values set by open(2) might not be quite right. Perl does not
-attempt to verify POSIX compliance. That means you can currently
-successfully say "use POSIX", and then later in your program you find
-that your vendor has been lax and there's no usable ICANON macro after
-all. This could be construed to be a bug.
-
-=head1 FUNCTIONS
-
-=over 8
-
-=item _exit
-
-This is identical to the C function C<_exit()>. It exits the program
-immediately which means among other things buffered I/O is B<not> flushed.
-
-Note that when using threads and in Linux this is B<not> a good way to
-exit a thread because in Linux processes and threads are kind of the
-same thing (Note: while this is the situation in early 2003 there are
-projects under way to have threads with more POSIXly semantics in Linux).
-If you want not to return from a thread, detach the thread.
-
-=item abort
-
-This is identical to the C function C<abort()>. It terminates the
-process with a C<SIGABRT> signal unless caught by a signal handler or
-if the handler does not return normally (it e.g. does a C<longjmp>).
-
-=item abs
-
-This is identical to Perl's builtin C<abs()> function, returning
-the absolute value of its numerical argument.
-
-=item access
-
-Determines the accessibility of a file.
-
- if( POSIX::access( "/", &POSIX::R_OK ) ){
- print "have read permission\n";
- }
-
-Returns C<undef> on failure. Note: do not use C<access()> for
-security purposes. Between the C<access()> call and the operation
-you are preparing for the permissions might change: a classic
-I<race condition>.
-
-=item acos
-
-This is identical to the C function C<acos()>, returning
-the arcus cosine of its numerical argument. See also L<Math::Trig>.
-
-=item alarm
-
-This is identical to Perl's builtin C<alarm()> function,
-either for arming or disarming the C<SIGARLM> timer.
-
-=item asctime
-
-This is identical to the C function C<asctime()>. It returns
-a string of the form
-
- "Fri Jun 2 18:22:13 2000\n\0"
-
-and it is called thusly
-
- $asctime = asctime($sec, $min, $hour, $mday, $mon, $year,
- $wday, $yday, $isdst);
-
-The C<$mon> is zero-based: January equals C<0>. The C<$year> is
-1900-based: 2001 equals C<101>. C<$wday> and C<$yday> default to zero
-(and are usually ignored anyway), and C<$isdst> defaults to -1.
-
-=item asin
-
-This is identical to the C function C<asin()>, returning
-the arcus sine of its numerical argument. See also L<Math::Trig>.
-
-=item assert
-
-Unimplemented, but you can use L<perlfunc/die> and the L<Carp> module
-to achieve similar things.
-
-=item atan
-
-This is identical to the C function C<atan()>, returning the
-arcus tangent of its numerical argument. See also L<Math::Trig>.
-
-=item atan2
-
-This is identical to Perl's builtin C<atan2()> function, returning
-the arcus tangent defined by its two numerical arguments, the I<y>
-coordinate and the I<x> coordinate. See also L<Math::Trig>.
-
-=item atexit
-
-atexit() is C-specific: use C<END {}> instead, see L<perlsub>.
-
-=item atof
-
-atof() is C-specific. Perl converts strings to numbers transparently.
-If you need to force a scalar to a number, add a zero to it.
-
-=item atoi
-
-atoi() is C-specific. Perl converts strings to numbers transparently.
-If you need to force a scalar to a number, add a zero to it.
-If you need to have just the integer part, see L<perlfunc/int>.
-
-=item atol
-
-atol() is C-specific. Perl converts strings to numbers transparently.
-If you need to force a scalar to a number, add a zero to it.
-If you need to have just the integer part, see L<perlfunc/int>.
-
-=item bsearch
-
-bsearch() not supplied. For doing binary search on wordlists,
-see L<Search::Dict>.
-
-=item calloc
-
-calloc() is C-specific. Perl does memory management transparently.
-
-=item ceil
-
-This is identical to the C function C<ceil()>, returning the smallest
-integer value greater than or equal to the given numerical argument.
-
-=item chdir
-
-This is identical to Perl's builtin C<chdir()> function, allowing
-one to change the working (default) directory, see L<perlfunc/chdir>.
-
-=item chmod
-
-This is identical to Perl's builtin C<chmod()> function, allowing
-one to change file and directory permissions, see L<perlfunc/chmod>.
-
-=item chown
-
-This is identical to Perl's builtin C<chown()> function, allowing one
-to change file and directory owners and groups, see L<perlfunc/chown>.
-
-=item clearerr
-
-Use the method C<IO::Handle::clearerr()> instead, to reset the error
-state (if any) and EOF state (if any) of the given stream.
-
-=item clock
-
-This is identical to the C function C<clock()>, returning the
-amount of spent processor time in microseconds.
-
-=item close
-
-Close the file. This uses file descriptors such as those obtained by calling
-C<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- POSIX::close( $fd );
-
-Returns C<undef> on failure.
-
-See also L<perlfunc/close>.
-
-=item closedir
-
-This is identical to Perl's builtin C<closedir()> function for closing
-a directory handle, see L<perlfunc/closedir>.
-
-=item cos
-
-This is identical to Perl's builtin C<cos()> function, for returning
-the cosine of its numerical argument, see L<perlfunc/cos>.
-See also L<Math::Trig>.
-
-=item cosh
-
-This is identical to the C function C<cosh()>, for returning
-the hyperbolic cosine of its numeric argument. See also L<Math::Trig>.
-
-=item creat
-
-Create a new file. This returns a file descriptor like the ones returned by
-C<POSIX::open>. Use C<POSIX::close> to close the file.
-
- $fd = POSIX::creat( "foo", 0611 );
- POSIX::close( $fd );
-
-See also L<perlfunc/sysopen> and its C<O_CREAT> flag.
-
-=item ctermid
-
-Generates the path name for the controlling terminal.
-
- $path = POSIX::ctermid();
-
-=item ctime
-
-This is identical to the C function C<ctime()> and equivalent
-to C<asctime(localtime(...))>, see L</asctime> and L</localtime>.
-
-=item cuserid
-
-Get the login name of the owner of the current process.
-
- $name = POSIX::cuserid();
-
-=item difftime
-
-This is identical to the C function C<difftime()>, for returning
-the time difference (in seconds) between two times (as returned
-by C<time()>), see L</time>.
-
-=item div
-
-div() is C-specific, use L<perlfunc/int> on the usual C</> division and
-the modulus C<%>.
-
-=item dup
-
-This is similar to the C function C<dup()>, for duplicating a file
-descriptor.
-
-This uses file descriptors such as those obtained by calling
-C<POSIX::open>.
-
-Returns C<undef> on failure.
-
-=item dup2
-
-This is similar to the C function C<dup2()>, for duplicating a file
-descriptor to an another known file descriptor.
-
-This uses file descriptors such as those obtained by calling
-C<POSIX::open>.
-
-Returns C<undef> on failure.
-
-=item errno
-
-Returns the value of errno.
-
- $errno = POSIX::errno();
-
-This identical to the numerical values of the C<$!>, see L<perlvar/$ERRNO>.
-
-=item execl
-
-execl() is C-specific, see L<perlfunc/exec>.
-
-=item execle
-
-execle() is C-specific, see L<perlfunc/exec>.
-
-=item execlp
-
-execlp() is C-specific, see L<perlfunc/exec>.
-
-=item execv
-
-execv() is C-specific, see L<perlfunc/exec>.
-
-=item execve
-
-execve() is C-specific, see L<perlfunc/exec>.
-
-=item execvp
-
-execvp() is C-specific, see L<perlfunc/exec>.
-
-=item exit
-
-This is identical to Perl's builtin C<exit()> function for exiting the
-program, see L<perlfunc/exit>.
-
-=item exp
-
-This is identical to Perl's builtin C<exp()> function for
-returning the exponent (I<e>-based) of the numerical argument,
-see L<perlfunc/exp>.
-
-=item fabs
-
-This is identical to Perl's builtin C<abs()> function for returning
-the absolute value of the numerical argument, see L<perlfunc/abs>.
-
-=item fclose
-
-Use method C<IO::Handle::close()> instead, or see L<perlfunc/close>.
-
-=item fcntl
-
-This is identical to Perl's builtin C<fcntl()> function,
-see L<perlfunc/fcntl>.
-
-=item fdopen
-
-Use method C<IO::Handle::new_from_fd()> instead, or see L<perlfunc/open>.
-
-=item feof
-
-Use method C<IO::Handle::eof()> instead, or see L<perlfunc/eof>.
-
-=item ferror
-
-Use method C<IO::Handle::error()> instead.
-
-=item fflush
-
-Use method C<IO::Handle::flush()> instead.
-See also L<perlvar/$OUTPUT_AUTOFLUSH>.
-
-=item fgetc
-
-Use method C<IO::Handle::getc()> instead, or see L<perlfunc/read>.
-
-=item fgetpos
-
-Use method C<IO::Seekable::getpos()> instead, or see L<L/seek>.
-
-=item fgets
-
-Use method C<IO::Handle::gets()> instead. Similar to E<lt>E<gt>, also known
-as L<perlfunc/readline>.
-
-=item fileno
-
-Use method C<IO::Handle::fileno()> instead, or see L<perlfunc/fileno>.
-
-=item floor
-
-This is identical to the C function C<floor()>, returning the largest
-integer value less than or equal to the numerical argument.
-
-=item fmod
-
-This is identical to the C function C<fmod()>.
-
- $r = fmod($x, $y);
-
-It returns the remainder C<$r = $x - $n*$y>, where C<$n = trunc($x/$y)>.
-The C<$r> has the same sign as C<$x> and magnitude (absolute value)
-less than the magnitude of C<$y>.
-
-=item fopen
-
-Use method C<IO::File::open()> instead, or see L<perlfunc/open>.
-
-=item fork
-
-This is identical to Perl's builtin C<fork()> function
-for duplicating the current process, see L<perlfunc/fork>
-and L<perlfork> if you are in Windows.
-
-=item fpathconf
-
-Retrieves the value of a configurable limit on a file or directory. This
-uses file descriptors such as those obtained by calling C<POSIX::open>.
-
-The following will determine the maximum length of the longest allowable
-pathname on the filesystem which holds C</var/foo>.
-
- $fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY );
- $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
-
-Returns C<undef> on failure.
-
-=item fprintf
-
-fprintf() is C-specific, see L<perlfunc/printf> instead.
-
-=item fputc
-
-fputc() is C-specific, see L<perlfunc/print> instead.
-
-=item fputs
-
-fputs() is C-specific, see L<perlfunc/print> instead.
-
-=item fread
-
-fread() is C-specific, see L<perlfunc/read> instead.
-
-=item free
-
-free() is C-specific. Perl does memory management transparently.
-
-=item freopen
-
-freopen() is C-specific, see L<perlfunc/open> instead.
-
-=item frexp
-
-Return the mantissa and exponent of a floating-point number.
-
- ($mantissa, $exponent) = POSIX::frexp( 1.234e56 );
-
-=item fscanf
-
-fscanf() is C-specific, use E<lt>E<gt> and regular expressions instead.
-
-=item fseek
-
-Use method C<IO::Seekable::seek()> instead, or see L<perlfunc/seek>.
-
-=item fsetpos
-
-Use method C<IO::Seekable::setpos()> instead, or seek L<perlfunc/seek>.
-
-=item fstat
-
-Get file status. This uses file descriptors such as those obtained by
-calling C<POSIX::open>. The data returned is identical to the data from
-Perl's builtin C<stat> function.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- @stats = POSIX::fstat( $fd );
-
-=item fsync
-
-Use method C<IO::Handle::sync()> instead.
-
-=item ftell
-
-Use method C<IO::Seekable::tell()> instead, or see L<perlfunc/tell>.
-
-=item fwrite
-
-fwrite() is C-specific, see L<perlfunc/print> instead.
-
-=item getc
-
-This is identical to Perl's builtin C<getc()> function,
-see L<perlfunc/getc>.
-
-=item getchar
-
-Returns one character from STDIN. Identical to Perl's C<getc()>,
-see L<perlfunc/getc>.
-
-=item getcwd
-
-Returns the name of the current working directory.
-See also L<Cwd>.
-
-=item getegid
-
-Returns the effective group identifier. Similar to Perl' s builtin
-variable C<$(>, see L<perlvar/$EGID>.
-
-=item getenv
-
-Returns the value of the specified environment variable.
-The same information is available through the C<%ENV> array.
-
-=item geteuid
-
-Returns the effective user identifier. Identical to Perl's builtin C<$E<gt>>
-variable, see L<perlvar/$EUID>.
-
-=item getgid
-
-Returns the user's real group identifier. Similar to Perl's builtin
-variable C<$)>, see L<perlvar/$GID>.
-
-=item getgrgid
-
-This is identical to Perl's builtin C<getgrgid()> function for
-returning group entries by group identifiers, see
-L<perlfunc/getgrgid>.
-
-=item getgrnam
-
-This is identical to Perl's builtin C<getgrnam()> function for
-returning group entries by group names, see L<perlfunc/getgrnam>.
-
-=item getgroups
-
-Returns the ids of the user's supplementary groups. Similar to Perl's
-builtin variable C<$)>, see L<perlvar/$GID>.
-
-=item getlogin
-
-This is identical to Perl's builtin C<getlogin()> function for
-returning the user name associated with the current session, see
-L<perlfunc/getlogin>.
-
-=item getpgrp
-
-This is identical to Perl's builtin C<getpgrp()> function for
-returning the process group identifier of the current process, see
-L<perlfunc/getpgrp>.
-
-=item getpid
-
-Returns the process identifier. Identical to Perl's builtin
-variable C<$$>, see L<perlvar/$PID>.
-
-=item getppid
-
-This is identical to Perl's builtin C<getppid()> function for
-returning the process identifier of the parent process of the current
-process , see L<perlfunc/getppid>.
-
-=item getpwnam
-
-This is identical to Perl's builtin C<getpwnam()> function for
-returning user entries by user names, see L<perlfunc/getpwnam>.
-
-=item getpwuid
-
-This is identical to Perl's builtin C<getpwuid()> function for
-returning user entries by user identifiers, see L<perlfunc/getpwuid>.
-
-=item gets
-
-Returns one line from C<STDIN>, similar to E<lt>E<gt>, also known
-as the C<readline()> function, see L<perlfunc/readline>.
-
-B<NOTE>: if you have C programs that still use C<gets()>, be very
-afraid. The C<gets()> function is a source of endless grief because
-it has no buffer overrun checks. It should B<never> be used. The
-C<fgets()> function should be preferred instead.
-
-=item getuid
-
-Returns the user's identifier. Identical to Perl's builtin C<$E<lt>> variable,
-see L<perlvar/$UID>.
-
-=item gmtime
-
-This is identical to Perl's builtin C<gmtime()> function for
-converting seconds since the epoch to a date in Greenwich Mean Time,
-see L<perlfunc/gmtime>.
-
-=item isalnum
-
-This is identical to the C function, except that it can apply to a
-single character or to a whole string. Note that locale settings may
-affect what characters are considered C<isalnum>. Does not work on
-Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:alnum:]]/> construct instead, or possibly
-the C</\w/> construct.
-
-=item isalpha
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isalpha>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:alpha:]]/> construct instead.
-
-=item isatty
-
-Returns a boolean indicating whether the specified filehandle is connected
-to a tty. Similar to the C<-t> operator, see L<perlfunc/-X>.
-
-=item iscntrl
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<iscntrl>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:cntrl:]]/> construct instead.
-
-=item isdigit
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isdigit> (unlikely, but
-still possible). Does not work on Unicode characters code point 256
-or higher. Consider using regular expressions and the C</[[:digit:]]/>
-construct instead, or the C</\d/> construct.
-
-=item isgraph
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isgraph>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:graph:]]/> construct instead.
-
-=item islower
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<islower>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:lower:]]/> construct instead. Do B<not> use
-C</[a-z]/>.
-
-=item isprint
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isprint>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:print:]]/> construct instead.
-
-=item ispunct
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<ispunct>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:punct:]]/> construct instead.
-
-=item isspace
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isspace>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:space:]]/> construct instead, or the C</\s/>
-construct. (Note that C</\s/> and C</[[:space:]]/> are slightly
-different in that C</[[:space:]]/> can normally match a vertical tab,
-while C</\s/> does not.)
-
-=item isupper
-
-This is identical to the C function, except that it can apply to
-a single character or to a whole string. Note that locale settings
-may affect what characters are considered C<isupper>. Does not work
-on Unicode characters code point 256 or higher. Consider using regular
-expressions and the C</[[:upper:]]/> construct instead. Do B<not> use
-C</[A-Z]/>.
-
-=item isxdigit
-
-This is identical to the C function, except that it can apply to a single
-character or to a whole string. Note that locale settings may affect what
-characters are considered C<isxdigit> (unlikely, but still possible).
-Does not work on Unicode characters code point 256 or higher.
-Consider using regular expressions and the C</[[:xdigit:]]/>
-construct instead, or simply C</[0-9a-f]/i>.
-
-=item kill
-
-This is identical to Perl's builtin C<kill()> function for sending
-signals to processes (often to terminate them), see L<perlfunc/kill>.
-
-=item labs
-
-(For returning absolute values of long integers.)
-labs() is C-specific, see L<perlfunc/abs> instead.
-
-=item ldexp
-
-This is identical to the C function C<ldexp()>
-for multiplying floating point numbers with powers of two.
-
- $x_quadrupled = POSIX::ldexp($x, 2);
-
-=item ldiv
-
-(For computing dividends of long integers.)
-ldiv() is C-specific, use C</> and C<int()> instead.
-
-=item link
-
-This is identical to Perl's builtin C<link()> function
-for creating hard links into files, see L<perlfunc/link>.
-
-=item localeconv
-
-Get numeric formatting information. Returns a reference to a hash
-containing the current locale formatting values.
-
-Here is how to query the database for the B<de> (Deutsch or German) locale.
-
- $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
- print "Locale = $loc\n";
- $lconv = POSIX::localeconv();
- print "decimal_point = ", $lconv->{decimal_point}, "\n";
- print "thousands_sep = ", $lconv->{thousands_sep}, "\n";
- print "grouping = ", $lconv->{grouping}, "\n";
- print "int_curr_symbol = ", $lconv->{int_curr_symbol}, "\n";
- print "currency_symbol = ", $lconv->{currency_symbol}, "\n";
- print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
- print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
- print "mon_grouping = ", $lconv->{mon_grouping}, "\n";
- print "positive_sign = ", $lconv->{positive_sign}, "\n";
- print "negative_sign = ", $lconv->{negative_sign}, "\n";
- print "int_frac_digits = ", $lconv->{int_frac_digits}, "\n";
- print "frac_digits = ", $lconv->{frac_digits}, "\n";
- print "p_cs_precedes = ", $lconv->{p_cs_precedes}, "\n";
- print "p_sep_by_space = ", $lconv->{p_sep_by_space}, "\n";
- print "n_cs_precedes = ", $lconv->{n_cs_precedes}, "\n";
- print "n_sep_by_space = ", $lconv->{n_sep_by_space}, "\n";
- print "p_sign_posn = ", $lconv->{p_sign_posn}, "\n";
- print "n_sign_posn = ", $lconv->{n_sign_posn}, "\n";
-
-=item localtime
-
-This is identical to Perl's builtin C<localtime()> function for
-converting seconds since the epoch to a date see L<perlfunc/localtime>.
-
-=item log
-
-This is identical to Perl's builtin C<log()> function,
-returning the natural (I<e>-based) logarithm of the numerical argument,
-see L<perlfunc/log>.
-
-=item log10
-
-This is identical to the C function C<log10()>,
-returning the 10-base logarithm of the numerical argument.
-You can also use
-
- sub log10 { log($_[0]) / log(10) }
-
-or
-
- sub log10 { log($_[0]) / 2.30258509299405 }
-
-or
-
- sub log10 { log($_[0]) * 0.434294481903252 }
-
-=item longjmp
-
-longjmp() is C-specific: use L<perlfunc/die> instead.
-
-=item lseek
-
-Move the file's read/write position. This uses file descriptors such as
-those obtained by calling C<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );
-
-Returns C<undef> on failure.
-
-=item malloc
-
-malloc() is C-specific. Perl does memory management transparently.
-
-=item mblen
-
-This is identical to the C function C<mblen()>.
-Perl does not have any support for the wide and multibyte
-characters of the C standards, so this might be a rather
-useless function.
-
-=item mbstowcs
-
-This is identical to the C function C<mbstowcs()>.
-Perl does not have any support for the wide and multibyte
-characters of the C standards, so this might be a rather
-useless function.
-
-=item mbtowc
-
-This is identical to the C function C<mbtowc()>.
-Perl does not have any support for the wide and multibyte
-characters of the C standards, so this might be a rather
-useless function.
-
-=item memchr
-
-memchr() is C-specific, see L<perlfunc/index> instead.
-
-=item memcmp
-
-memcmp() is C-specific, use C<eq> instead, see L<perlop>.
-
-=item memcpy
-
-memcpy() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
-
-=item memmove
-
-memmove() is C-specific, use C<=>, see L<perlop>, or see L<perlfunc/substr>.
-
-=item memset
-
-memset() is C-specific, use C<x> instead, see L<perlop>.
-
-=item mkdir
-
-This is identical to Perl's builtin C<mkdir()> function
-for creating directories, see L<perlfunc/mkdir>.
-
-=item mkfifo
-
-This is similar to the C function C<mkfifo()> for creating
-FIFO special files.
-
- if (mkfifo($path, $mode)) { ....
-
-Returns C<undef> on failure. The C<$mode> is similar to the
-mode of C<mkdir()>, see L<perlfunc/mkdir>, though for C<mkfifo>
-you B<must> specify the C<$mode>.
-
-=item mktime
-
-Convert date/time info to a calendar time.
-
-Synopsis:
-
- mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)
-
-The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
-I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
-year (C<year>) is given in years since 1900. I.e. The year 1995 is 95; the
-year 2001 is 101. Consult your system's C<mktime()> manpage for details
-about these and the other arguments.
-
-Calendar time for December 12, 1995, at 10:30 am.
-
- $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
- print "Date = ", POSIX::ctime($time_t);
-
-Returns C<undef> on failure.
-
-=item modf
-
-Return the integral and fractional parts of a floating-point number.
-
- ($fractional, $integral) = POSIX::modf( 3.14 );
-
-=item nice
-
-This is similar to the C function C<nice()>, for changing
-the scheduling preference of the current process. Positive
-arguments mean more polite process, negative values more
-needy process. Normal user processes can only be more polite.
-
-Returns C<undef> on failure.
-
-=item offsetof
-
-offsetof() is C-specific, you probably want to see L<perlfunc/pack> instead.
-
-=item open
-
-Open a file for reading for writing. This returns file descriptors, not
-Perl filehandles. Use C<POSIX::close> to close the file.
-
-Open a file read-only with mode 0666.
-
- $fd = POSIX::open( "foo" );
-
-Open a file for read and write.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDWR );
-
-Open a file for write, with truncation.
-
- $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );
-
-Create a new file with mode 0640. Set up the file for writing.
-
- $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );
-
-Returns C<undef> on failure.
-
-See also L<perlfunc/sysopen>.
-
-=item opendir
-
-Open a directory for reading.
-
- $dir = POSIX::opendir( "/var" );
- @files = POSIX::readdir( $dir );
- POSIX::closedir( $dir );
-
-Returns C<undef> on failure.
-
-=item pathconf
-
-Retrieves the value of a configurable limit on a file or directory.
-
-The following will determine the maximum length of the longest allowable
-pathname on the filesystem which holds C</var>.
-
- $path_max = POSIX::pathconf( "/var", &POSIX::_PC_PATH_MAX );
-
-Returns C<undef> on failure.
-
-=item pause
-
-This is similar to the C function C<pause()>, which suspends
-the execution of the current process until a signal is received.
-
-Returns C<undef> on failure.
-
-=item perror
-
-This is identical to the C function C<perror()>, which outputs to the
-standard error stream the specified message followed by ": " and the
-current error string. Use the C<warn()> function and the C<$!>
-variable instead, see L<perlfunc/warn> and L<perlvar/$ERRNO>.
-
-=item pipe
-
-Create an interprocess channel. This returns file descriptors like those
-returned by C<POSIX::open>.
-
- my ($read, $write) = POSIX::pipe();
- POSIX::write( $write, "hello", 5 );
- POSIX::read( $read, $buf, 5 );
-
-See also L<perlfunc/pipe>.
-
-=item pow
-
-Computes C<$x> raised to the power C<$exponent>.
-
- $ret = POSIX::pow( $x, $exponent );
-
-You can also use the C<**> operator, see L<perlop>.
-
-=item printf
-
-Formats and prints the specified arguments to STDOUT.
-See also L<perlfunc/printf>.
-
-=item putc
-
-putc() is C-specific, see L<perlfunc/print> instead.
-
-=item putchar
-
-putchar() is C-specific, see L<perlfunc/print> instead.
-
-=item puts
-
-puts() is C-specific, see L<perlfunc/print> instead.
-
-=item qsort
-
-qsort() is C-specific, see L<perlfunc/sort> instead.
-
-=item raise
-
-Sends the specified signal to the current process.
-See also L<perlfunc/kill> and the C<$$> in L<perlvar/$PID>.
-
-=item rand
-
-C<rand()> is non-portable, see L<perlfunc/rand> instead.
-
-=item read
-
-Read from a file. This uses file descriptors such as those obtained by
-calling C<POSIX::open>. If the buffer C<$buf> is not large enough for the
-read then Perl will extend it to make room for the request.
-
- $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
- $bytes = POSIX::read( $fd, $buf, 3 );
-
-Returns C<undef> on failure.
-
-See also L<perlfunc/sysread>.
-
-=item readdir
-
-This is identical to Perl's builtin C<readdir()> function
-for reading directory entries, see L<perlfunc/readdir>.
-
-=item realloc
-
-realloc() is C-specific. Perl does memory management transparently.
-
-=item remove
-
-This is identical to Perl's builtin C<unlink()> function
-for removing files, see L<perlfunc/unlink>.
-
-=item rename
-
-This is identical to Perl's builtin C<rename()> function
-for renaming files, see L<perlfunc/rename>.
-
-=item rewind
-
-Seeks to the beginning of the file.
-
-=item rewinddir
-
-This is identical to Perl's builtin C<rewinddir()> function for
-rewinding directory entry streams, see L<perlfunc/rewinddir>.
-
-=item rmdir
-
-This is identical to Perl's builtin C<rmdir()> function
-for removing (empty) directories, see L<perlfunc/rmdir>.
-
-=item scanf
-
-scanf() is C-specific, use E<lt>E<gt> and regular expressions instead,
-see L<perlre>.
-
-=item setgid
-
-Sets the real group identifier and the effective group identifier for
-this process. Similar to assigning a value to the Perl's builtin
-C<$)> variable, see L<perlvar/$EGID>, except that the latter
-will change only the real user identifier, and that the setgid()
-uses only a single numeric argument, as opposed to a space-separated
-list of numbers.
-
-=item setjmp
-
-C<setjmp()> is C-specific: use C<eval {}> instead,
-see L<perlfunc/eval>.
-
-=item setlocale
-
-Modifies and queries program's locale. The following examples assume
-
- use POSIX qw(setlocale LC_ALL LC_CTYPE);
-
-has been issued.
-
-The following will set the traditional UNIX system locale behavior
-(the second argument C<"C">).
-
- $loc = setlocale( LC_ALL, "C" );
-
-The following will query the current LC_CTYPE category. (No second
-argument means 'query'.)
-
- $loc = setlocale( LC_CTYPE );
-
-The following will set the LC_CTYPE behaviour according to the locale
-environment variables (the second argument C<"">).
-Please see your systems C<setlocale(3)> documentation for the locale
-environment variables' meaning or consult L<perllocale>.
-
- $loc = setlocale( LC_CTYPE, "" );
-
-The following will set the LC_COLLATE behaviour to Argentinian
-Spanish. B<NOTE>: The naming and availability of locales depends on
-your operating system. Please consult L<perllocale> for how to find
-out which locales are available in your system.
-
- $loc = setlocale( LC_ALL, "es_AR.ISO8859-1" );
-
-=item setpgid
-
-This is similar to the C function C<setpgid()> for
-setting the process group identifier of the current process.
-
-Returns C<undef> on failure.
-
-=item setsid
-
-This is identical to the C function C<setsid()> for
-setting the session identifier of the current process.
-
-=item setuid
-
-Sets the real user identifier and the effective user identifier for
-this process. Similar to assigning a value to the Perl's builtin
-C<$E<lt>> variable, see L<perlvar/$UID>, except that the latter
-will change only the real user identifier.
-
-=item sigaction
-
-Detailed signal management. This uses C<POSIX::SigAction> objects for
-the C<action> and C<oldaction> arguments (the oldaction can also be
-just a hash reference). Consult your system's C<sigaction> manpage
-for details, see also C<POSIX::SigRt>.
-
-Synopsis:
-
- sigaction(signal, action, oldaction = 0)
-
-Returns C<undef> on failure. The C<signal> must be a number (like
-SIGHUP), not a string (like "SIGHUP"), though Perl does try hard
-to understand you.
-
-If you use the SA_SIGINFO flag, the signal handler will in addition to
-the first argument, the signal name, also receive a second argument, a
-hash reference, inside which are the following keys with the following
-semantics, as defined by POSIX/SUSv3:
-
- signo the signal number
- errno the error number
- code if this is zero or less, the signal was sent by
- a user process and the uid and pid make sense,
- otherwise the signal was sent by the kernel
-
-The following are also defined by POSIX/SUSv3, but unfortunately
-not very widely implemented:
-
- pid the process id generating the signal
- uid the uid of the process id generating the signal
- status exit value or signal for SIGCHLD
- band band event for SIGPOLL
-
-A third argument is also passed to the handler, which contains a copy
-of the raw binary contents of the siginfo structure: if a system has
-some non-POSIX fields, this third argument is where to unpack() them
-from.
-
-Note that not all siginfo values make sense simultaneously (some are
-valid only for certain signals, for example), and not all values make
-sense from Perl perspective, you should to consult your system's
-C<sigaction> and possibly also C<siginfo> documentation.
-
-=item siglongjmp
-
-siglongjmp() is C-specific: use L<perlfunc/die> instead.
-
-=item sigpending
-
-Examine signals that are blocked and pending. This uses C<POSIX::SigSet>
-objects for the C<sigset> argument. Consult your system's C<sigpending>
-manpage for details.
-
-Synopsis:
-
- sigpending(sigset)
-
-Returns C<undef> on failure.
-
-=item sigprocmask
-
-Change and/or examine calling process's signal mask. This uses
-C<POSIX::SigSet> objects for the C<sigset> and C<oldsigset> arguments.
-Consult your system's C<sigprocmask> manpage for details.
-
-Synopsis:
-
- sigprocmask(how, sigset, oldsigset = 0)
-
-Returns C<undef> on failure.
-
-=item sigsetjmp
-
-C<sigsetjmp()> is C-specific: use C<eval {}> instead,
-see L<perlfunc/eval>.
-
-=item sigsuspend
-
-Install a signal mask and suspend process until signal arrives. This uses
-C<POSIX::SigSet> objects for the C<signal_mask> argument. Consult your
-system's C<sigsuspend> manpage for details.
-
-Synopsis:
-
- sigsuspend(signal_mask)
-
-Returns C<undef> on failure.
-
-=item sin
-
-This is identical to Perl's builtin C<sin()> function
-for returning the sine of the numerical argument,
-see L<perlfunc/sin>. See also L<Math::Trig>.
-
-=item sinh
-
-This is identical to the C function C<sinh()>
-for returning the hyperbolic sine of the numerical argument.
-See also L<Math::Trig>.
-
-=item sleep
-
-This is functionally identical to Perl's builtin C<sleep()> function
-for suspending the execution of the current for process for certain
-number of seconds, see L<perlfunc/sleep>. There is one significant
-difference, however: C<POSIX::sleep()> returns the number of
-B<unslept> seconds, while the C<CORE::sleep()> returns the
-number of slept seconds.
-
-=item sprintf
-
-This is similar to Perl's builtin C<sprintf()> function
-for returning a string that has the arguments formatted as requested,
-see L<perlfunc/sprintf>.
-
-=item sqrt
-
-This is identical to Perl's builtin C<sqrt()> function.
-for returning the square root of the numerical argument,
-see L<perlfunc/sqrt>.
-
-=item srand
-
-Give a seed the pseudorandom number generator, see L<perlfunc/srand>.
-
-=item sscanf
-
-sscanf() is C-specific, use regular expressions instead,
-see L<perlre>.
-
-=item stat
-
-This is identical to Perl's builtin C<stat()> function
-for returning information about files and directories.
-
-=item strcat
-
-strcat() is C-specific, use C<.=> instead, see L<perlop>.
-
-=item strchr
-
-strchr() is C-specific, see L<perlfunc/index> instead.
-
-=item strcmp
-
-strcmp() is C-specific, use C<eq> or C<cmp> instead, see L<perlop>.
-
-=item strcoll
-
-This is identical to the C function C<strcoll()>
-for collating (comparing) strings transformed using
-the C<strxfrm()> function. Not really needed since
-Perl can do this transparently, see L<perllocale>.
-
-=item strcpy
-
-strcpy() is C-specific, use C<=> instead, see L<perlop>.
-
-=item strcspn
-
-strcspn() is C-specific, use regular expressions instead,
-see L<perlre>.
-
-=item strerror
-
-Returns the error string for the specified errno.
-Identical to the string form of the C<$!>, see L<perlvar/$ERRNO>.
-
-=item strftime
-
-Convert date and time information to string. Returns the string.
-
-Synopsis:
-
- strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
-
-The month (C<mon>), weekday (C<wday>), and yearday (C<yday>) begin at zero.
-I.e. January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The
-year (C<year>) is given in years since 1900. I.e., the year 1995 is 95; the
-year 2001 is 101. Consult your system's C<strftime()> manpage for details
-about these and the other arguments.
-
-If you want your code to be portable, your format (C<fmt>) argument
-should use only the conversion specifiers defined by the ANSI C
-standard (C89, to play safe). These are C<aAbBcdHIjmMpSUwWxXyYZ%>.
-But even then, the B<results> of some of the conversion specifiers are
-non-portable. For example, the specifiers C<aAbBcpZ> change according
-to the locale settings of the user, and both how to set locales (the
-locale names) and what output to expect are non-standard.
-The specifier C<c> changes according to the timezone settings of the
-user and the timezone computation rules of the operating system.
-The C<Z> specifier is notoriously unportable since the names of
-timezones are non-standard. Sticking to the numeric specifiers is the
-safest route.
-
-The given arguments are made consistent as though by calling
-C<mktime()> before calling your system's C<strftime()> function,
-except that the C<isdst> value is not affected.
-
-The string for Tuesday, December 12, 1995.
-
- $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
- print "$str\n";
-
-=item strlen
-
-strlen() is C-specific, use C<length()> instead, see L<perlfunc/length>.
-
-=item strncat
-
-strncat() is C-specific, use C<.=> instead, see L<perlop>.
-
-=item strncmp
-
-strncmp() is C-specific, use C<eq> instead, see L<perlop>.
-
-=item strncpy
-
-strncpy() is C-specific, use C<=> instead, see L<perlop>.
-
-=item strpbrk
-
-strpbrk() is C-specific, use regular expressions instead,
-see L<perlre>.
-
-=item strrchr
-
-strrchr() is C-specific, see L<perlfunc/rindex> instead.
-
-=item strspn
-
-strspn() is C-specific, use regular expressions instead,
-see L<perlre>.
-
-=item strstr
-
-This is identical to Perl's builtin C<index()> function,
-see L<perlfunc/index>.
-
-=item strtod
-
-String to double translation. Returns the parsed number and the number
-of characters in the unparsed portion of the string. Truly
-POSIX-compliant systems set $! ($ERRNO) to indicate a translation
-error, so clear $! before calling strtod. However, non-POSIX systems
-may not check for overflow, and therefore will never set $!.
-
-strtod should respect any POSIX I<setlocale()> settings.
-
-To parse a string $str as a floating point number use
-
- $! = 0;
- ($num, $n_unparsed) = POSIX::strtod($str);
-
-The second returned item and $! can be used to check for valid input:
-
- if (($str eq '') || ($n_unparsed != 0) || $!) {
- die "Non-numeric input $str" . ($! ? ": $!\n" : "\n");
- }
-
-When called in a scalar context strtod returns the parsed number.
-
-=item strtok
-
-strtok() is C-specific, use regular expressions instead, see
-L<perlre>, or L<perlfunc/split>.
-
-=item strtol
-
-String to (long) integer translation. Returns the parsed number and
-the number of characters in the unparsed portion of the string. Truly
-POSIX-compliant systems set $! ($ERRNO) to indicate a translation
-error, so clear $! before calling strtol. However, non-POSIX systems
-may not check for overflow, and therefore will never set $!.
-
-strtol should respect any POSIX I<setlocale()> settings.
-
-To parse a string $str as a number in some base $base use
-
- $! = 0;
- ($num, $n_unparsed) = POSIX::strtol($str, $base);
-
-The base should be zero or between 2 and 36, inclusive. When the base
-is zero or omitted strtol will use the string itself to determine the
-base: a leading "0x" or "0X" means hexadecimal; a leading "0" means
-octal; any other leading characters mean decimal. Thus, "1234" is
-parsed as a decimal number, "01234" as an octal number, and "0x1234"
-as a hexadecimal number.
-
-The second returned item and $! can be used to check for valid input:
-
- if (($str eq '') || ($n_unparsed != 0) || !$!) {
- die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
- }
-
-When called in a scalar context strtol returns the parsed number.
-
-=item strtoul
-
-String to unsigned (long) integer translation. strtoul() is identical
-to strtol() except that strtoul() only parses unsigned integers. See
-L</strtol> for details.
-
-Note: Some vendors supply strtod() and strtol() but not strtoul().
-Other vendors that do supply strtoul() parse "-1" as a valid value.
-
-=item strxfrm
-
-String transformation. Returns the transformed string.
-
- $dst = POSIX::strxfrm( $src );
-
-Used in conjunction with the C<strcoll()> function, see L</strcoll>.
-
-Not really needed since Perl can do this transparently, see
-L<perllocale>.
-
-=item sysconf
-
-Retrieves values of system configurable variables.
-
-The following will get the machine's clock speed.
-
- $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );
-
-Returns C<undef> on failure.
-
-=item system
-
-This is identical to Perl's builtin C<system()> function, see
-L<perlfunc/system>.
-
-=item tan
-
-This is identical to the C function C<tan()>, returning the
-tangent of the numerical argument. See also L<Math::Trig>.
-
-=item tanh
-
-This is identical to the C function C<tanh()>, returning the
-hyperbolic tangent of the numerical argument. See also L<Math::Trig>.
-
-=item tcdrain
-
-This is similar to the C function C<tcdrain()> for draining
-the output queue of its argument stream.
-
-Returns C<undef> on failure.
-
-=item tcflow
-
-This is similar to the C function C<tcflow()> for controlling
-the flow of its argument stream.
-
-Returns C<undef> on failure.
-
-=item tcflush
-
-This is similar to the C function C<tcflush()> for flushing
-the I/O buffers of its argument stream.
-
-Returns C<undef> on failure.
-
-=item tcgetpgrp
-
-This is identical to the C function C<tcgetpgrp()> for returning the
-process group identifier of the foreground process group of the controlling
-terminal.
-
-=item tcsendbreak
-
-This is similar to the C function C<tcsendbreak()> for sending
-a break on its argument stream.
-
-Returns C<undef> on failure.
-
-=item tcsetpgrp
-
-This is similar to the C function C<tcsetpgrp()> for setting the
-process group identifier of the foreground process group of the controlling
-terminal.
-
-Returns C<undef> on failure.
-
-=item time
-
-This is identical to Perl's builtin C<time()> function
-for returning the number of seconds since the epoch
-(whatever it is for the system), see L<perlfunc/time>.
-
-=item times
-
-The times() function returns elapsed realtime since some point in the past
-(such as system startup), user and system times for this process, and user
-and system times used by child processes. All times are returned in clock
-ticks.
-
- ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();
-
-Note: Perl's builtin C<times()> function returns four values, measured in
-seconds.
-
-=item tmpfile
-
-Use method C<IO::File::new_tmpfile()> instead, or see L<File::Temp>.
-
-=item tmpnam
-
-Returns a name for a temporary file.
-
- $tmpfile = POSIX::tmpnam();
-
-For security reasons, which are probably detailed in your system's
-documentation for the C library tmpnam() function, this interface
-should not be used; instead see L<File::Temp>.
-
-=item tolower
-
-This is identical to the C function, except that it can apply to a single
-character or to a whole string. Consider using the C<lc()> function,
-see L<perlfunc/lc>, or the equivalent C<\L> operator inside doublequotish
-strings.
-
-=item toupper
-
-This is identical to the C function, except that it can apply to a single
-character or to a whole string. Consider using the C<uc()> function,
-see L<perlfunc/uc>, or the equivalent C<\U> operator inside doublequotish
-strings.
-
-=item ttyname
-
-This is identical to the C function C<ttyname()> for returning the
-name of the current terminal.
-
-=item tzname
-
-Retrieves the time conversion information from the C<tzname> variable.
-
- POSIX::tzset();
- ($std, $dst) = POSIX::tzname();
-
-=item tzset
-
-This is identical to the C function C<tzset()> for setting
-the current timezone based on the environment variable C<TZ>,
-to be used by C<ctime()>, C<localtime()>, C<mktime()>, and C<strftime()>
-functions.
-
-=item umask
-
-This is identical to Perl's builtin C<umask()> function
-for setting (and querying) the file creation permission mask,
-see L<perlfunc/umask>.
-
-=item uname
-
-Get name of current operating system.
-
- ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
-
-Note that the actual meanings of the various fields are not
-that well standardized, do not expect any great portability.
-The C<$sysname> might be the name of the operating system,
-the C<$nodename> might be the name of the host, the C<$release>
-might be the (major) release number of the operating system,
-the C<$version> might be the (minor) release number of the
-operating system, and the C<$machine> might be a hardware identifier.
-Maybe.
-
-=item ungetc
-
-Use method C<IO::Handle::ungetc()> instead.
-
-=item unlink
-
-This is identical to Perl's builtin C<unlink()> function
-for removing files, see L<perlfunc/unlink>.
-
-=item utime
-
-This is identical to Perl's builtin C<utime()> function
-for changing the time stamps of files and directories,
-see L<perlfunc/utime>.
-
-=item vfprintf
-
-vfprintf() is C-specific, see L<perlfunc/printf> instead.
-
-=item vprintf
-
-vprintf() is C-specific, see L<perlfunc/printf> instead.
-
-=item vsprintf
-
-vsprintf() is C-specific, see L<perlfunc/sprintf> instead.
-
-=item wait
-
-This is identical to Perl's builtin C<wait()> function,
-see L<perlfunc/wait>.
-
-=item waitpid
-
-Wait for a child process to change state. This is identical to Perl's
-builtin C<waitpid()> function, see L<perlfunc/waitpid>.
-
- $pid = POSIX::waitpid( -1, POSIX::WNOHANG );
- print "status = ", ($? / 256), "\n";
-
-=item wcstombs
-
-This is identical to the C function C<wcstombs()>.
-Perl does not have any support for the wide and multibyte
-characters of the C standards, so this might be a rather
-useless function.
-
-=item wctomb
-
-This is identical to the C function C<wctomb()>.
-Perl does not have any support for the wide and multibyte
-characters of the C standards, so this might be a rather
-useless function.
-
-=item write
-
-Write to a file. This uses file descriptors such as those obtained by
-calling C<POSIX::open>.
-
- $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
- $buf = "hello";
- $bytes = POSIX::write( $fd, $buf, 5 );
-
-Returns C<undef> on failure.
-
-See also L<perlfunc/syswrite>.
-
-=back
-
-=head1 CLASSES
-
-=head2 POSIX::SigAction
-
-=over 8
-
-=item new
-
-Creates a new C<POSIX::SigAction> object which corresponds to the C
-C<struct sigaction>. This object will be destroyed automatically when
-it is no longer needed. The first parameter is the handler, a sub
-reference. The second parameter is a C<POSIX::SigSet> object, it
-defaults to the empty set. The third parameter contains the
-C<sa_flags>, it defaults to 0.
-
- $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
- $sigaction = POSIX::SigAction->new( \&handler, $sigset, &POSIX::SA_NOCLDSTOP );
-
-This C<POSIX::SigAction> object is intended for use with the C<POSIX::sigaction()>
-function.
-
-=back
-
-=over 8
-
-=item handler
-
-=item mask
-
-=item flags
-
-accessor functions to get/set the values of a SigAction object.
-
- $sigset = $sigaction->mask;
- $sigaction->flags(&POSIX::SA_RESTART);
-
-=item safe
-
-accessor function for the "safe signals" flag of a SigAction object; see
-L<perlipc> for general information on safe (a.k.a. "deferred") signals. If
-you wish to handle a signal safely, use this accessor to set the "safe" flag
-in the C<POSIX::SigAction> object:
-
- $sigaction->safe(1);
-
-You may also examine the "safe" flag on the output action object which is
-filled in when given as the third parameter to C<POSIX::sigaction()>:
-
- sigaction(SIGINT, $new_action, $old_action);
- if ($old_action->safe) {
- # previous SIGINT handler used safe signals
- }
-
-=back
-
-=head2 POSIX::SigRt
-
-=over 8
-
-=item %SIGRT
-
-A hash of the POSIX realtime signal handlers. It is an extension of
-the standard %SIG, the $POSIX::SIGRT{SIGRTMIN} is roughly equivalent
-to $SIG{SIGRTMIN}, but the right POSIX moves (see below) are made with
-the POSIX::SigSet and POSIX::sigaction instead of accessing the %SIG.
-
-You can set the %POSIX::SIGRT elements to set the POSIX realtime
-signal handlers, use C<delete> and C<exists> on the elements, and use
-C<scalar> on the C<%POSIX::SIGRT> to find out how many POSIX realtime
-signals there are available (SIGRTMAX - SIGRTMIN + 1, the SIGRTMAX is
-a valid POSIX realtime signal).
-
-Setting the %SIGRT elements is equivalent to calling this:
-
- sub new {
- my ($rtsig, $handler, $flags) = @_;
- my $sigset = POSIX:SigSet($rtsig);
- my $sigact = POSIX::SigAction->new($handler, $sigset, $flags);
- sigaction($rtsig, $sigact);
- }
-
-The flags default to zero, if you want something different you can
-either use C<local> on $POSIX::RtSig::SIGACTION_FLAGS, or you can
-derive from POSIX::SigRt and define your own C<new()> (the tied hash
-STORE method of the %SIGRT calls C<new($rtsig, $handler, $SIGACTION_FLAGS)>,
-where the $rtsig ranges from zero to SIGRTMAX - SIGRTMIN + 1).
-
-Just as with any signal, you can use sigaction($rtsig, undef, $oa) to
-retrieve the installed signal handler (or, rather, the signal action).
-
-B<NOTE:> whether POSIX realtime signals really work in your system, or
-whether Perl has been compiled so that it works with them, is outside
-of this discussion.
-
-=item SIGRTMIN
-
-Return the minimum POSIX realtime signal number available, or C<undef>
-if no POSIX realtime signals are available.
-
-=item SIGRTMAX
-
-Return the maximum POSIX realtime signal number available, or C<undef>
-if no POSIX realtime signals are available.
-
-=back
-
-=head2 POSIX::SigSet
-
-=over 8
-
-=item new
-
-Create a new SigSet object. This object will be destroyed automatically
-when it is no longer needed. Arguments may be supplied to initialize the
-set.
-
-Create an empty set.
-
- $sigset = POSIX::SigSet->new;
-
-Create a set with SIGUSR1.
-
- $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );
-
-=item addset
-
-Add a signal to a SigSet object.
-
- $sigset->addset( &POSIX::SIGUSR2 );
-
-Returns C<undef> on failure.
-
-=item delset
-
-Remove a signal from the SigSet object.
-
- $sigset->delset( &POSIX::SIGUSR2 );
-
-Returns C<undef> on failure.
-
-=item emptyset
-
-Initialize the SigSet object to be empty.
-
- $sigset->emptyset();
-
-Returns C<undef> on failure.
-
-=item fillset
-
-Initialize the SigSet object to include all signals.
-
- $sigset->fillset();
-
-Returns C<undef> on failure.
-
-=item ismember
-
-Tests the SigSet object to see if it contains a specific signal.
-
- if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
- print "contains SIGUSR1\n";
- }
-
-=back
-
-=head2 POSIX::Termios
-
-=over 8
-
-=item new
-
-Create a new Termios object. This object will be destroyed automatically
-when it is no longer needed. A Termios object corresponds to the termios
-C struct. new() mallocs a new one, getattr() fills it from a file descriptor,
-and setattr() sets a file descriptor's parameters to match Termios' contents.
-
- $termios = POSIX::Termios->new;
-
-=item getattr
-
-Get terminal control attributes.
-
-Obtain the attributes for stdin.
-
- $termios->getattr( 0 ) # Recommended for clarity.
- $termios->getattr()
-
-Obtain the attributes for stdout.
-
- $termios->getattr( 1 )
-
-Returns C<undef> on failure.
-
-=item getcc
-
-Retrieve a value from the c_cc field of a termios object. The c_cc field is
-an array so an index must be specified.
-
- $c_cc[1] = $termios->getcc(1);
-
-=item getcflag
-
-Retrieve the c_cflag field of a termios object.
-
- $c_cflag = $termios->getcflag;
-
-=item getiflag
-
-Retrieve the c_iflag field of a termios object.
-
- $c_iflag = $termios->getiflag;
-
-=item getispeed
-
-Retrieve the input baud rate.
-
- $ispeed = $termios->getispeed;
-
-=item getlflag
-
-Retrieve the c_lflag field of a termios object.
-
- $c_lflag = $termios->getlflag;
-
-=item getoflag
-
-Retrieve the c_oflag field of a termios object.
-
- $c_oflag = $termios->getoflag;
-
-=item getospeed
-
-Retrieve the output baud rate.
-
- $ospeed = $termios->getospeed;
-
-=item setattr
-
-Set terminal control attributes.
-
-Set attributes immediately for stdout.
-
- $termios->setattr( 1, &POSIX::TCSANOW );
-
-Returns C<undef> on failure.
-
-=item setcc
-
-Set a value in the c_cc field of a termios object. The c_cc field is an
-array so an index must be specified.
-
- $termios->setcc( &POSIX::VEOF, 1 );
-
-=item setcflag
-
-Set the c_cflag field of a termios object.
-
- $termios->setcflag( $c_cflag | &POSIX::CLOCAL );
-
-=item setiflag
-
-Set the c_iflag field of a termios object.
-
- $termios->setiflag( $c_iflag | &POSIX::BRKINT );
-
-=item setispeed
-
-Set the input baud rate.
-
- $termios->setispeed( &POSIX::B9600 );
-
-Returns C<undef> on failure.
-
-=item setlflag
-
-Set the c_lflag field of a termios object.
-
- $termios->setlflag( $c_lflag | &POSIX::ECHO );
-
-=item setoflag
-
-Set the c_oflag field of a termios object.
-
- $termios->setoflag( $c_oflag | &POSIX::OPOST );
-
-=item setospeed
-
-Set the output baud rate.
-
- $termios->setospeed( &POSIX::B9600 );
-
-Returns C<undef> on failure.
-
-=item Baud rate values
-
-B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110
-
-=item Terminal interface values
-
-TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF
-
-=item c_cc field values
-
-VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS
-
-=item c_cflag field values
-
-CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD
-
-=item c_iflag field values
-
-BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK
-
-=item c_lflag field values
-
-ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP
-
-=item c_oflag field values
-
-OPOST
-
-=back
-
-=head1 PATHNAME CONSTANTS
-
-=over 8
-
-=item Constants
-
-_PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE
-
-=back
-
-=head1 POSIX CONSTANTS
-
-=over 8
-
-=item Constants
-
-_POSIX_ARG_MAX _POSIX_CHILD_MAX _POSIX_CHOWN_RESTRICTED _POSIX_JOB_CONTROL _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_NO_TRUNC _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SAVED_IDS _POSIX_SSIZE_MAX _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VDISABLE _POSIX_VERSION
-
-=back
-
-=head1 SYSTEM CONFIGURATION
-
-=over 8
-
-=item Constants
-
-_SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
-
-=back
-
-=head1 ERRNO
-
-=over 8
-
-=item Constants
-
-E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
-EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ
-EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS EINTR
-EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG
-ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT ENOEXEC
-ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
-ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE
-EPROCLIM EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS
-ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
-ETXTBSY EUSERS EWOULDBLOCK EXDEV
-
-=back
-
-=head1 FCNTL
-
-=over 8
-
-=item Constants
-
-FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY
-
-=back
-
-=head1 FLOAT
-
-=over 8
-
-=item Constants
-
-DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP
-
-=back
-
-=head1 LIMITS
-
-=over 8
-
-=item Constants
-
-ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
-
-=back
-
-=head1 LOCALE
-
-=over 8
-
-=item Constants
-
-LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME
-
-=back
-
-=head1 MATH
-
-=over 8
-
-=item Constants
-
-HUGE_VAL
-
-=back
-
-=head1 SIGNAL
-
-=over 8
-
-=item Constants
-
-SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART
-SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT
-SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
-SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK
-SIG_UNBLOCK
-
-=back
-
-=head1 STAT
-
-=over 8
-
-=item Constants
-
-S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
-
-=item Macros
-
-S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG
-
-=back
-
-=head1 STDLIB
-
-=over 8
-
-=item Constants
-
-EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX
-
-=back
-
-=head1 STDIO
-
-=over 8
-
-=item Constants
-
-BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid L_tmpname TMP_MAX
-
-=back
-
-=head1 TIME
-
-=over 8
-
-=item Constants
-
-CLK_TCK CLOCKS_PER_SEC
-
-=back
-
-=head1 UNISTD
-
-=over 8
-
-=item Constants
-
-R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STDERR_FILENO W_OK X_OK
-
-=back
-
-=head1 WAIT
-
-=over 8
-
-=item Constants
-
-WNOHANG WUNTRACED
-
-=over 16
-
-=item WNOHANG
-
-Do not suspend the calling process until a child process
-changes state but instead return immediately.
-
-=item WUNTRACED
-
-Catch stopped child processes.
-
-=back
-
-=item Macros
-
-WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG
-
-=over 16
-
-=item WIFEXITED
-
-WIFEXITED($?) returns true if the child process exited normally
-(C<exit()> or by falling off the end of C<main()>)
-
-=item WEXITSTATUS
-
-WEXITSTATUS($?) returns the normal exit status of the child process
-(only meaningful if WIFEXITED($?) is true)
-
-=item WIFSIGNALED
-
-WIFSIGNALED($?) returns true if the child process terminated because
-of a signal
-
-=item WTERMSIG
-
-WTERMSIG($?) returns the signal the child process terminated for
-(only meaningful if WIFSIGNALED($?) is true)
-
-=item WIFSTOPPED
-
-WIFSTOPPED($?) returns true if the child process is currently stopped
-(can happen only if you specified the WUNTRACED flag to waitpid())
-
-=item WSTOPSIG
-
-WSTOPSIG($?) returns the signal the child process was stopped for
-(only meaningful if WIFSTOPPED($?) is true)
-
-=back
-
-=back
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/encoding.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/encoding.pm
deleted file mode 100644
index f50c9c7b6f6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/encoding.pm
+++ /dev/null
@@ -1,53 +0,0 @@
-package PerlIO::encoding;
-
-use strict;
-our $VERSION = '0.11';
-our $DEBUG = 0;
-$DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
-
-#
-# Equivalent of this is done in encoding.xs - do not uncomment.
-#
-# use Encode ();
-
-use XSLoader ();
-XSLoader::load(__PACKAGE__, $VERSION);
-
-our $fallback =
- Encode::PERLQQ()|Encode::WARN_ON_ERR()|Encode::STOP_AT_PARTIAL();
-
-1;
-__END__
-
-=head1 NAME
-
-PerlIO::encoding - encoding layer
-
-=head1 SYNOPSIS
-
- use PerlIO::encoding;
-
- open($f, "<:encoding(foo)", "infoo");
- open($f, ">:encoding(bar)", "outbar");
-
- use Encode qw(:fallbacks);
- $PerlIO::encoding::fallback = FB_PERLQQ;
-
-=head1 DESCRIPTION
-
-This PerlIO layer opens a filehandle with a transparent encoding filter.
-
-On input, it converts the bytes expected to be in the specified
-character set and encoding to Perl string data (Unicode and
-Perl's internal Unicode encoding, UTF-8). On output, it converts
-Perl string data into the specified character set and encoding.
-
-When the layer is pushed, the current value of C<$PerlIO::encoding::fallback>
-is saved and used as the CHECK argument when calling the Encode methods
-encode() and decode().
-
-=head1 SEE ALSO
-
-L<open>, L<Encode>, L<perlfunc/binmode>, L<perluniintro>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/scalar.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/scalar.pm
deleted file mode 100644
index 010182ab7a5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/scalar.pm
+++ /dev/null
@@ -1,41 +0,0 @@
-package PerlIO::scalar;
-our $VERSION = '0.06';
-use XSLoader ();
-XSLoader::load 'PerlIO::scalar';
-1;
-__END__
-
-=head1 NAME
-
-PerlIO::scalar - in-memory IO, scalar IO
-
-=head1 SYNOPSIS
-
- my $scalar = '';
- ...
- open my $fh, "<", \$scalar or die;
- open my $fh, ">", \$scalar or die;
- open my $fh, ">>", \$scalar or die;
-
-or
-
- my $scalar = '';
- ...
- open my $fh, "<:scalar", \$scalar or die;
- open my $fh, ">:scalar", \$scalar or die;
- open my $fh, ">>:scalar", \$scalar or die;
-
-=head1 DESCRIPTION
-
-A filehandle is opened but the file operations are performed "in-memory"
-on a scalar variable. All the normal file operations can be performed
-on the handle. The scalar is considered a stream of bytes. Currently
-fileno($fh) returns -1.
-
-=head1 IMPLEMENTATION NOTE
-
-C<PerlIO::scalar> only exists to use XSLoader to load C code that
-provides support for treating a scalar as an "in memory" file.
-One does not need to explicitly C<use PerlIO::scalar>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/via.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/via.pm
deleted file mode 100644
index c425f12f918..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/PerlIO/via.pm
+++ /dev/null
@@ -1,244 +0,0 @@
-package PerlIO::via;
-our $VERSION = '0.05';
-use XSLoader ();
-XSLoader::load 'PerlIO::via';
-1;
-__END__
-
-=head1 NAME
-
-PerlIO::via - Helper class for PerlIO layers implemented in perl
-
-=head1 SYNOPSIS
-
- use PerlIO::via::Layer;
- open($fh,"<:via(Layer)",...);
-
- use Some::Other::Package;
- open($fh,">:via(Some::Other::Package)",...);
-
-=head1 DESCRIPTION
-
-The PerlIO::via module allows you to develop PerlIO layers in Perl, without
-having to go into the nitty gritty of programming C with XS as the interface
-to Perl.
-
-One example module, L<PerlIO::via::QuotedPrint>, is included with Perl
-5.8.0, and more example modules are available from CPAN, such as
-L<PerlIO::via::StripHTML> and L<PerlIO::via::Base64>. The
-PerlIO::via::StripHTML module for instance, allows you to say:
-
- use PerlIO::via::StripHTML;
- open( my $fh, "<:via(StripHTML)", "index.html" );
- my @line = <$fh>;
-
-to obtain the text of an HTML-file in an array with all the HTML-tags
-automagically removed.
-
-Please note that if the layer is created in the PerlIO::via:: namespace, it
-does B<not> have to be fully qualified. The PerlIO::via module will prefix
-the PerlIO::via:: namespace if the specified modulename does not exist as a
-fully qualified module name.
-
-=head1 EXPECTED METHODS
-
-To create a Perl module that implements a PerlIO layer in Perl (as opposed to
-in C using XS as the interface to Perl), you need to supply some of the
-following subroutines. It is recommended to create these Perl modules in the
-PerlIO::via:: namespace, so that they can easily be located on CPAN and use
-the default namespace feature of the PerlIO::via module itself.
-
-Please note that this is an area of recent development in Perl and that the
-interface described here is therefore still subject to change (and hopefully
-will have better documentation and more examples).
-
-In the method descriptions below I<$fh> will be
-a reference to a glob which can be treated as a perl file handle.
-It refers to the layer below. I<$fh> is not passed if the layer
-is at the bottom of the stack, for this reason and to maintain
-some level of "compatibility" with TIEHANDLE classes it is passed last.
-
-=over 4
-
-=item $class->PUSHED([$mode[,$fh]])
-
-Should return an object or the class, or -1 on failure. (Compare
-TIEHANDLE.) The arguments are an optional mode string ("r", "w",
-"w+", ...) and a filehandle for the PerlIO layer below. Mandatory.
-
-When layer is pushed as part of an C<open> call, C<PUSHED> will be called
-I<before> the actual open occurs whether than be via C<OPEN>, C<SYSOPEN>,
-C<FDOPEN> or by letting lower layer do the open.
-
-=item $obj->POPPED([$fh])
-
-Optional - layer is about to be removed.
-
-=item $obj->UTF8($bellowFlag,[$fh])
-
-Optional - if present it will be called immediately after PUSHED has
-returned. It should return true value if the layer expects data to be
-UTF-8 encoded. If it returns true result is as if caller had done
-
- ":via(YourClass):utf8"
-
-If not present of it it returns false, then stream is left with
-flag clear.
-The I<$bellowFlag> argument will be true if there is a layer below
-and that layer was expecting UTF-8.
-
-
-=item $obj->OPEN($path,$mode[,$fh])
-
-Optional - if not present lower layer does open.
-If present called for normal opens after layer is pushed.
-This function is subject to change as there is no easy way
-to get lower layer to do open and then regain control.
-
-=item $obj->BINMODE([,$fh])
-
-Optional - if not available layer is popped on binmode($fh) or when C<:raw>
-is pushed. If present it should return 0 on success -1 on error and undef
-to pop the layer.
-
-=item $obj->FDOPEN($fd[,$fh])
-
-Optional - if not present lower layer does open.
-If present called for opens which pass a numeric file
-descriptor after layer is pushed.
-This function is subject to change as there is no easy way
-to get lower layer to do open and then regain control.
-
-=item $obj->SYSOPEN($path,$imode,$perm,[,$fh])
-
-Optional - if not present lower layer does open.
-If present called for sysopen style opens which pass a numeric mode
-and permissions after layer is pushed.
-This function is subject to change as there is no easy way
-to get lower layer to do open and then regain control.
-
-=item $obj->FILENO($fh)
-
-Returns a numeric value for Unix-like file descriptor. Return -1 if
-there isn't one. Optional. Default is fileno($fh).
-
-=item $obj->READ($buffer,$len,$fh)
-
-Returns the number of octets placed in $buffer (must be less than or
-equal to $len). Optional. Default is to use FILL instead.
-
-=item $obj->WRITE($buffer,$fh)
-
-Returns the number of octets from buffer that have been successfully written.
-
-=item $obj->FILL($fh)
-
-Should return a string to be placed in the buffer. Optional. If not
-provided must provide READ or reject handles open for reading in
-PUSHED.
-
-=item $obj->CLOSE($fh)
-
-Should return 0 on success, -1 on error.
-Optional.
-
-=item $obj->SEEK($posn,$whence,$fh)
-
-Should return 0 on success, -1 on error.
-Optional. Default is to fail, but that is likely to be changed
-in future.
-
-=item $obj->TELL($fh)
-
-Returns file postion.
-Optional. Default to be determined.
-
-=item $obj->UNREAD($buffer,$fh)
-
-Returns the number of octets from buffer that have been successfully
-saved to be returned on future FILL/READ calls. Optional. Default is
-to push data into a temporary layer above this one.
-
-=item $obj->FLUSH($fh)
-
-Flush any buffered write data. May possibly be called on readable
-handles too. Should return 0 on success, -1 on error.
-
-=item $obj->SETLINEBUF($fh)
-
-Optional. No return.
-
-=item $obj->CLEARERR($fh)
-
-Optional. No return.
-
-=item $obj->ERROR($fh)
-
-Optional. Returns error state. Default is no error until a mechanism
-to signal error (die?) is worked out.
-
-=item $obj->EOF($fh)
-
-Optional. Returns end-of-file state. Default is function of return
-value of FILL or READ.
-
-=back
-
-=head1 EXAMPLES
-
-Check the PerlIO::via:: namespace on CPAN for examples of PerlIO layers
-implemented in Perl. To give you an idea how simple the implementation of
-a PerlIO layer can look, as simple example is included here.
-
-=head2 Example - a Hexadecimal Handle
-
-Given the following module, PerlIO::via::Hex :
-
- package PerlIO::via::Hex;
-
- sub PUSHED
- {
- my ($class,$mode,$fh) = @_;
- # When writing we buffer the data
- my $buf = '';
- return bless \$buf,$class;
- }
-
- sub FILL
- {
- my ($obj,$fh) = @_;
- my $line = <$fh>;
- return (defined $line) ? pack("H*", $line) : undef;
- }
-
- sub WRITE
- {
- my ($obj,$buf,$fh) = @_;
- $$obj .= unpack("H*", $buf);
- return length($buf);
- }
-
- sub FLUSH
- {
- my ($obj,$fh) = @_;
- print $fh $$obj or return -1;
- $$obj = '';
- return 0;
- }
-
- 1;
-
-the following code opens up an output handle that will convert any
-output to hexadecimal dump of the output bytes: for example "A" will
-be converted to "41" (on ASCII-based machines, on EBCDIC platforms
-the "A" will become "c1")
-
- use PerlIO::via::Hex;
- open(my $fh, ">:via(Hex)", "foo.hex");
-
-and the following code will read the hexdump in and convert it
-on the fly back into bytes:
-
- open(my $fh, "<:via(Hex)", "foo.hex");
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/SDBM_File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/SDBM_File.pm
deleted file mode 100644
index d1209e0158b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/SDBM_File.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package SDBM_File;
-
-use strict;
-use warnings;
-
-require Tie::Hash;
-use XSLoader ();
-
-our @ISA = qw(Tie::Hash);
-our $VERSION = "1.06";
-
-XSLoader::load 'SDBM_File', $VERSION;
-
-1;
-
-__END__
-
-=head1 NAME
-
-SDBM_File - Tied access to sdbm files
-
-=head1 SYNOPSIS
-
- use Fcntl; # For O_RDWR, O_CREAT, etc.
- use SDBM_File;
-
- tie(%h, 'SDBM_File', 'filename', O_RDWR|O_CREAT, 0666)
- or die "Couldn't tie SDBM file 'filename': $!; aborting";
-
- # Now read and change the hash
- $h{newkey} = newvalue;
- print $h{oldkey};
- ...
-
- untie %h;
-
-=head1 DESCRIPTION
-
-C<SDBM_File> establishes a connection between a Perl hash variable and
-a file in SDBM_File format;. You can manipulate the data in the file
-just as if it were in a Perl hash, but when your program exits, the
-data will remain in the file, to be used the next time your program
-runs.
-
-Use C<SDBM_File> with the Perl built-in C<tie> function to establish
-the connection between the variable and the file. The arguments to
-C<tie> should be:
-
-=over 4
-
-=item 1.
-
-The hash variable you want to tie.
-
-=item 2.
-
-The string C<"SDBM_File">. (Ths tells Perl to use the C<SDBM_File>
-package to perform the functions of the hash.)
-
-=item 3.
-
-The name of the file you want to tie to the hash.
-
-=item 4.
-
-Flags. Use one of:
-
-=over 2
-
-=item C<O_RDONLY>
-
-Read-only access to the data in the file.
-
-=item C<O_WRONLY>
-
-Write-only access to the data in the file.
-
-=item C<O_RDWR>
-
-Both read and write access.
-
-=back
-
-If you want to create the file if it does not exist, add C<O_CREAT> to
-any of these, as in the example. If you omit C<O_CREAT> and the file
-does not already exist, the C<tie> call will fail.
-
-=item 5.
-
-The default permissions to use if a new file is created. The actual
-permissions will be modified by the user's umask, so you should
-probably use 0666 here. (See L<perlfunc/umask>.)
-
-=back
-
-=head1 DIAGNOSTICS
-
-On failure, the C<tie> call returns an undefined value and probably
-sets C<$!> to contain the reason the file could not be tied.
-
-=head2 C<sdbm store returned -1, errno 22, key "..." at ...>
-
-This warning is emitted when you try to store a key or a value that
-is too long. It means that the change was not recorded in the
-database. See BUGS AND WARNINGS below.
-
-=head1 BUGS AND WARNINGS
-
-There are a number of limits on the size of the data that you can
-store in the SDBM file. The most important is that the length of a
-key, plus the length of its associated value, may not exceed 1008
-bytes.
-
-See L<perlfunc/tie>, L<perldbmfilter>, L<Fcntl>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Safe.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Safe.pm
deleted file mode 100644
index f611e0f67d8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Safe.pm
+++ /dev/null
@@ -1,630 +0,0 @@
-package Safe;
-
-use 5.003_11;
-use strict;
-
-$Safe::VERSION = "2.16";
-
-# *** Don't declare any lexicals above this point ***
-#
-# This function should return a closure which contains an eval that can't
-# see any lexicals in scope (apart from __ExPr__ which is unavoidable)
-
-sub lexless_anon_sub {
- # $_[0] is package;
- # $_[1] is strict flag;
- my $__ExPr__ = $_[2]; # must be a lexical to create the closure that
- # can be used to pass the value into the safe
- # world
-
- # Create anon sub ref in root of compartment.
- # Uses a closure (on $__ExPr__) to pass in the code to be executed.
- # (eval on one line to keep line numbers as expected by caller)
- eval sprintf
- 'package %s; %s strict; sub { @_=(); eval q[my $__ExPr__;] . $__ExPr__; }',
- $_[0], $_[1] ? 'use' : 'no';
-}
-
-use Carp;
-BEGIN { eval q{
- use Carp::Heavy;
-} }
-
-use Opcode 1.01, qw(
- opset opset_to_ops opmask_add
- empty_opset full_opset invert_opset verify_opset
- opdesc opcodes opmask define_optag opset_to_hex
-);
-
-*ops_to_opset = \&opset; # Temporary alias for old Penguins
-
-
-my $default_root = 0;
-# share *_ and functions defined in universal.c
-# Don't share stuff like *UNIVERSAL:: otherwise code from the
-# compartment can 0wn functions in UNIVERSAL
-my $default_share = [qw[
- *_
- &PerlIO::get_layers
- &UNIVERSAL::isa
- &UNIVERSAL::can
- &UNIVERSAL::VERSION
- &utf8::is_utf8
- &utf8::valid
- &utf8::encode
- &utf8::decode
- &utf8::upgrade
- &utf8::downgrade
- &utf8::native_to_unicode
- &utf8::unicode_to_native
- $version::VERSION
- $version::CLASS
- @version::ISA
-], ($] >= 5.008001 && qw[
- &Regexp::DESTROY
-]), ($] >= 5.010 && qw[
- &re::is_regexp
- &re::regname
- &re::regnames
- &re::regnames_count
- &Tie::Hash::NamedCapture::FETCH
- &Tie::Hash::NamedCapture::STORE
- &Tie::Hash::NamedCapture::DELETE
- &Tie::Hash::NamedCapture::CLEAR
- &Tie::Hash::NamedCapture::EXISTS
- &Tie::Hash::NamedCapture::FIRSTKEY
- &Tie::Hash::NamedCapture::NEXTKEY
- &Tie::Hash::NamedCapture::SCALAR
- &Tie::Hash::NamedCapture::flags
- &UNIVERSAL::DOES
- &version::()
- &version::new
- &version::(""
- &version::stringify
- &version::(0+
- &version::numify
- &version::normal
- &version::(cmp
- &version::(<=>
- &version::vcmp
- &version::(bool
- &version::boolean
- &version::(nomethod
- &version::noop
- &version::is_alpha
- &version::qv
-]), ($] >= 5.011 && qw[
- &re::regexp_pattern
-])];
-
-sub new {
- my($class, $root, $mask) = @_;
- my $obj = {};
- bless $obj, $class;
-
- if (defined($root)) {
- croak "Can't use \"$root\" as root name"
- if $root =~ /^main\b/ or $root !~ /^\w[:\w]*$/;
- $obj->{Root} = $root;
- $obj->{Erase} = 0;
- }
- else {
- $obj->{Root} = "Safe::Root".$default_root++;
- $obj->{Erase} = 1;
- }
-
- # use permit/deny methods instead till interface issues resolved
- # XXX perhaps new Safe 'Root', mask => $mask, foo => bar, ...;
- croak "Mask parameter to new no longer supported" if defined $mask;
- $obj->permit_only(':default');
-
- # We must share $_ and @_ with the compartment or else ops such
- # as split, length and so on won't default to $_ properly, nor
- # will passing argument to subroutines work (via @_). In fact,
- # for reasons I don't completely understand, we need to share
- # the whole glob *_ rather than $_ and @_ separately, otherwise
- # @_ in non default packages within the compartment don't work.
- $obj->share_from('main', $default_share);
- Opcode::_safe_pkg_prep($obj->{Root}) if($Opcode::VERSION > 1.04);
- return $obj;
-}
-
-sub DESTROY {
- my $obj = shift;
- $obj->erase('DESTROY') if $obj->{Erase};
-}
-
-sub erase {
- my ($obj, $action) = @_;
- my $pkg = $obj->root();
- my ($stem, $leaf);
-
- no strict 'refs';
- $pkg = "main::$pkg\::"; # expand to full symbol table name
- ($stem, $leaf) = $pkg =~ m/(.*::)(\w+::)$/;
-
- # The 'my $foo' is needed! Without it you get an
- # 'Attempt to free unreferenced scalar' warning!
- my $stem_symtab = *{$stem}{HASH};
-
- #warn "erase($pkg) stem=$stem, leaf=$leaf";
- #warn " stem_symtab hash ".scalar(%$stem_symtab)."\n";
- # ", join(', ', %$stem_symtab),"\n";
-
-# delete $stem_symtab->{$leaf};
-
- my $leaf_glob = $stem_symtab->{$leaf};
- my $leaf_symtab = *{$leaf_glob}{HASH};
-# warn " leaf_symtab ", join(', ', %$leaf_symtab),"\n";
- %$leaf_symtab = ();
- #delete $leaf_symtab->{'__ANON__'};
- #delete $leaf_symtab->{'foo'};
- #delete $leaf_symtab->{'main::'};
-# my $foo = undef ${"$stem\::"}{"$leaf\::"};
-
- if ($action and $action eq 'DESTROY') {
- delete $stem_symtab->{$leaf};
- } else {
- $obj->share_from('main', $default_share);
- }
- 1;
-}
-
-
-sub reinit {
- my $obj= shift;
- $obj->erase;
- $obj->share_redo;
-}
-
-sub root {
- my $obj = shift;
- croak("Safe root method now read-only") if @_;
- return $obj->{Root};
-}
-
-
-sub mask {
- my $obj = shift;
- return $obj->{Mask} unless @_;
- $obj->deny_only(@_);
-}
-
-# v1 compatibility methods
-sub trap { shift->deny(@_) }
-sub untrap { shift->permit(@_) }
-
-sub deny {
- my $obj = shift;
- $obj->{Mask} |= opset(@_);
-}
-sub deny_only {
- my $obj = shift;
- $obj->{Mask} = opset(@_);
-}
-
-sub permit {
- my $obj = shift;
- # XXX needs testing
- $obj->{Mask} &= invert_opset opset(@_);
-}
-sub permit_only {
- my $obj = shift;
- $obj->{Mask} = invert_opset opset(@_);
-}
-
-
-sub dump_mask {
- my $obj = shift;
- print opset_to_hex($obj->{Mask}),"\n";
-}
-
-
-
-sub share {
- my($obj, @vars) = @_;
- $obj->share_from(scalar(caller), \@vars);
-}
-
-sub share_from {
- my $obj = shift;
- my $pkg = shift;
- my $vars = shift;
- my $no_record = shift || 0;
- my $root = $obj->root();
- croak("vars not an array ref") unless ref $vars eq 'ARRAY';
- no strict 'refs';
- # Check that 'from' package actually exists
- croak("Package \"$pkg\" does not exist")
- unless keys %{"$pkg\::"};
- my $arg;
- foreach $arg (@$vars) {
- # catch some $safe->share($var) errors:
- my ($var, $type);
- $type = $1 if ($var = $arg) =~ s/^(\W)//;
- # warn "share_from $pkg $type $var";
- *{$root."::$var"} = (!$type) ? \&{$pkg."::$var"}
- : ($type eq '&') ? \&{$pkg."::$var"}
- : ($type eq '$') ? \${$pkg."::$var"}
- : ($type eq '@') ? \@{$pkg."::$var"}
- : ($type eq '%') ? \%{$pkg."::$var"}
- : ($type eq '*') ? *{$pkg."::$var"}
- : croak(qq(Can't share "$type$var" of unknown type));
- }
- $obj->share_record($pkg, $vars) unless $no_record or !$vars;
-}
-
-sub share_record {
- my $obj = shift;
- my $pkg = shift;
- my $vars = shift;
- my $shares = \%{$obj->{Shares} ||= {}};
- # Record shares using keys of $obj->{Shares}. See reinit.
- @{$shares}{@$vars} = ($pkg) x @$vars if @$vars;
-}
-sub share_redo {
- my $obj = shift;
- my $shares = \%{$obj->{Shares} ||= {}};
- my($var, $pkg);
- while(($var, $pkg) = each %$shares) {
- # warn "share_redo $pkg\:: $var";
- $obj->share_from($pkg, [ $var ], 1);
- }
-}
-sub share_forget {
- delete shift->{Shares};
-}
-
-sub varglob {
- my ($obj, $var) = @_;
- no strict 'refs';
- return *{$obj->root()."::$var"};
-}
-
-
-sub reval {
- my ($obj, $expr, $strict) = @_;
- my $root = $obj->{Root};
-
- my $evalsub = lexless_anon_sub($root,$strict, $expr);
- return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);
-}
-
-sub rdo {
- my ($obj, $file) = @_;
- my $root = $obj->{Root};
-
- my $evalsub = eval
- sprintf('package %s; sub { @_ = (); do $file }', $root);
- return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);
-}
-
-
-1;
-
-__END__
-
-=head1 NAME
-
-Safe - Compile and execute code in restricted compartments
-
-=head1 SYNOPSIS
-
- use Safe;
-
- $compartment = new Safe;
-
- $compartment->permit(qw(time sort :browse));
-
- $result = $compartment->reval($unsafe_code);
-
-=head1 DESCRIPTION
-
-The Safe extension module allows the creation of compartments
-in which perl code can be evaluated. Each compartment has
-
-=over 8
-
-=item a new namespace
-
-The "root" of the namespace (i.e. "main::") is changed to a
-different package and code evaluated in the compartment cannot
-refer to variables outside this namespace, even with run-time
-glob lookups and other tricks.
-
-Code which is compiled outside the compartment can choose to place
-variables into (or I<share> variables with) the compartment's namespace
-and only that data will be visible to code evaluated in the
-compartment.
-
-By default, the only variables shared with compartments are the
-"underscore" variables $_ and @_ (and, technically, the less frequently
-used %_, the _ filehandle and so on). This is because otherwise perl
-operators which default to $_ will not work and neither will the
-assignment of arguments to @_ on subroutine entry.
-
-=item an operator mask
-
-Each compartment has an associated "operator mask". Recall that
-perl code is compiled into an internal format before execution.
-Evaluating perl code (e.g. via "eval" or "do 'file'") causes
-the code to be compiled into an internal format and then,
-provided there was no error in the compilation, executed.
-Code evaluated in a compartment compiles subject to the
-compartment's operator mask. Attempting to evaluate code in a
-compartment which contains a masked operator will cause the
-compilation to fail with an error. The code will not be executed.
-
-The default operator mask for a newly created compartment is
-the ':default' optag.
-
-It is important that you read the L<Opcode> module documentation
-for more information, especially for detailed definitions of opnames,
-optags and opsets.
-
-Since it is only at the compilation stage that the operator mask
-applies, controlled access to potentially unsafe operations can
-be achieved by having a handle to a wrapper subroutine (written
-outside the compartment) placed into the compartment. For example,
-
- $cpt = new Safe;
- sub wrapper {
- # vet arguments and perform potentially unsafe operations
- }
- $cpt->share('&wrapper');
-
-=back
-
-
-=head1 WARNING
-
-The authors make B<no warranty>, implied or otherwise, about the
-suitability of this software for safety or security purposes.
-
-The authors shall not in any case be liable for special, incidental,
-consequential, indirect or other similar damages arising from the use
-of this software.
-
-Your mileage will vary. If in any doubt B<do not use it>.
-
-
-=head2 RECENT CHANGES
-
-The interface to the Safe module has changed quite dramatically since
-version 1 (as supplied with Perl5.002). Study these pages carefully if
-you have code written to use Safe version 1 because you will need to
-makes changes.
-
-
-=head2 Methods in class Safe
-
-To create a new compartment, use
-
- $cpt = new Safe;
-
-Optional argument is (NAMESPACE), where NAMESPACE is the root namespace
-to use for the compartment (defaults to "Safe::Root0", incremented for
-each new compartment).
-
-Note that version 1.00 of the Safe module supported a second optional
-parameter, MASK. That functionality has been withdrawn pending deeper
-consideration. Use the permit and deny methods described below.
-
-The following methods can then be used on the compartment
-object returned by the above constructor. The object argument
-is implicit in each case.
-
-
-=over 8
-
-=item permit (OP, ...)
-
-Permit the listed operators to be used when compiling code in the
-compartment (in I<addition> to any operators already permitted).
-
-You can list opcodes by names, or use a tag name; see
-L<Opcode/"Predefined Opcode Tags">.
-
-=item permit_only (OP, ...)
-
-Permit I<only> the listed operators to be used when compiling code in
-the compartment (I<no> other operators are permitted).
-
-=item deny (OP, ...)
-
-Deny the listed operators from being used when compiling code in the
-compartment (other operators may still be permitted).
-
-=item deny_only (OP, ...)
-
-Deny I<only> the listed operators from being used when compiling code
-in the compartment (I<all> other operators will be permitted).
-
-=item trap (OP, ...)
-
-=item untrap (OP, ...)
-
-The trap and untrap methods are synonyms for deny and permit
-respectfully.
-
-=item share (NAME, ...)
-
-This shares the variable(s) in the argument list with the compartment.
-This is almost identical to exporting variables using the L<Exporter>
-module.
-
-Each NAME must be the B<name> of a non-lexical variable, typically
-with the leading type identifier included. A bareword is treated as a
-function name.
-
-Examples of legal names are '$foo' for a scalar, '@foo' for an
-array, '%foo' for a hash, '&foo' or 'foo' for a subroutine and '*foo'
-for a glob (i.e. all symbol table entries associated with "foo",
-including scalar, array, hash, sub and filehandle).
-
-Each NAME is assumed to be in the calling package. See share_from
-for an alternative method (which share uses).
-
-=item share_from (PACKAGE, ARRAYREF)
-
-This method is similar to share() but allows you to explicitly name the
-package that symbols should be shared from. The symbol names (including
-type characters) are supplied as an array reference.
-
- $safe->share_from('main', [ '$foo', '%bar', 'func' ]);
-
-
-=item varglob (VARNAME)
-
-This returns a glob reference for the symbol table entry of VARNAME in
-the package of the compartment. VARNAME must be the B<name> of a
-variable without any leading type marker. For example,
-
- $cpt = new Safe 'Root';
- $Root::foo = "Hello world";
- # Equivalent version which doesn't need to know $cpt's package name:
- ${$cpt->varglob('foo')} = "Hello world";
-
-
-=item reval (STRING)
-
-This evaluates STRING as perl code inside the compartment.
-
-The code can only see the compartment's namespace (as returned by the
-B<root> method). The compartment's root package appears to be the
-C<main::> package to the code inside the compartment.
-
-Any attempt by the code in STRING to use an operator which is not permitted
-by the compartment will cause an error (at run-time of the main program
-but at compile-time for the code in STRING). The error is of the form
-"'%s' trapped by operation mask...".
-
-If an operation is trapped in this way, then the code in STRING will
-not be executed. If such a trapped operation occurs or any other
-compile-time or return error, then $@ is set to the error message, just
-as with an eval().
-
-If there is no error, then the method returns the value of the last
-expression evaluated, or a return statement may be used, just as with
-subroutines and B<eval()>. The context (list or scalar) is determined
-by the caller as usual.
-
-This behaviour differs from the beta distribution of the Safe extension
-where earlier versions of perl made it hard to mimic the return
-behaviour of the eval() command and the context was always scalar.
-
-Some points to note:
-
-If the entereval op is permitted then the code can use eval "..." to
-'hide' code which might use denied ops. This is not a major problem
-since when the code tries to execute the eval it will fail because the
-opmask is still in effect. However this technique would allow clever,
-and possibly harmful, code to 'probe' the boundaries of what is
-possible.
-
-Any string eval which is executed by code executing in a compartment,
-or by code called from code executing in a compartment, will be eval'd
-in the namespace of the compartment. This is potentially a serious
-problem.
-
-Consider a function foo() in package pkg compiled outside a compartment
-but shared with it. Assume the compartment has a root package called
-'Root'. If foo() contains an eval statement like eval '$foo = 1' then,
-normally, $pkg::foo will be set to 1. If foo() is called from the
-compartment (by whatever means) then instead of setting $pkg::foo, the
-eval will actually set $Root::pkg::foo.
-
-This can easily be demonstrated by using a module, such as the Socket
-module, which uses eval "..." as part of an AUTOLOAD function. You can
-'use' the module outside the compartment and share an (autoloaded)
-function with the compartment. If an autoload is triggered by code in
-the compartment, or by any code anywhere that is called by any means
-from the compartment, then the eval in the Socket module's AUTOLOAD
-function happens in the namespace of the compartment. Any variables
-created or used by the eval'd code are now under the control of
-the code in the compartment.
-
-A similar effect applies to I<all> runtime symbol lookups in code
-called from a compartment but not compiled within it.
-
-
-
-=item rdo (FILENAME)
-
-This evaluates the contents of file FILENAME inside the compartment.
-See above documentation on the B<reval> method for further details.
-
-=item root (NAMESPACE)
-
-This method returns the name of the package that is the root of the
-compartment's namespace.
-
-Note that this behaviour differs from version 1.00 of the Safe module
-where the root module could be used to change the namespace. That
-functionality has been withdrawn pending deeper consideration.
-
-=item mask (MASK)
-
-This is a get-or-set method for the compartment's operator mask.
-
-With no MASK argument present, it returns the current operator mask of
-the compartment.
-
-With the MASK argument present, it sets the operator mask for the
-compartment (equivalent to calling the deny_only method).
-
-=back
-
-
-=head2 Some Safety Issues
-
-This section is currently just an outline of some of the things code in
-a compartment might do (intentionally or unintentionally) which can
-have an effect outside the compartment.
-
-=over 8
-
-=item Memory
-
-Consuming all (or nearly all) available memory.
-
-=item CPU
-
-Causing infinite loops etc.
-
-=item Snooping
-
-Copying private information out of your system. Even something as
-simple as your user name is of value to others. Much useful information
-could be gleaned from your environment variables for example.
-
-=item Signals
-
-Causing signals (especially SIGFPE and SIGALARM) to affect your process.
-
-Setting up a signal handler will need to be carefully considered
-and controlled. What mask is in effect when a signal handler
-gets called? If a user can get an imported function to get an
-exception and call the user's signal handler, does that user's
-restricted mask get re-instated before the handler is called?
-Does an imported handler get called with its original mask or
-the user's one?
-
-=item State Changes
-
-Ops such as chdir obviously effect the process as a whole and not just
-the code in the compartment. Ops such as rand and srand have a similar
-but more subtle effect.
-
-=back
-
-=head2 AUTHOR
-
-Originally designed and implemented by Malcolm Beattie.
-
-Reworked to use the Opcode module and other changes added by Tim Bunce.
-
-Currently maintained by the Perl 5 Porters, <perl5-porters@perl.org>.
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Scalar/Util.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Scalar/Util.pm
deleted file mode 100644
index f947f741e74..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Scalar/Util.pm
+++ /dev/null
@@ -1,334 +0,0 @@
-# Scalar::Util.pm
-#
-# Copyright (c) 1997-2006 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package Scalar::Util;
-
-use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION);
-require Exporter;
-require List::Util; # List::Util loads the XS
-
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION = "1.19";
-$VERSION = eval $VERSION;
-
-sub export_fail {
- if (grep { /^(weaken|isweak)$/ } @_ ) {
- require Carp;
- Carp::croak("Weak references are not implemented in the version of perl");
- }
- if (grep { /^(isvstring)$/ } @_ ) {
- require Carp;
- Carp::croak("Vstrings are not implemented in the version of perl");
- }
- if (grep { /^(dualvar|set_prototype)$/ } @_ ) {
- require Carp;
- Carp::croak("$1 is only avaliable with the XS version");
- }
-
- @_;
-}
-
-sub openhandle ($) {
- my $fh = shift;
- my $rt = reftype($fh) || '';
-
- return defined(fileno($fh)) ? $fh : undef
- if $rt eq 'IO';
-
- if (reftype(\$fh) eq 'GLOB') { # handle openhandle(*DATA)
- $fh = \(my $tmp=$fh);
- }
- elsif ($rt ne 'GLOB') {
- return undef;
- }
-
- (tied(*$fh) or defined(fileno($fh)))
- ? $fh : undef;
-}
-
-eval <<'ESQ' unless defined &dualvar;
-
-use vars qw(@EXPORT_FAIL);
-push @EXPORT_FAIL, qw(weaken isweak dualvar isvstring set_prototype);
-
-# The code beyond here is only used if the XS is not installed
-
-# Hope nobody defines a sub by this name
-sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }
-
-sub blessed ($) {
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- length(ref($_[0]))
- ? eval { $_[0]->a_sub_not_likely_to_be_here }
- : undef
-}
-
-sub refaddr($) {
- my $pkg = ref($_[0]) or return undef;
- if (blessed($_[0])) {
- bless $_[0], 'Scalar::Util::Fake';
- }
- else {
- $pkg = undef;
- }
- "$_[0]" =~ /0x(\w+)/;
- my $i = do { local $^W; hex $1 };
- bless $_[0], $pkg if defined $pkg;
- $i;
-}
-
-sub reftype ($) {
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- my $r = shift;
- my $t;
-
- length($t = ref($r)) or return undef;
-
- # This eval will fail if the reference is not blessed
- eval { $r->a_sub_not_likely_to_be_here; 1 }
- ? do {
- $t = eval {
- # we have a GLOB or an IO. Stringify a GLOB gives it's name
- my $q = *$r;
- $q =~ /^\*/ ? "GLOB" : "IO";
- }
- or do {
- # OK, if we don't have a GLOB what parts of
- # a glob will it populate.
- # NOTE: A glob always has a SCALAR
- local *glob = $r;
- defined *glob{ARRAY} && "ARRAY"
- or defined *glob{HASH} && "HASH"
- or defined *glob{CODE} && "CODE"
- or length(ref(${$r})) ? "REF" : "SCALAR";
- }
- }
- : $t
-}
-
-sub tainted {
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- local $^W = 0;
- eval { kill 0 * $_[0] };
- $@ =~ /^Insecure/;
-}
-
-sub readonly {
- return 0 if tied($_[0]) || (ref(\($_[0])) ne "SCALAR");
-
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- my $tmp = $_[0];
-
- !eval { $_[0] = $tmp; 1 };
-}
-
-sub looks_like_number {
- local $_ = shift;
-
- # checks from perlfaq4
- return 0 if !defined($_) or ref($_);
- return 1 if (/^[+-]?\d+$/); # is a +/- integer
- return 1 if (/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/); # a C float
- return 1 if ($] >= 5.008 and /^(Inf(inity)?|NaN)$/i) or ($] >= 5.006001 and /^Inf$/i);
-
- 0;
-}
-
-ESQ
-
-1;
-
-__END__
-
-=head1 NAME
-
-Scalar::Util - A selection of general-utility scalar subroutines
-
-=head1 SYNOPSIS
-
- use Scalar::Util qw(blessed dualvar isweak readonly refaddr reftype tainted
- weaken isvstring looks_like_number set_prototype);
-
-=head1 DESCRIPTION
-
-C<Scalar::Util> contains a selection of subroutines that people have
-expressed would be nice to have in the perl core, but the usage would
-not really be high enough to warrant the use of a keyword, and the size
-so small such that being individual extensions would be wasteful.
-
-By default C<Scalar::Util> does not export any subroutines. The
-subroutines defined are
-
-=over 4
-
-=item blessed EXPR
-
-If EXPR evaluates to a blessed reference the name of the package
-that it is blessed into is returned. Otherwise C<undef> is returned.
-
- $scalar = "foo";
- $class = blessed $scalar; # undef
-
- $ref = [];
- $class = blessed $ref; # undef
-
- $obj = bless [], "Foo";
- $class = blessed $obj; # "Foo"
-
-=item dualvar NUM, STRING
-
-Returns a scalar that has the value NUM in a numeric context and the
-value STRING in a string context.
-
- $foo = dualvar 10, "Hello";
- $num = $foo + 2; # 12
- $str = $foo . " world"; # Hello world
-
-=item isvstring EXPR
-
-If EXPR is a scalar which was coded as a vstring the result is true.
-
- $vs = v49.46.48;
- $fmt = isvstring($vs) ? "%vd" : "%s"; #true
- printf($fmt,$vs);
-
-=item isweak EXPR
-
-If EXPR is a scalar which is a weak reference the result is true.
-
- $ref = \$foo;
- $weak = isweak($ref); # false
- weaken($ref);
- $weak = isweak($ref); # true
-
-B<NOTE>: Copying a weak reference creates a normal, strong, reference.
-
- $copy = $ref;
- $weak = isweak($ref); # false
-
-=item looks_like_number EXPR
-
-Returns true if perl thinks EXPR is a number. See
-L<perlapi/looks_like_number>.
-
-=item openhandle FH
-
-Returns FH if FH may be used as a filehandle and is open, or FH is a tied
-handle. Otherwise C<undef> is returned.
-
- $fh = openhandle(*STDIN); # \*STDIN
- $fh = openhandle(\*STDIN); # \*STDIN
- $fh = openhandle(*NOTOPEN); # undef
- $fh = openhandle("scalar"); # undef
-
-=item readonly SCALAR
-
-Returns true if SCALAR is readonly.
-
- sub foo { readonly($_[0]) }
-
- $readonly = foo($bar); # false
- $readonly = foo(0); # true
-
-=item refaddr EXPR
-
-If EXPR evaluates to a reference the internal memory address of
-the referenced value is returned. Otherwise C<undef> is returned.
-
- $addr = refaddr "string"; # undef
- $addr = refaddr \$var; # eg 12345678
- $addr = refaddr []; # eg 23456784
-
- $obj = bless {}, "Foo";
- $addr = refaddr $obj; # eg 88123488
-
-=item reftype EXPR
-
-If EXPR evaluates to a reference the type of the variable referenced
-is returned. Otherwise C<undef> is returned.
-
- $type = reftype "string"; # undef
- $type = reftype \$var; # SCALAR
- $type = reftype []; # ARRAY
-
- $obj = bless {}, "Foo";
- $type = reftype $obj; # HASH
-
-=item set_prototype CODEREF, PROTOTYPE
-
-Sets the prototype of the given function, or deletes it if PROTOTYPE is
-undef. Returns the CODEREF.
-
- set_prototype \&foo, '$$';
-
-=item tainted EXPR
-
-Return true if the result of EXPR is tainted
-
- $taint = tainted("constant"); # false
- $taint = tainted($ENV{PWD}); # true if running under -T
-
-=item weaken REF
-
-REF will be turned into a weak reference. This means that it will not
-hold a reference count on the object it references. Also when the reference
-count on that object reaches zero, REF will be set to undef.
-
-This is useful for keeping copies of references , but you don't want to
-prevent the object being DESTROY-ed at its usual time.
-
- {
- my $var;
- $ref = \$var;
- weaken($ref); # Make $ref a weak reference
- }
- # $ref is now undef
-
-Note that if you take a copy of a scalar with a weakened reference,
-the copy will be a strong reference.
-
- my $var;
- my $foo = \$var;
- weaken($foo); # Make $foo a weak reference
- my $bar = $foo; # $bar is now a strong reference
-
-This may be less obvious in other situations, such as C<grep()>, for instance
-when grepping through a list of weakened references to objects that may have
-been destroyed already:
-
- @object = grep { defined } @object;
-
-This will indeed remove all references to destroyed objects, but the remaining
-references to objects will be strong, causing the remaining objects to never
-be destroyed because there is now always a strong reference to them in the
-@object array.
-
-=back
-
-=head1 KNOWN BUGS
-
-There is a bug in perl5.6.0 with UV's that are >= 1<<31. This will
-show up as tests 8 and 9 of dualvar.t failing
-
-=head1 SEE ALSO
-
-L<List::Util>
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2006 Graham Barr <gbarr@pobox.com>. All rights reserved.
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-Except weaken and isweak which are
-
-Copyright (c) 1999 Tuomas J. Lukka <lukka@iki.fi>. 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/5.10/i686-cygwin/Socket.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Socket.pm
deleted file mode 100644
index ad5e61827f3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Socket.pm
+++ /dev/null
@@ -1,414 +0,0 @@
-package Socket;
-
-our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = "1.81";
-
-=head1 NAME
-
-Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa - load the C socket.h defines and structure manipulators
-
-=head1 SYNOPSIS
-
- use Socket;
-
- $proto = getprotobyname('udp');
- socket(Socket_Handle, PF_INET, SOCK_DGRAM, $proto);
- $iaddr = gethostbyname('hishost.com');
- $port = getservbyname('time', 'udp');
- $sin = sockaddr_in($port, $iaddr);
- send(Socket_Handle, 0, 0, $sin);
-
- $proto = getprotobyname('tcp');
- socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
- $port = getservbyname('smtp', 'tcp');
- $sin = sockaddr_in($port,inet_aton("127.1"));
- $sin = sockaddr_in(7,inet_aton("localhost"));
- $sin = sockaddr_in(7,INADDR_LOOPBACK);
- connect(Socket_Handle,$sin);
-
- ($port, $iaddr) = sockaddr_in(getpeername(Socket_Handle));
- $peer_host = gethostbyaddr($iaddr, AF_INET);
- $peer_addr = inet_ntoa($iaddr);
-
- $proto = getprotobyname('tcp');
- socket(Socket_Handle, PF_UNIX, SOCK_STREAM, $proto);
- unlink('/var/run/usock');
- $sun = sockaddr_un('/var/run/usock');
- connect(Socket_Handle,$sun);
-
-=head1 DESCRIPTION
-
-This module is just a translation of the C F<socket.h> file.
-Unlike the old mechanism of requiring a translated F<socket.ph>
-file, this uses the B<h2xs> program (see the Perl source distribution)
-and your native C compiler. This means that it has a
-far more likely chance of getting the numbers right. This includes
-all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
-
-Also, some common socket "newline" constants are provided: the
-constants C<CR>, C<LF>, and C<CRLF>, as well as C<$CR>, C<$LF>, and
-C<$CRLF>, which map to C<\015>, C<\012>, and C<\015\012>. If you do
-not want to use the literal characters in your programs, then use
-the constants provided here. They are not exported by default, but can
-be imported individually, and with the C<:crlf> export tag:
-
- use Socket qw(:DEFAULT :crlf);
-
-In addition, some structure manipulation functions are available:
-
-=over 4
-
-=item inet_aton HOSTNAME
-
-Takes a string giving the name of a host, and translates that to an
-opaque string (if programming in C, struct in_addr). Takes arguments
-of both the 'rtfm.mit.edu' type and '18.181.0.24'. If the host name
-cannot be resolved, returns undef. For multi-homed hosts (hosts with
-more than one address), the first address found is returned.
-
-For portability do not assume that the result of inet_aton() is 32
-bits wide, in other words, that it would contain only the IPv4 address
-in network order.
-
-=item inet_ntoa IP_ADDRESS
-
-Takes a string (an opaque string as returned by inet_aton(),
-or a v-string representing the four octets of the IPv4 address in
-network order) and translates it into a string of the form 'd.d.d.d'
-where the 'd's are numbers less than 256 (the normal human-readable
-four dotted number notation for Internet addresses).
-
-=item INADDR_ANY
-
-Note: does not return a number, but a packed string.
-
-Returns the 4-byte wildcard ip address which specifies any
-of the hosts ip addresses. (A particular machine can have
-more than one ip address, each address corresponding to
-a particular network interface. This wildcard address
-allows you to bind to all of them simultaneously.)
-Normally equivalent to inet_aton('0.0.0.0').
-
-=item INADDR_BROADCAST
-
-Note: does not return a number, but a packed string.
-
-Returns the 4-byte 'this-lan' ip broadcast address.
-This can be useful for some protocols to solicit information
-from all servers on the same LAN cable.
-Normally equivalent to inet_aton('255.255.255.255').
-
-=item INADDR_LOOPBACK
-
-Note - does not return a number.
-
-Returns the 4-byte loopback address. Normally equivalent
-to inet_aton('localhost').
-
-=item INADDR_NONE
-
-Note - does not return a number.
-
-Returns the 4-byte 'invalid' ip address. Normally equivalent
-to inet_aton('255.255.255.255').
-
-=item sockaddr_family SOCKADDR
-
-Takes a sockaddr structure (as returned by pack_sockaddr_in(),
-pack_sockaddr_un() or the perl builtin functions getsockname() and
-getpeername()) and returns the address family tag. It will match the
-constant AF_INET for a sockaddr_in and AF_UNIX for a sockaddr_un. It
-can be used to figure out what unpacker to use for a sockaddr of
-unknown type.
-
-=item sockaddr_in PORT, ADDRESS
-
-=item sockaddr_in SOCKADDR_IN
-
-In a list context, unpacks its SOCKADDR_IN argument and returns an array
-consisting of (PORT, ADDRESS). In a scalar context, packs its (PORT,
-ADDRESS) arguments as a SOCKADDR_IN and returns it. If this is confusing,
-use pack_sockaddr_in() and unpack_sockaddr_in() explicitly.
-
-=item pack_sockaddr_in PORT, IP_ADDRESS
-
-Takes two arguments, a port number and an opaque string, IP_ADDRESS
-(as returned by inet_aton(), or a v-string). Returns the sockaddr_in
-structure with those arguments packed in with AF_INET filled in. For
-Internet domain sockets, this structure is normally what you need for
-the arguments in bind(), connect(), and send(), and is also returned
-by getpeername(), getsockname() and recv().
-
-=item unpack_sockaddr_in SOCKADDR_IN
-
-Takes a sockaddr_in structure (as returned by pack_sockaddr_in()) and
-returns an array of two elements: the port and an opaque string
-representing the IP address (you can use inet_ntoa() to convert the
-address to the four-dotted numeric format). Will croak if the
-structure does not have AF_INET in the right place.
-
-=item sockaddr_un PATHNAME
-
-=item sockaddr_un SOCKADDR_UN
-
-In a list context, unpacks its SOCKADDR_UN argument and returns an array
-consisting of (PATHNAME). In a scalar context, packs its PATHNAME
-arguments as a SOCKADDR_UN and returns it. If this is confusing, use
-pack_sockaddr_un() and unpack_sockaddr_un() explicitly.
-These are only supported if your system has E<lt>F<sys/un.h>E<gt>.
-
-=item pack_sockaddr_un PATH
-
-Takes one argument, a pathname. Returns the sockaddr_un structure with
-that path packed in with AF_UNIX filled in. For unix domain sockets, this
-structure is normally what you need for the arguments in bind(),
-connect(), and send(), and is also returned by getpeername(),
-getsockname() and recv().
-
-=item unpack_sockaddr_un SOCKADDR_UN
-
-Takes a sockaddr_un structure (as returned by pack_sockaddr_un())
-and returns the pathname. Will croak if the structure does not
-have AF_UNIX in the right place.
-
-=back
-
-=cut
-
-use Carp;
-use warnings::register;
-
-require Exporter;
-use XSLoader ();
-@ISA = qw(Exporter);
-@EXPORT = qw(
- inet_aton inet_ntoa
- sockaddr_family
- pack_sockaddr_in unpack_sockaddr_in
- pack_sockaddr_un unpack_sockaddr_un
- sockaddr_in sockaddr_un
- INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
- AF_802
- AF_AAL
- AF_APPLETALK
- AF_CCITT
- AF_CHAOS
- AF_CTF
- AF_DATAKIT
- AF_DECnet
- AF_DLI
- AF_ECMA
- AF_GOSIP
- AF_HYLINK
- AF_IMPLINK
- AF_INET
- AF_INET6
- AF_ISO
- AF_KEY
- AF_LAST
- AF_LAT
- AF_LINK
- AF_MAX
- AF_NBS
- AF_NIT
- AF_NS
- AF_OSI
- AF_OSINET
- AF_PUP
- AF_ROUTE
- AF_SNA
- AF_UNIX
- AF_UNSPEC
- AF_USER
- AF_WAN
- AF_X25
- IOV_MAX
- IP_OPTIONS
- IP_HDRINCL
- IP_TOS
- IP_TTL
- IP_RECVOPTS
- IP_RECVRETOPTS
- IP_RETOPTS
- MSG_BCAST
- MSG_BTAG
- MSG_CTLFLAGS
- MSG_CTLIGNORE
- MSG_CTRUNC
- MSG_DONTROUTE
- MSG_DONTWAIT
- MSG_EOF
- MSG_EOR
- MSG_ERRQUEUE
- MSG_ETAG
- MSG_FIN
- MSG_MAXIOVLEN
- MSG_MCAST
- MSG_NOSIGNAL
- MSG_OOB
- MSG_PEEK
- MSG_PROXY
- MSG_RST
- MSG_SYN
- MSG_TRUNC
- MSG_URG
- MSG_WAITALL
- MSG_WIRE
- PF_802
- PF_AAL
- PF_APPLETALK
- PF_CCITT
- PF_CHAOS
- PF_CTF
- PF_DATAKIT
- PF_DECnet
- PF_DLI
- PF_ECMA
- PF_GOSIP
- PF_HYLINK
- PF_IMPLINK
- PF_INET
- PF_INET6
- PF_ISO
- PF_KEY
- PF_LAST
- PF_LAT
- PF_LINK
- PF_MAX
- PF_NBS
- PF_NIT
- PF_NS
- PF_OSI
- PF_OSINET
- PF_PUP
- PF_ROUTE
- PF_SNA
- PF_UNIX
- PF_UNSPEC
- PF_USER
- PF_WAN
- PF_X25
- SCM_CONNECT
- SCM_CREDENTIALS
- SCM_CREDS
- SCM_RIGHTS
- SCM_TIMESTAMP
- SHUT_RD
- SHUT_RDWR
- SHUT_WR
- SOCK_DGRAM
- SOCK_RAW
- SOCK_RDM
- SOCK_SEQPACKET
- SOCK_STREAM
- SOL_SOCKET
- SOMAXCONN
- SO_ACCEPTCONN
- SO_ATTACH_FILTER
- SO_BACKLOG
- SO_BROADCAST
- SO_CHAMELEON
- SO_DEBUG
- SO_DETACH_FILTER
- SO_DGRAM_ERRIND
- SO_DONTLINGER
- SO_DONTROUTE
- SO_ERROR
- SO_FAMILY
- SO_KEEPALIVE
- SO_LINGER
- SO_OOBINLINE
- SO_PASSCRED
- SO_PASSIFNAME
- SO_PEERCRED
- SO_PROTOCOL
- SO_PROTOTYPE
- SO_RCVBUF
- SO_RCVLOWAT
- SO_RCVTIMEO
- SO_REUSEADDR
- SO_REUSEPORT
- SO_SECURITY_AUTHENTICATION
- SO_SECURITY_ENCRYPTION_NETWORK
- SO_SECURITY_ENCRYPTION_TRANSPORT
- SO_SNDBUF
- SO_SNDLOWAT
- SO_SNDTIMEO
- SO_STATE
- SO_TYPE
- SO_USELOOPBACK
- SO_XOPEN
- SO_XSE
- UIO_MAXIOV
-);
-
-@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF
-
- IPPROTO_IP
- IPPROTO_IPV6
- IPPROTO_RAW
- IPPROTO_ICMP
- IPPROTO_TCP
- IPPROTO_UDP
-
- TCP_KEEPALIVE
- TCP_MAXRT
- TCP_MAXSEG
- TCP_NODELAY
- TCP_STDURG);
-
-%EXPORT_TAGS = (
- crlf => [qw(CR LF CRLF $CR $LF $CRLF)],
- all => [@EXPORT, @EXPORT_OK],
-);
-
-BEGIN {
- sub CR () {"\015"}
- sub LF () {"\012"}
- sub CRLF () {"\015\012"}
-}
-
-*CR = \CR();
-*LF = \LF();
-*CRLF = \CRLF();
-
-sub sockaddr_in {
- if (@_ == 6 && !wantarray) { # perl5.001m compat; use this && die
- my($af, $port, @quad) = @_;
- warnings::warn "6-ARG sockaddr_in call is deprecated"
- if warnings::enabled();
- pack_sockaddr_in($port, inet_aton(join('.', @quad)));
- } elsif (wantarray) {
- croak "usage: (port,iaddr) = sockaddr_in(sin_sv)" unless @_ == 1;
- unpack_sockaddr_in(@_);
- } else {
- croak "usage: sin_sv = sockaddr_in(port,iaddr))" unless @_ == 2;
- pack_sockaddr_in(@_);
- }
-}
-
-sub sockaddr_un {
- if (wantarray) {
- croak "usage: (filename) = sockaddr_un(sun_sv)" unless @_ == 1;
- unpack_sockaddr_un(@_);
- } else {
- croak "usage: sun_sv = sockaddr_un(filename)" unless @_ == 1;
- pack_sockaddr_un(@_);
- }
-}
-
-sub AUTOLOAD {
- my($constname);
- ($constname = $AUTOLOAD) =~ s/.*:://;
- croak "&Socket::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- if ($error) {
- croak $error;
- }
- *$AUTOLOAD = sub { $val };
- goto &$AUTOLOAD;
-}
-
-XSLoader::load 'Socket', $VERSION;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Storable.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Storable.pm
deleted file mode 100644
index 75b0780e540..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Storable.pm
+++ /dev/null
@@ -1,1188 +0,0 @@
-#
-# Copyright (c) 1995-2000, Raphael Manfredi
-#
-# You may redistribute only under the same terms as Perl 5, as specified
-# in the README file that comes with the distribution.
-#
-
-require DynaLoader;
-require Exporter;
-package Storable; @ISA = qw(Exporter DynaLoader);
-
-@EXPORT = qw(store retrieve);
-@EXPORT_OK = qw(
- nstore store_fd nstore_fd fd_retrieve
- freeze nfreeze thaw
- dclone
- retrieve_fd
- lock_store lock_nstore lock_retrieve
- file_magic read_magic
-);
-
-use AutoLoader;
-use FileHandle;
-use vars qw($canonical $forgive_me $VERSION);
-
-$VERSION = '2.18';
-*AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr...
-
-#
-# Use of Log::Agent is optional
-#
-
-{
- local $SIG{__DIE__};
- eval "use Log::Agent";
-}
-
-require Carp;
-
-#
-# They might miss :flock in Fcntl
-#
-
-BEGIN {
- if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) {
- Fcntl->import(':flock');
- } else {
- eval q{
- sub LOCK_SH () {1}
- sub LOCK_EX () {2}
- };
- }
-}
-
-sub CLONE {
- # clone context under threads
- Storable::init_perinterp();
-}
-
-# Can't Autoload cleanly as this clashes 8.3 with &retrieve
-sub retrieve_fd { &fd_retrieve } # Backward compatibility
-
-# By default restricted hashes are downgraded on earlier perls.
-
-$Storable::downgrade_restricted = 1;
-$Storable::accept_future_minor = 1;
-bootstrap Storable;
-1;
-__END__
-#
-# Use of Log::Agent is optional. If it hasn't imported these subs then
-# Autoloader will kindly supply our fallback implementation.
-#
-
-sub logcroak {
- Carp::croak(@_);
-}
-
-sub logcarp {
- Carp::carp(@_);
-}
-
-#
-# Determine whether locking is possible, but only when needed.
-#
-
-sub CAN_FLOCK; my $CAN_FLOCK; sub CAN_FLOCK {
- return $CAN_FLOCK if defined $CAN_FLOCK;
- require Config; import Config;
- return $CAN_FLOCK =
- $Config{'d_flock'} ||
- $Config{'d_fcntl_can_lock'} ||
- $Config{'d_lockf'};
-}
-
-sub show_file_magic {
- print <<EOM;
-#
-# To recognize the data files of the Perl module Storable,
-# the following lines need to be added to the local magic(5) file,
-# usually either /usr/share/misc/magic or /etc/magic.
-#
-0 string perl-store perl Storable(v0.6) data
->4 byte >0 (net-order %d)
->>4 byte &01 (network-ordered)
->>4 byte =3 (major 1)
->>4 byte =2 (major 1)
-
-0 string pst0 perl Storable(v0.7) data
->4 byte >0
->>4 byte &01 (network-ordered)
->>4 byte =5 (major 2)
->>4 byte =4 (major 2)
->>5 byte >0 (minor %d)
-EOM
-}
-
-sub file_magic {
- my $file = shift;
- my $fh = new FileHandle;
- open($fh, "<". $file) || die "Can't open '$file': $!";
- binmode($fh);
- defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
- close($fh);
-
- $file = "./$file" unless $file; # ensure TRUE value
-
- return read_magic($buf, $file);
-}
-
-sub read_magic {
- my($buf, $file) = @_;
- my %info;
-
- my $buflen = length($buf);
- my $magic;
- if ($buf =~ s/^(pst0|perl-store)//) {
- $magic = $1;
- $info{file} = $file || 1;
- }
- else {
- return undef if $file;
- $magic = "";
- }
-
- return undef unless length($buf);
-
- my $net_order;
- if ($magic eq "perl-store" && ord(substr($buf, 0, 1)) > 1) {
- $info{version} = -1;
- $net_order = 0;
- }
- else {
- $net_order = ord(substr($buf, 0, 1, ""));
- my $major = $net_order >> 1;
- return undef if $major > 4; # sanity (assuming we never go that high)
- $info{major} = $major;
- $net_order &= 0x01;
- if ($major > 1) {
- return undef unless length($buf);
- my $minor = ord(substr($buf, 0, 1, ""));
- $info{minor} = $minor;
- $info{version} = "$major.$minor";
- $info{version_nv} = sprintf "%d.%03d", $major, $minor;
- }
- else {
- $info{version} = $major;
- }
- }
- $info{version_nv} ||= $info{version};
- $info{netorder} = $net_order;
-
- unless ($net_order) {
- return undef unless length($buf);
- my $len = ord(substr($buf, 0, 1, ""));
- return undef unless length($buf) >= $len;
- return undef unless $len == 4 || $len == 8; # sanity
- $info{byteorder} = substr($buf, 0, $len, "");
- $info{intsize} = ord(substr($buf, 0, 1, ""));
- $info{longsize} = ord(substr($buf, 0, 1, ""));
- $info{ptrsize} = ord(substr($buf, 0, 1, ""));
- if ($info{version_nv} >= 2.002) {
- return undef unless length($buf);
- $info{nvsize} = ord(substr($buf, 0, 1, ""));
- }
- }
- $info{hdrsize} = $buflen - length($buf);
-
- return \%info;
-}
-
-sub BIN_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_MINOR();
-}
-
-sub BIN_WRITE_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_WRITE_MINOR();
-}
-
-#
-# store
-#
-# Store target object hierarchy, identified by a reference to its root.
-# The stored object tree may later be retrieved to memory via retrieve.
-# Returns undef if an I/O error occurred, in which case the file is
-# removed.
-#
-sub store {
- return _store(\&pstore, @_, 0);
-}
-
-#
-# nstore
-#
-# Same as store, but in network order.
-#
-sub nstore {
- return _store(\&net_pstore, @_, 0);
-}
-
-#
-# lock_store
-#
-# Same as store, but flock the file first (advisory locking).
-#
-sub lock_store {
- return _store(\&pstore, @_, 1);
-}
-
-#
-# lock_nstore
-#
-# Same as nstore, but flock the file first (advisory locking).
-#
-sub lock_nstore {
- return _store(\&net_pstore, @_, 1);
-}
-
-# Internal store to file routine
-sub _store {
- my $xsptr = shift;
- my $self = shift;
- my ($file, $use_locking) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "wrong argument number" unless @_ == 2; # No @foo in arglist
- local *FILE;
- if ($use_locking) {
- open(FILE, ">>$file") || logcroak "can't write into $file: $!";
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_EX) ||
- logcroak "can't get exclusive lock on $file: $!";
- truncate FILE, 0;
- # Unlocking will happen when FILE is closed
- } else {
- open(FILE, ">$file") || logcroak "can't create $file: $!";
- }
- binmode FILE; # Archaic systems...
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr(*FILE, $self) };
- close(FILE) or $ret = undef;
- unlink($file) or warn "Can't unlink $file: $!\n" if $@ || !defined $ret;
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-#
-# store_fd
-#
-# Same as store, but perform on an already opened file descriptor instead.
-# Returns undef if an I/O error occurred.
-#
-sub store_fd {
- return _store_fd(\&pstore, @_);
-}
-
-#
-# nstore_fd
-#
-# Same as store_fd, but in network order.
-#
-sub nstore_fd {
- my ($self, $file) = @_;
- return _store_fd(\&net_pstore, @_);
-}
-
-# Internal store routine on opened file descriptor
-sub _store_fd {
- my $xsptr = shift;
- my $self = shift;
- my ($file) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 1; # No @foo in arglist
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr($file, $self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- local $\; print $file ''; # Autoflush the file if wanted
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-#
-# freeze
-#
-# Store oject and its hierarchy in memory and return a scalar
-# containing the result.
-#
-sub freeze {
- _freeze(\&mstore, @_);
-}
-
-#
-# nfreeze
-#
-# Same as freeze but in network order.
-#
-sub nfreeze {
- _freeze(\&net_mstore, @_);
-}
-
-# Internal freeze routine
-sub _freeze {
- my $xsptr = shift;
- my $self = shift;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 0; # No @foo in arglist
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine mstore or net_mstore, depending on network order
- eval { $ret = &$xsptr($self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-#
-# retrieve
-#
-# Retrieve object hierarchy from disk, returning a reference to the root
-# object of that tree.
-#
-sub retrieve {
- _retrieve($_[0], 0);
-}
-
-#
-# lock_retrieve
-#
-# Same as retrieve, but with advisory locking.
-#
-sub lock_retrieve {
- _retrieve($_[0], 1);
-}
-
-# Internal retrieve routine
-sub _retrieve {
- my ($file, $use_locking) = @_;
- local *FILE;
- open(FILE, $file) || logcroak "can't open $file: $!";
- binmode FILE; # Archaic systems...
- my $self;
- my $da = $@; # Could be from exception handler
- if ($use_locking) {
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_SH) || logcroak "can't get shared lock on $file: $!";
- # Unlocking will happen when FILE is closed
- }
- eval { $self = pretrieve(*FILE) }; # Call C routine
- close(FILE);
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-#
-# fd_retrieve
-#
-# Same as retrieve, but perform from an already opened file descriptor instead.
-#
-sub fd_retrieve {
- my ($file) = @_;
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = pretrieve($file) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-#
-# thaw
-#
-# Recreate objects in memory from an existing frozen image created
-# by freeze. If the frozen image passed is undef, return undef.
-#
-sub thaw {
- my ($frozen) = @_;
- return undef unless defined $frozen;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = mretrieve($frozen) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Storable - persistence for Perl data structures
-
-=head1 SYNOPSIS
-
- use Storable;
- store \%table, 'file';
- $hashref = retrieve('file');
-
- use Storable qw(nstore store_fd nstore_fd freeze thaw dclone);
-
- # Network order
- nstore \%table, 'file';
- $hashref = retrieve('file'); # There is NO nretrieve()
-
- # Storing to and retrieving from an already opened file
- store_fd \@array, \*STDOUT;
- nstore_fd \%table, \*STDOUT;
- $aryref = fd_retrieve(\*SOCKET);
- $hashref = fd_retrieve(\*SOCKET);
-
- # Serializing to memory
- $serialized = freeze \%table;
- %table_clone = %{ thaw($serialized) };
-
- # Deep (recursive) cloning
- $cloneref = dclone($ref);
-
- # Advisory locking
- use Storable qw(lock_store lock_nstore lock_retrieve)
- lock_store \%table, 'file';
- lock_nstore \%table, 'file';
- $hashref = lock_retrieve('file');
-
-=head1 DESCRIPTION
-
-The Storable package brings persistence to your Perl data structures
-containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be
-conveniently stored to disk and retrieved at a later time.
-
-It can be used in the regular procedural way by calling C<store> with
-a reference to the object to be stored, along with the file name where
-the image should be written.
-
-The routine returns C<undef> for I/O problems or other internal error,
-a true value otherwise. Serious errors are propagated as a C<die> exception.
-
-To retrieve data stored to disk, use C<retrieve> with a file name.
-The objects stored into that file are recreated into memory for you,
-and a I<reference> to the root object is returned. In case an I/O error
-occurs while reading, C<undef> is returned instead. Other serious
-errors are propagated via C<die>.
-
-Since storage is performed recursively, you might want to stuff references
-to objects that share a lot of common data into a single array or hash
-table, and then store that object. That way, when you retrieve back the
-whole thing, the objects will continue to share what they originally shared.
-
-At the cost of a slight header overhead, you may store to an already
-opened file descriptor using the C<store_fd> routine, and retrieve
-from a file via C<fd_retrieve>. Those names aren't imported by default,
-so you will have to do that explicitly if you need those routines.
-The file descriptor you supply must be already opened, for read
-if you're going to retrieve and for write if you wish to store.
-
- store_fd(\%table, *STDOUT) || die "can't store to stdout\n";
- $hashref = fd_retrieve(*STDIN);
-
-You can also store data in network order to allow easy sharing across
-multiple platforms, or when storing on a socket known to be remotely
-connected. The routines to call have an initial C<n> prefix for I<network>,
-as in C<nstore> and C<nstore_fd>. At retrieval time, your data will be
-correctly restored so you don't have to know whether you're restoring
-from native or network ordered data. Double values are stored stringified
-to ensure portability as well, at the slight risk of loosing some precision
-in the last decimals.
-
-When using C<fd_retrieve>, objects are retrieved in sequence, one
-object (i.e. one recursive tree) per associated C<store_fd>.
-
-If you're more from the object-oriented camp, you can inherit from
-Storable and directly store your objects by invoking C<store> as
-a method. The fact that the root of the to-be-stored tree is a
-blessed reference (i.e. an object) is special-cased so that the
-retrieve does not provide a reference to that object but rather the
-blessed object reference itself. (Otherwise, you'd get a reference
-to that blessed object).
-
-=head1 MEMORY STORE
-
-The Storable engine can also store data into a Perl scalar instead, to
-later retrieve them. This is mainly used to freeze a complex structure in
-some safe compact memory place (where it can possibly be sent to another
-process via some IPC, since freezing the structure also serializes it in
-effect). Later on, and maybe somewhere else, you can thaw the Perl scalar
-out and recreate the original complex structure in memory.
-
-Surprisingly, the routines to be called are named C<freeze> and C<thaw>.
-If you wish to send out the frozen scalar to another machine, use
-C<nfreeze> instead to get a portable image.
-
-Note that freezing an object structure and immediately thawing it
-actually achieves a deep cloning of that structure:
-
- dclone(.) = thaw(freeze(.))
-
-Storable provides you with a C<dclone> interface which does not create
-that intermediary scalar but instead freezes the structure in some
-internal memory space and then immediately thaws it out.
-
-=head1 ADVISORY LOCKING
-
-The C<lock_store> and C<lock_nstore> routine are equivalent to
-C<store> and C<nstore>, except that they get an exclusive lock on
-the file before writing. Likewise, C<lock_retrieve> does the same
-as C<retrieve>, but also gets a shared lock on the file before reading.
-
-As with any advisory locking scheme, the protection only works if you
-systematically use C<lock_store> and C<lock_retrieve>. If one side of
-your application uses C<store> whilst the other uses C<lock_retrieve>,
-you will get no protection at all.
-
-The internal advisory locking is implemented using Perl's flock()
-routine. If your system does not support any form of flock(), or if
-you share your files across NFS, you might wish to use other forms
-of locking by using modules such as LockFile::Simple which lock a
-file using a filesystem entry, instead of locking the file descriptor.
-
-=head1 SPEED
-
-The heart of Storable is written in C for decent speed. Extra low-level
-optimizations have been made when manipulating perl internals, to
-sacrifice encapsulation for the benefit of greater speed.
-
-=head1 CANONICAL REPRESENTATION
-
-Normally, Storable stores elements of hashes in the order they are
-stored internally by Perl, i.e. pseudo-randomly. If you set
-C<$Storable::canonical> to some C<TRUE> value, Storable will store
-hashes with the elements sorted by their key. This allows you to
-compare data structures by comparing their frozen representations (or
-even the compressed frozen representations), which can be useful for
-creating lookup tables for complicated queries.
-
-Canonical order does not imply network order; those are two orthogonal
-settings.
-
-=head1 CODE REFERENCES
-
-Since Storable version 2.05, CODE references may be serialized with
-the help of L<B::Deparse>. To enable this feature, set
-C<$Storable::Deparse> to a true value. To enable deserialization,
-C<$Storable::Eval> should be set to a true value. Be aware that
-deserialization is done through C<eval>, which is dangerous if the
-Storable file contains malicious data. You can set C<$Storable::Eval>
-to a subroutine reference which would be used instead of C<eval>. See
-below for an example using a L<Safe> compartment for deserialization
-of CODE references.
-
-If C<$Storable::Deparse> and/or C<$Storable::Eval> are set to false
-values, then the value of C<$Storable::forgive_me> (see below) is
-respected while serializing and deserializing.
-
-=head1 FORWARD COMPATIBILITY
-
-This release of Storable can be used on a newer version of Perl to
-serialize data which is not supported by earlier Perls. By default,
-Storable will attempt to do the right thing, by C<croak()>ing if it
-encounters data that it cannot deserialize. However, the defaults
-can be changed as follows:
-
-=over 4
-
-=item utf8 data
-
-Perl 5.6 added support for Unicode characters with code points > 255,
-and Perl 5.8 has full support for Unicode characters in hash keys.
-Perl internally encodes strings with these characters using utf8, and
-Storable serializes them as utf8. By default, if an older version of
-Perl encounters a utf8 value it cannot represent, it will C<croak()>.
-To change this behaviour so that Storable deserializes utf8 encoded
-values as the string of bytes (effectively dropping the I<is_utf8> flag)
-set C<$Storable::drop_utf8> to some C<TRUE> value. This is a form of
-data loss, because with C<$drop_utf8> true, it becomes impossible to tell
-whether the original data was the Unicode string, or a series of bytes
-that happen to be valid utf8.
-
-=item restricted hashes
-
-Perl 5.8 adds support for restricted hashes, which have keys
-restricted to a given set, and can have values locked to be read only.
-By default, when Storable encounters a restricted hash on a perl
-that doesn't support them, it will deserialize it as a normal hash,
-silently discarding any placeholder keys and leaving the keys and
-all values unlocked. To make Storable C<croak()> instead, set
-C<$Storable::downgrade_restricted> to a C<FALSE> value. To restore
-the default set it back to some C<TRUE> value.
-
-=item files from future versions of Storable
-
-Earlier versions of Storable would immediately croak if they encountered
-a file with a higher internal version number than the reading Storable
-knew about. Internal version numbers are increased each time new data
-types (such as restricted hashes) are added to the vocabulary of the file
-format. This meant that a newer Storable module had no way of writing a
-file readable by an older Storable, even if the writer didn't store newer
-data types.
-
-This version of Storable will defer croaking until it encounters a data
-type in the file that it does not recognize. This means that it will
-continue to read files generated by newer Storable modules which are careful
-in what they write out, making it easier to upgrade Storable modules in a
-mixed environment.
-
-The old behaviour of immediate croaking can be re-instated by setting
-C<$Storable::accept_future_minor> to some C<FALSE> value.
-
-=back
-
-All these variables have no effect on a newer Perl which supports the
-relevant feature.
-
-=head1 ERROR REPORTING
-
-Storable uses the "exception" paradigm, in that it does not try to workaround
-failures: if something bad happens, an exception is generated from the
-caller's perspective (see L<Carp> and C<croak()>). Use eval {} to trap
-those exceptions.
-
-When Storable croaks, it tries to report the error via the C<logcroak()>
-routine from the C<Log::Agent> package, if it is available.
-
-Normal errors are reported by having store() or retrieve() return C<undef>.
-Such errors are usually I/O errors (or truncated stream errors at retrieval).
-
-=head1 WIZARDS ONLY
-
-=head2 Hooks
-
-Any class may define hooks that will be called during the serialization
-and deserialization process on objects that are instances of that class.
-Those hooks can redefine the way serialization is performed (and therefore,
-how the symmetrical deserialization should be conducted).
-
-Since we said earlier:
-
- dclone(.) = thaw(freeze(.))
-
-everything we say about hooks should also hold for deep cloning. However,
-hooks get to know whether the operation is a mere serialization, or a cloning.
-
-Therefore, when serializing hooks are involved,
-
- dclone(.) <> thaw(freeze(.))
-
-Well, you could keep them in sync, but there's no guarantee it will always
-hold on classes somebody else wrote. Besides, there is little to gain in
-doing so: a serializing hook could keep only one attribute of an object,
-which is probably not what should happen during a deep cloning of that
-same object.
-
-Here is the hooking interface:
-
-=over 4
-
-=item C<STORABLE_freeze> I<obj>, I<cloning>
-
-The serializing hook, called on the object during serialization. It can be
-inherited, or defined in the class itself, like any other method.
-
-Arguments: I<obj> is the object to serialize, I<cloning> is a flag indicating
-whether we're in a dclone() or a regular serialization via store() or freeze().
-
-Returned value: A LIST C<($serialized, $ref1, $ref2, ...)> where $serialized
-is the serialized form to be used, and the optional $ref1, $ref2, etc... are
-extra references that you wish to let the Storable engine serialize.
-
-At deserialization time, you will be given back the same LIST, but all the
-extra references will be pointing into the deserialized structure.
-
-The B<first time> the hook is hit in a serialization flow, you may have it
-return an empty list. That will signal the Storable engine to further
-discard that hook for this class and to therefore revert to the default
-serialization of the underlying Perl data. The hook will again be normally
-processed in the next serialization.
-
-Unless you know better, serializing hook should always say:
-
- sub STORABLE_freeze {
- my ($self, $cloning) = @_;
- return if $cloning; # Regular default serialization
- ....
- }
-
-in order to keep reasonable dclone() semantics.
-
-=item C<STORABLE_thaw> I<obj>, I<cloning>, I<serialized>, ...
-
-The deserializing hook called on the object during deserialization.
-But wait: if we're deserializing, there's no object yet... right?
-
-Wrong: the Storable engine creates an empty one for you. If you know Eiffel,
-you can view C<STORABLE_thaw> as an alternate creation routine.
-
-This means the hook can be inherited like any other method, and that
-I<obj> is your blessed reference for this particular instance.
-
-The other arguments should look familiar if you know C<STORABLE_freeze>:
-I<cloning> is true when we're part of a deep clone operation, I<serialized>
-is the serialized string you returned to the engine in C<STORABLE_freeze>,
-and there may be an optional list of references, in the same order you gave
-them at serialization time, pointing to the deserialized objects (which
-have been processed courtesy of the Storable engine).
-
-When the Storable engine does not find any C<STORABLE_thaw> hook routine,
-it tries to load the class by requiring the package dynamically (using
-the blessed package name), and then re-attempts the lookup. If at that
-time the hook cannot be located, the engine croaks. Note that this mechanism
-will fail if you define several classes in the same file, but L<perlmod>
-warned you.
-
-It is up to you to use this information to populate I<obj> the way you want.
-
-Returned value: none.
-
-=item C<STORABLE_attach> I<class>, I<cloning>, I<serialized>
-
-While C<STORABLE_freeze> and C<STORABLE_thaw> are useful for classes where
-each instance is independent, this mechanism has difficulty (or is
-incompatible) with objects that exist as common process-level or
-system-level resources, such as singleton objects, database pools, caches
-or memoized objects.
-
-The alternative C<STORABLE_attach> method provides a solution for these
-shared objects. Instead of C<STORABLE_freeze> --E<gt> C<STORABLE_thaw>,
-you implement C<STORABLE_freeze> --E<gt> C<STORABLE_attach> instead.
-
-Arguments: I<class> is the class we are attaching to, I<cloning> is a flag
-indicating whether we're in a dclone() or a regular de-serialization via
-thaw(), and I<serialized> is the stored string for the resource object.
-
-Because these resource objects are considered to be owned by the entire
-process/system, and not the "property" of whatever is being serialized,
-no references underneath the object should be included in the serialized
-string. Thus, in any class that implements C<STORABLE_attach>, the
-C<STORABLE_freeze> method cannot return any references, and C<Storable>
-will throw an error if C<STORABLE_freeze> tries to return references.
-
-All information required to "attach" back to the shared resource object
-B<must> be contained B<only> in the C<STORABLE_freeze> return string.
-Otherwise, C<STORABLE_freeze> behaves as normal for C<STORABLE_attach>
-classes.
-
-Because C<STORABLE_attach> is passed the class (rather than an object),
-it also returns the object directly, rather than modifying the passed
-object.
-
-Returned value: object of type C<class>
-
-=back
-
-=head2 Predicates
-
-Predicates are not exportable. They must be called by explicitly prefixing
-them with the Storable package name.
-
-=over 4
-
-=item C<Storable::last_op_in_netorder>
-
-The C<Storable::last_op_in_netorder()> predicate will tell you whether
-network order was used in the last store or retrieve operation. If you
-don't know how to use this, just forget about it.
-
-=item C<Storable::is_storing>
-
-Returns true if within a store operation (via STORABLE_freeze hook).
-
-=item C<Storable::is_retrieving>
-
-Returns true if within a retrieve operation (via STORABLE_thaw hook).
-
-=back
-
-=head2 Recursion
-
-With hooks comes the ability to recurse back to the Storable engine.
-Indeed, hooks are regular Perl code, and Storable is convenient when
-it comes to serializing and deserializing things, so why not use it
-to handle the serialization string?
-
-There are a few things you need to know, however:
-
-=over 4
-
-=item *
-
-You can create endless loops if the things you serialize via freeze()
-(for instance) point back to the object we're trying to serialize in
-the hook.
-
-=item *
-
-Shared references among objects will not stay shared: if we're serializing
-the list of object [A, C] where both object A and C refer to the SAME object
-B, and if there is a serializing hook in A that says freeze(B), then when
-deserializing, we'll get [A', C'] where A' refers to B', but C' refers to D,
-a deep clone of B'. The topology was not preserved.
-
-=back
-
-That's why C<STORABLE_freeze> lets you provide a list of references
-to serialize. The engine guarantees that those will be serialized in the
-same context as the other objects, and therefore that shared objects will
-stay shared.
-
-In the above [A, C] example, the C<STORABLE_freeze> hook could return:
-
- ("something", $self->{B})
-
-and the B part would be serialized by the engine. In C<STORABLE_thaw>, you
-would get back the reference to the B' object, deserialized for you.
-
-Therefore, recursion should normally be avoided, but is nonetheless supported.
-
-=head2 Deep Cloning
-
-There is a Clone module available on CPAN which implements deep cloning
-natively, i.e. without freezing to memory and thawing the result. It is
-aimed to replace Storable's dclone() some day. However, it does not currently
-support Storable hooks to redefine the way deep cloning is performed.
-
-=head1 Storable magic
-
-Yes, there's a lot of that :-) But more precisely, in UNIX systems
-there's a utility called C<file>, which recognizes data files based on
-their contents (usually their first few bytes). For this to work,
-a certain file called F<magic> needs to taught about the I<signature>
-of the data. Where that configuration file lives depends on the UNIX
-flavour; often it's something like F</usr/share/misc/magic> or
-F</etc/magic>. Your system administrator needs to do the updating of
-the F<magic> file. The necessary signature information is output to
-STDOUT by invoking Storable::show_file_magic(). Note that the GNU
-implementation of the C<file> utility, version 3.38 or later,
-is expected to contain support for recognising Storable files
-out-of-the-box, in addition to other kinds of Perl files.
-
-You can also use the following functions to extract the file header
-information from Storable images:
-
-=over
-
-=item $info = Storable::file_magic( $filename )
-
-If the given file is a Storable image return a hash describing it. If
-the file is readable, but not a Storable image return C<undef>. If
-the file does not exist or is unreadable then croak.
-
-The hash returned has the following elements:
-
-=over
-
-=item C<version>
-
-This returns the file format version. It is a string like "2.7".
-
-Note that this version number is not the same as the version number of
-the Storable module itself. For instance Storable v0.7 create files
-in format v2.0 and Storable v2.15 create files in format v2.7. The
-file format version number only increment when additional features
-that would confuse older versions of the module are added.
-
-Files older than v2.0 will have the one of the version numbers "-1",
-"0" or "1". No minor number was used at that time.
-
-=item C<version_nv>
-
-This returns the file format version as number. It is a string like
-"2.007". This value is suitable for numeric comparisons.
-
-The constant function C<Storable::BIN_VERSION_NV> returns a comparable
-number that represent the highest file version number that this
-version of Storable fully support (but see discussion of
-C<$Storable::accept_future_minor> above). The constant
-C<Storable::BIN_WRITE_VERSION_NV> function returns what file version
-is written and might be less than C<Storable::BIN_VERSION_NV> in some
-configuations.
-
-=item C<major>, C<minor>
-
-This also returns the file format version. If the version is "2.7"
-then major would be 2 and minor would be 7. The minor element is
-missing for when major is less than 2.
-
-=item C<hdrsize>
-
-The is the number of bytes that the Storable header occupies.
-
-=item C<netorder>
-
-This is TRUE if the image store data in network order. This means
-that it was created with nstore() or similar.
-
-=item C<byteorder>
-
-This is only present when C<netorder> is FALSE. It is the
-$Config{byteorder} string of the perl that created this image. It is
-a string like "1234" (32 bit little endian) or "87654321" (64 bit big
-endian). This must match the current perl for the image to be
-readable by Storable.
-
-=item C<intsize>, C<longsize>, C<ptrsize>, C<nvsize>
-
-These are only present when C<netorder> is FALSE. These are the sizes of
-various C datatypes of the perl that created this image. These must
-match the current perl for the image to be readable by Storable.
-
-The C<nvsize> element is only present for file format v2.2 and
-higher.
-
-=item C<file>
-
-The name of the file.
-
-=back
-
-=item $info = Storable::read_magic( $buffer )
-
-=item $info = Storable::read_magic( $buffer, $must_be_file )
-
-The $buffer should be a Storable image or the first few bytes of it.
-If $buffer starts with a Storable header, then a hash describing the
-image is returned, otherwise C<undef> is returned.
-
-The hash has the same structure as the one returned by
-Storable::file_magic(). The C<file> element is true if the image is a
-file image.
-
-If the $must_be_file argument is provided and is TRUE, then return
-C<undef> unless the image looks like it belongs to a file dump.
-
-The maximum size of a Storable header is currently 21 bytes. If the
-provided $buffer is only the first part of a Storable image it should
-at least be this long to ensure that read_magic() will recognize it as
-such.
-
-=back
-
-=head1 EXAMPLES
-
-Here are some code samples showing a possible usage of Storable:
-
- use Storable qw(store retrieve freeze thaw dclone);
-
- %color = ('Blue' => 0.1, 'Red' => 0.8, 'Black' => 0, 'White' => 1);
-
- store(\%color, 'mycolors') or die "Can't store %a in mycolors!\n";
-
- $colref = retrieve('mycolors');
- die "Unable to retrieve from mycolors!\n" unless defined $colref;
- printf "Blue is still %lf\n", $colref->{'Blue'};
-
- $colref2 = dclone(\%color);
-
- $str = freeze(\%color);
- printf "Serialization of %%color is %d bytes long.\n", length($str);
- $colref3 = thaw($str);
-
-which prints (on my machine):
-
- Blue is still 0.100000
- Serialization of %color is 102 bytes long.
-
-Serialization of CODE references and deserialization in a safe
-compartment:
-
-=for example begin
-
- use Storable qw(freeze thaw);
- use Safe;
- use strict;
- my $safe = new Safe;
- # because of opcodes used in "use strict":
- $safe->permit(qw(:default require));
- local $Storable::Deparse = 1;
- local $Storable::Eval = sub { $safe->reval($_[0]) };
- my $serialized = freeze(sub { 42 });
- my $code = thaw($serialized);
- $code->() == 42;
-
-=for example end
-
-=for example_testing
- is( $code->(), 42 );
-
-=head1 WARNING
-
-If you're using references as keys within your hash tables, you're bound
-to be disappointed when retrieving your data. Indeed, Perl stringifies
-references used as hash table keys. If you later wish to access the
-items via another reference stringification (i.e. using the same
-reference that was used for the key originally to record the value into
-the hash table), it will work because both references stringify to the
-same string.
-
-It won't work across a sequence of C<store> and C<retrieve> operations,
-however, because the addresses in the retrieved objects, which are
-part of the stringified references, will probably differ from the
-original addresses. The topology of your structure is preserved,
-but not hidden semantics like those.
-
-On platforms where it matters, be sure to call C<binmode()> on the
-descriptors that you pass to Storable functions.
-
-Storing data canonically that contains large hashes can be
-significantly slower than storing the same data normally, as
-temporary arrays to hold the keys for each hash have to be allocated,
-populated, sorted and freed. Some tests have shown a halving of the
-speed of storing -- the exact penalty will depend on the complexity of
-your data. There is no slowdown on retrieval.
-
-=head1 BUGS
-
-You can't store GLOB, FORMLINE, etc.... If you can define semantics
-for those operations, feel free to enhance Storable so that it can
-deal with them.
-
-The store functions will C<croak> if they run into such references
-unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
-case, the fatal message is turned in a warning and some
-meaningless string is stored instead.
-
-Setting C<$Storable::canonical> may not yield frozen strings that
-compare equal due to possible stringification of numbers. When the
-string version of a scalar exists, it is the form stored; therefore,
-if you happen to use your numbers as strings between two freezing
-operations on the same data structures, you will get different
-results.
-
-When storing doubles in network order, their value is stored as text.
-However, you should also not expect non-numeric floating-point values
-such as infinity and "not a number" to pass successfully through a
-nstore()/retrieve() pair.
-
-As Storable neither knows nor cares about character sets (although it
-does know that characters may be more than eight bits wide), any difference
-in the interpretation of character codes between a host and a target
-system is your problem. In particular, if host and target use different
-code points to represent the characters used in the text representation
-of floating-point numbers, you will not be able be able to exchange
-floating-point data, even with nstore().
-
-C<Storable::drop_utf8> is a blunt tool. There is no facility either to
-return B<all> strings as utf8 sequences, or to attempt to convert utf8
-data back to 8 bit and C<croak()> if the conversion fails.
-
-Prior to Storable 2.01, no distinction was made between signed and
-unsigned integers on storing. By default Storable prefers to store a
-scalars string representation (if it has one) so this would only cause
-problems when storing large unsigned integers that had never been converted
-to string or floating point. In other words values that had been generated
-by integer operations such as logic ops and then not used in any string or
-arithmetic context before storing.
-
-=head2 64 bit data in perl 5.6.0 and 5.6.1
-
-This section only applies to you if you have existing data written out
-by Storable 2.02 or earlier on perl 5.6.0 or 5.6.1 on Unix or Linux which
-has been configured with 64 bit integer support (not the default)
-If you got a precompiled perl, rather than running Configure to build
-your own perl from source, then it almost certainly does not affect you,
-and you can stop reading now (unless you're curious). If you're using perl
-on Windows it does not affect you.
-
-Storable writes a file header which contains the sizes of various C
-language types for the C compiler that built Storable (when not writing in
-network order), and will refuse to load files written by a Storable not
-on the same (or compatible) architecture. This check and a check on
-machine byteorder is needed because the size of various fields in the file
-are given by the sizes of the C language types, and so files written on
-different architectures are incompatible. This is done for increased speed.
-(When writing in network order, all fields are written out as standard
-lengths, which allows full interworking, but takes longer to read and write)
-
-Perl 5.6.x introduced the ability to optional configure the perl interpreter
-to use C's C<long long> type to allow scalars to store 64 bit integers on 32
-bit systems. However, due to the way the Perl configuration system
-generated the C configuration files on non-Windows platforms, and the way
-Storable generates its header, nothing in the Storable file header reflected
-whether the perl writing was using 32 or 64 bit integers, despite the fact
-that Storable was storing some data differently in the file. Hence Storable
-running on perl with 64 bit integers will read the header from a file
-written by a 32 bit perl, not realise that the data is actually in a subtly
-incompatible format, and then go horribly wrong (possibly crashing) if it
-encountered a stored integer. This is a design failure.
-
-Storable has now been changed to write out and read in a file header with
-information about the size of integers. It's impossible to detect whether
-an old file being read in was written with 32 or 64 bit integers (they have
-the same header) so it's impossible to automatically switch to a correct
-backwards compatibility mode. Hence this Storable defaults to the new,
-correct behaviour.
-
-What this means is that if you have data written by Storable 1.x running
-on perl 5.6.0 or 5.6.1 configured with 64 bit integers on Unix or Linux
-then by default this Storable will refuse to read it, giving the error
-I<Byte order is not compatible>. If you have such data then you you
-should set C<$Storable::interwork_56_64bit> to a true value to make this
-Storable read and write files with the old header. You should also
-migrate your data, or any older perl you are communicating with, to this
-current version of Storable.
-
-If you don't have data written with specific configuration of perl described
-above, then you do not and should not do anything. Don't set the flag -
-not only will Storable on an identically configured perl refuse to load them,
-but Storable a differently configured perl will load them believing them
-to be correct for it, and then may well fail or crash part way through
-reading them.
-
-=head1 CREDITS
-
-Thank you to (in chronological order):
-
- Jarkko Hietaniemi <jhi@iki.fi>
- Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
- Benjamin A. Holzman <bah@ecnvantage.com>
- Andrew Ford <A.Ford@ford-mason.co.uk>
- Gisle Aas <gisle@aas.no>
- Jeff Gresham <gresham_jeffrey@jpmorgan.com>
- Murray Nesbitt <murray@activestate.com>
- Marc Lehmann <pcg@opengroup.org>
- Justin Banks <justinb@wamnet.com>
- Jarkko Hietaniemi <jhi@iki.fi> (AGAIN, as perl 5.7.0 Pumpkin!)
- Salvador Ortiz Garcia <sog@msg.com.mx>
- Dominic Dunlop <domo@computer.org>
- Erik Haugan <erik@solbors.no>
-
-for their bug reports, suggestions and contributions.
-
-Benjamin Holzman contributed the tied variable support, Andrew Ford
-contributed the canonical order for hashes, and Gisle Aas fixed
-a few misunderstandings of mine regarding the perl internals,
-and optimized the emission of "tags" in the output streams by
-simply counting the objects instead of tagging them (leading to
-a binary incompatibility for the Storable image starting at version
-0.6--older images are, of course, still properly understood).
-Murray Nesbitt made Storable thread-safe. Marc Lehmann added overloading
-and references to tied items support.
-
-=head1 AUTHOR
-
-Storable was written by Raphael Manfredi F<E<lt>Raphael_Manfredi@pobox.comE<gt>>
-Maintenance is now done by the perl5-porters F<E<lt>perl5-porters@perl.orgE<gt>>
-
-Please e-mail us with problems, bug fixes, comments and complaints,
-although if you have complements you should send them to Raphael.
-Please don't e-mail Raphael with problems, as he no longer works on
-Storable, and your message will be delayed while he forwards it to us.
-
-=head1 SEE ALSO
-
-L<Clone>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Hostname.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Hostname.pm
deleted file mode 100644
index 415f9517fa4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Hostname.pm
+++ /dev/null
@@ -1,165 +0,0 @@
-package Sys::Hostname;
-
-use strict;
-
-use Carp;
-
-require Exporter;
-require AutoLoader;
-
-our @ISA = qw/ Exporter AutoLoader /;
-our @EXPORT = qw/ hostname /;
-
-our $VERSION;
-
-our $host;
-
-BEGIN {
- $VERSION = '1.11';
- {
- local $SIG{__DIE__};
- eval {
- require XSLoader;
- XSLoader::load('Sys::Hostname', $VERSION);
- };
- warn $@ if $@;
- }
-}
-
-
-sub hostname {
-
- # method 1 - we already know it
- return $host if defined $host;
-
- # method 1' - try to ask the system
- $host = ghname() if defined &ghname;
- return $host if defined $host;
-
- if ($^O eq 'VMS') {
-
- # method 2 - no sockets ==> return DECnet node name
- eval { local $SIG{__DIE__}; $host = (gethostbyname('me'))[0] };
- if ($@) { return $host = $ENV{'SYS$NODE'}; }
-
- # method 3 - has someone else done the job already? It's common for the
- # TCP/IP stack to advertise the hostname via a logical name. (Are
- # there any other logicals which TCP/IP stacks use for the host name?)
- $host = $ENV{'ARPANET_HOST_NAME'} || $ENV{'INTERNET_HOST_NAME'} ||
- $ENV{'MULTINET_HOST_NAME'} || $ENV{'UCX$INET_HOST'} ||
- $ENV{'TCPWARE_DOMAINNAME'} || $ENV{'NEWS_ADDRESS'};
- return $host if $host;
-
- # method 4 - does hostname happen to work?
- my($rslt) = `hostname`;
- if ($rslt !~ /IVVERB/) { ($host) = $rslt =~ /^(\S+)/; }
- return $host if $host;
-
- # rats!
- $host = '';
- croak "Cannot get host name of local machine";
-
- }
- elsif ($^O eq 'MSWin32') {
- ($host) = gethostbyname('localhost');
- chomp($host = `hostname 2> NUL`) unless defined $host;
- return $host;
- }
- elsif ($^O eq 'epoc') {
- $host = 'localhost';
- return $host;
- }
- else { # Unix
- # is anyone going to make it here?
-
- local $ENV{PATH} = '/usr/bin:/bin:/usr/sbin:/sbin'; # Paranoia.
-
- # method 2 - syscall is preferred since it avoids tainting problems
- # XXX: is it such a good idea to return hostname untainted?
- eval {
- local $SIG{__DIE__};
- require "syscall.ph";
- $host = "\0" x 65; ## preload scalar
- syscall(&SYS_gethostname, $host, 65) == 0;
- }
-
- # method 2a - syscall using systeminfo instead of gethostname
- # -- needed on systems like Solaris
- || eval {
- local $SIG{__DIE__};
- require "sys/syscall.ph";
- require "sys/systeminfo.ph";
- $host = "\0" x 65; ## preload scalar
- syscall(&SYS_systeminfo, &SI_HOSTNAME, $host, 65) != -1;
- }
-
- # method 3 - trusty old hostname command
- || eval {
- local $SIG{__DIE__};
- local $SIG{CHLD};
- $host = `(hostname) 2>/dev/null`; # bsdish
- }
-
- # method 4 - use POSIX::uname(), which strictly can't be expected to be
- # correct
- || eval {
- local $SIG{__DIE__};
- require POSIX;
- $host = (POSIX::uname())[1];
- }
-
- # method 5 - sysV uname command (may truncate)
- || eval {
- local $SIG{__DIE__};
- $host = `uname -n 2>/dev/null`; ## sysVish
- }
-
- # method 6 - Apollo pre-SR10
- || eval {
- local $SIG{__DIE__};
- my($a,$b,$c,$d);
- ($host,$a,$b,$c,$d)=split(/[:\. ]/,`/com/host`,6);
- }
-
- # bummer
- || croak "Cannot get host name of local machine";
-
- # remove garbage
- $host =~ tr/\0\r\n//d;
- $host;
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Sys::Hostname - Try every conceivable way to get hostname
-
-=head1 SYNOPSIS
-
- use Sys::Hostname;
- $host = hostname;
-
-=head1 DESCRIPTION
-
-Attempts several methods of getting the system hostname and
-then caches the result. It tries the first available of the C
-library's gethostname(), C<`$Config{aphostname}`>, uname(2),
-C<syscall(SYS_gethostname)>, C<`hostname`>, C<`uname -n`>,
-and the file F</com/host>. If all that fails it C<croak>s.
-
-All NULs, returns, and newlines are removed from the result.
-
-=head1 AUTHOR
-
-David Sundstrom E<lt>F<sunds@asictest.sc.ti.com>E<gt>
-
-Texas Instruments
-
-XS code added by Greg Bacon E<lt>F<gbacon@cs.uah.edu>E<gt>
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Syslog.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Syslog.pm
deleted file mode 100644
index 631f4bc67b5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Sys/Syslog.pm
+++ /dev/null
@@ -1,1531 +0,0 @@
-package Sys::Syslog;
-use strict;
-use warnings::register;
-use Carp;
-use Fcntl qw(O_WRONLY);
-use File::Basename;
-use POSIX qw(strftime setlocale LC_TIME);
-use Socket ':all';
-require 5.005;
-require Exporter;
-
-{ no strict 'vars';
- $VERSION = '0.24';
- @ISA = qw(Exporter);
-
- %EXPORT_TAGS = (
- standard => [qw(openlog syslog closelog setlogmask)],
- extended => [qw(setlogsock)],
- macros => [
- # levels
- qw(
- LOG_ALERT LOG_CRIT LOG_DEBUG LOG_EMERG LOG_ERR
- LOG_INFO LOG_NOTICE LOG_WARNING
- ),
-
- # standard facilities
- qw(
- LOG_AUTH LOG_AUTHPRIV LOG_CRON LOG_DAEMON LOG_FTP LOG_KERN
- LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4
- LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL LOG_NEWS
- LOG_SYSLOG LOG_USER LOG_UUCP
- ),
- # Mac OS X specific facilities
- qw( LOG_INSTALL LOG_LAUNCHD LOG_NETINFO LOG_RAS LOG_REMOTEAUTH ),
- # modern BSD specific facilities
- qw( LOG_CONSOLE LOG_NTP LOG_SECURITY ),
- # IRIX specific facilities
- qw( LOG_AUDIT LOG_LFMT ),
-
- # options
- qw(
- LOG_CONS LOG_PID LOG_NDELAY LOG_NOWAIT LOG_ODELAY LOG_PERROR
- ),
-
- # others macros
- qw(
- LOG_FACMASK LOG_NFACILITIES LOG_PRIMASK
- LOG_MASK LOG_UPTO
- ),
- ],
- );
-
- @EXPORT = (
- @{$EXPORT_TAGS{standard}},
- );
-
- @EXPORT_OK = (
- @{$EXPORT_TAGS{extended}},
- @{$EXPORT_TAGS{macros}},
- );
-
- eval {
- require XSLoader;
- XSLoader::load('Sys::Syslog', $VERSION);
- 1
- } or do {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- bootstrap Sys::Syslog $VERSION;
- };
-}
-
-
-#
-# Public variables
-#
-use vars qw($host); # host to send syslog messages to (see notes at end)
-
-#
-# Global variables
-#
-use vars qw($facility);
-my $connected = 0; # flag to indicate if we're connected or not
-my $syslog_send; # coderef of the function used to send messages
-my $syslog_path = undef; # syslog path for "stream" and "unix" mechanisms
-my $syslog_xobj = undef; # if defined, holds the external object used to send messages
-my $transmit_ok = 0; # flag to indicate if the last message was transmited
-my $current_proto = undef; # current mechanism used to transmit messages
-my $ident = ''; # identifiant prepended to each message
-$facility = ''; # current facility
-my $maskpri = LOG_UPTO(&LOG_DEBUG); # current log mask
-
-my %options = (
- ndelay => 0,
- nofatal => 0,
- nowait => 0,
- perror => 0,
- pid => 0,
-);
-
-# Default is now to first use the native mechanism, so Perl programs
-# behave like other normal Unix programs, then try other mechanisms.
-my @connectMethods = qw(native tcp udp unix pipe stream console);
-if ($^O =~ /^(freebsd|linux)$/) {
- @connectMethods = grep { $_ ne 'udp' } @connectMethods;
-}
-
-EVENTLOG: {
- # use EventLog on Win32
- my $is_Win32 = $^O =~ /Win32/i;
-
- # some applications are trying to be too smart
- # yes I'm speaking of YOU, SpamAssassin, grr..
- local($SIG{__DIE__}, $SIG{__WARN__}, $@);
-
- if (eval "use Sys::Syslog::Win32; 1") {
- unshift @connectMethods, 'eventlog';
- }
- elsif ($is_Win32) {
- warn $@;
- }
-}
-
-my @defaultMethods = @connectMethods;
-my @fallbackMethods = ();
-
-# coderef for a nicer handling of errors
-my $err_sub = $options{nofatal} ? \&warnings::warnif : \&croak;
-
-
-sub AUTOLOAD {
- # This AUTOLOAD is used to 'autoload' constants from the constant()
- # XS function.
- no strict 'vars';
- my $constname;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- croak "Sys::Syslog::constant() not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- croak $error if $error;
- no strict 'refs';
- *$AUTOLOAD = sub { $val };
- goto &$AUTOLOAD;
-}
-
-
-sub openlog {
- ($ident, my $logopt, $facility) = @_;
-
- # default values
- $ident ||= basename($0) || getlogin() || getpwuid($<) || 'syslog';
- $logopt ||= '';
- $facility ||= LOG_USER();
-
- for my $opt (split /\b/, $logopt) {
- $options{$opt} = 1 if exists $options{$opt}
- }
-
- $err_sub = $options{nofatal} ? \&warnings::warnif : \&croak;
- return 1 unless $options{ndelay};
- connect_log();
-}
-
-sub closelog {
- $facility = $ident = '';
- disconnect_log();
-}
-
-sub setlogmask {
- my $oldmask = $maskpri;
- $maskpri = shift unless $_[0] == 0;
- $oldmask;
-}
-
-sub setlogsock {
- my $setsock = shift;
- $syslog_path = shift;
- disconnect_log() if $connected;
- $transmit_ok = 0;
- @fallbackMethods = ();
- @connectMethods = @defaultMethods;
-
- if (ref $setsock eq 'ARRAY') {
- @connectMethods = @$setsock;
-
- } elsif (lc $setsock eq 'stream') {
- if (not defined $syslog_path) {
- my @try = qw(/dev/log /dev/conslog);
-
- if (length &_PATH_LOG) { # Undefined _PATH_LOG is "".
- unshift @try, &_PATH_LOG;
- }
-
- for my $try (@try) {
- if (-w $try) {
- $syslog_path = $try;
- last;
- }
- }
-
- if (not defined $syslog_path) {
- warnings::warnif "stream passed to setlogsock, but could not find any device";
- return undef
- }
- }
-
- if (not -w $syslog_path) {
- warnings::warnif "stream passed to setlogsock, but $syslog_path is not writable";
- return undef;
- } else {
- @connectMethods = qw(stream);
- }
-
- } elsif (lc $setsock eq 'unix') {
- if (length _PATH_LOG() || (defined $syslog_path && -w $syslog_path)) {
- $syslog_path = _PATH_LOG() unless defined $syslog_path;
- @connectMethods = qw(unix);
- } else {
- warnings::warnif 'unix passed to setlogsock, but path not available';
- return undef;
- }
-
- } elsif (lc $setsock eq 'pipe') {
- for my $path ($syslog_path, &_PATH_LOG, "/dev/log") {
- next unless defined $path and length $path and -p $path and -w _;
- $syslog_path = $path;
- last
- }
-
- if (not $syslog_path) {
- warnings::warnif "pipe passed to setlogsock, but path not available";
- return undef
- }
-
- @connectMethods = qw(pipe);
-
- } elsif (lc $setsock eq 'native') {
- @connectMethods = qw(native);
-
- } elsif (lc $setsock eq 'eventlog') {
- if (eval "use Win32::EventLog; 1") {
- @connectMethods = qw(eventlog);
- } else {
- warnings::warnif "eventlog passed to setlogsock, but no Win32 API available";
- $@ = "";
- return undef;
- }
-
- } elsif (lc $setsock eq 'tcp') {
- if (getservbyname('syslog', 'tcp') || getservbyname('syslogng', 'tcp')) {
- @connectMethods = qw(tcp);
- } else {
- warnings::warnif "tcp passed to setlogsock, but tcp service unavailable";
- return undef;
- }
-
- } elsif (lc $setsock eq 'udp') {
- if (getservbyname('syslog', 'udp')) {
- @connectMethods = qw(udp);
- } else {
- warnings::warnif "udp passed to setlogsock, but udp service unavailable";
- return undef;
- }
-
- } elsif (lc $setsock eq 'inet') {
- @connectMethods = ( 'tcp', 'udp' );
-
- } elsif (lc $setsock eq 'console') {
- @connectMethods = qw(console);
-
- } else {
- croak "Invalid argument passed to setlogsock; must be 'stream', 'pipe', ",
- "'unix', 'native', 'eventlog', 'tcp', 'udp' or 'inet'"
- }
-
- return 1;
-}
-
-sub syslog {
- my $priority = shift;
- my $mask = shift;
- my ($message, $buf);
- my (@words, $num, $numpri, $numfac, $sum);
- my $failed = undef;
- my $fail_time = undef;
- my $error = $!;
-
- # if $ident is undefined, it means openlog() wasn't previously called
- # so do it now in order to have sensible defaults
- openlog() unless $ident;
-
- local $facility = $facility; # may need to change temporarily.
-
- croak "syslog: expecting argument \$priority" unless defined $priority;
- croak "syslog: expecting argument \$format" unless defined $mask;
-
- @words = split(/\W+/, $priority, 2); # Allow "level" or "level|facility".
- undef $numpri;
- undef $numfac;
-
- foreach (@words) {
- $num = xlate($_); # Translate word to number.
- if ($num < 0) {
- croak "syslog: invalid level/facility: $_"
- }
- elsif ($num <= &LOG_PRIMASK) {
- croak "syslog: too many levels given: $_" if defined $numpri;
- $numpri = $num;
- return 0 unless LOG_MASK($numpri) & $maskpri;
- }
- else {
- croak "syslog: too many facilities given: $_" if defined $numfac;
- $facility = $_;
- $numfac = $num;
- }
- }
-
- croak "syslog: level must be given" unless defined $numpri;
-
- if (not defined $numfac) { # Facility not specified in this call.
- $facility = 'user' unless $facility;
- $numfac = xlate($facility);
- }
-
- connect_log() unless $connected;
-
- if ($mask =~ /%m/) {
- # escape percent signs for sprintf()
- $error =~ s/%/%%/g if @_;
- # replace %m with $error, if preceded by an even number of percent signs
- $mask =~ s/(?<!%)((?:%%)*)%m/$1$error/g;
- }
-
- $mask .= "\n" unless $mask =~ /\n$/;
- $message = @_ ? sprintf($mask, @_) : $mask;
-
- # See CPAN-RT#24431. Opened on Apple Radar as bug #4944407 on 2007.01.21
- # Supposedly resolved on Leopard.
- chomp $message if $^O =~ /darwin/;
-
- if ($current_proto eq 'native') {
- $buf = $message;
- }
- elsif ($current_proto eq 'eventlog') {
- $buf = $message;
- }
- else {
- my $whoami = $ident;
- $whoami .= "[$$]" if $options{pid};
-
- $sum = $numpri + $numfac;
- my $oldlocale = setlocale(LC_TIME);
- setlocale(LC_TIME, 'C');
- my $timestamp = strftime "%b %e %T", localtime;
- setlocale(LC_TIME, $oldlocale);
- $buf = "<$sum>$timestamp $whoami: $message\0";
- }
-
- # handle PERROR option
- # "native" mechanism already handles it by itself
- if ($options{perror} and $current_proto ne 'native') {
- chomp $message;
- my $whoami = $ident;
- $whoami .= "[$$]" if $options{pid};
- print STDERR "$whoami: $message\n";
- }
-
- # it's possible that we'll get an error from sending
- # (e.g. if method is UDP and there is no UDP listener,
- # then we'll get ECONNREFUSED on the send). So what we
- # want to do at this point is to fallback onto a different
- # connection method.
- while (scalar @fallbackMethods || $syslog_send) {
- if ($failed && (time - $fail_time) > 60) {
- # it's been a while... maybe things have been fixed
- @fallbackMethods = ();
- disconnect_log();
- $transmit_ok = 0; # make it look like a fresh attempt
- connect_log();
- }
-
- if ($connected && !connection_ok()) {
- # Something was OK, but has now broken. Remember coz we'll
- # want to go back to what used to be OK.
- $failed = $current_proto unless $failed;
- $fail_time = time;
- disconnect_log();
- }
-
- connect_log() unless $connected;
- $failed = undef if ($current_proto && $failed && $current_proto eq $failed);
-
- if ($syslog_send) {
- if ($syslog_send->($buf, $numpri, $numfac)) {
- $transmit_ok++;
- return 1;
- }
- # typically doesn't happen, since errors are rare from write().
- disconnect_log();
- }
- }
- # could not send, could not fallback onto a working
- # connection method. Lose.
- return 0;
-}
-
-sub _syslog_send_console {
- my ($buf) = @_;
- chop($buf); # delete the NUL from the end
- # The console print is a method which could block
- # so we do it in a child process and always return success
- # to the caller.
- if (my $pid = fork) {
-
- if ($options{nowait}) {
- return 1;
- } else {
- if (waitpid($pid, 0) >= 0) {
- return ($? >> 8);
- } else {
- # it's possible that the caller has other
- # plans for SIGCHLD, so let's not interfere
- return 1;
- }
- }
- } else {
- if (open(CONS, ">/dev/console")) {
- my $ret = print CONS $buf . "\r"; # XXX: should this be \x0A ?
- exit $ret if defined $pid;
- close CONS;
- }
- exit if defined $pid;
- }
-}
-
-sub _syslog_send_stream {
- my ($buf) = @_;
- # XXX: this only works if the OS stream implementation makes a write
- # look like a putmsg() with simple header. For instance it works on
- # Solaris 8 but not Solaris 7.
- # To be correct, it should use a STREAMS API, but perl doesn't have one.
- return syswrite(SYSLOG, $buf, length($buf));
-}
-
-sub _syslog_send_pipe {
- my ($buf) = @_;
- return print SYSLOG $buf;
-}
-
-sub _syslog_send_socket {
- my ($buf) = @_;
- return syswrite(SYSLOG, $buf, length($buf));
- #return send(SYSLOG, $buf, 0);
-}
-
-sub _syslog_send_native {
- my ($buf, $numpri) = @_;
- syslog_xs($numpri, $buf);
- return 1;
-}
-
-
-# xlate()
-# -----
-# private function to translate names to numeric values
-#
-sub xlate {
- my($name) = @_;
- return $name+0 if $name =~ /^\s*\d+\s*$/;
- $name = uc $name;
- $name = "LOG_$name" unless $name =~ /^LOG_/;
- $name = "Sys::Syslog::$name";
- # Can't have just eval { &$name } || -1 because some LOG_XXX may be zero.
- my $value = eval { no strict 'refs'; &$name };
- $@ = "";
- return defined $value ? $value : -1;
-}
-
-
-# connect_log()
-# -----------
-# This function acts as a kind of front-end: it tries to connect to
-# a syslog service using the selected methods, trying each one in the
-# selected order.
-#
-sub connect_log {
- @fallbackMethods = @connectMethods unless scalar @fallbackMethods;
-
- if ($transmit_ok && $current_proto) {
- # Retry what we were on, because it has worked in the past.
- unshift(@fallbackMethods, $current_proto);
- }
-
- $connected = 0;
- my @errs = ();
- my $proto = undef;
-
- while ($proto = shift @fallbackMethods) {
- no strict 'refs';
- my $fn = "connect_$proto";
- $connected = &$fn(\@errs) if defined &$fn;
- last if $connected;
- }
-
- $transmit_ok = 0;
- if ($connected) {
- $current_proto = $proto;
- my ($old) = select(SYSLOG); $| = 1; select($old);
- } else {
- @fallbackMethods = ();
- $err_sub->(join "\n\t- ", "no connection to syslog available", @errs);
- return undef;
- }
-}
-
-sub connect_tcp {
- my ($errs) = @_;
-
- my $tcp = getprotobyname('tcp');
- if (!defined $tcp) {
- push @$errs, "getprotobyname failed for tcp";
- return 0;
- }
-
- my $syslog = getservbyname('syslog', 'tcp');
- $syslog = getservbyname('syslogng', 'tcp') unless defined $syslog;
- if (!defined $syslog) {
- push @$errs, "getservbyname failed for syslog/tcp and syslogng/tcp";
- return 0;
- }
-
- my $addr;
- if (defined $host) {
- $addr = inet_aton($host);
- if (!$addr) {
- push @$errs, "can't lookup $host";
- return 0;
- }
- } else {
- $addr = INADDR_LOOPBACK;
- }
- $addr = sockaddr_in($syslog, $addr);
-
- if (!socket(SYSLOG, AF_INET, SOCK_STREAM, $tcp)) {
- push @$errs, "tcp socket: $!";
- return 0;
- }
-
- setsockopt(SYSLOG, SOL_SOCKET, SO_KEEPALIVE, 1);
- if (eval { IPPROTO_TCP() }) {
- # These constants don't exist in 5.005. They were added in 1999
- setsockopt(SYSLOG, IPPROTO_TCP(), TCP_NODELAY(), 1);
- }
- $@ = "";
- if (!connect(SYSLOG, $addr)) {
- push @$errs, "tcp connect: $!";
- return 0;
- }
-
- $syslog_send = \&_syslog_send_socket;
-
- return 1;
-}
-
-sub connect_udp {
- my ($errs) = @_;
-
- my $udp = getprotobyname('udp');
- if (!defined $udp) {
- push @$errs, "getprotobyname failed for udp";
- return 0;
- }
-
- my $syslog = getservbyname('syslog', 'udp');
- if (!defined $syslog) {
- push @$errs, "getservbyname failed for syslog/udp";
- return 0;
- }
-
- my $addr;
- if (defined $host) {
- $addr = inet_aton($host);
- if (!$addr) {
- push @$errs, "can't lookup $host";
- return 0;
- }
- } else {
- $addr = INADDR_LOOPBACK;
- }
- $addr = sockaddr_in($syslog, $addr);
-
- if (!socket(SYSLOG, AF_INET, SOCK_DGRAM, $udp)) {
- push @$errs, "udp socket: $!";
- return 0;
- }
- if (!connect(SYSLOG, $addr)) {
- push @$errs, "udp connect: $!";
- return 0;
- }
-
- # We want to check that the UDP connect worked. However the only
- # way to do that is to send a message and see if an ICMP is returned
- _syslog_send_socket("");
- if (!connection_ok()) {
- push @$errs, "udp connect: nobody listening";
- return 0;
- }
-
- $syslog_send = \&_syslog_send_socket;
-
- return 1;
-}
-
-sub connect_stream {
- my ($errs) = @_;
- # might want syslog_path to be variable based on syslog.h (if only
- # it were in there!)
- $syslog_path = '/dev/conslog' unless defined $syslog_path;
- if (!-w $syslog_path) {
- push @$errs, "stream $syslog_path is not writable";
- return 0;
- }
- if (!sysopen(SYSLOG, $syslog_path, 0400, O_WRONLY)) {
- push @$errs, "stream can't open $syslog_path: $!";
- return 0;
- }
- $syslog_send = \&_syslog_send_stream;
- return 1;
-}
-
-sub connect_pipe {
- my ($errs) = @_;
-
- $syslog_path ||= &_PATH_LOG || "/dev/log";
-
- if (not -w $syslog_path) {
- push @$errs, "$syslog_path is not writable";
- return 0;
- }
-
- if (not open(SYSLOG, ">$syslog_path")) {
- push @$errs, "can't write to $syslog_path: $!";
- return 0;
- }
-
- $syslog_send = \&_syslog_send_pipe;
-
- return 1;
-}
-
-sub connect_unix {
- my ($errs) = @_;
-
- $syslog_path ||= _PATH_LOG() if length _PATH_LOG();
-
- if (not defined $syslog_path) {
- push @$errs, "_PATH_LOG not available in syslog.h and no user-supplied socket path";
- return 0;
- }
-
- if (not (-S $syslog_path or -c _)) {
- push @$errs, "$syslog_path is not a socket";
- return 0;
- }
-
- my $addr = sockaddr_un($syslog_path);
- if (!$addr) {
- push @$errs, "can't locate $syslog_path";
- return 0;
- }
- if (!socket(SYSLOG, AF_UNIX, SOCK_STREAM, 0)) {
- push @$errs, "unix stream socket: $!";
- return 0;
- }
-
- if (!connect(SYSLOG, $addr)) {
- if (!socket(SYSLOG, AF_UNIX, SOCK_DGRAM, 0)) {
- push @$errs, "unix dgram socket: $!";
- return 0;
- }
- if (!connect(SYSLOG, $addr)) {
- push @$errs, "unix dgram connect: $!";
- return 0;
- }
- }
-
- $syslog_send = \&_syslog_send_socket;
-
- return 1;
-}
-
-sub connect_native {
- my ($errs) = @_;
- my $logopt = 0;
-
- # reconstruct the numeric equivalent of the options
- for my $opt (keys %options) {
- $logopt += xlate($opt) if $options{$opt}
- }
-
- eval { openlog_xs($ident, $logopt, xlate($facility)) };
- if ($@) {
- push @$errs, $@;
- return 0;
- }
-
- $syslog_send = \&_syslog_send_native;
-
- return 1;
-}
-
-sub connect_eventlog {
- my ($errs) = @_;
-
- $syslog_xobj = Sys::Syslog::Win32::_install();
- $syslog_send = \&Sys::Syslog::Win32::_syslog_send;
-
- return 1;
-}
-
-sub connect_console {
- my ($errs) = @_;
- if (!-w '/dev/console') {
- push @$errs, "console is not writable";
- return 0;
- }
- $syslog_send = \&_syslog_send_console;
- return 1;
-}
-
-# To test if the connection is still good, we need to check if any
-# errors are present on the connection. The errors will not be raised
-# by a write. Instead, sockets are made readable and the next read
-# would cause the error to be returned. Unfortunately the syslog
-# 'protocol' never provides anything for us to read. But with
-# judicious use of select(), we can see if it would be readable...
-sub connection_ok {
- return 1 if defined $current_proto and (
- $current_proto eq 'native' or $current_proto eq 'console'
- or $current_proto eq 'eventlog'
- );
-
- my $rin = '';
- vec($rin, fileno(SYSLOG), 1) = 1;
- my $ret = select $rin, undef, $rin, 0.25;
- return ($ret ? 0 : 1);
-}
-
-sub disconnect_log {
- $connected = 0;
- $syslog_send = undef;
-
- if (defined $current_proto and $current_proto eq 'native') {
- closelog_xs();
- return 1;
- }
- elsif (defined $current_proto and $current_proto eq 'eventlog') {
- $syslog_xobj->Close();
- return 1;
- }
-
- return close SYSLOG;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Sys::Syslog - Perl interface to the UNIX syslog(3) calls
-
-=head1 VERSION
-
-Version 0.24
-
-=head1 SYNOPSIS
-
- use Sys::Syslog; # all except setlogsock(), or:
- use Sys::Syslog qw(:DEFAULT setlogsock); # default set, plus setlogsock()
- use Sys::Syslog qw(:standard :macros); # standard functions, plus macros
-
- openlog $ident, $logopt, $facility; # don't forget this
- syslog $priority, $format, @args;
- $oldmask = setlogmask $mask_priority;
- closelog;
-
-
-=head1 DESCRIPTION
-
-C<Sys::Syslog> is an interface to the UNIX C<syslog(3)> program.
-Call C<syslog()> with a string priority and a list of C<printf()> args
-just like C<syslog(3)>.
-
-You can find a kind of FAQ in L<"THE RULES OF SYS::SYSLOG">. Please read
-it before coding, and again before asking questions.
-
-
-=head1 EXPORTS
-
-C<Sys::Syslog> exports the following C<Exporter> tags:
-
-=over 4
-
-=item *
-
-C<:standard> exports the standard C<syslog(3)> functions:
-
- openlog closelog setlogmask syslog
-
-=item *
-
-C<:extended> exports the Perl specific functions for C<syslog(3)>:
-
- setlogsock
-
-=item *
-
-C<:macros> exports the symbols corresponding to most of your C<syslog(3)>
-macros and the C<LOG_UPTO()> and C<LOG_MASK()> functions.
-See L<"CONSTANTS"> for the supported constants and their meaning.
-
-=back
-
-By default, C<Sys::Syslog> exports the symbols from the C<:standard> tag.
-
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item B<openlog($ident, $logopt, $facility)>
-
-Opens the syslog.
-C<$ident> is prepended to every message. C<$logopt> contains zero or
-more of the options detailed below. C<$facility> specifies the part
-of the system to report about, for example C<LOG_USER> or C<LOG_LOCAL0>:
-see L<"Facilities"> for a list of well-known facilities, and your
-C<syslog(3)> documentation for the facilities available in your system.
-Check L<"SEE ALSO"> for useful links. Facility can be given as a string
-or a numeric macro.
-
-This function will croak if it can't connect to the syslog daemon.
-
-Note that C<openlog()> now takes three arguments, just like C<openlog(3)>.
-
-B<You should use C<openlog()> before calling C<syslog()>.>
-
-B<Options>
-
-=over 4
-
-=item *
-
-C<cons> - This option is ignored, since the failover mechanism will drop
-down to the console automatically if all other media fail.
-
-=item *
-
-C<ndelay> - Open the connection immediately (normally, the connection is
-opened when the first message is logged).
-
-=item *
-
-C<nofatal> - When set to true, C<openlog()> and C<syslog()> will only
-emit warnings instead of dying if the connection to the syslog can't
-be established.
-
-=item *
-
-C<nowait> - Don't wait for child processes that may have been created
-while logging the message. (The GNU C library does not create a child
-process, so this option has no effect on Linux.)
-
-=item *
-
-C<perror> - Write the message to standard error output as well to the
-system log.
-
-=item *
-
-C<pid> - Include PID with each message.
-
-=back
-
-B<Examples>
-
-Open the syslog with options C<ndelay> and C<pid>, and with facility C<LOCAL0>:
-
- openlog($name, "ndelay,pid", "local0");
-
-Same thing, but this time using the macro corresponding to C<LOCAL0>:
-
- openlog($name, "ndelay,pid", LOG_LOCAL0);
-
-
-=item B<syslog($priority, $message)>
-
-=item B<syslog($priority, $format, @args)>
-
-If C<$priority> permits, logs C<$message> or C<sprintf($format, @args)>
-with the addition that C<%m> in $message or C<$format> is replaced with
-C<"$!"> (the latest error message).
-
-C<$priority> can specify a level, or a level and a facility. Levels and
-facilities can be given as strings or as macros. When using the C<eventlog>
-mechanism, priorities C<DEBUG> and C<INFO> are mapped to event type
-C<informational>, C<NOTICE> and C<WARNIN> to C<warning> and C<ERR> to
-C<EMERG> to C<error>.
-
-If you didn't use C<openlog()> before using C<syslog()>, C<syslog()> will
-try to guess the C<$ident> by extracting the shortest prefix of
-C<$format> that ends in a C<":">.
-
-B<Examples>
-
- syslog("info", $message); # informational level
- syslog(LOG_INFO, $message); # informational level
-
- syslog("info|local0", $message); # information level, Local0 facility
- syslog(LOG_INFO|LOG_LOCAL0, $message); # information level, Local0 facility
-
-=over 4
-
-=item B<Note>
-
-C<Sys::Syslog> version v0.07 and older passed the C<$message> as the
-formatting string to C<sprintf()> even when no formatting arguments
-were provided. If the code calling C<syslog()> might execute with
-older versions of this module, make sure to call the function as
-C<syslog($priority, "%s", $message)> instead of C<syslog($priority,
-$message)>. This protects against hostile formatting sequences that
-might show up if $message contains tainted data.
-
-=back
-
-
-=item B<setlogmask($mask_priority)>
-
-Sets the log mask for the current process to C<$mask_priority> and
-returns the old mask. If the mask argument is 0, the current log mask
-is not modified. See L<"Levels"> for the list of available levels.
-You can use the C<LOG_UPTO()> function to allow all levels up to a
-given priority (but it only accept the numeric macros as arguments).
-
-B<Examples>
-
-Only log errors:
-
- setlogmask( LOG_MASK(LOG_ERR) );
-
-Log everything except informational messages:
-
- setlogmask( ~(LOG_MASK(LOG_INFO)) );
-
-Log critical messages, errors and warnings:
-
- setlogmask( LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ERR) | LOG_MASK(LOG_WARNING) );
-
-Log all messages up to debug:
-
- setlogmask( LOG_UPTO(LOG_DEBUG) );
-
-
-=item B<setlogsock($sock_type)>
-
-=item B<setlogsock($sock_type, $stream_location)> (added in Perl 5.004_02)
-
-Sets the socket type to be used for the next call to
-C<openlog()> or C<syslog()> and returns true on success,
-C<undef> on failure. The available mechanisms are:
-
-=over
-
-=item *
-
-C<"native"> - use the native C functions from your C<syslog(3)> library
-(added in C<Sys::Syslog> 0.15).
-
-=item *
-
-C<"eventlog"> - send messages to the Win32 events logger (Win32 only;
-added in C<Sys::Syslog> 0.19).
-
-=item *
-
-C<"tcp"> - connect to a TCP socket, on the C<syslog/tcp> or C<syslogng/tcp>
-service.
-
-=item *
-
-C<"udp"> - connect to a UDP socket, on the C<syslog/udp> service.
-
-=item *
-
-C<"inet"> - connect to an INET socket, either TCP or UDP, tried in that order.
-
-=item *
-
-C<"unix"> - connect to a UNIX domain socket (in some systems a character
-special device). The name of that socket is the second parameter or, if
-you omit the second parameter, the value returned by the C<_PATH_LOG> macro
-(if your system defines it), or F</dev/log> or F</dev/conslog>, whatever is
-writable.
-
-=item *
-
-C<"stream"> - connect to the stream indicated by the pathname provided as
-the optional second parameter, or, if omitted, to F</dev/conslog>.
-For example Solaris and IRIX system may prefer C<"stream"> instead of C<"unix">.
-
-=item *
-
-C<"pipe"> - connect to the named pipe indicated by the pathname provided as
-the optional second parameter, or, if omitted, to the value returned by
-the C<_PATH_LOG> macro (if your system defines it), or F</dev/log>
-(added in C<Sys::Syslog> 0.21).
-
-=item *
-
-C<"console"> - send messages directly to the console, as for the C<"cons">
-option of C<openlog()>.
-
-=back
-
-A reference to an array can also be passed as the first parameter.
-When this calling method is used, the array should contain a list of
-mechanisms which are attempted in order.
-
-The default is to try C<native>, C<tcp>, C<udp>, C<unix>, C<stream>, C<console>.
-Under systems with the Win32 API, C<eventlog> will be added as the first
-mechanism to try if C<Win32::EventLog> is available.
-
-Giving an invalid value for C<$sock_type> will C<croak>.
-
-B<Examples>
-
-Select the UDP socket mechanism:
-
- setlogsock("udp");
-
-Select the native, UDP socket then UNIX domain socket mechanisms:
-
- setlogsock(["native", "udp", "unix"]);
-
-=over
-
-=item B<Note>
-
-Now that the "native" mechanism is supported by C<Sys::Syslog> and selected
-by default, the use of the C<setlogsock()> function is discouraged because
-other mechanisms are less portable across operating systems. Authors of
-modules and programs that use this function, especially its cargo-cult form
-C<setlogsock("unix")>, are advised to remove any occurence of it unless they
-specifically want to use a given mechanism (like TCP or UDP to connect to
-a remote host).
-
-=back
-
-=item B<closelog()>
-
-Closes the log file and returns true on success.
-
-=back
-
-
-=head1 THE RULES OF SYS::SYSLOG
-
-I<The First Rule of Sys::Syslog is:>
-You do not call C<setlogsock>.
-
-I<The Second Rule of Sys::Syslog is:>
-You B<do not> call C<setlogsock>.
-
-I<The Third Rule of Sys::Syslog is:>
-The program crashes, C<die>s, calls C<closelog>, the log is over.
-
-I<The Fourth Rule of Sys::Syslog is:>
-One facility, one priority.
-
-I<The Fifth Rule of Sys::Syslog is:>
-One log at a time.
-
-I<The Sixth Rule of Sys::Syslog is:>
-No C<syslog> before C<openlog>.
-
-I<The Seventh Rule of Sys::Syslog is:>
-Logs will go on as long as they have to.
-
-I<The Eighth, and Final Rule of Sys::Syslog is:>
-If this is your first use of Sys::Syslog, you must read the doc.
-
-
-=head1 EXAMPLES
-
-An example:
-
- openlog($program, 'cons,pid', 'user');
- syslog('info', '%s', 'this is another test');
- syslog('mail|warning', 'this is a better test: %d', time);
- closelog();
-
- syslog('debug', 'this is the last test');
-
-Another example:
-
- openlog("$program $$", 'ndelay', 'user');
- syslog('notice', 'fooprogram: this is really done');
-
-Example of use of C<%m>:
-
- $! = 55;
- syslog('info', 'problem was %m'); # %m == $! in syslog(3)
-
-Log to UDP port on C<$remotehost> instead of logging locally:
-
- setlogsock('udp');
- $Sys::Syslog::host = $remotehost;
- openlog($program, 'ndelay', 'user');
- syslog('info', 'something happened over here');
-
-
-=head1 CONSTANTS
-
-=head2 Facilities
-
-=over 4
-
-=item *
-
-C<LOG_AUDIT> - audit daemon (IRIX); falls back to C<LOG_AUTH>
-
-=item *
-
-C<LOG_AUTH> - security/authorization messages
-
-=item *
-
-C<LOG_AUTHPRIV> - security/authorization messages (private)
-
-=item *
-
-C<LOG_CONSOLE> - C</dev/console> output (FreeBSD); falls back to C<LOG_USER>
-
-=item *
-
-C<LOG_CRON> - clock daemons (B<cron> and B<at>)
-
-=item *
-
-C<LOG_DAEMON> - system daemons without separate facility value
-
-=item *
-
-C<LOG_FTP> - FTP daemon
-
-=item *
-
-C<LOG_KERN> - kernel messages
-
-=item *
-
-C<LOG_INSTALL> - installer subsystem (Mac OS X); falls back to C<LOG_USER>
-
-=item *
-
-C<LOG_LAUNCHD> - launchd - general bootstrap daemon (Mac OS X);
-falls back to C<LOG_DAEMON>
-
-=item *
-
-C<LOG_LFMT> - logalert facility; falls back to C<LOG_USER>
-
-=item *
-
-C<LOG_LOCAL0> through C<LOG_LOCAL7> - reserved for local use
-
-=item *
-
-C<LOG_LPR> - line printer subsystem
-
-=item *
-
-C<LOG_MAIL> - mail subsystem
-
-=item *
-
-C<LOG_NETINFO> - NetInfo subsystem (Mac OS X); falls back to C<LOG_DAEMON>
-
-=item *
-
-C<LOG_NEWS> - USENET news subsystem
-
-=item *
-
-C<LOG_NTP> - NTP subsystem (FreeBSD, NetBSD); falls back to C<LOG_DAEMON>
-
-=item *
-
-C<LOG_RAS> - Remote Access Service (VPN / PPP) (Mac OS X);
-falls back to C<LOG_AUTH>
-
-=item *
-
-C<LOG_REMOTEAUTH> - remote authentication/authorization (Mac OS X);
-falls back to C<LOG_AUTH>
-
-=item *
-
-C<LOG_SECURITY> - security subsystems (firewalling, etc.) (FreeBSD);
-falls back to C<LOG_AUTH>
-
-=item *
-
-C<LOG_SYSLOG> - messages generated internally by B<syslogd>
-
-=item *
-
-C<LOG_USER> (default) - generic user-level messages
-
-=item *
-
-C<LOG_UUCP> - UUCP subsystem
-
-=back
-
-
-=head2 Levels
-
-=over 4
-
-=item *
-
-C<LOG_EMERG> - system is unusable
-
-=item *
-
-C<LOG_ALERT> - action must be taken immediately
-
-=item *
-
-C<LOG_CRIT> - critical conditions
-
-=item *
-
-C<LOG_ERR> - error conditions
-
-=item *
-
-C<LOG_WARNING> - warning conditions
-
-=item *
-
-C<LOG_NOTICE> - normal, but significant, condition
-
-=item *
-
-C<LOG_INFO> - informational message
-
-=item *
-
-C<LOG_DEBUG> - debug-level message
-
-=back
-
-
-=head1 DIAGNOSTICS
-
-=over
-
-=item C<Invalid argument passed to setlogsock>
-
-B<(F)> You gave C<setlogsock()> an invalid value for C<$sock_type>.
-
-=item C<eventlog passed to setlogsock, but no Win32 API available>
-
-B<(W)> You asked C<setlogsock()> to use the Win32 event logger but the
-operating system running the program isn't Win32 or does not provides Win32
-compatible facilities.
-
-=item C<no connection to syslog available>
-
-B<(F)> C<syslog()> failed to connect to the specified socket.
-
-=item C<stream passed to setlogsock, but %s is not writable>
-
-B<(W)> You asked C<setlogsock()> to use a stream socket, but the given
-path is not writable.
-
-=item C<stream passed to setlogsock, but could not find any device>
-
-B<(W)> You asked C<setlogsock()> to use a stream socket, but didn't
-provide a path, and C<Sys::Syslog> was unable to find an appropriate one.
-
-=item C<tcp passed to setlogsock, but tcp service unavailable>
-
-B<(W)> You asked C<setlogsock()> to use a TCP socket, but the service
-is not available on the system.
-
-=item C<syslog: expecting argument %s>
-
-B<(F)> You forgot to give C<syslog()> the indicated argument.
-
-=item C<syslog: invalid level/facility: %s>
-
-B<(F)> You specified an invalid level or facility.
-
-=item C<syslog: too many levels given: %s>
-
-B<(F)> You specified too many levels.
-
-=item C<syslog: too many facilities given: %s>
-
-B<(F)> You specified too many facilities.
-
-=item C<syslog: level must be given>
-
-B<(F)> You forgot to specify a level.
-
-=item C<udp passed to setlogsock, but udp service unavailable>
-
-B<(W)> You asked C<setlogsock()> to use a UDP socket, but the service
-is not available on the system.
-
-=item C<unix passed to setlogsock, but path not available>
-
-B<(W)> You asked C<setlogsock()> to use a UNIX socket, but C<Sys::Syslog>
-was unable to find an appropriate an appropriate device.
-
-=back
-
-
-=head1 SEE ALSO
-
-=head2 Manual Pages
-
-L<syslog(3)>
-
-SUSv3 issue 6, IEEE Std 1003.1, 2004 edition,
-L<http://www.opengroup.org/onlinepubs/000095399/basedefs/syslog.h.html>
-
-GNU C Library documentation on syslog,
-L<http://www.gnu.org/software/libc/manual/html_node/Syslog.html>
-
-Solaris 10 documentation on syslog,
-L<http://docs.sun.com/app/docs/doc/816-5168/6mbb3hruo?a=view>
-
-IRIX 6.4 documentation on syslog,
-L<http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0640&db=man&fname=3c+syslog>
-
-AIX 5L 5.3 documentation on syslog,
-L<http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf2/syslog.htm>
-
-HP-UX 11i documentation on syslog,
-L<http://docs.hp.com/en/B9106-90010/syslog.3C.html>
-
-Tru64 5.1 documentation on syslog,
-L<http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51_HTML/MAN/MAN3/0193____.HTM>
-
-Stratus VOS 15.1,
-L<http://stratadoc.stratus.com/vos/15.1.1/r502-01/wwhelp/wwhimpl/js/html/wwhelp.htm?context=r502-01&file=ch5r502-01bi.html>
-
-=head2 RFCs
-
-I<RFC 3164 - The BSD syslog Protocol>, L<http://www.faqs.org/rfcs/rfc3164.html>
--- Please note that this is an informational RFC, and therefore does not
-specify a standard of any kind.
-
-I<RFC 3195 - Reliable Delivery for syslog>, L<http://www.faqs.org/rfcs/rfc3195.html>
-
-=head2 Articles
-
-I<Syslogging with Perl>, L<http://lexington.pm.org/meetings/022001.html>
-
-=head2 Event Log
-
-Windows Event Log,
-L<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wes/wes/windows_event_log.asp>
-
-
-=head1 AUTHORS & ACKNOWLEDGEMENTS
-
-Tom Christiansen E<lt>F<tchrist (at) perl.com>E<gt> and Larry Wall
-E<lt>F<larry (at) wall.org>E<gt>.
-
-UNIX domain sockets added by Sean Robinson
-E<lt>F<robinson_s (at) sc.maricopa.edu>E<gt> with support from Tim Bunce
-E<lt>F<Tim.Bunce (at) ig.co.uk>E<gt> and the C<perl5-porters> mailing list.
-
-Dependency on F<syslog.ph> replaced with XS code by Tom Hughes
-E<lt>F<tom (at) compton.nu>E<gt>.
-
-Code for C<constant()>s regenerated by Nicholas Clark E<lt>F<nick (at) ccl4.org>E<gt>.
-
-Failover to different communication modes by Nick Williams
-E<lt>F<Nick.Williams (at) morganstanley.com>E<gt>.
-
-Extracted from core distribution for publishing on the CPAN by
-SE<eacute>bastien Aperghis-Tramoni E<lt>sebastien (at) aperghis.netE<gt>.
-
-XS code for using native C functions borrowed from C<L<Unix::Syslog>>,
-written by Marcus Harnisch E<lt>F<marcus.harnisch (at) gmx.net>E<gt>.
-
-Yves Orton suggested and helped for making C<Sys::Syslog> use the native
-event logger under Win32 systems.
-
-Jerry D. Hedden and Reini Urban provided greatly appreciated help to
-debug and polish C<Sys::Syslog> under Cygwin.
-
-
-=head1 BUGS
-
-Please report any bugs or feature requests to
-C<bug-sys-syslog (at) rt.cpan.org>, or through the web interface at
-L<http://rt.cpan.org/Public/Dist/Display.html?Name=Sys-Syslog>.
-I will be notified, and then you'll automatically be notified of progress on
-your bug as I make changes.
-
-
-=head1 SUPPORT
-
-You can find documentation for this module with the perldoc command.
-
- perldoc Sys::Syslog
-
-You can also look for information at:
-
-=over 4
-
-=item * AnnoCPAN: Annotated CPAN documentation
-
-L<http://annocpan.org/dist/Sys-Syslog>
-
-=item * CPAN Ratings
-
-L<http://cpanratings.perl.org/d/Sys-Syslog>
-
-=item * RT: CPAN's request tracker
-
-L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Sys-Syslog>
-
-=item * Search CPAN
-
-L<http://search.cpan.org/dist/Sys-Syslog/>
-
-=item * Kobes' CPAN Search
-
-L<http://cpan.uwinnipeg.ca/dist/Sys-Syslog>
-
-=item * Perl Documentation
-
-L<http://perldoc.perl.org/Sys/Syslog.html>
-
-=back
-
-
-=head1 COPYRIGHT
-
-Copyright (C) 1990-2007 by Larry Wall and others.
-
-
-=head1 LICENSE
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=cut
-
-=begin comment
-
-Notes for the future maintainer (even if it's still me..)
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-Using Google Code Search, I search who on Earth was relying on $host being
-public. It found 5 hits:
-
-* First was inside Indigo Star Perl2exe documentation. Just an old version
-of Sys::Syslog.
-
-
-* One real hit was inside DalWeathDB, a weather related program. It simply
-does a
-
- $Sys::Syslog::host = '127.0.0.1';
-
-- L<http://www.gallistel.net/nparker/weather/code/>
-
-
-* Two hits were in TPC, a fax server thingy. It does a
-
- $Sys::Syslog::host = $TPC::LOGHOST;
-
-but also has this strange piece of code:
-
- # work around perl5.003 bug
- sub Sys::Syslog::hostname {}
-
-I don't know what bug the author referred to.
-
-- L<http://www.tpc.int/>
-- L<ftp://ftp.tpc.int/tpc/server/UNIX/>
-- L<ftp://ftp-usa.tpc.int/pub/tpc/server/UNIX/>
-
-
-* Last hit was in Filefix, which seems to be a FIDOnet mail program (!).
-This one does not use $host, but has the following piece of code:
-
- sub Sys::Syslog::hostname
- {
- use Sys::Hostname;
- return hostname;
- }
-
-I guess this was a more elaborate form of the previous bit, maybe because
-of a bug in Sys::Syslog back then?
-
-- L<ftp://ftp.kiae.su/pub/unix/fido/>
-
-
-Links
------
-II12021: SYSLOGD HOWTO TCPIPINFO (z/OS, OS/390, MVS)
-- L<http://www-1.ibm.com/support/docview.wss?uid=isg1II12021>
-
-Getting the most out of the Event Viewer
-- L<http://www.codeproject.com/dotnet/evtvwr.asp?print=true>
-
-Log events to the Windows NT Event Log with JNI
-- L<http://www.javaworld.com/javaworld/jw-09-2001/jw-0928-ntmessages.html>
-
-=end comment
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Text/Soundex.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Text/Soundex.pm
deleted file mode 100644
index 5d702200164..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Text/Soundex.pm
+++ /dev/null
@@ -1,260 +0,0 @@
-# -*- perl -*-
-
-# (c) Copyright 1998-2007 by Mark Mielke
-#
-# Freedom to use these sources for whatever you want, as long as credit
-# is given where credit is due, is hereby granted. You may make modifications
-# where you see fit but leave this copyright somewhere visible. As well, try
-# to initial any changes you make so that if I like the changes I can
-# incorporate them into later versions.
-#
-# - Mark Mielke <mark@mielke.cc>
-#
-
-package Text::Soundex;
-require 5.006;
-
-use Exporter ();
-use XSLoader ();
-
-use strict;
-
-our $VERSION = '3.03';
-our @EXPORT_OK = qw(soundex soundex_unicode soundex_nara soundex_nara_unicode
- $soundex_nocode);
-our @EXPORT = qw(soundex soundex_nara $soundex_nocode);
-our @ISA = qw(Exporter);
-
-our $nocode;
-
-# Previous releases of Text::Soundex made $nocode available as $soundex_nocode.
-# For now, this part of the interface is exported and maintained.
-# In the feature, $soundex_nocode will be deprecated.
-*Text::Soundex::soundex_nocode = \$nocode;
-
-sub soundex_noxs
-{
- # Original Soundex algorithm
-
- my @results = map {
- my $code = uc($_);
- $code =~ tr/AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr//cd;
-
- if (length($code)) {
- my $firstchar = substr($code, 0, 1);
- $code =~ tr[AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr]
- [0000000000000000111111112222222222222222333344555566]s;
- ($code = substr($code, 1)) =~ tr/0//d;
- substr($firstchar . $code . '000', 0, 4);
- } else {
- $nocode;
- }
- } @_;
-
- wantarray ? @results : $results[0];
-}
-
-sub soundex_nara
-{
- # US census (NARA) algorithm.
-
- my @results = map {
- my $code = uc($_);
- $code =~ tr/AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr//cd;
-
- if (length($code)) {
- my $firstchar = substr($code, 0, 1);
- $code =~ tr[AaEeHhIiOoUuWwYyBbFfPpVvCcGgJjKkQqSsXxZzDdTtLlMmNnRr]
- [0000990000009900111111112222222222222222333344555566]s;
- $code =~ s/(.)9\1/$1/gs;
- ($code = substr($code, 1)) =~ tr/09//d;
- substr($firstchar . $code . '000', 0, 4);
- } else {
- $nocode
- }
- } @_;
-
- wantarray ? @results : $results[0];
-}
-
-sub soundex_unicode
-{
- require Text::Unidecode unless defined &Text::Unidecode::unidecode;
- soundex(Text::Unidecode::unidecode(@_));
-}
-
-sub soundex_nara_unicode
-{
- require Text::Unidecode unless defined &Text::Unidecode::unidecode;
- soundex_nara(Text::Unidecode::unidecode(@_));
-}
-
-eval { XSLoader::load(__PACKAGE__, $VERSION) };
-
-if (defined(&soundex_xs)) {
- *soundex = \&soundex_xs;
-} else {
- *soundex = \&soundex_noxs;
- *soundex_xs = sub {
- require Carp;
- Carp::croak("XS implementation of Text::Soundex::soundex_xs() ".
- "could not be loaded");
- };
-}
-
-1;
-
-__END__
-
-# Implementation of the soundex algorithm.
-#
-# Some of this documention was written by Mike Stok.
-#
-# Examples:
-#
-# Euler, Ellery -> E460
-# Gauss, Ghosh -> G200
-# Hilbert, Heilbronn -> H416
-# Knuth, Kant -> K530
-# Lloyd, Ladd -> L300
-# Lukasiewicz, Lissajous -> L222
-#
-
-=head1 NAME
-
-Text::Soundex - Implementation of the soundex algorithm.
-
-=head1 SYNOPSIS
-
- use Text::Soundex;
-
- # Original algorithm.
- $code = soundex($name); # Get the soundex code for a name.
- @codes = soundex(@names); # Get the list of codes for a list of names.
-
- # American Soundex variant (NARA) - Used for US census data.
- $code = soundex_nara($name); # Get the soundex code for a name.
- @codes = soundex_nara(@names); # Get the list of codes for a list of names.
-
- # Redefine the value that soundex() will return if the input string
- # contains no identifiable sounds within it.
- $Text::Soundex::nocode = 'Z000';
-
-=head1 DESCRIPTION
-
-Soundex is a phonetic algorithm for indexing names by sound, as
-pronounced in English. The goal is for names with the same
-pronunciation to be encoded to the same representation so that they
-can be matched despite minor differences in spelling. Soundex is the
-most widely known of all phonetic algorithms and is often used
-(incorrectly) as a synonym for "phonetic algorithm". Improvements to
-Soundex are the basis for many modern phonetic algorithms. (Wikipedia,
-2007)
-
-This module implements the original soundex algorithm developed by
-Robert Russell and Margaret Odell, patented in 1918 and 1922, as well
-as a variation called "American Soundex" used for US census data, and
-current maintained by the National Archives and Records Administration
-(NARA).
-
-The soundex algorithm may be recognized from Donald Knuth's
-B<The Art of Computer Programming>. The algorithm described by
-Knuth is the NARA algorithm.
-
-The value returned for strings which have no soundex encoding is
-defined using C<$Text::Soundex::nocode>. The default value is C<undef>,
-however values such as C<'Z000'> are commonly used alternatives.
-
-For backward compatibility with older versions of this module the
-C<$Text::Soundex::nocode> is exported into the caller's namespace as
-C<$soundex_nocode>.
-
-In scalar context, C<soundex()> returns the soundex code of its first
-argument. In list context, a list is returned in which each element is the
-soundex code for the corresponding argument passed to C<soundex()>. For
-example, the following code assigns @codes the value C<('M200', 'S320')>:
-
- @codes = soundex qw(Mike Stok);
-
-To use C<Text::Soundex> to generate codes that can be used to search one
-of the publically available US Censuses, a variant of the soundex
-algorithm must be used:
-
- use Text::Soundex;
- $code = soundex_nara($name);
-
-An example of where these algorithm differ follows:
-
- use Text::Soundex;
- print soundex("Ashcraft"), "\n"; # prints: A226
- print soundex_nara("Ashcraft"), "\n"; # prints: A261
-
-=head1 EXAMPLES
-
-Donald Knuth's examples of names and the soundex codes they map to
-are listed below:
-
- Euler, Ellery -> E460
- Gauss, Ghosh -> G200
- Hilbert, Heilbronn -> H416
- Knuth, Kant -> K530
- Lloyd, Ladd -> L300
- Lukasiewicz, Lissajous -> L222
-
-so:
-
- $code = soundex 'Knuth'; # $code contains 'K530'
- @list = soundex qw(Lloyd Gauss); # @list contains 'L300', 'G200'
-
-=head1 LIMITATIONS
-
-As the soundex algorithm was originally used a B<long> time ago in the US
-it considers only the English alphabet and pronunciation. In particular,
-non-ASCII characters will be ignored. The recommended method of dealing
-with characters that have accents, or other unicode characters, is to use
-the Text::Unidecode module available from CPAN. Either use the module
-explicitly:
-
- use Text::Soundex;
- use Text::Unidecode;
-
- print soundex(unidecode("Fran\xE7ais")), "\n"; # Prints "F652\n"
-
-Or use the convenient wrapper routine:
-
- use Text::Soundex 'soundex_unicode';
-
- print soundex_unicode("Fran\xE7ais"), "\n"; # Prints "F652\n"
-
-Since the soundex algorithm maps a large space (strings of arbitrary
-length) onto a small space (single letter plus 3 digits) no inference
-can be made about the similarity of two strings which end up with the
-same soundex code. For example, both C<Hilbert> and C<Heilbronn> end
-up with a soundex code of C<H416>.
-
-=head1 MAINTAINER
-
-This module is currently maintain by Mark Mielke (C<mark@mielke.cc>).
-
-=head1 HISTORY
-
-Version 3 is a significant update to provide support for versions of
-Perl later than Perl 5.004. Specifically, the XS version of the
-soundex() subroutine understands strings that are encoded using UTF-8
-(unicode strings).
-
-Version 2 of this module was a re-write by Mark Mielke (C<mark@mielke.cc>)
-to improve the speed of the subroutines. The XS version of the soundex()
-subroutine was introduced in 2.00.
-
-Version 1 of this module was written by Mike Stok (C<mike@stok.co.uk>)
-and was included into the Perl core library set.
-
-Dave Carlsen (C<dcarlsen@csranet.com>) made the request for the NARA
-algorithm to be included. The NARA soundex page can be viewed at:
-C<http://www.nara.gov/genealogy/soundex/soundex.html>
-
-Ian Phillips (C<ian@pipex.net>) and Rich Pinder (C<rpinder@hsc.usc.edu>)
-supplied ideas and spotted mistakes for v1.x.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/HiRes.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/HiRes.pm
deleted file mode 100644
index 8b7d2a6582d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/HiRes.pm
+++ /dev/null
@@ -1,588 +0,0 @@
-package Time::HiRes;
-
-use strict;
-use vars qw($VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);
-
-require Exporter;
-require DynaLoader;
-
-@ISA = qw(Exporter DynaLoader);
-
-@EXPORT = qw( );
-@EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
- getitimer setitimer nanosleep clock_gettime clock_getres
- clock clock_nanosleep
- CLOCK_HIGHRES CLOCK_MONOTONIC CLOCK_PROCESS_CPUTIME_ID
- CLOCK_REALTIME CLOCK_SOFTTIME CLOCK_THREAD_CPUTIME_ID
- CLOCK_TIMEOFDAY CLOCKS_PER_SEC
- ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF
- TIMER_ABSTIME
- d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
- d_nanosleep d_clock_gettime d_clock_getres
- d_clock d_clock_nanosleep
- stat
- );
-
-$VERSION = '1.9715';
-$XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-sub AUTOLOAD {
- my $constname;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- # print "AUTOLOAD: constname = $constname ($AUTOLOAD)\n";
- die "&Time::HiRes::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- # print "AUTOLOAD: error = $error, val = $val\n";
- if ($error) {
- my (undef,$file,$line) = caller;
- die "$error at $file line $line.\n";
- }
- {
- no strict 'refs';
- *$AUTOLOAD = sub { $val };
- }
- goto &$AUTOLOAD;
-}
-
-sub import {
- my $this = shift;
- for my $i (@_) {
- if (($i eq 'clock_getres' && !&d_clock_getres) ||
- ($i eq 'clock_gettime' && !&d_clock_gettime) ||
- ($i eq 'clock_nanosleep' && !&d_clock_nanosleep) ||
- ($i eq 'clock' && !&d_clock) ||
- ($i eq 'nanosleep' && !&d_nanosleep) ||
- ($i eq 'usleep' && !&d_usleep) ||
- ($i eq 'ualarm' && !&d_ualarm)) {
- require Carp;
- Carp::croak("Time::HiRes::$i(): unimplemented in this platform");
- }
- }
- Time::HiRes->export_to_level(1, $this, @_);
-}
-
-bootstrap Time::HiRes;
-
-# Preloaded methods go here.
-
-sub tv_interval {
- # probably could have been done in C
- my ($a, $b) = @_;
- $b = [gettimeofday()] unless defined($b);
- (${$b}[0] - ${$a}[0]) + ((${$b}[1] - ${$a}[1]) / 1_000_000);
-}
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-1;
-__END__
-
-=head1 NAME
-
-Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers
-
-=head1 SYNOPSIS
-
- use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep
- clock_gettime clock_getres clock_nanosleep clock
- stat );
-
- usleep ($microseconds);
- nanosleep ($nanoseconds);
-
- ualarm ($microseconds);
- ualarm ($microseconds, $interval_microseconds);
-
- $t0 = [gettimeofday];
- ($seconds, $microseconds) = gettimeofday;
-
- $elapsed = tv_interval ( $t0, [$seconds, $microseconds]);
- $elapsed = tv_interval ( $t0, [gettimeofday]);
- $elapsed = tv_interval ( $t0 );
-
- use Time::HiRes qw ( time alarm sleep );
-
- $now_fractions = time;
- sleep ($floating_seconds);
- alarm ($floating_seconds);
- alarm ($floating_seconds, $floating_interval);
-
- use Time::HiRes qw( setitimer getitimer );
-
- setitimer ($which, $floating_seconds, $floating_interval );
- getitimer ($which);
-
- use Time::HiRes qw( clock_gettime clock_getres clock_nanosleep
- ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF );
-
- $realtime = clock_gettime(CLOCK_REALTIME);
- $resolution = clock_getres(CLOCK_REALTIME);
-
- clock_nanosleep(CLOCK_REALTIME, 1.5e9);
- clock_nanosleep(CLOCK_REALTIME, time()*1e9 + 10e9, TIMER_ABSTIME);
-
- my $ticktock = clock();
-
- use Time::HiRes qw( stat );
-
- my @stat = stat("file");
- my @stat = stat(FH);
-
-=head1 DESCRIPTION
-
-The C<Time::HiRes> module implements a Perl interface to the
-C<usleep>, C<nanosleep>, C<ualarm>, C<gettimeofday>, and
-C<setitimer>/C<getitimer> system calls, in other words, high
-resolution time and timers. See the L</EXAMPLES> section below and the
-test scripts for usage; see your system documentation for the
-description of the underlying C<nanosleep> or C<usleep>, C<ualarm>,
-C<gettimeofday>, and C<setitimer>/C<getitimer> calls.
-
-If your system lacks C<gettimeofday()> or an emulation of it you don't
-get C<gettimeofday()> or the one-argument form of C<tv_interval()>.
-If your system lacks all of C<nanosleep()>, C<usleep()>,
-C<select()>, and C<poll>, you don't get C<Time::HiRes::usleep()>,
-C<Time::HiRes::nanosleep()>, or C<Time::HiRes::sleep()>.
-If your system lacks both C<ualarm()> and C<setitimer()> you don't get
-C<Time::HiRes::ualarm()> or C<Time::HiRes::alarm()>.
-
-If you try to import an unimplemented function in the C<use> statement
-it will fail at compile time.
-
-If your subsecond sleeping is implemented with C<nanosleep()> instead
-of C<usleep()>, you can mix subsecond sleeping with signals since
-C<nanosleep()> does not use signals. This, however, is not portable,
-and you should first check for the truth value of
-C<&Time::HiRes::d_nanosleep> to see whether you have nanosleep, and
-then carefully read your C<nanosleep()> C API documentation for any
-peculiarities.
-
-If you are using C<nanosleep> for something else than mixing sleeping
-with signals, give some thought to whether Perl is the tool you should
-be using for work requiring nanosecond accuracies.
-
-Remember that unless you are working on a I<hard realtime> system,
-any clocks and timers will be imprecise, especially so if you are working
-in a pre-emptive multiuser system. Understand the difference between
-I<wallclock time> and process time (in UNIX-like systems the sum of
-I<user> and I<system> times). Any attempt to sleep for X seconds will
-most probably end up sleeping B<more> than that, but don't be surpised
-if you end up sleeping slightly B<less>.
-
-The following functions can be imported from this module.
-No functions are exported by default.
-
-=over 4
-
-=item gettimeofday ()
-
-In array context returns a two-element array with the seconds and
-microseconds since the epoch. In scalar context returns floating
-seconds like C<Time::HiRes::time()> (see below).
-
-=item usleep ( $useconds )
-
-Sleeps for the number of microseconds (millionths of a second)
-specified. Returns the number of microseconds actually slept.
-Can sleep for more than one second, unlike the C<usleep> system call.
-Can also sleep for zero seconds, which often works like a I<thread yield>.
-See also C<Time::HiRes::usleep()>, C<Time::HiRes::sleep()>, and
-C<Time::HiRes::clock_nanosleep()>.
-
-Do not expect usleep() to be exact down to one microsecond.
-
-=item nanosleep ( $nanoseconds )
-
-Sleeps for the number of nanoseconds (1e9ths of a second) specified.
-Returns the number of nanoseconds actually slept (accurate only to
-microseconds, the nearest thousand of them). Can sleep for more than
-one second. Can also sleep for zero seconds, which often works like
-a I<thread yield>. See also C<Time::HiRes::sleep()>,
-C<Time::HiRes::usleep()>, and C<Time::HiRes::clock_nanosleep()>.
-
-Do not expect nanosleep() to be exact down to one nanosecond.
-Getting even accuracy of one thousand nanoseconds is good.
-
-=item ualarm ( $useconds [, $interval_useconds ] )
-
-Issues a C<ualarm> call; the C<$interval_useconds> is optional and
-will be zero if unspecified, resulting in C<alarm>-like behaviour.
-
-Returns the remaining time in the alarm in microseconds, or C<undef>
-if an error occurred.
-
-ualarm(0) will cancel an outstanding ualarm().
-
-Note that the interaction between alarms and sleeps is unspecified.
-
-=item tv_interval
-
-tv_interval ( $ref_to_gettimeofday [, $ref_to_later_gettimeofday] )
-
-Returns the floating seconds between the two times, which should have
-been returned by C<gettimeofday()>. If the second argument is omitted,
-then the current time is used.
-
-=item time ()
-
-Returns a floating seconds since the epoch. This function can be
-imported, resulting in a nice drop-in replacement for the C<time>
-provided with core Perl; see the L</EXAMPLES> below.
-
-B<NOTE 1>: This higher resolution timer can return values either less
-or more than the core C<time()>, depending on whether your platform
-rounds the higher resolution timer values up, down, or to the nearest second
-to get the core C<time()>, but naturally the difference should be never
-more than half a second. See also L</clock_getres>, if available
-in your system.
-
-B<NOTE 2>: Since Sunday, September 9th, 2001 at 01:46:40 AM GMT, when
-the C<time()> seconds since epoch rolled over to 1_000_000_000, the
-default floating point format of Perl and the seconds since epoch have
-conspired to produce an apparent bug: if you print the value of
-C<Time::HiRes::time()> you seem to be getting only five decimals, not
-six as promised (microseconds). Not to worry, the microseconds are
-there (assuming your platform supports such granularity in the first
-place). What is going on is that the default floating point format of
-Perl only outputs 15 digits. In this case that means ten digits
-before the decimal separator and five after. To see the microseconds
-you can use either C<printf>/C<sprintf> with C<"%.6f">, or the
-C<gettimeofday()> function in list context, which will give you the
-seconds and microseconds as two separate values.
-
-=item sleep ( $floating_seconds )
-
-Sleeps for the specified amount of seconds. Returns the number of
-seconds actually slept (a floating point value). This function can
-be imported, resulting in a nice drop-in replacement for the C<sleep>
-provided with perl, see the L</EXAMPLES> below.
-
-Note that the interaction between alarms and sleeps is unspecified.
-
-=item alarm ( $floating_seconds [, $interval_floating_seconds ] )
-
-The C<SIGALRM> signal is sent after the specified number of seconds.
-Implemented using C<setitimer()> if available, C<ualarm()> if not.
-The C<$interval_floating_seconds> argument is optional and will be
-zero if unspecified, resulting in C<alarm()>-like behaviour. This
-function can be imported, resulting in a nice drop-in replacement for
-the C<alarm> provided with perl, see the L</EXAMPLES> below.
-
-Returns the remaining time in the alarm in seconds, or C<undef>
-if an error occurred.
-
-B<NOTE 1>: With some combinations of operating systems and Perl
-releases C<SIGALRM> restarts C<select()>, instead of interrupting it.
-This means that an C<alarm()> followed by a C<select()> may together
-take the sum of the times specified for the the C<alarm()> and the
-C<select()>, not just the time of the C<alarm()>.
-
-Note that the interaction between alarms and sleeps is unspecified.
-
-=item setitimer ( $which, $floating_seconds [, $interval_floating_seconds ] )
-
-Start up an interval timer: after a certain time, a signal ($which) arrives,
-and more signals may keep arriving at certain intervals. To disable
-an "itimer", use C<$floating_seconds> of zero. If the
-C<$interval_floating_seconds> is set to zero (or unspecified), the
-timer is disabled B<after> the next delivered signal.
-
-Use of interval timers may interfere with C<alarm()>, C<sleep()>,
-and C<usleep()>. In standard-speak the "interaction is unspecified",
-which means that I<anything> may happen: it may work, it may not.
-
-In scalar context, the remaining time in the timer is returned.
-
-In list context, both the remaining time and the interval are returned.
-
-There are usually three or four interval timers (signals) available: the
-C<$which> can be C<ITIMER_REAL>, C<ITIMER_VIRTUAL>, C<ITIMER_PROF>, or
-C<ITIMER_REALPROF>. Note that which ones are available depends: true
-UNIX platforms usually have the first three, but (for example) Win32
-and Cygwin have only C<ITIMER_REAL>, and only Solaris seems to have
-C<ITIMER_REALPROF> (which is used to profile multithreaded programs).
-
-C<ITIMER_REAL> results in C<alarm()>-like behaviour. Time is counted in
-I<real time>; that is, wallclock time. C<SIGALRM> is delivered when
-the timer expires.
-
-C<ITIMER_VIRTUAL> counts time in (process) I<virtual time>; that is,
-only when the process is running. In multiprocessor/user/CPU systems
-this may be more or less than real or wallclock time. (This time is
-also known as the I<user time>.) C<SIGVTALRM> is delivered when the
-timer expires.
-
-C<ITIMER_PROF> counts time when either the process virtual time or when
-the operating system is running on behalf of the process (such as I/O).
-(This time is also known as the I<system time>.) (The sum of user
-time and system time is known as the I<CPU time>.) C<SIGPROF> is
-delivered when the timer expires. C<SIGPROF> can interrupt system calls.
-
-The semantics of interval timers for multithreaded programs are
-system-specific, and some systems may support additional interval
-timers. For example, it is unspecified which thread gets the signals.
-See your C<setitimer()> documentation.
-
-=item getitimer ( $which )
-
-Return the remaining time in the interval timer specified by C<$which>.
-
-In scalar context, the remaining time is returned.
-
-In list context, both the remaining time and the interval are returned.
-The interval is always what you put in using C<setitimer()>.
-
-=item clock_gettime ( $which )
-
-Return as seconds the current value of the POSIX high resolution timer
-specified by C<$which>. All implementations that support POSIX high
-resolution timers are supposed to support at least the C<$which> value
-of C<CLOCK_REALTIME>, which is supposed to return results close to the
-results of C<gettimeofday>, or the number of seconds since 00:00:00:00
-January 1, 1970 Greenwich Mean Time (GMT). Do not assume that
-CLOCK_REALTIME is zero, it might be one, or something else.
-Another potentially useful (but not available everywhere) value is
-C<CLOCK_MONOTONIC>, which guarantees a monotonically increasing time
-value (unlike time(), which can be adjusted). See your system
-documentation for other possibly supported values.
-
-=item clock_getres ( $which )
-
-Return as seconds the resolution of the POSIX high resolution timer
-specified by C<$which>. All implementations that support POSIX high
-resolution timers are supposed to support at least the C<$which> value
-of C<CLOCK_REALTIME>, see L</clock_gettime>.
-
-=item clock_nanosleep ( $which, $nanoseconds, $flags = 0)
-
-Sleeps for the number of nanoseconds (1e9ths of a second) specified.
-Returns the number of nanoseconds actually slept. The $which is the
-"clock id", as with clock_gettime() and clock_getres(). The flags
-default to zero but C<TIMER_ABSTIME> can specified (must be exported
-explicitly) which means that C<$nanoseconds> is not a time interval
-(as is the default) but instead an absolute time. Can sleep for more
-than one second. Can also sleep for zero seconds, which often works
-like a I<thread yield>. See also C<Time::HiRes::sleep()>,
-C<Time::HiRes::usleep()>, and C<Time::HiRes::nanosleep()>.
-
-Do not expect clock_nanosleep() to be exact down to one nanosecond.
-Getting even accuracy of one thousand nanoseconds is good.
-
-=item clock()
-
-Return as seconds the I<process time> (user + system time) spent by
-the process since the first call to clock() (the definition is B<not>
-"since the start of the process", though if you are lucky these times
-may be quite close to each other, depending on the system). What this
-means is that you probably need to store the result of your first call
-to clock(), and subtract that value from the following results of clock().
-
-The time returned also includes the process times of the terminated
-child processes for which wait() has been executed. This value is
-somewhat like the second value returned by the times() of core Perl,
-but not necessarily identical. Note that due to backward
-compatibility limitations the returned value may wrap around at about
-2147 seconds or at about 36 minutes.
-
-=item stat
-
-=item stat FH
-
-=item stat EXPR
-
-As L<perlfunc/stat> but with the access/modify/change file timestamps
-in subsecond resolution, if the operating system and the filesystem
-both support such timestamps. To override the standard stat():
-
- use Time::HiRes qw(stat);
-
-Test for the value of &Time::HiRes::d_hires_stat to find out whether
-the operating system supports subsecond file timestamps: a value
-larger than zero means yes. There are unfortunately no easy
-ways to find out whether the filesystem supports such timestamps.
-UNIX filesystems often do; NTFS does; FAT doesn't (FAT timestamp
-granularity is B<two> seconds).
-
-A zero return value of &Time::HiRes::d_hires_stat means that
-Time::HiRes::stat is a no-op passthrough for CORE::stat(),
-and therefore the timestamps will stay integers. The same
-thing will happen if the filesystem does not do subsecond timestamps,
-even if the &Time::HiRes::d_hires_stat is non-zero.
-
-In any case do not expect nanosecond resolution, or even a microsecond
-resolution. Also note that the modify/access timestamps might have
-different resolutions, and that they need not be synchronized, e.g.
-if the operations are
-
- write
- stat # t1
- read
- stat # t2
-
-the access time stamp from t2 need not be greater-than the modify
-time stamp from t1: it may be equal or I<less>.
-
-=back
-
-=head1 EXAMPLES
-
- use Time::HiRes qw(usleep ualarm gettimeofday tv_interval);
-
- $microseconds = 750_000;
- usleep($microseconds);
-
- # signal alarm in 2.5s & every .1s thereafter
- ualarm(2_500_000, 100_000);
- # cancel that ualarm
- ualarm(0);
-
- # get seconds and microseconds since the epoch
- ($s, $usec) = gettimeofday();
-
- # measure elapsed time
- # (could also do by subtracting 2 gettimeofday return values)
- $t0 = [gettimeofday];
- # do bunch of stuff here
- $t1 = [gettimeofday];
- # do more stuff here
- $t0_t1 = tv_interval $t0, $t1;
-
- $elapsed = tv_interval ($t0, [gettimeofday]);
- $elapsed = tv_interval ($t0); # equivalent code
-
- #
- # replacements for time, alarm and sleep that know about
- # floating seconds
- #
- use Time::HiRes;
- $now_fractions = Time::HiRes::time;
- Time::HiRes::sleep (2.5);
- Time::HiRes::alarm (10.6666666);
-
- use Time::HiRes qw ( time alarm sleep );
- $now_fractions = time;
- sleep (2.5);
- alarm (10.6666666);
-
- # Arm an interval timer to go off first at 10 seconds and
- # after that every 2.5 seconds, in process virtual time
-
- use Time::HiRes qw ( setitimer ITIMER_VIRTUAL time );
-
- $SIG{VTALRM} = sub { print time, "\n" };
- setitimer(ITIMER_VIRTUAL, 10, 2.5);
-
- use Time::HiRes qw( clock_gettime clock_getres CLOCK_REALTIME );
- # Read the POSIX high resolution timer.
- my $high = clock_getres(CLOCK_REALTIME);
- # But how accurate we can be, really?
- my $reso = clock_getres(CLOCK_REALTIME);
-
- use Time::HiRes qw( clock_nanosleep TIMER_ABSTIME );
- clock_nanosleep(CLOCK_REALTIME, 1e6);
- clock_nanosleep(CLOCK_REALTIME, 2e9, TIMER_ABSTIME);
-
- use Time::HiRes qw( clock );
- my $clock0 = clock();
- ... # Do something.
- my $clock1 = clock();
- my $clockd = $clock1 - $clock0;
-
- use Time::HiRes qw( stat );
- my ($atime, $mtime, $ctime) = (stat("istics"))[8, 9, 10];
-
-=head1 C API
-
-In addition to the perl API described above, a C API is available for
-extension writers. The following C functions are available in the
-modglobal hash:
-
- name C prototype
- --------------- ----------------------
- Time::NVtime double (*)()
- Time::U2time void (*)(pTHX_ UV ret[2])
-
-Both functions return equivalent information (like C<gettimeofday>)
-but with different representations. The names C<NVtime> and C<U2time>
-were selected mainly because they are operating system independent.
-(C<gettimeofday> is Unix-centric, though some platforms like Win32 and
-VMS have emulations for it.)
-
-Here is an example of using C<NVtime> from C:
-
- double (*myNVtime)(); /* Returns -1 on failure. */
- SV **svp = hv_fetch(PL_modglobal, "Time::NVtime", 12, 0);
- if (!svp) croak("Time::HiRes is required");
- if (!SvIOK(*svp)) croak("Time::NVtime isn't a function pointer");
- myNVtime = INT2PTR(double(*)(), SvIV(*svp));
- printf("The current time is: %f\n", (*myNVtime)());
-
-=head1 DIAGNOSTICS
-
-=head2 useconds or interval more than ...
-
-In ualarm() you tried to use number of microseconds or interval (also
-in microseconds) more than 1_000_000 and setitimer() is not available
-in your system to emulate that case.
-
-=head2 negative time not invented yet
-
-You tried to use a negative time argument.
-
-=head2 internal error: useconds < 0 (unsigned ... signed ...)
-
-Something went horribly wrong-- the number of microseconds that cannot
-become negative just became negative. Maybe your compiler is broken?
-
-=head2 useconds or uinterval equal to or more than 1000000
-
-In some platforms it is not possible to get an alarm with subsecond
-resolution and later than one second.
-
-=head2 unimplemented in this platform
-
-Some calls simply aren't available, real or emulated, on every platform.
-
-=head1 CAVEATS
-
-Notice that the core C<time()> maybe rounding rather than truncating.
-What this means is that the core C<time()> may be reporting the time
-as one second later than C<gettimeofday()> and C<Time::HiRes::time()>.
-
-Adjusting the system clock (either manually or by services like ntp)
-may cause problems, especially for long running programs that assume
-a monotonously increasing time (note that all platforms do not adjust
-time as gracefully as UNIX ntp does). For example in Win32 (and derived
-platforms like Cygwin and MinGW) the Time::HiRes::time() may temporarily
-drift off from the system clock (and the original time()) by up to 0.5
-seconds. Time::HiRes will notice this eventually and recalibrate.
-Note that since Time::HiRes 1.77 the clock_gettime(CLOCK_MONOTONIC)
-might help in this (in case your system supports CLOCK_MONOTONIC).
-
-=head1 SEE ALSO
-
-Perl modules L<BSD::Resource>, L<Time::TAI64>.
-
-Your system documentation for C<clock>, C<clock_gettime>,
-C<clock_getres>, C<clock_nanosleep>, C<clock_settime>, C<getitimer>,
-C<gettimeofday>, C<setitimer>, C<sleep>, C<stat>, C<ualarm>.
-
-=head1 AUTHORS
-
-D. Wegscheid <wegscd@whirlpool.com>
-R. Schertler <roderick@argon.org>
-J. Hietaniemi <jhi@iki.fi>
-G. Aas <gisle@aas.no>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 1996-2002 Douglas E. Wegscheid. All rights reserved.
-
-Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi.
-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/5.10/i686-cygwin/Time/Piece.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Piece.pm
deleted file mode 100644
index 5871fac4f8f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Piece.pm
+++ /dev/null
@@ -1,800 +0,0 @@
-# $Id: Piece.pm 72 2007-11-19 01:26:10Z matt $
-
-package Time::Piece;
-
-use strict;
-
-require Exporter;
-require DynaLoader;
-use Time::Seconds;
-use Carp;
-use Time::Local;
-use UNIVERSAL qw(isa);
-
-our @ISA = qw(Exporter DynaLoader);
-
-our @EXPORT = qw(
- localtime
- gmtime
-);
-
-our %EXPORT_TAGS = (
- ':override' => 'internal',
- );
-
-our $VERSION = '1.12';
-
-bootstrap Time::Piece $VERSION;
-
-my $DATE_SEP = '-';
-my $TIME_SEP = ':';
-my @MON_LIST = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
-my @FULLMON_LIST = qw(January February March April May June July
- August September October November December);
-my @DAY_LIST = qw(Sun Mon Tue Wed Thu Fri Sat);
-my @FULLDAY_LIST = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
-
-use constant 'c_sec' => 0;
-use constant 'c_min' => 1;
-use constant 'c_hour' => 2;
-use constant 'c_mday' => 3;
-use constant 'c_mon' => 4;
-use constant 'c_year' => 5;
-use constant 'c_wday' => 6;
-use constant 'c_yday' => 7;
-use constant 'c_isdst' => 8;
-use constant 'c_epoch' => 9;
-use constant 'c_islocal' => 10;
-
-sub localtime {
- unshift @_, __PACKAGE__ unless eval { $_[0]->isa('Time::Piece') };
- my $class = shift;
- my $time = shift;
- $time = time if (!defined $time);
- $class->_mktime($time, 1);
-}
-
-sub gmtime {
- unshift @_, __PACKAGE__ unless eval { $_[0]->isa('Time::Piece') };
- my $class = shift;
- my $time = shift;
- $time = time if (!defined $time);
- $class->_mktime($time, 0);
-}
-
-sub new {
- my $class = shift;
- my ($time) = @_;
-
- my $self;
-
- if (defined($time)) {
- $self = $class->localtime($time);
- }
- elsif (ref($class) && $class->isa(__PACKAGE__)) {
- $self = $class->_mktime($class->epoch, $class->[c_islocal]);
- }
- else {
- $self = $class->localtime();
- }
-
- return bless $self, $class;
-}
-
-sub parse {
- my $proto = shift;
- my $class = ref($proto) || $proto;
- my @components;
- if (@_ > 1) {
- @components = @_;
- }
- else {
- @components = shift =~ /(\d+)$DATE_SEP(\d+)$DATE_SEP(\d+)(?:(?:T|\s+)(\d+)$TIME_SEP(\d+)(?:$TIME_SEP(\d+)))/;
- @components = reverse(@components[0..5]);
- }
- return $class->new(_strftime("%s", @components));
-}
-
-sub _mktime {
- my ($class, $time, $islocal) = @_;
- $class = eval { (ref $class) && (ref $class)->isa('Time::Piece') }
- ? ref $class
- : $class;
- if (ref($time)) {
- $time->[c_epoch] = undef;
- return wantarray ? @$time : bless [@$time, $islocal], $class;
- }
- _tzset();
- my @time = $islocal ?
- CORE::localtime($time)
- :
- CORE::gmtime($time);
- wantarray ? @time : bless [@time, $time, $islocal], $class;
-}
-
-my %_special_exports = (
- localtime => sub { my $c = $_[0]; sub { $c->localtime(@_) } },
- gmtime => sub { my $c = $_[0]; sub { $c->gmtime(@_) } },
-);
-
-sub export {
- my ($class, $to, @methods) = @_;
- for my $method (@methods) {
- if (exists $_special_exports{$method}) {
- no strict 'refs';
- no warnings 'redefine';
- *{$to . "::$method"} = $_special_exports{$method}->($class);
- } else {
- $class->SUPER::export($to, $method);
- }
- }
-}
-
-sub import {
- # replace CORE::GLOBAL localtime and gmtime if required
- my $class = shift;
- my %params;
- map($params{$_}++,@_,@EXPORT);
- if (delete $params{':override'}) {
- $class->export('CORE::GLOBAL', keys %params);
- }
- else {
- $class->export((caller)[0], keys %params);
- }
-}
-
-## Methods ##
-
-sub sec {
- my $time = shift;
- $time->[c_sec];
-}
-
-*second = \&sec;
-
-sub min {
- my $time = shift;
- $time->[c_min];
-}
-
-*minute = \&min;
-
-sub hour {
- my $time = shift;
- $time->[c_hour];
-}
-
-sub mday {
- my $time = shift;
- $time->[c_mday];
-}
-
-*day_of_month = \&mday;
-
-sub mon {
- my $time = shift;
- $time->[c_mon] + 1;
-}
-
-sub _mon {
- my $time = shift;
- $time->[c_mon];
-}
-
-sub month {
- my $time = shift;
- if (@_) {
- return $_[$time->[c_mon]];
- }
- elsif (@MON_LIST) {
- return $MON_LIST[$time->[c_mon]];
- }
- else {
- return $time->strftime('%b');
- }
-}
-
-*monname = \&month;
-
-sub fullmonth {
- my $time = shift;
- if (@_) {
- return $_[$time->[c_mon]];
- }
- elsif (@FULLMON_LIST) {
- return $FULLMON_LIST[$time->[c_mon]];
- }
- else {
- return $time->strftime('%B');
- }
-}
-
-sub year {
- my $time = shift;
- $time->[c_year] + 1900;
-}
-
-sub _year {
- my $time = shift;
- $time->[c_year];
-}
-
-sub yy {
- my $time = shift;
- my $res = $time->[c_year] % 100;
- return $res > 9 ? $res : "0$res";
-}
-
-sub wday {
- my $time = shift;
- $time->[c_wday] + 1;
-}
-
-sub _wday {
- my $time = shift;
- $time->[c_wday];
-}
-
-*day_of_week = \&_wday;
-
-sub wdayname {
- my $time = shift;
- if (@_) {
- return $_[$time->[c_wday]];
- }
- elsif (@DAY_LIST) {
- return $DAY_LIST[$time->[c_wday]];
- }
- else {
- return $time->strftime('%a');
- }
-}
-
-*day = \&wdayname;
-
-sub fullday {
- my $time = shift;
- if (@_) {
- return $_[$time->[c_wday]];
- }
- elsif (@FULLDAY_LIST) {
- return $FULLDAY_LIST[$time->[c_wday]];
- }
- else {
- return $time->strftime('%A');
- }
-}
-
-sub yday {
- my $time = shift;
- $time->[c_yday];
-}
-
-*day_of_year = \&yday;
-
-sub isdst {
- my $time = shift;
- $time->[c_isdst];
-}
-
-*daylight_savings = \&isdst;
-
-# Thanks to Tony Olekshy <olekshy@cs.ualberta.ca> for this algorithm
-sub tzoffset {
- my $time = shift;
-
- return Time::Seconds->new(0) unless $time->[c_islocal];
-
- my $epoch = $time->epoch;
-
- my $j = sub {
-
- my ($s,$n,$h,$d,$m,$y) = @_; $m += 1; $y += 1900;
-
- $time->_jd($y, $m, $d, $h, $n, $s);
-
- };
-
- # Compute floating offset in hours.
- #
- my $delta = 24 * (&$j(CORE::localtime $epoch) - &$j(CORE::gmtime $epoch));
-
- # Return value in seconds rounded to nearest minute.
- return Time::Seconds->new( int($delta * 60 + ($delta >= 0 ? 0.5 : -0.5)) * 60 );
-}
-
-sub epoch {
- my $time = shift;
- if (defined($time->[c_epoch])) {
- return $time->[c_epoch];
- }
- else {
- my $epoch = $time->[c_islocal] ?
- timelocal(@{$time}[c_sec .. c_mon], $time->[c_year]+1900)
- :
- timegm(@{$time}[c_sec .. c_mon], $time->[c_year]+1900);
- $time->[c_epoch] = $epoch;
- return $epoch;
- }
-}
-
-sub hms {
- my $time = shift;
- my $sep = @_ ? shift(@_) : $TIME_SEP;
- sprintf("%02d$sep%02d$sep%02d", $time->[c_hour], $time->[c_min], $time->[c_sec]);
-}
-
-*time = \&hms;
-
-sub ymd {
- my $time = shift;
- my $sep = @_ ? shift(@_) : $DATE_SEP;
- sprintf("%d$sep%02d$sep%02d", $time->year, $time->mon, $time->[c_mday]);
-}
-
-*date = \&ymd;
-
-sub mdy {
- my $time = shift;
- my $sep = @_ ? shift(@_) : $DATE_SEP;
- sprintf("%02d$sep%02d$sep%d", $time->mon, $time->[c_mday], $time->year);
-}
-
-sub dmy {
- my $time = shift;
- my $sep = @_ ? shift(@_) : $DATE_SEP;
- sprintf("%02d$sep%02d$sep%d", $time->[c_mday], $time->mon, $time->year);
-}
-
-sub datetime {
- my $time = shift;
- my %seps = (date => $DATE_SEP, T => 'T', time => $TIME_SEP, @_);
- return join($seps{T}, $time->date($seps{date}), $time->time($seps{time}));
-}
-
-
-
-# Julian Day is always calculated for UT regardless
-# of local time
-sub julian_day {
- my $time = shift;
- # Correct for localtime
- $time = $time->gmtime( $time->epoch ) if $time->[c_islocal];
-
- # Calculate the Julian day itself
- my $jd = $time->_jd( $time->year, $time->mon, $time->mday,
- $time->hour, $time->min, $time->sec);
-
- return $jd;
-}
-
-# MJD is defined as JD - 2400000.5 days
-sub mjd {
- return shift->julian_day - 2_400_000.5;
-}
-
-# Internal calculation of Julian date. Needed here so that
-# both tzoffset and mjd/jd methods can share the code
-# Algorithm from Hatcher 1984 (QJRAS 25, 53-55), and
-# Hughes et al, 1989, MNRAS, 238, 15
-# See: http://adsabs.harvard.edu/cgi-bin/nph-bib_query?bibcode=1989MNRAS.238.1529H&db_key=AST
-# for more details
-
-sub _jd {
- my $self = shift;
- my ($y, $m, $d, $h, $n, $s) = @_;
-
- # Adjust input parameters according to the month
- $y = ( $m > 2 ? $y : $y - 1);
- $m = ( $m > 2 ? $m - 3 : $m + 9);
-
- # Calculate the Julian Date (assuming Julian calendar)
- my $J = int( 365.25 *( $y + 4712) )
- + int( (30.6 * $m) + 0.5)
- + 59
- + $d
- - 0.5;
-
- # Calculate the Gregorian Correction (since we have Gregorian dates)
- my $G = 38 - int( 0.75 * int(49+($y/100)));
-
- # Calculate the actual Julian Date
- my $JD = $J + $G;
-
- # Modify to include hours/mins/secs in floating portion.
- return $JD + ($h + ($n + $s / 60) / 60) / 24;
-}
-
-sub week {
- my $self = shift;
-
- my $J = $self->julian_day;
- # Julian day is independent of time zone so add on tzoffset
- # if we are using local time here since we want the week day
- # to reflect the local time rather than UTC
- $J += ($self->tzoffset/(24*3600)) if $self->[c_islocal];
-
- # Now that we have the Julian day including fractions
- # convert it to an integer Julian Day Number using nearest
- # int (since the day changes at midday we oconvert all Julian
- # dates to following midnight).
- $J = int($J+0.5);
-
- use integer;
- my $d4 = ((($J + 31741 - ($J % 7)) % 146097) % 36524) % 1461;
- my $L = $d4 / 1460;
- my $d1 = (($d4 - $L) % 365) + $L;
- return $d1 / 7 + 1;
-}
-
-sub _is_leap_year {
- my $year = shift;
- return (($year %4 == 0) && !($year % 100 == 0)) || ($year % 400 == 0)
- ? 1 : 0;
-}
-
-sub is_leap_year {
- my $time = shift;
- my $year = $time->year;
- return _is_leap_year($year);
-}
-
-my @MON_LAST = qw(31 28 31 30 31 30 31 31 30 31 30 31);
-
-sub month_last_day {
- my $time = shift;
- my $year = $time->year;
- my $_mon = $time->_mon;
- return $MON_LAST[$_mon] + ($_mon == 1 ? _is_leap_year($year) : 0);
-}
-
-sub strftime {
- my $time = shift;
- my $tzname = $time->[c_islocal] ? '%Z' : 'UTC';
- my $format = @_ ? shift(@_) : "%a, %d %b %Y %H:%M:%S $tzname";
- if (!defined $time->[c_wday]) {
- if ($time->[c_islocal]) {
- return _strftime($format, CORE::localtime($time->epoch));
- }
- else {
- return _strftime($format, CORE::gmtime($time->epoch));
- }
- }
- return _strftime($format, (@$time)[c_sec..c_isdst]);
-}
-
-sub strptime {
- my $time = shift;
- my $string = shift;
- my $format = @_ ? shift(@_) : "%a, %d %b %Y %H:%M:%S %Z";
- my @vals = _strptime($string, $format);
-# warn(sprintf("got vals: %d-%d-%d %d:%d:%d\n", reverse(@vals)));
- return scalar $time->_mktime(\@vals, (ref($time) ? $time->[c_islocal] : 0));
-}
-
-sub day_list {
- shift if ref($_[0]) && $_[0]->isa(__PACKAGE__); # strip first if called as a method
- my @old = @DAY_LIST;
- if (@_) {
- @DAY_LIST = @_;
- }
- return @old;
-}
-
-sub mon_list {
- shift if ref($_[0]) && $_[0]->isa(__PACKAGE__); # strip first if called as a method
- my @old = @MON_LIST;
- if (@_) {
- @MON_LIST = @_;
- }
- return @old;
-}
-
-sub time_separator {
- shift if ref($_[0]) && $_[0]->isa(__PACKAGE__);
- my $old = $TIME_SEP;
- if (@_) {
- $TIME_SEP = $_[0];
- }
- return $old;
-}
-
-sub date_separator {
- shift if ref($_[0]) && $_[0]->isa(__PACKAGE__);
- my $old = $DATE_SEP;
- if (@_) {
- $DATE_SEP = $_[0];
- }
- return $old;
-}
-
-use overload '""' => \&cdate,
- 'cmp' => \&str_compare,
- 'fallback' => undef;
-
-sub cdate {
- my $time = shift;
- if ($time->[c_islocal]) {
- return scalar(CORE::localtime($time->epoch));
- }
- else {
- return scalar(CORE::gmtime($time->epoch));
- }
-}
-
-sub str_compare {
- my ($lhs, $rhs, $reverse) = @_;
- if (UNIVERSAL::isa($rhs, 'Time::Piece')) {
- $rhs = "$rhs";
- }
- return $reverse ? $rhs cmp $lhs->cdate : $lhs->cdate cmp $rhs;
-}
-
-use overload
- '-' => \&subtract,
- '+' => \&add;
-
-sub subtract {
- my $time = shift;
- my $rhs = shift;
- if (UNIVERSAL::isa($rhs, 'Time::Seconds')) {
- $rhs = $rhs->seconds;
- }
-
- if (shift)
- {
- # SWAPED is set (so someone tried an expression like NOTDATE - DATE).
- # Imitate Perl's standard behavior and return the result as if the
- # string $time resolves to was subtracted from NOTDATE. This way,
- # classes which override this one and which have a stringify function
- # that resolves to something that looks more like a number don't need
- # to override this function.
- return $rhs - "$time";
- }
-
- if (UNIVERSAL::isa($rhs, 'Time::Piece')) {
- return Time::Seconds->new($time->epoch - $rhs->epoch);
- }
- else {
- # rhs is seconds.
- return $time->_mktime(($time->epoch - $rhs), $time->[c_islocal]);
- }
-}
-
-sub add {
- my $time = shift;
- my $rhs = shift;
- if (UNIVERSAL::isa($rhs, 'Time::Seconds')) {
- $rhs = $rhs->seconds;
- }
- croak "Invalid rhs of addition: $rhs" if ref($rhs);
-
- return $time->_mktime(($time->epoch + $rhs), $time->[c_islocal]);
-}
-
-use overload
- '<=>' => \&compare;
-
-sub get_epochs {
- my ($lhs, $rhs, $reverse) = @_;
- if (!UNIVERSAL::isa($rhs, 'Time::Piece')) {
- $rhs = $lhs->new($rhs);
- }
- if ($reverse) {
- return $rhs->epoch, $lhs->epoch;
- }
- return $lhs->epoch, $rhs->epoch;
-}
-
-sub compare {
- my ($lhs, $rhs) = get_epochs(@_);
- return $lhs <=> $rhs;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Time::Piece - Object Oriented time objects
-
-=head1 SYNOPSIS
-
- use Time::Piece;
-
- my $t = localtime;
- print "Time is $t\n";
- print "Year is ", $t->year, "\n";
-
-=head1 DESCRIPTION
-
-This module replaces the standard localtime and gmtime functions with
-implementations that return objects. It does so in a backwards
-compatible manner, so that using localtime/gmtime in the way documented
-in perlfunc will still return what you expect.
-
-The module actually implements most of an interface described by
-Larry Wall on the perl5-porters mailing list here:
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-01/msg00241.html
-
-=head1 USAGE
-
-After importing this module, when you use localtime or gmtime in a scalar
-context, rather than getting an ordinary scalar string representing the
-date and time, you get a Time::Piece object, whose stringification happens
-to produce the same effect as the localtime and gmtime functions. There is
-also a new() constructor provided, which is the same as localtime(), except
-when passed a Time::Piece object, in which case it's a copy constructor. The
-following methods are available on the object:
-
- $t->sec # also available as $t->second
- $t->min # also available as $t->minute
- $t->hour # 24 hour
- $t->mday # also available as $t->day_of_month
- $t->mon # 1 = January
- $t->_mon # 0 = January
- $t->monname # Feb
- $t->month # same as $t->monname
- $t->fullmonth # February
- $t->year # based at 0 (year 0 AD is, of course 1 BC)
- $t->_year # year minus 1900
- $t->yy # 2 digit year
- $t->wday # 1 = Sunday
- $t->_wday # 0 = Sunday
- $t->day_of_week # 0 = Sunday
- $t->wdayname # Tue
- $t->day # same as wdayname
- $t->fullday # Tuesday
- $t->yday # also available as $t->day_of_year, 0 = Jan 01
- $t->isdst # also available as $t->daylight_savings
-
- $t->hms # 12:34:56
- $t->hms(".") # 12.34.56
- $t->time # same as $t->hms
-
- $t->ymd # 2000-02-29
- $t->date # same as $t->ymd
- $t->mdy # 02-29-2000
- $t->mdy("/") # 02/29/2000
- $t->dmy # 29-02-2000
- $t->dmy(".") # 29.02.2000
- $t->datetime # 2000-02-29T12:34:56 (ISO 8601)
- $t->cdate # Tue Feb 29 12:34:56 2000
- "$t" # same as $t->cdate
-
- $t->epoch # seconds since the epoch
- $t->tzoffset # timezone offset in a Time::Seconds object
-
- $t->julian_day # number of days since Julian period began
- $t->mjd # modified Julian date (JD-2400000.5 days)
-
- $t->week # week number (ISO 8601)
-
- $t->is_leap_year # true if it its
- $t->month_last_day # 28-31
-
- $t->time_separator($s) # set the default separator (default ":")
- $t->date_separator($s) # set the default separator (default "-")
- $t->day_list(@days) # set the default weekdays
- $t->mon_list(@days) # set the default months
-
- $t->strftime(FORMAT) # same as POSIX::strftime (without the overhead
- # of the full POSIX extension)
- $t->strftime() # "Tue, 29 Feb 2000 12:34:56 GMT"
-
- Time::Piece->strptime(STRING, FORMAT)
- # see strptime man page. Creates a new
- # Time::Piece object
-
-=head2 Local Locales
-
-Both wdayname (day) and monname (month) allow passing in a list to use
-to index the name of the days against. This can be useful if you need
-to implement some form of localisation without actually installing or
-using locales.
-
- my @days = qw( Dimanche Lundi Merdi Mercredi Jeudi Vendredi Samedi );
-
- my $french_day = localtime->day(@days);
-
-These settings can be overriden globally too:
-
- Time::Piece::day_list(@days);
-
-Or for months:
-
- Time::Piece::mon_list(@months);
-
-And locally for months:
-
- print localtime->month(@months);
-
-=head2 Date Calculations
-
-It's possible to use simple addition and subtraction of objects:
-
- use Time::Seconds;
-
- my $seconds = $t1 - $t2;
- $t1 += ONE_DAY; # add 1 day (constant from Time::Seconds)
-
-The following are valid ($t1 and $t2 are Time::Piece objects):
-
- $t1 - $t2; # returns Time::Seconds object
- $t1 - 42; # returns Time::Piece object
- $t1 + 533; # returns Time::Piece object
-
-However adding a Time::Piece object to another Time::Piece object
-will cause a runtime error.
-
-Note that the first of the above returns a Time::Seconds object, so
-while examining the object will print the number of seconds (because
-of the overloading), you can also get the number of minutes, hours,
-days, weeks and years in that delta, using the Time::Seconds API.
-
-=head2 Date Comparisons
-
-Date comparisons are also possible, using the full suite of "<", ">",
-"<=", ">=", "<=>", "==" and "!=".
-
-=head2 Date Parsing
-
-Time::Piece links to your C library's strptime() function, allowing
-you incredibly flexible date parsing routines. For example:
-
- my $t = Time::Piece->strptime("Sun 3rd Nov, 1943",
- "%A %drd %b, %Y");
-
- print $t->strftime("%a, %d %b %Y");
-
-Outputs:
-
- Wed, 03 Nov 1943
-
-(see, it's even smart enough to fix my obvious date bug)
-
-For more information see "man strptime", which should be on all unix
-systems.
-
-=head2 YYYY-MM-DDThh:mm:ss
-
-The ISO 8601 standard defines the date format to be YYYY-MM-DD, and
-the time format to be hh:mm:ss (24 hour clock), and if combined, they
-should be concatenated with date first and with a capital 'T' in front
-of the time.
-
-=head2 Week Number
-
-The I<week number> may be an unknown concept to some readers. The ISO
-8601 standard defines that weeks begin on a Monday and week 1 of the
-year is the week that includes both January 4th and the first Thursday
-of the year. In other words, if the first Monday of January is the
-2nd, 3rd, or 4th, the preceding days of the January are part of the
-last week of the preceding year. Week numbers range from 1 to 53.
-
-=head2 Global Overriding
-
-Finally, it's possible to override localtime and gmtime everywhere, by
-including the ':override' tag in the import list:
-
- use Time::Piece ':override';
-
-=head1 AUTHOR
-
-Matt Sergeant, matt@sergeant.org
-Jarkko Hietaniemi, jhi@iki.fi (while creating Time::Piece for core perl)
-
-=head1 License
-
-This module is free software, you may distribute it under the same terms
-as Perl.
-
-=head1 SEE ALSO
-
-The excellent Calendar FAQ at http://www.tondering.dk/claus/calendar.html
-
-=head1 BUGS
-
-The test harness leaves much to be desired. Patches welcome.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm
deleted file mode 100644
index abc1b2c82d3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Time/Seconds.pm
+++ /dev/null
@@ -1,230 +0,0 @@
-# $Id: Seconds.pm 69 2006-09-07 17:41:05Z matt $
-
-package Time::Seconds;
-use strict;
-use vars qw/@EXPORT @EXPORT_OK @ISA/;
-use UNIVERSAL qw(isa);
-
-@ISA = 'Exporter';
-
-@EXPORT = qw(
- ONE_MINUTE
- ONE_HOUR
- ONE_DAY
- ONE_WEEK
- ONE_MONTH
- ONE_REAL_MONTH
- ONE_YEAR
- ONE_REAL_YEAR
- ONE_FINANCIAL_MONTH
- LEAP_YEAR
- NON_LEAP_YEAR
- );
-
-@EXPORT_OK = qw(cs_sec cs_mon);
-
-use constant ONE_MINUTE => 60;
-use constant ONE_HOUR => 3_600;
-use constant ONE_DAY => 86_400;
-use constant ONE_WEEK => 604_800;
-use constant ONE_MONTH => 2_629_744; # ONE_YEAR / 12
-use constant ONE_REAL_MONTH => '1M';
-use constant ONE_YEAR => 31_556_930; # 365.24225 days
-use constant ONE_REAL_YEAR => '1Y';
-use constant ONE_FINANCIAL_MONTH => 2_592_000; # 30 days
-use constant LEAP_YEAR => 31_622_400; # 366 * ONE_DAY
-use constant NON_LEAP_YEAR => 31_536_000; # 365 * ONE_DAY
-
-# hacks to make Time::Piece compile once again
-use constant cs_sec => 0;
-use constant cs_mon => 1;
-
-use overload
- 'fallback' => 'undef',
- '0+' => \&seconds,
- '""' => \&seconds,
- '<=>' => \&compare,
- '+' => \&add,
- '-' => \&subtract,
- '-=' => \&subtract_from,
- '+=' => \&add_to,
- '=' => \&copy;
-
-sub new {
- my $class = shift;
- my ($val) = @_;
- $val = 0 unless defined $val;
- bless \$val, $class;
-}
-
-sub _get_ovlvals {
- my ($lhs, $rhs, $reverse) = @_;
- $lhs = $lhs->seconds;
-
- if (UNIVERSAL::isa($rhs, 'Time::Seconds')) {
- $rhs = $rhs->seconds;
- }
- elsif (ref($rhs)) {
- die "Can't use non Seconds object in operator overload";
- }
-
- if ($reverse) {
- return $rhs, $lhs;
- }
-
- return $lhs, $rhs;
-}
-
-sub compare {
- my ($lhs, $rhs) = _get_ovlvals(@_);
- return $lhs <=> $rhs;
-}
-
-sub add {
- my ($lhs, $rhs) = _get_ovlvals(@_);
- return Time::Seconds->new($lhs + $rhs);
-}
-
-sub add_to {
- my $lhs = shift;
- my $rhs = shift;
- $rhs = $rhs->seconds if UNIVERSAL::isa($rhs, 'Time::Seconds');
- $$lhs += $rhs;
- return $lhs;
-}
-
-sub subtract {
- my ($lhs, $rhs) = _get_ovlvals(@_);
- return Time::Seconds->new($lhs - $rhs);
-}
-
-sub subtract_from {
- my $lhs = shift;
- my $rhs = shift;
- $rhs = $rhs->seconds if UNIVERSAL::isa($rhs, 'Time::Seconds');
- $$lhs -= $rhs;
- return $lhs;
-}
-
-sub copy {
- Time::Seconds->new(${$_[0]});
-}
-
-sub seconds {
- my $s = shift;
- return $$s;
-}
-
-sub minutes {
- my $s = shift;
- return $$s / 60;
-}
-
-sub hours {
- my $s = shift;
- $s->minutes / 60;
-}
-
-sub days {
- my $s = shift;
- $s->hours / 24;
-}
-
-sub weeks {
- my $s = shift;
- $s->days / 7;
-}
-
-sub months {
- my $s = shift;
- $s->days / 30.4368541;
-}
-
-sub financial_months {
- my $s = shift;
- $s->days / 30;
-}
-
-sub years {
- my $s = shift;
- $s->days / 365.24225;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Time::Seconds - a simple API to convert seconds to other date values
-
-=head1 SYNOPSIS
-
- use Time::Piece;
- use Time::Seconds;
-
- my $t = localtime;
- $t += ONE_DAY;
-
- my $t2 = localtime;
- my $s = $t - $t2;
-
- print "Difference is: ", $s->days, "\n";
-
-=head1 DESCRIPTION
-
-This module is part of the Time::Piece distribution. It allows the user
-to find out the number of minutes, hours, days, weeks or years in a given
-number of seconds. It is returned by Time::Piece when you delta two
-Time::Piece objects.
-
-Time::Seconds also exports the following constants:
-
- ONE_DAY
- ONE_WEEK
- ONE_HOUR
- ONE_MINUTE
- ONE_MONTH
- ONE_YEAR
- ONE_FINANCIAL_MONTH
- LEAP_YEAR
- NON_LEAP_YEAR
-
-Since perl does not (yet?) support constant objects, these constants are in
-seconds only, so you cannot, for example, do this: C<print ONE_WEEK-E<gt>minutes;>
-
-=head1 METHODS
-
-The following methods are available:
-
- my $val = Time::Seconds->new(SECONDS)
- $val->seconds;
- $val->minutes;
- $val->hours;
- $val->days;
- $val->weeks;
- $val->months;
- $val->financial_months; # 30 days
- $val->years;
-
-The methods make the assumption that there are 24 hours in a day, 7 days in
-a week, 365.24225 days in a year and 12 months in a year.
-(from The Calendar FAQ at http://www.tondering.dk/claus/calendar.html)
-
-=head1 AUTHOR
-
-Matt Sergeant, matt@sergeant.org
-
-Tobias Brox, tobiasb@tobiasb.funcom.com
-
-Bal�zs Szab� (dLux), dlux@kapu.hu
-
-=head1 LICENSE
-
-Please see Time::Piece for the license.
-
-=head1 Bugs
-
-Currently the methods aren't as efficient as they could be, for reasons of
-clarity. This is probably a bad idea.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Unicode/Normalize.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Unicode/Normalize.pm
deleted file mode 100644
index cb63fbf53e4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Unicode/Normalize.pm
+++ /dev/null
@@ -1,518 +0,0 @@
-package Unicode::Normalize;
-
-BEGIN {
- unless ("A" eq pack('U', 0x41)) {
- die "Unicode::Normalize cannot stringify a Unicode code point\n";
- }
-}
-
-use 5.006;
-use strict;
-use warnings;
-use Carp;
-
-no warnings 'utf8';
-
-our $VERSION = '1.02';
-our $PACKAGE = __PACKAGE__;
-
-require Exporter;
-require DynaLoader;
-
-our @ISA = qw(Exporter DynaLoader);
-our @EXPORT = qw( NFC NFD NFKC NFKD );
-our @EXPORT_OK = qw(
- normalize decompose reorder compose
- checkNFD checkNFKD checkNFC checkNFKC check
- getCanon getCompat getComposite getCombinClass
- isExclusion isSingleton isNonStDecomp isComp2nd isComp_Ex
- isNFD_NO isNFC_NO isNFC_MAYBE isNFKD_NO isNFKC_NO isNFKC_MAYBE
- FCD checkFCD FCC checkFCC composeContiguous
- splitOnLastStarter
-);
-our %EXPORT_TAGS = (
- all => [ @EXPORT, @EXPORT_OK ],
- normalize => [ @EXPORT, qw/normalize decompose reorder compose/ ],
- check => [ qw/checkNFD checkNFKD checkNFC checkNFKC check/ ],
- fast => [ qw/FCD checkFCD FCC checkFCC composeContiguous/ ],
-);
-
-######
-
-bootstrap Unicode::Normalize $VERSION;
-
-######
-
-##
-## utilites for tests
-##
-
-sub pack_U {
- return pack('U*', @_);
-}
-
-sub unpack_U {
- return unpack('U*', shift(@_).pack('U*'));
-}
-
-
-##
-## normalization forms
-##
-
-sub FCD ($) {
- my $str = shift;
- return checkFCD($str) ? $str : NFD($str);
-}
-
-our %formNorm = (
- NFC => \&NFC, C => \&NFC,
- NFD => \&NFD, D => \&NFD,
- NFKC => \&NFKC, KC => \&NFKC,
- NFKD => \&NFKD, KD => \&NFKD,
- FCD => \&FCD, FCC => \&FCC,
-);
-
-sub normalize($$)
-{
- my $form = shift;
- my $str = shift;
- if (exists $formNorm{$form}) {
- return $formNorm{$form}->($str);
- }
- croak($PACKAGE."::normalize: invalid form name: $form");
-}
-
-
-##
-## quick check
-##
-
-our %formCheck = (
- NFC => \&checkNFC, C => \&checkNFC,
- NFD => \&checkNFD, D => \&checkNFD,
- NFKC => \&checkNFKC, KC => \&checkNFKC,
- NFKD => \&checkNFKD, KD => \&checkNFKD,
- FCD => \&checkFCD, FCC => \&checkFCC,
-);
-
-sub check($$)
-{
- my $form = shift;
- my $str = shift;
- if (exists $formCheck{$form}) {
- return $formCheck{$form}->($str);
- }
- croak($PACKAGE."::check: invalid form name: $form");
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Unicode::Normalize - Unicode Normalization Forms
-
-=head1 SYNOPSIS
-
-(1) using function names exported by default:
-
- use Unicode::Normalize;
-
- $NFD_string = NFD($string); # Normalization Form D
- $NFC_string = NFC($string); # Normalization Form C
- $NFKD_string = NFKD($string); # Normalization Form KD
- $NFKC_string = NFKC($string); # Normalization Form KC
-
-(2) using function names exported on request:
-
- use Unicode::Normalize 'normalize';
-
- $NFD_string = normalize('D', $string); # Normalization Form D
- $NFC_string = normalize('C', $string); # Normalization Form C
- $NFKD_string = normalize('KD', $string); # Normalization Form KD
- $NFKC_string = normalize('KC', $string); # Normalization Form KC
-
-=head1 DESCRIPTION
-
-Parameters:
-
-C<$string> is used as a string under character semantics (see F<perlunicode>).
-
-C<$code_point> should be an unsigned integer representing a Unicode code point.
-
-Note: Between XSUB and pure Perl, there is an incompatibility
-about the interpretation of C<$code_point> as a decimal number.
-XSUB converts C<$code_point> to an unsigned integer, but pure Perl does not.
-Do not use a floating point nor a negative sign in C<$code_point>.
-
-=head2 Normalization Forms
-
-=over 4
-
-=item C<$NFD_string = NFD($string)>
-
-It returns the Normalization Form D (formed by canonical decomposition).
-
-=item C<$NFC_string = NFC($string)>
-
-It returns the Normalization Form C (formed by canonical decomposition
-followed by canonical composition).
-
-=item C<$NFKD_string = NFKD($string)>
-
-It returns the Normalization Form KD (formed by compatibility decomposition).
-
-=item C<$NFKC_string = NFKC($string)>
-
-It returns the Normalization Form KC (formed by compatibility decomposition
-followed by B<canonical> composition).
-
-=item C<$FCD_string = FCD($string)>
-
-If the given string is in FCD ("Fast C or D" form; cf. UTN #5),
-it returns the string without modification; otherwise it returns an FCD string.
-
-Note: FCD is not always unique, then plural forms may be equivalent
-each other. C<FCD()> will return one of these equivalent forms.
-
-=item C<$FCC_string = FCC($string)>
-
-It returns the FCC form ("Fast C Contiguous"; cf. UTN #5).
-
-Note: FCC is unique, as well as four normalization forms (NF*).
-
-=item C<$normalized_string = normalize($form_name, $string)>
-
-It returns the normalization form of C<$form_name>.
-
-As C<$form_name>, one of the following names must be given.
-
- 'C' or 'NFC' for Normalization Form C (UAX #15)
- 'D' or 'NFD' for Normalization Form D (UAX #15)
- 'KC' or 'NFKC' for Normalization Form KC (UAX #15)
- 'KD' or 'NFKD' for Normalization Form KD (UAX #15)
-
- 'FCD' for "Fast C or D" Form (UTN #5)
- 'FCC' for "Fast C Contiguous" (UTN #5)
-
-=back
-
-=head2 Decomposition and Composition
-
-=over 4
-
-=item C<$decomposed_string = decompose($string [, $useCompatMapping])>
-
-It returns the concatenation of the decomposition of each character
-in the string.
-
-If the second parameter (a boolean) is omitted or false,
-the decomposition is canonical decomposition;
-if the second parameter (a boolean) is true,
-the decomposition is compatibility decomposition.
-
-The string returned is not always in NFD/NFKD. Reordering may be required.
-
- $NFD_string = reorder(decompose($string)); # eq. to NFD()
- $NFKD_string = reorder(decompose($string, TRUE)); # eq. to NFKD()
-
-=item C<$reordered_string = reorder($string)>
-
-It returns the result of reordering the combining characters
-according to Canonical Ordering Behavior.
-
-For example, when you have a list of NFD/NFKD strings,
-you can get the concatenated NFD/NFKD string from them, by saying
-
- $concat_NFD = reorder(join '', @NFD_strings);
- $concat_NFKD = reorder(join '', @NFKD_strings);
-
-=item C<$composed_string = compose($string)>
-
-It returns the result of canonical composition
-without applying any decomposition.
-
-For example, when you have a NFD/NFKD string,
-you can get its NFC/NFKC string, by saying
-
- $NFC_string = compose($NFD_string);
- $NFKC_string = compose($NFKD_string);
-
-=back
-
-=head2 Quick Check
-
-(see Annex 8, UAX #15; and F<DerivedNormalizationProps.txt>)
-
-The following functions check whether the string is in that normalization form.
-
-The result returned will be one of the following:
-
- YES The string is in that normalization form.
- NO The string is not in that normalization form.
- MAYBE Dubious. Maybe yes, maybe no.
-
-=over 4
-
-=item C<$result = checkNFD($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>.
-
-=item C<$result = checkNFC($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>;
-C<undef> if C<MAYBE>.
-
-=item C<$result = checkNFKD($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>.
-
-=item C<$result = checkNFKC($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>;
-C<undef> if C<MAYBE>.
-
-=item C<$result = checkFCD($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>.
-
-=item C<$result = checkFCC($string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>;
-C<undef> if C<MAYBE>.
-
-Note: If a string is not in FCD, it must not be in FCC.
-So C<checkFCC($not_FCD_string)> should return C<NO>.
-
-=item C<$result = check($form_name, $string)>
-
-It returns true (C<1>) if C<YES>; false (C<empty string>) if C<NO>;
-C<undef> if C<MAYBE>.
-
-As C<$form_name>, one of the following names must be given.
-
- 'C' or 'NFC' for Normalization Form C (UAX #15)
- 'D' or 'NFD' for Normalization Form D (UAX #15)
- 'KC' or 'NFKC' for Normalization Form KC (UAX #15)
- 'KD' or 'NFKD' for Normalization Form KD (UAX #15)
-
- 'FCD' for "Fast C or D" Form (UTN #5)
- 'FCC' for "Fast C Contiguous" (UTN #5)
-
-=back
-
-B<Note>
-
-In the cases of NFD, NFKD, and FCD, the answer must be
-either C<YES> or C<NO>. The answer C<MAYBE> may be returned
-in the cases of NFC, NFKC, and FCC.
-
-A C<MAYBE> string should contain at least one combining character
-or the like. For example, C<COMBINING ACUTE ACCENT> has
-the MAYBE_NFC/MAYBE_NFKC property.
-
-Both C<checkNFC("A\N{COMBINING ACUTE ACCENT}")>
-and C<checkNFC("B\N{COMBINING ACUTE ACCENT}")> will return C<MAYBE>.
-C<"A\N{COMBINING ACUTE ACCENT}"> is not in NFC
-(its NFC is C<"\N{LATIN CAPITAL LETTER A WITH ACUTE}">),
-while C<"B\N{COMBINING ACUTE ACCENT}"> is in NFC.
-
-If you want to check exactly, compare the string with its NFC/NFKC/FCC.
-
- if ($string eq NFC($string)) {
- # $string is exactly normalized in NFC;
- } else {
- # $string is not normalized in NFC;
- }
-
- if ($string eq NFKC($string)) {
- # $string is exactly normalized in NFKC;
- } else {
- # $string is not normalized in NFKC;
- }
-
-=head2 Character Data
-
-These functions are interface of character data used internally.
-If you want only to get Unicode normalization forms, you don't need
-call them yourself.
-
-=over 4
-
-=item C<$canonical_decomposition = getCanon($code_point)>
-
-If the character is canonically decomposable (including Hangul Syllables),
-it returns the (full) canonical decomposition as a string.
-Otherwise it returns C<undef>.
-
-B<Note:> According to the Unicode standard, the canonical decomposition
-of the character that is not canonically decomposable is same as
-the character itself.
-
-=item C<$compatibility_decomposition = getCompat($code_point)>
-
-If the character is compatibility decomposable (including Hangul Syllables),
-it returns the (full) compatibility decomposition as a string.
-Otherwise it returns C<undef>.
-
-B<Note:> According to the Unicode standard, the compatibility decomposition
-of the character that is not compatibility decomposable is same as
-the character itself.
-
-=item C<$code_point_composite = getComposite($code_point_here, $code_point_next)>
-
-If two characters here and next (as code points) are composable
-(including Hangul Jamo/Syllables and Composition Exclusions),
-it returns the code point of the composite.
-
-If they are not composable, it returns C<undef>.
-
-=item C<$combining_class = getCombinClass($code_point)>
-
-It returns the combining class (as an integer) of the character.
-
-=item C<$may_be_composed_with_prev_char = isComp2nd($code_point)>
-
-It returns a boolean whether the character of the specified codepoint
-may be composed with the previous one in a certain composition
-(including Hangul Compositions, but excluding
-Composition Exclusions and Non-Starter Decompositions).
-
-=item C<$is_exclusion = isExclusion($code_point)>
-
-It returns a boolean whether the code point is a composition exclusion.
-
-=item C<$is_singleton = isSingleton($code_point)>
-
-It returns a boolean whether the code point is a singleton
-
-=item C<$is_non_starter_decomposition = isNonStDecomp($code_point)>
-
-It returns a boolean whether the code point has Non-Starter Decomposition.
-
-=item C<$is_Full_Composition_Exclusion = isComp_Ex($code_point)>
-
-It returns a boolean of the derived property Comp_Ex
-(Full_Composition_Exclusion). This property is generated from
-Composition Exclusions + Singletons + Non-Starter Decompositions.
-
-=item C<$NFD_is_NO = isNFD_NO($code_point)>
-
-It returns a boolean of the derived property NFD_NO
-(NFD_Quick_Check=No).
-
-=item C<$NFC_is_NO = isNFC_NO($code_point)>
-
-It returns a boolean of the derived property NFC_NO
-(NFC_Quick_Check=No).
-
-=item C<$NFC_is_MAYBE = isNFC_MAYBE($code_point)>
-
-It returns a boolean of the derived property NFC_MAYBE
-(NFC_Quick_Check=Maybe).
-
-=item C<$NFKD_is_NO = isNFKD_NO($code_point)>
-
-It returns a boolean of the derived property NFKD_NO
-(NFKD_Quick_Check=No).
-
-=item C<$NFKC_is_NO = isNFKC_NO($code_point)>
-
-It returns a boolean of the derived property NFKC_NO
-(NFKC_Quick_Check=No).
-
-=item C<$NFKC_is_MAYBE = isNFKC_MAYBE($code_point)>
-
-It returns a boolean of the derived property NFKC_MAYBE
-(NFKC_Quick_Check=Maybe).
-
-=back
-
-=head1 EXPORT
-
-C<NFC>, C<NFD>, C<NFKC>, C<NFKD>: by default.
-
-C<normalize> and other some functions: on request.
-
-=head1 CAVEATS
-
-=over 4
-
-=item Perl's version vs. Unicode version
-
-Since this module refers to perl core's Unicode database in the directory
-F</lib/unicore> (or formerly F</lib/unicode>), the Unicode version of
-normalization implemented by this module depends on your perl's version.
-
- perl's version implemented Unicode version
- 5.6.1 3.0.1
- 5.7.2 3.1.0
- 5.7.3 3.1.1 (normalization is same as 3.1.0)
- 5.8.0 3.2.0
- 5.8.1-5.8.3 4.0.0
- 5.8.4-5.8.6 4.0.1 (normalization is same as 4.0.0)
- 5.8.7-5.8.8 4.1.0
-
-=item Correction of decomposition mapping
-
-In older Unicode versions, a small number of characters (all of which are
-CJK compatibility ideographs as far as they have been found) may have
-an erroneous decomposition mapping (see F<NormalizationCorrections.txt>).
-Anyhow, this module will neither refer to F<NormalizationCorrections.txt>
-nor provide any specific version of normalization. Therefore this module
-running on an older perl with an older Unicode database may use
-the erroneous decomposition mapping blindly conforming to the Unicode database.
-
-=item Revised definition of canonical composition
-
-In Unicode 4.1.0, the definition D2 of canonical composition (which
-affects NFC and NFKC) has been changed (see Public Review Issue #29
-and recent UAX #15). This module has used the newer definition
-since the version 0.07 (Oct 31, 2001).
-This module will not support the normalization according to the older
-definition, even if the Unicode version implemented by perl is
-lower than 4.1.0.
-
-=back
-
-=head1 AUTHOR
-
-SADAHIRO Tomoyuki <SADAHIRO@cpan.org>
-
-Copyright(C) 2001-2007, SADAHIRO Tomoyuki. Japan. All rights reserved.
-
-This module is free software; you can redistribute it
-and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-=over 4
-
-=item http://www.unicode.org/reports/tr15/
-
-Unicode Normalization Forms - UAX #15
-
-=item http://www.unicode.org/Public/UNIDATA/CompositionExclusions.txt
-
-Composition Exclusion Table
-
-=item http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt
-
-Derived Normalization Properties
-
-=item http://www.unicode.org/Public/UNIDATA/NormalizationCorrections.txt
-
-Normalization Corrections
-
-=item http://www.unicode.org/review/pr-29.html
-
-Public Review Issue #29: Normalization Issue
-
-=item http://www.unicode.org/notes/tn5/
-
-Canonical Equivalence in Applications - UTN #5
-
-=back
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32.pm
deleted file mode 100644
index 89ec732f1ab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32.pm
+++ /dev/null
@@ -1,783 +0,0 @@
-package Win32;
-
-BEGIN {
- use strict;
- use vars qw|$VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK|;
-
- require Exporter;
- require DynaLoader;
-
- @ISA = qw|Exporter DynaLoader|;
- $VERSION = '0.36';
- $XS_VERSION = $VERSION;
- $VERSION = eval $VERSION;
-
- @EXPORT = qw(
- NULL
- WIN31_CLASS
- OWNER_SECURITY_INFORMATION
- GROUP_SECURITY_INFORMATION
- DACL_SECURITY_INFORMATION
- SACL_SECURITY_INFORMATION
- MB_ICONHAND
- MB_ICONQUESTION
- MB_ICONEXCLAMATION
- MB_ICONASTERISK
- MB_ICONWARNING
- MB_ICONERROR
- MB_ICONINFORMATION
- MB_ICONSTOP
- );
- @EXPORT_OK = qw(
- GetOSName
- SW_HIDE
- SW_SHOWNORMAL
- SW_SHOWMINIMIZED
- SW_SHOWMAXIMIZED
- SW_SHOWNOACTIVATE
-
- CSIDL_DESKTOP
- CSIDL_PROGRAMS
- CSIDL_PERSONAL
- CSIDL_FAVORITES
- CSIDL_STARTUP
- CSIDL_RECENT
- CSIDL_SENDTO
- CSIDL_STARTMENU
- CSIDL_MYMUSIC
- CSIDL_MYVIDEO
- CSIDL_DESKTOPDIRECTORY
- CSIDL_NETHOOD
- CSIDL_FONTS
- CSIDL_TEMPLATES
- CSIDL_COMMON_STARTMENU
- CSIDL_COMMON_PROGRAMS
- CSIDL_COMMON_STARTUP
- CSIDL_COMMON_DESKTOPDIRECTORY
- CSIDL_APPDATA
- CSIDL_PRINTHOOD
- CSIDL_LOCAL_APPDATA
- CSIDL_COMMON_FAVORITES
- CSIDL_INTERNET_CACHE
- CSIDL_COOKIES
- CSIDL_HISTORY
- CSIDL_COMMON_APPDATA
- CSIDL_WINDOWS
- CSIDL_SYSTEM
- CSIDL_PROGRAM_FILES
- CSIDL_MYPICTURES
- CSIDL_PROFILE
- CSIDL_PROGRAM_FILES_COMMON
- CSIDL_COMMON_TEMPLATES
- CSIDL_COMMON_DOCUMENTS
- CSIDL_COMMON_ADMINTOOLS
- CSIDL_ADMINTOOLS
- CSIDL_COMMON_MUSIC
- CSIDL_COMMON_PICTURES
- CSIDL_COMMON_VIDEO
- CSIDL_RESOURCES
- CSIDL_RESOURCES_LOCALIZED
- CSIDL_CDBURN_AREA
- );
-}
-
-# We won't bother with the constant stuff, too much of a hassle. Just hard
-# code it here.
-
-sub NULL { 0 }
-sub WIN31_CLASS { &NULL }
-
-sub OWNER_SECURITY_INFORMATION { 0x00000001 }
-sub GROUP_SECURITY_INFORMATION { 0x00000002 }
-sub DACL_SECURITY_INFORMATION { 0x00000004 }
-sub SACL_SECURITY_INFORMATION { 0x00000008 }
-
-sub MB_ICONHAND { 0x00000010 }
-sub MB_ICONQUESTION { 0x00000020 }
-sub MB_ICONEXCLAMATION { 0x00000030 }
-sub MB_ICONASTERISK { 0x00000040 }
-sub MB_ICONWARNING { 0x00000030 }
-sub MB_ICONERROR { 0x00000010 }
-sub MB_ICONINFORMATION { 0x00000040 }
-sub MB_ICONSTOP { 0x00000010 }
-
-#
-# Newly added constants. These have an empty prototype, unlike the
-# the ones above, which aren't prototyped for compatibility reasons.
-#
-sub SW_HIDE () { 0 }
-sub SW_SHOWNORMAL () { 1 }
-sub SW_SHOWMINIMIZED () { 2 }
-sub SW_SHOWMAXIMIZED () { 3 }
-sub SW_SHOWNOACTIVATE () { 4 }
-
-sub CSIDL_DESKTOP () { 0x0000 } # <desktop>
-sub CSIDL_PROGRAMS () { 0x0002 } # Start Menu\Programs
-sub CSIDL_PERSONAL () { 0x0005 } # "My Documents" folder
-sub CSIDL_FAVORITES () { 0x0006 } # <user name>\Favorites
-sub CSIDL_STARTUP () { 0x0007 } # Start Menu\Programs\Startup
-sub CSIDL_RECENT () { 0x0008 } # <user name>\Recent
-sub CSIDL_SENDTO () { 0x0009 } # <user name>\SendTo
-sub CSIDL_STARTMENU () { 0x000B } # <user name>\Start Menu
-sub CSIDL_MYMUSIC () { 0x000D } # "My Music" folder
-sub CSIDL_MYVIDEO () { 0x000E } # "My Videos" folder
-sub CSIDL_DESKTOPDIRECTORY () { 0x0010 } # <user name>\Desktop
-sub CSIDL_NETHOOD () { 0x0013 } # <user name>\nethood
-sub CSIDL_FONTS () { 0x0014 } # windows\fonts
-sub CSIDL_TEMPLATES () { 0x0015 }
-sub CSIDL_COMMON_STARTMENU () { 0x0016 } # All Users\Start Menu
-sub CSIDL_COMMON_PROGRAMS () { 0x0017 } # All Users\Start Menu\Programs
-sub CSIDL_COMMON_STARTUP () { 0x0018 } # All Users\Startup
-sub CSIDL_COMMON_DESKTOPDIRECTORY () { 0x0019 } # All Users\Desktop
-sub CSIDL_APPDATA () { 0x001A } # Application Data, new for NT4
-sub CSIDL_PRINTHOOD () { 0x001B } # <user name>\PrintHood
-sub CSIDL_LOCAL_APPDATA () { 0x001C } # non roaming, user\Local Settings\Application Data
-sub CSIDL_COMMON_FAVORITES () { 0x001F }
-sub CSIDL_INTERNET_CACHE () { 0x0020 }
-sub CSIDL_COOKIES () { 0x0021 }
-sub CSIDL_HISTORY () { 0x0022 }
-sub CSIDL_COMMON_APPDATA () { 0x0023 } # All Users\Application Data
-sub CSIDL_WINDOWS () { 0x0024 } # GetWindowsDirectory()
-sub CSIDL_SYSTEM () { 0x0025 } # GetSystemDirectory()
-sub CSIDL_PROGRAM_FILES () { 0x0026 } # C:\Program Files
-sub CSIDL_MYPICTURES () { 0x0027 } # "My Pictures", new for Win2K
-sub CSIDL_PROFILE () { 0x0028 } # USERPROFILE
-sub CSIDL_PROGRAM_FILES_COMMON () { 0x002B } # C:\Program Files\Common
-sub CSIDL_COMMON_TEMPLATES () { 0x002D } # All Users\Templates
-sub CSIDL_COMMON_DOCUMENTS () { 0x002E } # All Users\Documents
-sub CSIDL_COMMON_ADMINTOOLS () { 0x002F } # All Users\Start Menu\Programs\Administrative Tools
-sub CSIDL_ADMINTOOLS () { 0x0030 } # <user name>\Start Menu\Programs\Administrative Tools
-sub CSIDL_COMMON_MUSIC () { 0x0035 } # All Users\My Music
-sub CSIDL_COMMON_PICTURES () { 0x0036 } # All Users\My Pictures
-sub CSIDL_COMMON_VIDEO () { 0x0037 } # All Users\My Video
-sub CSIDL_RESOURCES () { 0x0038 } # %windir%\Resources\, For theme and other windows resources.
-sub CSIDL_RESOURCES_LOCALIZED () { 0x0039 } # %windir%\Resources\<LangID>, for theme and other windows specific resources.
-sub CSIDL_CDBURN_AREA () { 0x003B } # <user name>\Local Settings\Application Data\Microsoft\CD Burning
-
-### This method is just a simple interface into GetOSVersion(). More
-### specific or demanding situations should use that instead.
-
-my ($found_os, $found_desc);
-
-sub GetOSName {
- my ($os,$desc,$major, $minor, $build, $id)=("","");
- unless (defined $found_os) {
- # If we have a run this already, we have the results cached
- # If so, return them
-
- # Use the standard API call to determine the version
- ($desc, $major, $minor, $build, $id) = Win32::GetOSVersion();
-
- # If id==0 then its a win32s box -- Meaning Win3.11
- unless($id) {
- $os = 'Win32s';
- }
- else {
- # Magic numbers from MSDN documentation of OSVERSIONINFO
- # Most version names can be parsed from just the id and minor
- # version
- $os = {
- 1 => {
- 0 => "95",
- 10 => "98",
- 90 => "Me"
- },
- 2 => {
- 0 => "NT4",
- 1 => "XP/.Net",
- 2 => "2003",
- 51 => "NT3.51"
- }
- }->{$id}->{$minor};
- }
-
- # This _really_ shouldnt happen. At least not for quite a while
- # Politely warn and return undef
- unless (defined $os) {
- warn qq[Windows version [$id:$major:$minor] unknown!];
- return undef;
- }
-
- my $tag = "";
-
- # But distinguising W2k and Vista from NT4 requires looking at the major version
- if ($os eq "NT4") {
- $os = {5 => "2000", 6 => "Vista"}->{$major} || "NT4";
- }
-
- # For the rest we take a look at the build numbers and try to deduce
- # the exact release name, but we put that in the $desc
- elsif ($os eq "95") {
- if ($build eq '67109814') {
- $tag = '(a)';
- }
- elsif ($build eq '67306684') {
- $tag = '(b1)';
- }
- elsif ($build eq '67109975') {
- $tag = '(b2)';
- }
- }
- elsif ($os eq "98" && $build eq '67766446') {
- $tag = '(2nd ed)';
- }
-
- if (length $tag) {
- if (length $desc) {
- $desc = "$tag $desc";
- }
- else {
- $desc = $tag;
- }
- }
-
- # cache the results, so we dont have to do this again
- $found_os = "Win$os";
- $found_desc = $desc;
- }
-
- return wantarray ? ($found_os, $found_desc) : $found_os;
-}
-
-# "no warnings 'redefine';" doesn't work for 5.8.7 and earlier
-local $^W = 0;
-bootstrap Win32;
-
-1;
-
-__END__
-
-=head1 NAME
-
-Win32 - Interfaces to some Win32 API Functions
-
-=head1 DESCRIPTION
-
-The Win32 module contains functions to access Win32 APIs.
-
-=head2 Alphabetical Listing of Win32 Functions
-
-It is recommended to C<use Win32;> before any of these functions;
-however, for backwards compatibility, those marked as [CORE] will
-automatically do this for you.
-
-In the function descriptions below the term I<Unicode string> is used
-to indicate that the string may contain characters outside the system
-codepage. The caveat I<If supported by the core Perl version>
-generally means Perl 5.8.9 and later, though some Unicode pathname
-functionality may work on earlier versions.
-
-=over
-
-=item Win32::AbortSystemShutdown(MACHINE)
-
-Aborts a system shutdown (started by the
-InitiateSystemShutdown function) on the specified MACHINE.
-
-=item Win32::BuildNumber()
-
-[CORE] Returns the ActivePerl build number. This function is
-only available in the ActivePerl binary distribution.
-
-=item Win32::CopyFile(FROM, TO, OVERWRITE)
-
-[CORE] The Win32::CopyFile() function copies an existing file to a new
-file. All file information like creation time and file attributes will
-be copied to the new file. However it will B<not> copy the security
-information. If the destination file already exists it will only be
-overwritten when the OVERWRITE parameter is true. But even this will
-not overwrite a read-only file; you have to unlink() it first
-yourself.
-
-=item Win32::CreateDirectory(DIRECTORY)
-
-Creates the DIRECTORY and returns a true value on success. Check $^E
-on failure for extended error information.
-
-DIRECTORY may contain Unicode characters outside the system codepage.
-Once the directory has been created you can use
-Win32::GetANSIPathName() to get a name that can be passed to system
-calls and external programs.
-
-=item Win32::CreateFile(FILE)
-
-Creates the FILE and returns a true value on success. Check $^E on
-failure for extended error information.
-
-FILE may contain Unicode characters outside the system codepage. Once
-the file has been created you can use Win32::GetANSIPathName() to get
-a name that can be passed to system calls and external programs.
-
-=item Win32::DomainName()
-
-[CORE] Returns the name of the Microsoft Network domain or workgroup
-that the owner of the current perl process is logged into. The
-"Workstation" service must be running to determine this
-information. This function does B<not> work on Windows 9x.
-
-=item Win32::ExpandEnvironmentStrings(STRING)
-
-Takes STRING and replaces all referenced environment variable
-names with their defined values. References to environment variables
-take the form C<%VariableName%>. Case is ignored when looking up the
-VariableName in the environment. If the variable is not found then the
-original C<%VariableName%> text is retained. Has the same effect
-as the following:
-
- $string =~ s/%([^%]*)%/$ENV{$1} || "%$1%"/eg
-
-However, this function may return a Unicode string if the environment
-variable being expanded hasn't been assigned to via %ENV. Access
-to %ENV is currently always using byte semantics.
-
-=item Win32::FormatMessage(ERRORCODE)
-
-[CORE] Converts the supplied Win32 error number (e.g. returned by
-Win32::GetLastError()) to a descriptive string. Analogous to the
-perror() standard-C library function. Note that C<$^E> used
-in a string context has much the same effect.
-
- C:\> perl -e "$^E = 26; print $^E;"
- The specified disk or diskette cannot be accessed
-
-=item Win32::FsType()
-
-[CORE] Returns the name of the filesystem of the currently active
-drive (like 'FAT' or 'NTFS'). In list context it returns three values:
-(FSTYPE, FLAGS, MAXCOMPLEN). FSTYPE is the filesystem type as
-before. FLAGS is a combination of values of the following table:
-
- 0x00000001 supports case-sensitive filenames
- 0x00000002 preserves the case of filenames
- 0x00000004 supports Unicode in filenames
- 0x00000008 preserves and enforces ACLs
- 0x00000010 supports file-based compression
- 0x00000020 supports disk quotas
- 0x00000040 supports sparse files
- 0x00000080 supports reparse points
- 0x00000100 supports remote storage
- 0x00008000 is a compressed volume (e.g. DoubleSpace)
- 0x00010000 supports object identifiers
- 0x00020000 supports the Encrypted File System (EFS)
-
-MAXCOMPLEN is the maximum length of a filename component (the part
-between two backslashes) on this file system.
-
-=item Win32::FreeLibrary(HANDLE)
-
-Unloads a previously loaded dynamic-link library. The HANDLE is
-no longer valid after this call. See L<LoadLibrary|Win32::LoadLibrary(LIBNAME)>
-for information on dynamically loading a library.
-
-=item Win32::GetANSIPathName(FILENAME)
-
-Returns an ANSI version of FILENAME. This may be the short name
-if the long name cannot be represented in the system codepage.
-
-While not currently implemented, it is possible that in the future
-this function will convert only parts of the path to FILENAME to a
-short form.
-
-If FILENAME doesn't exist on the filesystem, or if the filesystem
-doesn't support short ANSI filenames, then this function will
-translate the Unicode name into the system codepage using replacement
-characters.
-
-=item Win32::GetArchName()
-
-Use of this function is deprecated. It is equivalent with
-$ENV{PROCESSOR_ARCHITECTURE}. This might not work on Win9X.
-
-=item Win32::GetChipName()
-
-Returns the processor type: 386, 486 or 586 for Intel processors,
-21064 for the Alpha chip.
-
-=item Win32::GetCwd()
-
-[CORE] Returns the current active drive and directory. This function
-does not return a UNC path, since the functionality required for such
-a feature is not available under Windows 95.
-
-If supported by the core Perl version, this function will return an
-ANSI path name for the current directory if the long pathname cannot
-be represented in the system codepage.
-
-=item Win32::GetCurrentThreadId()
-
-Returns the thread identifier of the calling thread. Until the thread
-terminates, the thread identifier uniquely identifies the thread
-throughout the system.
-
-Note: the current process identifier is available via the predefined
-$$ variable.
-
-=item Win32::GetFileVersion(FILENAME)
-
-Returns the file version number from the VERSIONINFO resource of
-the executable file or DLL. This is a tuple of four 16 bit numbers.
-In list context these four numbers will be returned. In scalar context
-they are concatenated into a string, separated by dots.
-
-=item Win32::GetFolderPath(FOLDER [, CREATE])
-
-Returns the full pathname of one of the Windows special folders.
-The folder will be created if it doesn't exist and the optional CREATE
-argument is true. The following FOLDER constants are defined by the
-Win32 module, but only exported on demand:
-
- CSIDL_ADMINTOOLS
- CSIDL_APPDATA
- CSIDL_CDBURN_AREA
- CSIDL_COMMON_ADMINTOOLS
- CSIDL_COMMON_APPDATA
- CSIDL_COMMON_DESKTOPDIRECTORY
- CSIDL_COMMON_DOCUMENTS
- CSIDL_COMMON_FAVORITES
- CSIDL_COMMON_MUSIC
- CSIDL_COMMON_PICTURES
- CSIDL_COMMON_PROGRAMS
- CSIDL_COMMON_STARTMENU
- CSIDL_COMMON_STARTUP
- CSIDL_COMMON_TEMPLATES
- CSIDL_COMMON_VIDEO
- CSIDL_COOKIES
- CSIDL_DESKTOP
- CSIDL_DESKTOPDIRECTORY
- CSIDL_FAVORITES
- CSIDL_FONTS
- CSIDL_HISTORY
- CSIDL_INTERNET_CACHE
- CSIDL_LOCAL_APPDATA
- CSIDL_MYMUSIC
- CSIDL_MYPICTURES
- CSIDL_MYVIDEO
- CSIDL_NETHOOD
- CSIDL_PERSONAL
- CSIDL_PRINTHOOD
- CSIDL_PROFILE
- CSIDL_PROGRAMS
- CSIDL_PROGRAM_FILES
- CSIDL_PROGRAM_FILES_COMMON
- CSIDL_RECENT
- CSIDL_RESOURCES
- CSIDL_RESOURCES_LOCALIZED
- CSIDL_SENDTO
- CSIDL_STARTMENU
- CSIDL_STARTUP
- CSIDL_SYSTEM
- CSIDL_TEMPLATES
- CSIDL_WINDOWS
-
-Note that not all folders are defined on all versions of Windows.
-
-Please refer to the MSDN documentation of the CSIDL constants,
-currently available at:
-
-http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp
-
-This function will return an ANSI folder path if the long name cannot
-be represented in the system codepage. Use Win32::GetLongPathName()
-on the result of Win32::GetFolderPath() if you want the Unicode
-version of the folder name.
-
-=item Win32::GetFullPathName(FILENAME)
-
-[CORE] GetFullPathName combines the FILENAME with the current drive
-and directory name and returns a fully qualified (aka, absolute)
-path name. In list context it returns two elements: (PATH, FILE) where
-PATH is the complete pathname component (including trailing backslash)
-and FILE is just the filename part. Note that no attempt is made to
-convert 8.3 components in the supplied FILENAME to longnames or
-vice-versa. Compare with Win32::GetShortPathName() and
-Win32::GetLongPathName().
-
-If supported by the core Perl version, this function will return an
-ANSI path name if the full pathname cannot be represented in the
-system codepage.
-
-=item Win32::GetLastError()
-
-[CORE] Returns the last error value generated by a call to a Win32 API
-function. Note that C<$^E> used in a numeric context amounts to the
-same value.
-
-=item Win32::GetLongPathName(PATHNAME)
-
-[CORE] Returns a representation of PATHNAME composed of longname
-components (if any). The result may not necessarily be longer
-than PATHNAME. No attempt is made to convert PATHNAME to the
-absolute path. Compare with Win32::GetShortPathName() and
-Win32::GetFullPathName().
-
-This function may return the pathname in Unicode if it cannot be
-represented in the system codepage. Use Win32::GetANSIPathName()
-before passing the path to a system call or another program.
-
-=item Win32::GetNextAvailDrive()
-
-[CORE] Returns a string in the form of "<d>:" where <d> is the first
-available drive letter.
-
-=item Win32::GetOSVersion()
-
-[CORE] Returns the list (STRING, MAJOR, MINOR, BUILD, ID), where the
-elements are, respectively: An arbitrary descriptive string, the major
-version number of the operating system, the minor version number, the
-build number, and a digit indicating the actual operating system.
-For the ID, the values are 0 for Win32s, 1 for Windows 9X/Me and 2 for
-Windows NT/2000/XP/2003/Vista. In scalar context it returns just the ID.
-
-Currently known values for ID MAJOR and MINOR are as follows:
-
- OS ID MAJOR MINOR
- Win32s 0 - -
- Windows 95 1 4 0
- Windows 98 1 4 10
- Windows Me 1 4 90
- Windows NT 3.51 2 3 51
- Windows NT 4 2 4 0
- Windows 2000 2 5 0
- Windows XP 2 5 1
- Windows Server 2003 2 5 2
- Windows Vista 2 6 0
-
-On Windows NT 4 SP6 and later this function returns the following
-additional values: SPMAJOR, SPMINOR, SUITEMASK, PRODUCTTYPE.
-
-SPMAJOR and SPMINOR are are the version numbers of the latest
-installed service pack.
-
-SUITEMASK is a bitfield identifying the product suites available on
-the system. Known bits are:
-
- VER_SUITE_SMALLBUSINESS 0x00000001
- VER_SUITE_ENTERPRISE 0x00000002
- VER_SUITE_BACKOFFICE 0x00000004
- VER_SUITE_COMMUNICATIONS 0x00000008
- VER_SUITE_TERMINAL 0x00000010
- VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
- VER_SUITE_EMBEDDEDNT 0x00000040
- VER_SUITE_DATACENTER 0x00000080
- VER_SUITE_SINGLEUSERTS 0x00000100
- VER_SUITE_PERSONAL 0x00000200
- VER_SUITE_BLADE 0x00000400
- VER_SUITE_EMBEDDED_RESTRICTED 0x00000800
- VER_SUITE_SECURITY_APPLIANCE 0x00001000
-
-The VER_SUITE_xxx names are listed here to crossreference the Microsoft
-documentation. The Win32 module does not provide symbolic names for these
-constants.
-
-PRODUCTTYPE provides additional information about the system. It should
-be one of the following integer values:
-
- 1 - Workstation (NT 4, 2000 Pro, XP Home, XP Pro, Vista)
- 2 - Domaincontroller
- 3 - Server
-
-=item Win32::GetOSName()
-
-In scalar context returns the name of the Win32 operating system
-being used. In list context returns a two element list of the OS name
-and whatever edition information is known about the particular build
-(for Win9X boxes) and whatever service packs have been installed.
-The latter is roughly equivalent to the first item returned by
-GetOSVersion() in list context.
-
-Currently the possible values for the OS name are
-
- Win32s Win95 Win98 WinMe WinNT3.51 WinNT4 Win2000 WinXP/.Net Win2003 WinVista
-
-This routine is just a simple interface into GetOSVersion(). More
-specific or demanding situations should use that instead. Another
-option would be to use POSIX::uname(), however the latter appears to
-report only the OS family name and not the specific OS. In scalar
-context it returns just the ID.
-
-The name "WinXP/.Net" is used for historical reasons only, to maintain
-backwards compatibility of the Win32 module. Windows .NET Server has
-been renamed as Windows 2003 Server before final release and uses a
-different major/minor version number than Windows XP.
-
-=item Win32::GetShortPathName(PATHNAME)
-
-[CORE] Returns a representation of PATHNAME that is composed of short
-(8.3) path components where available. For path components where the
-file system has not generated the short form the returned path will
-use the long form, so this function might still for instance return a
-path containing spaces. Returns C<undef> when the PATHNAME does not
-exist. Compare with Win32::GetFullPathName() and
-Win32::GetLongPathName().
-
-=item Win32::GetProcAddress(INSTANCE, PROCNAME)
-
-Returns the address of a function inside a loaded library. The
-information about what you can do with this address has been lost in
-the mist of time. Use the Win32::API module instead of this deprecated
-function.
-
-=item Win32::GetTickCount()
-
-[CORE] Returns the number of milliseconds elapsed since the last
-system boot. Resolution is limited to system timer ticks (about 10ms
-on WinNT and 55ms on Win9X).
-
-=item Win32::GuidGen()
-
-Creates a globally unique 128 bit integer that can be used as a
-persistent identifier in a distributed setting. To a very high degree
-of certainty this function returns a unique value. No other
-invocation, on the same or any other system (networked or not), should
-return the same value.
-
-The return value is formatted according to OLE conventions, as groups
-of hex digits with surrounding braces. For example:
-
- {09531CF1-D0C7-4860-840C-1C8C8735E2AD}
-
-=item Win32::InitiateSystemShutdown
-
-(MACHINE, MESSAGE, TIMEOUT, FORCECLOSE, REBOOT)
-
-Shutsdown the specified MACHINE, notifying users with the
-supplied MESSAGE, within the specified TIMEOUT interval. Forces
-closing of all documents without prompting the user if FORCECLOSE is
-true, and reboots the machine if REBOOT is true. This function works
-only on WinNT.
-
-=item Win32::IsAdminUser()
-
-Returns non zero if the account in whose security context the
-current process/thread is running belongs to the local group of
-Administrators in the built-in system domain; returns 0 if not.
-On Windows Vista it will only return non-zero if the process is
-actually running with elevated privileges. Returns C<undef>
-and prints a warning if an error occurred. This function always
-returns 1 on Win9X.
-
-=item Win32::IsWinNT()
-
-[CORE] Returns non zero if the Win32 subsystem is Windows NT.
-
-=item Win32::IsWin95()
-
-[CORE] Returns non zero if the Win32 subsystem is Windows 95.
-
-=item Win32::LoadLibrary(LIBNAME)
-
-Loads a dynamic link library into memory and returns its module
-handle. This handle can be used with Win32::GetProcAddress() and
-Win32::FreeLibrary(). This function is deprecated. Use the Win32::API
-module instead.
-
-=item Win32::LoginName()
-
-[CORE] Returns the username of the owner of the current perl process.
-The return value may be a Unicode string.
-
-=item Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE)
-
-Looks up ACCOUNT on SYSTEM and returns the domain name the SID and
-the SID type.
-
-=item Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE)
-
-Looks up SID on SYSTEM and returns the account name, domain name,
-and the SID type.
-
-=item Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]])
-
-Create a dialogbox containing MESSAGE. FLAGS specifies the
-required icon and buttons according to the following table:
-
- 0 = OK
- 1 = OK and Cancel
- 2 = Abort, Retry, and Ignore
- 3 = Yes, No and Cancel
- 4 = Yes and No
- 5 = Retry and Cancel
-
- MB_ICONSTOP "X" in a red circle
- MB_ICONQUESTION question mark in a bubble
- MB_ICONEXCLAMATION exclamation mark in a yellow triangle
- MB_ICONINFORMATION "i" in a bubble
-
-TITLE specifies an optional window title. The default is "Perl".
-
-The function returns the menu id of the selected push button:
-
- 0 Error
-
- 1 OK
- 2 Cancel
- 3 Abort
- 4 Retry
- 5 Ignore
- 6 Yes
- 7 No
-
-=item Win32::NodeName()
-
-[CORE] Returns the Microsoft Network node-name of the current machine.
-
-=item Win32::OutputDebugString(STRING)
-
-Sends a string to the application or system debugger for display.
-The function does nothing if there is no active debugger.
-
-Alternatively one can use the I<Debug Viewer> application to
-watch the OutputDebugString() output:
-
-http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx
-
-=item Win32::RegisterServer(LIBRARYNAME)
-
-Loads the DLL LIBRARYNAME and calls the function DllRegisterServer.
-
-=item Win32::SetChildShowWindow(SHOWWINDOW)
-
-[CORE] Sets the I<ShowMode> of child processes started by system().
-By default system() will create a new console window for child
-processes if Perl itself is not running from a console. Calling
-SetChildShowWindow(0) will make these new console windows invisible.
-Calling SetChildShowWindow() without arguments reverts system() to the
-default behavior. The return value of SetChildShowWindow() is the
-previous setting or C<undef>.
-
-The following symbolic constants for SHOWWINDOW are available
-(but not exported) from the Win32 module: SW_HIDE, SW_SHOWNORMAL,
-SW_SHOWMINIMIZED, SW_SHOWMAXIMIZED and SW_SHOWNOACTIVATE.
-
-=item Win32::SetCwd(NEWDIRECTORY)
-
-[CORE] Sets the current active drive and directory. This function does not
-work with UNC paths, since the functionality required to required for
-such a feature is not available under Windows 95.
-
-=item Win32::SetLastError(ERROR)
-
-[CORE] Sets the value of the last error encountered to ERROR. This is
-that value that will be returned by the Win32::GetLastError()
-function.
-
-=item Win32::Sleep(TIME)
-
-[CORE] Pauses for TIME milliseconds. The timeslices are made available
-to other processes and threads.
-
-=item Win32::Spawn(COMMAND, ARGS, PID)
-
-[CORE] Spawns a new process using the supplied COMMAND, passing in
-arguments in the string ARGS. The pid of the new process is stored in
-PID. This function is deprecated. Please use the Win32::Process module
-instead.
-
-=item Win32::UnregisterServer(LIBRARYNAME)
-
-Loads the DLL LIBRARYNAME and calls the function
-DllUnregisterServer.
-
-=back
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32API/File.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32API/File.pm
deleted file mode 100644
index 1742cbe6e59..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32API/File.pm
+++ /dev/null
@@ -1,3035 +0,0 @@
-# File.pm -- Low-level access to Win32 file/dir functions/constants.
-
-package Win32API::File;
-
-use strict;
-use integer;
-use Carp;
-use Config qw( %Config );
-use Fcntl qw( O_RDONLY O_RDWR O_WRONLY O_APPEND O_BINARY O_TEXT );
-use vars qw( $VERSION @ISA );
-use vars qw( @EXPORT @EXPORT_OK @EXPORT_FAIL %EXPORT_TAGS );
-
-$VERSION= '0.1001_01';
-
-use base qw( Exporter DynaLoader Tie::Handle IO::File );
-
-# Math::BigInt optimizations courtesy of Tels
-my $_64BITINT;
-BEGIN {
- $_64BITINT = defined($Config{use64bitint}) &&
- ($Config{use64bitint} eq 'define');
-
- require Math::BigInt unless $_64BITINT;
-}
-
-my $THIRTY_TWO = $_64BITINT ? 32 : Math::BigInt->new(32);
-
-my $FFFFFFFF = $_64BITINT ? 0xFFFFFFFF : Math::BigInt->new(0xFFFFFFFF);
-
-@EXPORT= qw();
-%EXPORT_TAGS= (
- Func => [qw( attrLetsToBits createFile
- fileConstant fileLastError getLogicalDrives
- CloseHandle CopyFile CreateFile
- DefineDosDevice DeleteFile DeviceIoControl
- FdGetOsFHandle GetDriveType GetFileAttributes GetFileType
- GetHandleInformation GetLogicalDrives GetLogicalDriveStrings
- GetOsFHandle GetVolumeInformation IsRecognizedPartition
- IsContainerPartition MoveFile MoveFileEx
- OsFHandleOpen OsFHandleOpenFd QueryDosDevice
- ReadFile SetErrorMode SetFilePointer
- SetHandleInformation WriteFile GetFileSize
- getFileSize setFilePointer GetOverlappedResult)],
- FuncA => [qw(
- CopyFileA CreateFileA DefineDosDeviceA
- DeleteFileA GetDriveTypeA GetFileAttributesA GetLogicalDriveStringsA
- GetVolumeInformationA MoveFileA MoveFileExA
- QueryDosDeviceA )],
- FuncW => [qw(
- CopyFileW CreateFileW DefineDosDeviceW
- DeleteFileW GetDriveTypeW GetFileAttributesW GetLogicalDriveStringsW
- GetVolumeInformationW MoveFileW MoveFileExW
- QueryDosDeviceW )],
- Misc => [qw(
- CREATE_ALWAYS CREATE_NEW FILE_BEGIN
- FILE_CURRENT FILE_END INVALID_HANDLE_VALUE
- OPEN_ALWAYS OPEN_EXISTING TRUNCATE_EXISTING )],
- DDD_ => [qw(
- DDD_EXACT_MATCH_ON_REMOVE DDD_RAW_TARGET_PATH
- DDD_REMOVE_DEFINITION )],
- DRIVE_ => [qw(
- DRIVE_UNKNOWN DRIVE_NO_ROOT_DIR DRIVE_REMOVABLE
- DRIVE_FIXED DRIVE_REMOTE DRIVE_CDROM
- DRIVE_RAMDISK )],
- FILE_ => [qw(
- FILE_READ_DATA FILE_LIST_DIRECTORY
- FILE_WRITE_DATA FILE_ADD_FILE
- FILE_APPEND_DATA FILE_ADD_SUBDIRECTORY
- FILE_CREATE_PIPE_INSTANCE FILE_READ_EA
- FILE_WRITE_EA FILE_EXECUTE
- FILE_TRAVERSE FILE_DELETE_CHILD
- FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES
- FILE_ALL_ACCESS FILE_GENERIC_READ
- FILE_GENERIC_WRITE FILE_GENERIC_EXECUTE )],
- FILE_ATTRIBUTE_ => [qw(
- INVALID_FILE_ATTRIBUTES
- FILE_ATTRIBUTE_DEVICE FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ENCRYPTED FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
- FILE_ATTRIBUTE_REPARSE_POINT FILE_ATTRIBUTE_SPARSE_FILE
- FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_COMPRESSED
- FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY )],
- FILE_FLAG_ => [qw(
- FILE_FLAG_BACKUP_SEMANTICS FILE_FLAG_DELETE_ON_CLOSE
- FILE_FLAG_NO_BUFFERING FILE_FLAG_OVERLAPPED
- FILE_FLAG_POSIX_SEMANTICS FILE_FLAG_RANDOM_ACCESS
- FILE_FLAG_SEQUENTIAL_SCAN FILE_FLAG_WRITE_THROUGH
- FILE_FLAG_OPEN_REPARSE_POINT )],
- FILE_SHARE_ => [qw(
- FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE )],
- FILE_TYPE_ => [qw(
- FILE_TYPE_CHAR FILE_TYPE_DISK FILE_TYPE_PIPE
- FILE_TYPE_UNKNOWN )],
- FS_ => [qw(
- FS_CASE_IS_PRESERVED FS_CASE_SENSITIVE
- FS_UNICODE_STORED_ON_DISK FS_PERSISTENT_ACLS
- FS_FILE_COMPRESSION FS_VOL_IS_COMPRESSED )],
- FSCTL_ => [qw(
- FSCTL_SET_REPARSE_POINT FSCTL_GET_REPARSE_POINT
- FSCTL_DELETE_REPARSE_POINT )],
- HANDLE_FLAG_ => [qw(
- HANDLE_FLAG_INHERIT HANDLE_FLAG_PROTECT_FROM_CLOSE )],
- IOCTL_STORAGE_ => [qw(
- IOCTL_STORAGE_CHECK_VERIFY IOCTL_STORAGE_MEDIA_REMOVAL
- IOCTL_STORAGE_EJECT_MEDIA IOCTL_STORAGE_LOAD_MEDIA
- IOCTL_STORAGE_RESERVE IOCTL_STORAGE_RELEASE
- IOCTL_STORAGE_FIND_NEW_DEVICES IOCTL_STORAGE_GET_MEDIA_TYPES
- )],
- IOCTL_DISK_ => [qw(
- IOCTL_DISK_FORMAT_TRACKS IOCTL_DISK_FORMAT_TRACKS_EX
- IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_DISK_GET_DRIVE_LAYOUT
- IOCTL_DISK_GET_MEDIA_TYPES IOCTL_DISK_GET_PARTITION_INFO
- IOCTL_DISK_HISTOGRAM_DATA IOCTL_DISK_HISTOGRAM_RESET
- IOCTL_DISK_HISTOGRAM_STRUCTURE IOCTL_DISK_IS_WRITABLE
- IOCTL_DISK_LOGGING IOCTL_DISK_PERFORMANCE
- IOCTL_DISK_REASSIGN_BLOCKS IOCTL_DISK_REQUEST_DATA
- IOCTL_DISK_REQUEST_STRUCTURE IOCTL_DISK_SET_DRIVE_LAYOUT
- IOCTL_DISK_SET_PARTITION_INFO IOCTL_DISK_VERIFY )],
- GENERIC_ => [qw(
- GENERIC_ALL GENERIC_EXECUTE
- GENERIC_READ GENERIC_WRITE )],
- MEDIA_TYPE => [qw(
- Unknown F5_1Pt2_512 F3_1Pt44_512
- F3_2Pt88_512 F3_20Pt8_512 F3_720_512
- F5_360_512 F5_320_512 F5_320_1024
- F5_180_512 F5_160_512 RemovableMedia
- FixedMedia F3_120M_512 )],
- MOVEFILE_ => [qw(
- MOVEFILE_COPY_ALLOWED MOVEFILE_DELAY_UNTIL_REBOOT
- MOVEFILE_REPLACE_EXISTING MOVEFILE_WRITE_THROUGH )],
- SECURITY_ => [qw(
- SECURITY_ANONYMOUS SECURITY_CONTEXT_TRACKING
- SECURITY_DELEGATION SECURITY_EFFECTIVE_ONLY
- SECURITY_IDENTIFICATION SECURITY_IMPERSONATION
- SECURITY_SQOS_PRESENT )],
- SEM_ => [qw(
- SEM_FAILCRITICALERRORS SEM_NOGPFAULTERRORBOX
- SEM_NOALIGNMENTFAULTEXCEPT SEM_NOOPENFILEERRORBOX )],
- PARTITION_ => [qw(
- PARTITION_ENTRY_UNUSED PARTITION_FAT_12
- PARTITION_XENIX_1 PARTITION_XENIX_2
- PARTITION_FAT_16 PARTITION_EXTENDED
- PARTITION_HUGE PARTITION_IFS
- PARTITION_FAT32 PARTITION_FAT32_XINT13
- PARTITION_XINT13 PARTITION_XINT13_EXTENDED
- PARTITION_PREP PARTITION_UNIX
- VALID_NTFT PARTITION_NTFT )],
-);
-@EXPORT_OK= ();
-{
- my $key;
- foreach $key ( keys(%EXPORT_TAGS) ) {
- push( @EXPORT_OK, @{$EXPORT_TAGS{$key}} );
- #push( @EXPORT_FAIL, @{$EXPORT_TAGS{$key}} ) unless $key =~ /^Func/;
- }
-}
-$EXPORT_TAGS{ALL}= \@EXPORT_OK;
-
-bootstrap Win32API::File $VERSION;
-
-# Preloaded methods go here.
-
-# To convert C constants to Perl code in cFile.pc
-# [instead of C or C++ code in cFile.h]:
-# * Modify F<Makefile.PL> to add WriteMakeFile() =>
-# CONST2PERL/postamble => [[ "Win32API::File" => ]] WRITE_PERL => 1.
-# * Either comment out C<#include "cFile.h"> from F<File.xs>
-# or make F<cFile.h> an empty file.
-# * Make sure the following C<if> block is not commented out.
-# * "nmake clean", "perl Makefile.PL", "nmake"
-
-if( ! defined &GENERIC_READ ) {
- require "Win32API/File/cFile.pc";
-}
-
-sub fileConstant
-{
- my( $name )= @_;
- if( 1 != @_ || ! $name || $name =~ /\W/ ) {
- require Carp;
- Carp::croak( 'Usage: ',__PACKAGE__,'::fileConstant("CONST_NAME")' );
- }
- my $proto= prototype $name;
- if( defined \&$name
- && defined $proto
- && "" eq $proto ) {
- no strict 'refs';
- return &$name;
- }
- return undef;
-}
-
-# We provide this for backwards compatibility:
-sub constant
-{
- my( $name )= @_;
- my $value= fileConstant( $name );
- if( defined $value ) {
- $!= 0;
- return $value;
- }
- $!= 11; # EINVAL
- return 0;
-}
-
-# BEGIN {
-# my $code= 'return _fileLastError(@_)';
-# local( $!, $^E )= ( 1, 1 );
-# if( $! ne $^E ) {
-# $code= '
-# local( $^E )= _fileLastError(@_);
-# my $ret= $^E;
-# return $ret;
-# ';
-# }
-# eval "sub fileLastError { $code }";
-# die "$@" if $@;
-# }
-
-package Win32API::File::_error;
-
-use overload
- '""' => sub {
- require Win32 unless defined &Win32::FormatMessage;
- $_ = Win32::FormatMessage(Win32API::File::_fileLastError());
- tr/\r\n//d;
- return $_;
- },
- '0+' => sub { Win32API::File::_fileLastError() },
- 'fallback' => 1;
-
-sub new { return bless {}, shift }
-sub set { Win32API::File::_fileLastError($_[1]); return $_[0] }
-
-package Win32API::File;
-
-my $_error = Win32API::File::_error->new();
-
-sub fileLastError {
- croak 'Usage: ',__PACKAGE__,'::fileLastError( [$setWin32ErrCode] )' if @_ > 1;
- $_error->set($_[0]) if defined $_[0];
- return $_error;
-}
-
-# Since we ISA DynaLoader which ISA AutoLoader, we ISA AutoLoader so we
-# need this next chunk to prevent Win32API::File->nonesuch() from
-# looking for "nonesuch.al" and producing confusing error messages:
-use vars qw($AUTOLOAD);
-sub AUTOLOAD {
- require Carp;
- Carp::croak(
- "Can't locate method $AUTOLOAD via package Win32API::File" );
-}
-
-# Replace "&rout;" with "goto &rout;" when that is supported on Win32.
-
-# Aliases for non-Unicode functions:
-sub CopyFile { &CopyFileA; }
-sub CreateFile { &CreateFileA; }
-sub DefineDosDevice { &DefineDosDeviceA; }
-sub DeleteFile { &DeleteFileA; }
-sub GetDriveType { &GetDriveTypeA; }
-sub GetFileAttributes { &GetFileAttributesA; }
-sub GetLogicalDriveStrings { &GetLogicalDriveStringsA; }
-sub GetVolumeInformation { &GetVolumeInformationA; }
-sub MoveFile { &MoveFileA; }
-sub MoveFileEx { &MoveFileExA; }
-sub QueryDosDevice { &QueryDosDeviceA; }
-
-sub OsFHandleOpen {
- if( 3 != @_ ) {
- croak 'Win32API::File Usage: ',
- 'OsFHandleOpen(FILE,$hNativeHandle,"rwatb")';
- }
- my( $fh, $osfh, $access )= @_;
- if( ! ref($fh) ) {
- if( $fh !~ /('|::)/ ) {
- $fh= caller() . "::" . $fh;
- }
- no strict "refs";
- $fh= \*{$fh};
- }
- my( $mode, $pref );
- if( $access =~ /r/i ) {
- if( $access =~ /w/i ) {
- $mode= O_RDWR;
- $pref= "+<";
- } else {
- $mode= O_RDONLY;
- $pref= "<";
- }
- } else {
- if( $access =~ /w/i ) {
- $mode= O_WRONLY;
- $pref= ">";
- } else {
- # croak qq<Win32API::File::OsFHandleOpen(): >,
- # qq<Access ($access) missing both "r" and "w">;
- $mode= O_RDONLY;
- $pref= "<";
- }
- }
- $mode |= O_APPEND if $access =~ /a/i;
- #$mode |= O_TEXT if $access =~ /t/i;
- # Some versions of the Fcntl module are broken and won't autoload O_TEXT:
- if( $access =~ /t/i ) {
- my $o_text= eval "O_TEXT";
- $o_text= 0x4000 if $@;
- $mode |= $o_text;
- }
- $mode |= O_BINARY if $access =~ /b/i;
- my $fd = eval { OsFHandleOpenFd( $osfh, $mode ) };
- if ($@) {
- return tie *{$fh}, __PACKAGE__, $osfh;
- }
- return undef if $fd < 0;
- return open( $fh, $pref."&=".$fd );
-}
-
-sub GetOsFHandle {
- if( 1 != @_ ) {
- croak 'Win32API::File Usage: $OsFHandle= GetOsFHandle(FILE)';
- }
- my( $file )= @_;
- if( ! ref($file) ) {
- if( $file !~ /('|::)/ ) {
- $file= caller() . "::" . $file;
- }
- no strict "refs";
- # The eval "" is necessary in Perl 5.6, avoid it otherwise.
- my $tied = !defined($^]) || $^] < 5.008
- ? eval "tied *{$file}"
- : tied *{$file};
-
- if (UNIVERSAL::isa($tied => __PACKAGE__)) {
- return $tied->win32_handle;
- }
-
- $file= *{$file};
- }
- my( $fd )= fileno($file);
- if( ! defined( $fd ) ) {
- if( $file =~ /^\d+\Z/ ) {
- $fd= $file;
- } else {
- return (); # $! should be set by fileno().
- }
- }
- my $h= FdGetOsFHandle( $fd );
- if( INVALID_HANDLE_VALUE() == $h ) {
- $h= "";
- } elsif( "0" eq $h ) {
- $h= "0 but true";
- }
- return $h;
-}
-
-sub getFileSize {
- croak 'Win32API::File Usage: $size= getFileSize($hNativeHandle)'
- if @_ != 1;
-
- my $handle = shift;
- my $high_size = 0;
-
- my $low_size = GetFileSize($handle, $high_size);
-
- my $retval = $_64BITINT ? $high_size : Math::BigInt->new($high_size);
-
- $retval <<= $THIRTY_TWO;
- $retval += $low_size;
-
- return $retval;
-}
-
-sub setFilePointer {
- croak 'Win32API::File Usage: $pos= setFilePointer($hNativeHandle, $posl, $from_where)'
- if @_ != 3;
-
- my ($handle, $pos, $from_where) = @_;
-
- my ($pos_low, $pos_high) = ($pos, 0);
-
- if ($_64BITINT) {
- $pos_low = ($pos & $FFFFFFFF);
- $pos_high = (($pos >> $THIRTY_TWO) & $FFFFFFFF);
- }
- elsif (UNIVERSAL::isa($pos => 'Math::BigInt')) {
- $pos_low = ($pos & $FFFFFFFF)->numify();
- $pos_high = (($pos >> $THIRTY_TWO) & $FFFFFFFF)->numify();
- }
-
- my $retval = SetFilePointer($handle, $pos_low, $pos_high, $from_where);
-
- if (defined $pos_high && $pos_high != 0) {
- if (! $_64BITINT) {
- $retval = Math::BigInt->new($retval);
- $pos_high = Math::BigInt->new($pos_high);
- }
-
- $retval += $pos_high << $THIRTY_TWO;
- }
-
- return $retval;
-}
-
-sub attrLetsToBits
-{
- my( $lets )= @_;
- my( %a )= (
- "a"=>FILE_ATTRIBUTE_ARCHIVE(), "c"=>FILE_ATTRIBUTE_COMPRESSED(),
- "h"=>FILE_ATTRIBUTE_HIDDEN(), "o"=>FILE_ATTRIBUTE_OFFLINE(),
- "r"=>FILE_ATTRIBUTE_READONLY(), "s"=>FILE_ATTRIBUTE_SYSTEM(),
- "t"=>FILE_ATTRIBUTE_TEMPORARY() );
- my( $bits )= 0;
- foreach( split(//,$lets) ) {
- croak "Win32API::File::attrLetsToBits: Unknown attribute letter ($_)"
- unless exists $a{$_};
- $bits |= $a{$_};
- }
- return $bits;
-}
-
-use vars qw( @_createFile_Opts %_createFile_Opts );
-@_createFile_Opts= qw( Access Create Share Attributes
- Flags Security Model );
-@_createFile_Opts{@_createFile_Opts}= (1) x @_createFile_Opts;
-
-sub createFile
-{
- my $opts= "";
- if( 2 <= @_ && "HASH" eq ref($_[$#_]) ) {
- $opts= pop( @_ );
- }
- my( $sPath, $svAccess, $svShare )= @_;
- if( @_ < 1 || 3 < @_ ) {
- croak "Win32API::File::createFile() usage: \$hObject= createFile(\n",
- " \$sPath, [\$svAccess_qrw_ktn_ce,[\$svShare_rwd,]]",
- " [{Option=>\$Value}] )\n",
- " options: @_createFile_Opts\nCalled";
- }
- my( $create, $flags, $sec, $model )= ( "", 0, [], 0 );
- if( ref($opts) ) {
- my @err= grep( ! $_createFile_Opts{$_}, keys(%$opts) );
- @err and croak "_createFile: Invalid options (@err)";
- $flags= $opts->{Flags} if exists( $opts->{Flags} );
- $flags |= attrLetsToBits( $opts->{Attributes} )
- if exists( $opts->{Attributes} );
- $sec= $opts->{Security} if exists( $opts->{Security} );
- $model= $opts->{Model} if exists( $opts->{Model} );
- $svAccess= $opts->{Access} if exists( $opts->{Access} );
- $create= $opts->{Create} if exists( $opts->{Create} );
- $svShare= $opts->{Share} if exists( $opts->{Share} );
- }
- $svAccess= "r" unless defined($svAccess);
- $svShare= "rw" unless defined($svShare);
- if( $svAccess =~ /^[qrw ktn ce]*$/i ) {
- ( my $c= $svAccess ) =~ tr/qrw QRW//d;
- $create= $c if "" ne $c && "" eq $create;
- local( $_ )= $svAccess;
- $svAccess= 0;
- $svAccess |= GENERIC_READ() if /r/i;
- $svAccess |= GENERIC_WRITE() if /w/i;
- } elsif( "?" eq $svAccess ) {
- croak
- "Win32API::File::createFile: \$svAccess can use the following:\n",
- " One or more of the following:\n",
- "\tq -- Query access (same as 0)\n",
- "\tr -- Read access (GENERIC_READ)\n",
- "\tw -- Write access (GENERIC_WRITE)\n",
- " At most one of the following:\n",
- "\tk -- Keep if exists\n",
- "\tt -- Truncate if exists\n",
- "\tn -- New file only (fail if file already exists)\n",
- " At most one of the following:\n",
- "\tc -- Create if doesn't exist\n",
- "\te -- Existing file only (fail if doesn't exist)\n",
- " '' is the same as 'q k e'\n",
- " 'r' is the same as 'r k e'\n",
- " 'w' is the same as 'w t c'\n",
- " 'rw' is the same as 'rw k c'\n",
- " 'rt' or 'rn' implies 'c'.\n",
- " Or \$svAccess can be numeric.\n", "Called from";
- } elsif( $svAccess == 0 && $svAccess !~ /^[-+.]*0/ ) {
- croak "Win32API::File::createFile: Invalid \$svAccess ($svAccess)";
- }
- if( $create =~ /^[ktn ce]*$/ ) {
- local( $_ )= $create;
- my( $k, $t, $n, $c, $e )= ( scalar(/k/i), scalar(/t/i),
- scalar(/n/i), scalar(/c/i), scalar(/e/i) );
- if( 1 < $k + $t + $n ) {
- croak "Win32API::File::createFile: \$create must not use ",
- qq<more than one of "k", "t", and "n" ($create)>;
- }
- if( $c && $e ) {
- croak "Win32API::File::createFile: \$create must not use ",
- qq<both "c" and "e" ($create)>;
- }
- my $r= ( $svAccess & GENERIC_READ() ) == GENERIC_READ();
- my $w= ( $svAccess & GENERIC_WRITE() ) == GENERIC_WRITE();
- if( ! $k && ! $t && ! $n ) {
- if( $w && ! $r ) { $t= 1;
- } else { $k= 1; }
- }
- if( $k ) {
- if( $c || $w && ! $e ) { $create= OPEN_ALWAYS();
- } else { $create= OPEN_EXISTING(); }
- } elsif( $t ) {
- if( $e ) { $create= TRUNCATE_EXISTING();
- } else { $create= CREATE_ALWAYS(); }
- } else { # $n
- if( ! $e ) { $create= CREATE_NEW();
- } else {
- croak "Win32API::File::createFile: \$create must not use ",
- qq<both "n" and "e" ($create)>;
- }
- }
- } elsif( "?" eq $create ) {
- croak 'Win32API::File::createFile: $create !~ /^[ktn ce]*$/;',
- ' pass $svAccess as "?" for more information.';
- } elsif( $create == 0 && $create ne "0" ) {
- croak "Win32API::File::createFile: Invalid \$create ($create)";
- }
- if( $svShare =~ /^[drw]*$/ ) {
- my %s= ( "d"=>FILE_SHARE_DELETE(), "r"=>FILE_SHARE_READ(),
- "w"=>FILE_SHARE_WRITE() );
- my @s= split(//,$svShare);
- $svShare= 0;
- foreach( @s ) {
- $svShare |= $s{$_};
- }
- } elsif( $svShare == 0 && $svShare !~ /^[-+.]*0/ ) {
- croak "Win32API::File::createFile: Invalid \$svShare ($svShare)";
- }
- return CreateFileA(
- $sPath, $svAccess, $svShare, $sec, $create, $flags, $model );
-}
-
-
-sub getLogicalDrives
-{
- my( $ref )= @_;
- my $s= "";
- if( ! GetLogicalDriveStringsA( 256, $s ) ) {
- return undef;
- }
- if( ! defined($ref) ) {
- return split( /\0/, $s );
- } elsif( "ARRAY" ne ref($ref) ) {
- croak 'Usage: C<@arr= getLogicalDrives()> ',
- 'or C<getLogicalDrives(\\@arr)>', "\n";
- }
- @$ref= split( /\0/, $s );
- return $ref;
-}
-
-###############################################################################
-# Experimental Tied Handle and Object Oriented interface. #
-###############################################################################
-
-sub new {
- my $class = shift;
- $class = ref $class || $class;
-
- my $self = IO::File::new($class);
- tie *$self, __PACKAGE__;
-
- $self->open(@_) if @_;
-
- return $self;
-}
-
-sub TIEHANDLE {
- my ($class, $win32_handle) = @_;
- $class = ref $class || $class;
-
- return bless {
- _win32_handle => $win32_handle,
- _binmode => 0,
- _buffered => 0,
- _buffer => '',
- _eof => 0,
- _fileno => undef,
- _access => 'r',
- _append => 0,
- }, $class;
-}
-
-# This is called for getting the tied object from hard refs to glob refs in
-# some cases, for reasons I don't quite grok.
-
-sub FETCH { return $_[0] }
-
-# Public accessors
-
-sub win32_handle{ $_[0]->{_win32_handle}||= $_[1] }
-
-# Protected accessors
-
-sub _buffer { $_[0]->{_buffer} ||= $_[1] }
-sub _binmode { $_[0]->{_binmode} ||= $_[1] }
-sub _fileno { $_[0]->{_fileno} ||= $_[1] }
-sub _access { $_[0]->{_access} ||= $_[1] }
-sub _append { $_[0]->{_append} ||= $_[1] }
-
-# Tie interface
-
-sub OPEN {
- my $self = shift;
- my $expr = shift;
- croak "Only the two argument form of open is supported at this time" if @_;
-# FIXME: this needs to parse the full Perl open syntax in $expr
-
- my ($mixed, $mode, $path) =
- ($expr =~ /^\s* (\+)? \s* (<|>|>>)? \s* (.*?) \s*$/x);
-
- croak "Unsupported open mode" if not $path;
-
- my $access = 'r';
- my $append = $mode eq '>>' ? 1 : 0;
-
- if ($mixed) {
- $access = 'rw';
- } elsif($mode eq '>') {
- $access = 'w';
- }
-
- my $w32_handle = createFile($path, $access);
-
- $self->win32_handle($w32_handle);
-
- $self->seek(1,2) if $append;
-
- $self->_access($access);
- $self->_append($append);
-
- return 1;
-}
-
-sub BINMODE {
- $_[0]->_binmode(1);
-}
-
-sub WRITE {
- my ($self, $buf, $len, $offset, $overlap) = @_;
-
- if ($offset) {
- $buf = substr($buf, $offset);
- $len = length($buf);
- }
-
- $len = length($buf) if not defined $len;
-
- $overlap = [] if not defined $overlap;;
-
- my $bytes_written = 0;
-
- WriteFile (
- $self->win32_handle, $buf, $len,
- $bytes_written, $overlap
- );
-
- return $bytes_written;
-}
-
-sub PRINT {
- my $self = shift;
-
- my $buf = join defined $, ? $, : "" => @_;
-
- $buf =~ s/\012/\015\012/sg unless $self->_binmode();
-
- $buf .= $\ if defined $\;
-
- $self->WRITE($buf, length($buf), 0);
-}
-
-sub READ {
- my $self = shift;
- my $into = \$_[0]; shift;
- my ($len, $offset, $overlap) = @_;
-
- my $buffer = defined $self->_buffer ? $self->_buffer : "";
- my $buf_length = length($buffer);
- my $bytes_read = 0;
- my $data;
- $offset = 0 if not defined $offset;
-
- if ($buf_length >= $len) {
- $data = substr($buffer, 0, $len => "");
- $bytes_read = $len;
- $self->_buffer($buffer);
- } else {
- if ($buf_length > 0) {
- $len -= $buf_length;
- substr($$into, $offset) = $buffer;
- $offset += $buf_length;
- }
-
- $overlap ||= [];
-
- ReadFile (
- $self->win32_handle, $data, $len,
- $bytes_read, $overlap
- );
- }
-
- $$into = "" if not defined $$into;
-
- substr($$into, $offset) = $data;
-
- return $bytes_read;
-}
-
-sub READLINE {
- my $self = shift;
- my $line = "";
-
- while ((index $line, $/) == $[-1) { # read until end of line marker
- my $char = $self->GETC();
-
- last if !defined $char || $char eq '';
-
- $line .= $char;
- }
-
- return undef if $line eq '';
-
- return $line;
-}
-
-
-sub FILENO {
- my $self = shift;
-
- return $self->_fileno() if defined $self->_fileno();
-
- return -1 if $^O eq 'cygwin';
-
-# FIXME: We don't always open the handle, better to query the handle or to set
-# the right access info at TIEHANDLE time.
-
- my $access = $self->_access();
- my $mode = $access eq 'rw' ? O_RDWR :
- $access eq 'w' ? O_WRONLY : O_RDONLY;
-
- $mode |= O_APPEND if $self->_append();
-
- $mode |= O_TEXT if not $self->_binmode();
-
- return $self->_fileno ( OsfHandleOpenFd (
- $self->win32_handle, $mode
- ));
-}
-
-sub SEEK {
- my ($self, $pos, $whence) = @_;
-
- $whence = 0 if not defined $whence;
- my @file_consts = map {
- fileConstant($_)
- } qw(FILE_BEGIN FILE_CURRENT FILE_END);
-
- my $from_where = $file_consts[$whence];
-
- return setFilePointer($self->win32_handle, $pos, $from_where);
-}
-
-sub TELL {
-# SetFilePointer with position 0 at FILE_CURRENT will return position.
- return $_[0]->SEEK(0, 1);
-}
-
-sub EOF {
- my $self = shift;
-
- my $current = $self->TELL() + 0;
- my $end = getFileSize($self->win32_handle) + 0;
-
- return $current == $end;
-}
-
-sub CLOSE {
- my $self = shift;
-
- my $retval = 1;
-
- if (defined $self->win32_handle) {
- $retval = CloseHandle($self->win32_handle);
-
- $self->win32_handle(undef);
- }
-
- return $retval;
-}
-
-# Only close the handle on explicit close, too many problems otherwise.
-sub UNTIE {}
-
-sub DESTROY {}
-
-# End of Tie/OO Interface
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-1;
-__END__
-
-=head1 NAME
-
-Win32API::File - Low-level access to Win32 system API calls for files/dirs.
-
-=head1 SYNOPSIS
-
- use Win32API::File 0.08 qw( :ALL );
-
- MoveFile( $Source, $Destination )
- or die "Can't move $Source to $Destination: ",fileLastError(),"\n";
- MoveFileEx( $Source, $Destination, MOVEFILE_REPLACE_EXISTING() )
- or die "Can't move $Source to $Destination: ",fileLastError(),"\n";
- [...]
-
-=head1 DESCRIPTION
-
-This provides fairly low-level access to the Win32 System API
-calls dealing with files and directories.
-
-To pass in C<NULL> as the pointer to an optional buffer, pass in
-an empty list reference, C<[]>.
-
-Beyond raw access to the API calls and related constants, this module
-handles smart buffer allocation and translation of return codes.
-
-All functions, unless otherwise noted, return a true value for success
-and a false value for failure and set C<$^E> on failure.
-
-=head2 Object Oriented/Tied Handle Interface
-
-WARNING: this is new code, use at your own risk.
-
-This version of C<Win32API::File> can be used like an C<IO::File> object:
-
- my $file = Win32API::File->new("+> foo");
- binmode $file;
- print $file "hello there\n";
- seek $file, 0, 0;
- my $line = <$file>;
- $file->close;
-
-It also supports tying via a win32 handle (for example, from C<createFile()>):
-
- tie FILE, 'Win32API::File', $win32_handle;
- print FILE "...";
-
-It has not been extensively tested yet and buffered I/O is not yet implemented.
-
-=head2 Exports
-
-Nothing is exported by default. The following tags can be used to
-have large sets of symbols exported: C<":Func">, C<":FuncA">,
-C<":FuncW">, C<":Misc">, C<":DDD_">, C<":DRIVE_">, C<":FILE_">,
-C<":FILE_ATTRIBUTE_">, C<":FILE_FLAG_">, C<":FILE_SHARE_">,
-C<":FILE_TYPE_">, C<":FS_">, C<":FSCTL_">, C<":HANDLE_FLAG_">,
-C<":IOCTL_STORAGE_">, C<":IOCTL_DISK_">, C<":GENERIC_">,
-C<":MEDIA_TYPE">, C<":MOVEFILE_">, C<":SECURITY_">, C<":SEM_">,
-and C<":PARTITION_">.
-
-=over
-
-=item C<":Func">
-
-The basic function names: C<attrLetsToBits>, C<createFile>,
-C<fileConstant>, C<fileLastError>, C<getLogicalDrives>,
-C<setFilePointer>, C<getFileSize>,
-C<CloseHandle>, C<CopyFile>, C<CreateFile>,
-C<DefineDosDevice>, C<DeleteFile>, C<DeviceIoControl>,
-C<FdGetOsFHandle>, C<GetDriveType>, C<GetFileAttributes>,
-C<GetFileSize>, C<GetFileType>, C<GetHandleInformation>,
-C<GetLogicalDrives>, C<GetLogicalDriveStrings>, C<GetOsFHandle>,
-C<GetOverlappedResult>, C<GetVolumeInformation>, C<IsContainerPartition>,
-C<IsRecognizedPartition>, C<MoveFile>, C<MoveFileEx>,
-C<OsFHandleOpen>, C<OsFHandleOpenFd>, C<QueryDosDevice>,
-C<ReadFile>, C<SetErrorMode>, C<SetFilePointer>,
-C<SetHandleInformation>, and C<WriteFile>.
-
-=over
-
-=item attrLetsToBits
-
-=item C<$uBits= attrLetsToBits( $sAttributeLetters )>
-
-Converts a string of file attribute letters into an unsigned value with
-the corresponding bits set. C<$sAttributeLetters> should contain zero
-or more letters from C<"achorst">:
-
-=over
-
-=item C<"a">
-
-C<FILE_ATTRIBUTE_ARCHIVE>
-
-=item C<"c">
-
-C<FILE_ATTRIBUTE_COMPRESSED>
-
-=item C<"h">
-
-C<FILE_ATTRIBUTE_HIDDEN>
-
-=item C<"o">
-
-C<FILE_ATTRIBUTE_OFFLINE>
-
-=item C<"r">
-
-C<FILE_ATTRIBUTE_READONLY>
-
-=item C<"s">
-
-C<FILE_ATTRIBUTE_SYSTEM>
-
-=item C<"t">
-
-C<FILE_ATTRIBUTE_TEMPORARY>
-
-=back
-
-=item createFile
-
-=item C<$hObject= createFile( $sPath )>
-
-=item C<$hObject= createFile( $sPath, $rvhvOptions )>
-
-=item C<$hObject= createFile( $sPath, $svAccess )>
-
-=item C<$hObject= createFile( $sPath, $svAccess, $rvhvOptions )>
-
-=item C<$hObject= createFile( $sPath, $svAccess, $svShare )>
-
-=item C<$hObject= createFile( $sPath, $svAccess, $svShare, $rvhvOptions )>
-
-This is a Perl-friendly wrapper around C<CreateFile>.
-
-On failure, C<$hObject> gets set to a false value and C<regLastError()>
-and C<$^E> are set to the reason for the failure. Otherwise,
-C<$hObject> gets set to a Win32 native file handle which is alwasy
-a true value [returns C<"0 but true"> in the impossible(?) case of
-the handle having a value of C<0>].
-
-C<$sPath> is the path to the file [or device, etc.] to be opened. See
-C<CreateFile> for more information on possible special values for
-C<$sPath>.
-
-C<$svAccess> can be a number containing the bit mask representing
-the specific type(s) of access to the file that you desire. See the
-C<$uAccess> parameter to C<CreateFile> for more information on these
-values.
-
-More likely, C<$svAccess> is a string describing the generic type of
-access you desire and possibly the file creation options to use. In
-this case, C<$svAccess> should contain zero or more characters from
-C<"qrw"> [access desired], zero or one character each from C<"ktn">
-and C<"ce">, and optional white space. These letters stand for,
-respectively, "Query access", "Read access", "Write access", "Keep if
-exists", "Truncate if exists", "New file only", "Create if none", and
-"Existing file only". Case is ignored.
-
-You can pass in C<"?"> for C<$svAccess> to have an error message
-displayed summarizing its possible values. This is very handy when
-doing on-the-fly programming using the Perl debugger:
-
- Win32API::File::createFile: $svAccess can use the following:
- One or more of the following:
- q -- Query access (same as 0)
- r -- Read access (GENERIC_READ)
- w -- Write access (GENERIC_WRITE)
- At most one of the following:
- k -- Keep if exists
- t -- Truncate if exists
- n -- New file only (fail if file already exists)
- At most one of the following:
- c -- Create if doesn't exist
- e -- Existing file only (fail if doesn't exist)
- '' is the same as 'q k e'
- 'r' is the same as 'r k e'
- 'w' is the same as 'w t c'
- 'rw' is the same as 'rw k c'
- 'rt' or 'rn' implies 'c'.
- Or $access can be numeric.
-
-C<$svAccess> is designed to be "do what I mean", so you can skip
-the rest of its explanation unless you are interested in the complex
-details. Note that, if you want write access to a device, you need
-to specify C<"k"> [and perhaps C<"e">, as in C<"w ke"> or C<"rw ke">]
-since Win32 suggests C<OPEN_EXISTING> be used when opening a device.
-
-=over
-
-=item C<"q">
-
-Stands for "Query access". This is really a no-op since you always have
-query access when you open a file. You can specify C<"q"> to document
-that you plan to query the file [or device, etc.]. This is especially
-helpful when you don't want read nor write access since something like
-C<"q"> or C<"q ke"> may be easier to understand than just C<""> or C<"ke">.
-
-=item C<"r">
-
-Stands for "Read access". Sets the C<GENERIC_READ> bit(s) in the
-C<$uAccess> that is passed to C<CreateFile>. This is the default
-access if the C<$svAccess> parameter is missing [or if it is C<undef>
-and C<$rvhvOptions> doesn't specify an C<"Access"> option].
-
-=item C<"w">
-
-Stands for "Write access". Sets the C<GENERIC_WRITE> bit(s) in the
-C<$uAccess> that is passed to C<CreateFile>.
-
-=item C<"k">
-
-Stands for "Keep if exists". If the requested file exists, then it is
-opened. This is the default unless C<GENERIC_WRITE> access has been
-requested but C<GENERIC_READ> access has not been requested. Contrast
-with C<"t"> and C<"n">.
-
-=item C<"t">
-
-Stands for "Truncate if exists". If the requested file exists, then
-it is truncated to zero length and then opened. This is the default if
-C<GENERIC_WRITE> access has been requested and C<GENERIC_READ> access
-has not been requested. Contrast with C<"k"> and C<"n">.
-
-=item C<"n">
-
-Stands for "New file only". If the requested file exists, then it is
-not opened and the C<createFile> call fails. Contrast with C<"k"> and
-C<"t">. Can't be used with C<"e">.
-
-=item C<"c">
-
-Stands for "Create if none". If the requested file does not
-exist, then it is created and then opened. This is the default
-if C<GENERIC_WRITE> access has been requested or if C<"t"> or
-C<"n"> was specified. Contrast with C<"e">.
-
-=item C<"e">
-
-Stands for "Existing file only". If the requested file does not
-exist, then nothing is opened and the C<createFile> call fails. This
-is the default unless C<GENERIC_WRITE> access has been requested or
-C<"t"> or C<"n"> was specified. Contrast with C<"c">. Can't be
-used with C<"n">.
-
-=back
-
-The characters from C<"ktn"> and C<"ce"> are combined to determine the
-what value for C<$uCreate> to pass to C<CreateFile> [unless overridden
-by C<$rvhvOptions>]:
-
-=over
-
-=item C<"kc">
-
-C<OPEN_ALWAYS>
-
-=item C<"ke">
-
-C<OPEN_EXISTING>
-
-=item C<"tc">
-
-C<TRUNCATE_EXISTING>
-
-=item C<"te">
-
-C<CREATE_ALWAYS>
-
-=item C<"nc">
-
-C<CREATE_NEW>
-
-=item C<"ne">
-
-Illegal.
-
-=back
-
-C<$svShare> controls how the file is shared, that is, whether other
-processes can have read, write, and/or delete access to the file while
-we have it opened. C<$svShare> will usually be a string containing zero
-or more characters from C<"rwd"> but can also be a numeric bit mask.
-
-C<"r"> sets the C<FILE_SHARE_READ> bit which allows other processes to have
-read access to the file. C<"w"> sets the C<FILE_SHARE_WRITE> bit which
-allows other processes to have write access to the file. C<"d"> sets the
-C<FILE_SHARE_DELETE> bit which allows other processes to have delete access
-to the file [ignored under Windows 95].
-
-The default for C<$svShare> is C<"rw"> which provides the same sharing as
-using regular perl C<open()>.
-
-If another process currently has read, write, and/or delete access to
-the file and you don't allow that level of sharing, then your call to
-C<createFile> will fail. If you requested read, write, and/or delete
-access and another process already has the file open but doesn't allow
-that level of sharing, then your call to C<createFile> will fail. Once
-you have the file open, if another process tries to open it with read,
-write, and/or delete access and you don't allow that level of sharing,
-then that process won't be allowed to open the file.
-
-C<$rvhvOptions> is a reference to a hash where any keys must be from
-the list C<qw( Access Create Share Attributes Flags Security Model )>.
-The meaning of the value depends on the key name, as described below.
-Any option values in C<$rvhvOptions> override the settings from
-C<$svAccess> and C<$svShare> if they conflict.
-
-=over
-
-=item Flags => $uFlags
-
-C<$uFlags> is an unsigned value having any of the C<FILE_FLAG_*> or
-C<FILE_ATTRIBUTE_*> bits set. Any C<FILE_ATTRIBUTE_*> bits set via the
-C<Attributes> option are logically C<or>ed with these bits. Defaults
-to C<0>.
-
-If opening the client side of a named pipe, then you can also specify
-C<SECURITY_SQOS_PRESENT> along with one of the other C<SECURITY_*>
-constants to specify the security quality of service to be used.
-
-=item Attributes => $sAttributes
-
-A string of zero or more characters from C<"achorst"> [see C<attrLetsToBits>
-for more information] which are converted to C<FILE_ATTRIBUTE_*> bits to
-be set in the C<$uFlags> argument passed to C<CreateFile>.
-
-=item Security => $pSecurityAttributes
-
-C<$pSecurityAttributes> should contain a C<SECURITY_ATTRIBUTES> structure
-packed into a string or C<[]> [the default].
-
-=item Model => $hModelFile
-
-C<$hModelFile> should contain a handle opened with C<GENERIC_READ>
-access to a model file from which file attributes and extended attributes
-are to be copied. Or C<$hModelFile> can be C<0> [the default].
-
-=item Access => $sAccess
-
-=item Access => $uAccess
-
-C<$sAccess> should be a string of zero or more characters from
-C<"qrw"> specifying the type of access desired: "query" or C<0>,
-"read" or C<GENERIC_READ> [the default], or "write" or
-C<GENERIC_WRITE>.
-
-C<$uAccess> should be an unsigned value containing bits set to
-indicate the type of access desired. C<GENERIC_READ> is the default.
-
-=item Create => $sCreate
-
-=item Create => $uCreate
-
-C<$sCreate> should be a string constaing zero or one character from
-C<"ktn"> and zero or one character from C<"ce">. These stand for
-"Keep if exists", "Truncate if exists", "New file only", "Create if
-none", and "Existing file only". These are translated into a
-C<$uCreate> value.
-
-C<$uCreate> should be one of C<OPEN_ALWAYS>, C<OPEN_EXISTING>,
-C<TRUNCATE_EXISTING>, C<CREATE_ALWAYS>, or C<CREATE_NEW>.
-
-=item Share => $sShare
-
-=item Share => $uShare
-
-C<$sShare> should be a string with zero or more characters from
-C<"rwd"> that is translated into a C<$uShare> value. C<"rw"> is
-the default.
-
-C<$uShare> should be an unsigned value having zero or more of the
-following bits set: C<FILE_SHARE_READ>, C<FILE_SHARE_WRITE>, and
-C<FILE_SHARE_DELETE>. C<FILE_SHARE_READ|FILE_SHARE_WRITE> is the
-default.
-
-=back
-
-Examples:
-
- $hFlop= createFile( "//./A:", "r", "r" )
- or die "Can't prevent others from writing to floppy: $^E\n";
- $hDisk= createFile( "//./C:", "rw ke", "" )
- or die "Can't get exclusive access to C: $^E\n";
- $hDisk= createFile( $sFilePath, "ke",
- { Access=>FILE_READ_ATTRIBUTES } )
- or die "Can't read attributes of $sFilePath: $^E\n";
- $hTemp= createFile( "$ENV{Temp}/temp.$$", "wn", "",
- { Attributes=>"hst", Flags=>FILE_FLAG_DELETE_ON_CLOSE() } )
- or die "Can't create temporary file, temp.$$: $^E\n";
-
-=item getLogicalDrives
-
-=item C<@roots= getLogicalDrives()>
-
-Returns the paths to the root directories of all logical drives
-currently defined. This includes all types of drive lettters, such
-as floppies, CD-ROMs, hard disks, and network shares. A typical
-return value on a poorly equipped computer would be C<("A:\\","C:\\")>.
-
-=item CloseHandle
-
-=item C<CloseHandle( $hObject )>
-
-Closes a Win32 native handle, such as one opened via C<CreateFile>.
-Like most routines, returns a true value if successful and a false
-value [and sets C<$^E> and C<regLastError()>] on failure.
-
-=item CopyFile
-
-=item C<CopyFile( $sOldFileName, $sNewFileName, $bFailIfExists )>
-
-C<$sOldFileName> is the path to the file to be copied.
-C<$sNewFileName> is the path to where the file should be copied.
-Note that you can B<NOT> just specify a path to a directory in
-C<$sNewFileName> to copy the file to that directory using the
-same file name.
-
-If C<$bFailIfExists> is true and C<$sNewFileName> is the path to
-a file that already exists, then C<CopyFile> will fail. If
-C<$bFailIfExists> is falsea, then the copy of the C<$sOldFileNmae>
-file will overwrite the C<$sNewFileName> file if it already exists.
-
-Like most routines, returns a true value if successful and a false
-value [and sets C<$^E> and C<regLastError()>] on failure.
-
-=item CreateFile
-
-=item C<$hObject= CreateFile( $sPath, $uAccess, $uShare, $pSecAttr, $uCreate, $uFlags, $hModel )>
-
-On failure, C<$hObject> gets set to a false value and C<$^E> and
-C<fileLastError()> are set to the reason for the failure. Otherwise,
-C<$hObject> gets set to a Win32 native file handle which is always a
-true value [returns C<"0 but true"> in the impossible(?) case of the
-handle having a value of C<0>].
-
-C<$sPath> is the path to the file [or device, etc.] to be opened.
-
-C<$sPath> can use C<"/"> or C<"\\"> as path delimiters and can even
-mix the two. We will usually only use C<"/"> in our examples since
-using C<"\\"> is usually harder to read.
-
-Under Windows NT, C<$sPath> can start with C<"//?/"> to allow the use
-of paths longer than C<MAX_PATH> [for UNC paths, replace the leading
-C<"//"> with C<"//?/UNC/">, as in C<"//?/UNC/Server/Share/Dir/File.Ext">].
-
-C<$sPath> can start with C<"//./"> to indicate that the rest of the
-path is the name of a "DOS device." You can use C<QueryDosDevice>
-to list all current DOS devices and can add or delete them with
-C<DefineDosDevice>. If you get the source-code distribution of this
-module from CPAN, then it includes an example script, F<ex/ListDevs.plx>
-that will list all current DOS devices and their "native" definition.
-Again, note that this doesn't work under Win95 nor Win98.
-
-The most common such DOS devices include:
-
-=over
-
-=item C<"//./PhysicalDrive0">
-
-Your entire first hard disk. Doesn't work under Windows 95. This
-allows you to read or write raw sectors of your hard disk and to use
-C<DeviceIoControl> to perform miscellaneous queries and operations
-to the hard disk. Writing raw sectors and certain other operations
-can seriously damage your files or the function of your computer.
-
-Locking this for exclusive access [by specifying C<0> for C<$uShare>]
-doesn't prevent access to the partitions on the disk nor their file
-systems. So other processes can still access any raw sectors within
-a partition and can use the file system on the disk as usual.
-
-=item C<"//./C:">
-
-Your F<C:> partition. Doesn't work under Windows 95. This allows
-you to read or write raw sectors of that partition and to use
-C<DeviceIoControl> to perform miscellaneous queries and operations
-to the partition. Writing raw sectors and certain other operations
-can seriously damage your files or the function of your computer.
-
-Locking this for exclusive access doesn't prevent access to the
-physical drive that the partition is on so other processes can
-still access the raw sectors that way. Locking this for exclusive
-access B<does> prevent other processes from opening the same raw
-partition and B<does> prevent access to the file system on it. It
-even prevents the current process from accessing the file system
-on that partition.
-
-=item C<"//./A:">
-
-The raw floppy disk. Doesn't work under Windows 95. This allows
-you to read or write raw sectors of the floppy disk and to use
-C<DeviceIoControl> to perform miscellaneous queries and operations
-to the floopy disk or drive.
-
-Locking this for exclusive access prevents all access to the floppy.
-
-=item C<"//./PIPE/PipeName">
-
-A named pipe, created via C<CreateNamedPipe>.
-
-=back
-
-C<$uAccess> is an unsigned value with bits set indicating the
-type of access desired. Usually either C<0> ["query" access],
-C<GENERIC_READ>, C<GENERIC_WRITE>, C<GENERIC_READ|GENERIC_WRITE>,
-or C<GENERIC_ALL>. More specific types of access can be specified,
-such as C<FILE_APPEND_DATA> or C<FILE_READ_EA>.
-
-C<$uShare> controls how the file is shared, that is, whether other
-processes can have read, write, and/or delete access to the file while
-we have it opened. C<$uShare> is an unsigned value with zero or more
-of these bits set: C<FILE_SHARE_READ>, C<FILE_SHARE_WRITE>, and
-C<FILE_SHARE_DELETE>.
-
-If another process currently has read, write, and/or delete access to
-the file and you don't allow that level of sharing, then your call to
-C<CreateFile> will fail. If you requested read, write, and/or delete
-access and another process already has the file open but doesn't allow
-that level of sharing, thenn your call to C<createFile> will fail. Once
-you have the file open, if another process tries to open it with read,
-write, and/or delete access and you don't allow that level of sharing,
-then that process won't be allowed to open the file.
-
-C<$pSecAttr> should either be C<[]> [for C<NULL>] or a
-C<SECURITY_ATTRIBUTES> data structure packed into a string.
-For example, if C<$pSecDesc> contains a C<SECURITY_DESCRIPTOR>
-structure packed into a string, perhaps via:
-
- RegGetKeySecurity( $key, 4, $pSecDesc, 1024 );
-
-then you can set C<$pSecAttr> via:
-
- $pSecAttr= pack( "L P i", 12, $pSecDesc, $bInheritHandle );
-
-C<$uCreate> is one of the following values: C<OPEN_ALWAYS>,
-C<OPEN_EXISTING>, C<TRUNCATE_EXISTING>, C<CREATE_ALWAYS>, and
-C<CREATE_NEW>.
-
-C<$uFlags> is an unsigned value with zero or more bits set indicating
-attributes to associate with the file [C<FILE_ATTRIBUTE_*> values] or
-special options [C<FILE_FLAG_*> values].
-
-If opening the client side of a named pipe, then you can also set
-C<$uFlags> to include C<SECURITY_SQOS_PRESENT> along with one of the
-other C<SECURITY_*> constants to specify the security quality of
-service to be used.
-
-C<$hModel> is C<0> [or C<[]>, both of which mean C<NULL>] or a Win32
-native handle opened with C<GENERIC_READ> access to a model file from
-which file attributes and extended attributes are to be copied if a
-new file gets created.
-
-Examples:
-
- $hFlop= CreateFile( "//./A:", GENERIC_READ(),
- FILE_SHARE_READ(), [], OPEN_EXISTING(), 0, [] )
- or die "Can't prevent others from writing to floppy: $^E\n";
- $hDisk= CreateFile( $sFilePath, FILE_READ_ATTRIBUTES(),
- FILE_SHARE_READ()|FILE_SHARE_WRITE(), [], OPEN_EXISTING(), 0, [] )
- or die "Can't read attributes of $sFilePath: $^E\n";
- $hTemp= CreateFile( "$ENV{Temp}/temp.$$", GENERIC_WRITE(), 0,
- CREATE_NEW(), FILE_FLAG_DELETE_ON_CLOSE()|attrLetsToBits("hst"), [] )
- or die "Can't create temporary file, temp.$$: $^E\n";
-
-=item DefineDosDevice
-
-=item C<DefineDosDevice( $uFlags, $sDosDeviceName, $sTargetPath )>
-
-Defines a new DOS device, overrides the current definition of a DOS
-device, or deletes a definition of a DOS device. Like most routines,
-returns a true value if successful and a false value [and sets C<$^E>
-and C<regLastError()>] on failure.
-
-C<$sDosDeviceName> is the name of a DOS device for which we'd like
-to add or delete a definition.
-
-C<$uFlags> is an unsigned value with zero or more of the following
-bits set:
-
-=over
-
-=item C<DDD_RAW_TARGET_PATH>
-
-Indicates that C<$sTargetPath> will be a raw Windows NT object name.
-This usually means that C<$sTargetPath> starts with C<"\\Device\\">.
-Note that you cannot use C<"/"> in place of C<"\\"> in raw target path
-names.
-
-=item C<DDD_REMOVE_DEFINITION>
-
-Requests that a definition be deleted. If C<$sTargetPath> is
-C<[]> [for C<NULL>], then the most recently added definition for
-C<$sDosDeviceName> is removed. Otherwise the most recently added
-definition matching C<$sTargetPath> is removed.
-
-If the last definition is removed, then the DOS device name is
-also deleted.
-
-=item C<DDD_EXACT_MATCH_ON_REMOVE>
-
-When deleting a definition, this bit causes each C<$sTargetPath> to
-be compared to the full-length definition when searching for the most
-recently added match. If this bit is not set, then C<$sTargetPath>
-only needs to match a prefix of the definition.
-
-=back
-
-C<$sTargetPath> is the DOS device's specific definition that you
-wish to add or delete. For C<DDD_RAW_TARGET_PATH>, these usually
-start with C<"\\Device\\">. If the C<DDD_RAW_TARGET_PATH> bit is
-not set, then C<$sTargetPath> is just an ordinary path to some file
-or directory, providing the functionality of the B<subst> command.
-
-=item DeleteFile
-
-=item C<DeleteFile( $sFileName )>
-
-Deletes the named file. Compared to Perl's C<unlink>, C<DeleteFile>
-has the advantage of not deleting read-only files. For B<some>
-versions of Perl, C<unlink> silently calls C<chmod> whether it needs
-to or not before deleting the file so that files that you have
-protected by marking them as read-only are not always protected from
-Perl's C<unlink>.
-
-Like most routines, returns a true value if successful and a false
-value [and sets C<$^E> and C<regLastError()>] on failure.
-
-=item DeviceIoControl
-
-=item C<DeviceIoControl( $hDevice, $uIoControlCode, $pInBuf, $lInBuf, $opOutBuf, $lOutBuf, $olRetBytes, $pOverlapped )>
-
-Requests a special operation on an I/O [input/output] device, such
-as ejecting a tape or formatting a disk. Like most routines, returns
-a true value if successful and a false value [and sets C<$^E> and
-C<regLastError()>] on failure.
-
-C<$hDevice> is a Win32 native file handle to a device [return value
-from C<CreateFile>].
-
-C<$uIoControlCode> is an unsigned value [a C<IOCTL_*> or C<FSCTL_*>
-constant] indicating the type query or other operation to be performed.
-
-C<$pInBuf> is C<[]> [for C<NULL>] or a data structure packed into a
-string. The type of data structure depends on the C<$uIoControlCode>
-value. C<$lInBuf> is C<0> or the length of the structure in
-C<$pInBuf>. If C<$pInBuf> is not C<[]> and C<$lInBuf> is C<0>, then
-C<$lInBuf> will automatically be set to C<length($pInBuf)> for you.
-
-C<$opOutBuf> is C<[]> [for C<NULL>] or will be set to contain a
-returned data structure packed into a string. C<$lOutBuf> indicates
-how much space to allocate in C<$opOutBuf> for C<DeviceIoControl> to
-store the data structure. If C<$lOutBuf> is a number and C<$opOutBuf>
-already has a buffer allocated for it that is larger than C<$lOutBuf>
-bytes, then this larger buffer size will be passed to C<DeviceIoControl>.
-However, you can force a specific buffer size to be passed to
-C<DeviceIoControl> by prepending a C<"="> to the front of C<$lOutBuf>.
-
-C<$olRetBytes> is C<[]> or is a scalar to receive the number of bytes
-written to C<$opOutBuf>. Even when C<$olRetBytes> is C<[]>, a valid
-pointer to a C<DWORD> [and not C<NULL>] is passed to C<DeviceIoControl>.
-In this case, C<[]> just means that you don't care about the value
-that might be written to C<$olRetBytes>, which is usually the case
-since you can usually use C<length($opOutBuf)> instead.
-
-C<$pOverlapped> is C<[]> or is a C<OVERLAPPED> structure packed into
-a string. This is only useful if C<$hDevice> was opened with the
-C<FILE_FLAG_OVERLAPPED> flag set.
-
-=item FdGetOsFHandle
-
-=item C<$hNativeHandle= FdGetOsFHandle( $ivFd )>
-
-C<FdGetOsFHandle> simply calls C<_get_osfhandle()>. It was renamed
-to better fit in with the rest the function names of this module,
-in particular to distinguish it from C<GetOsFHandle>. It takes an
-integer file descriptor [as from Perl's C<fileno>] and returns the
-Win32 native file handle associated with that file descriptor or
-C<INVALID_HANDLE_VALUE> if C<$ivFd> is not an open file descriptor.
-
-When you call Perl's C<open> to set a Perl file handle [like C<STDOUT>],
-Perl calls C's C<fopen> to set a stdio C<FILE *>. C's C<fopen> calls
-something like Unix's C<open>, that is, Win32's C<_sopen>, to get an
-integer file descriptor [where 0 is for C<STDIN>, 1 for C<STDOUT>, etc.].
-Win32's C<_sopen> calls C<CreateFile> to set a C<HANDLE>, a Win32 native
-file handle. So every Perl file handle [like C<STDOUT>] has an integer
-file descriptor associated with it that you can get via C<fileno>. And,
-under Win32, every file descriptor has a Win32 native file handle
-associated with it. C<FdGetOsFHandle> lets you get access to that.
-
-C<$hNativeHandle> is set to C<INVALID_HANDLE_VALUE> [and
-C<lastFileError()> and C<$^E> are set] if C<FdGetOsFHandle> fails.
-See also C<GetOsFHandle> which provides a friendlier interface.
-
-=item fileConstant
-
-=item C<$value= fileConstant( $sConstantName )>
-
-Fetch the value of a constant. Returns C<undef> if C<$sConstantName>
-is not the name of a constant supported by this module. Never sets
-C<$!> nor C<$^E>.
-
-This function is rarely used since you will usually get the value of a
-constant by having that constant imported into your package by listing
-the constant name in the C<use Win32API::File> statement and then
-simply using the constant name in your code [perhaps followed by
-C<()>]. This function is useful for verifying constant names not in
-Perl code, for example, after prompting a user to type in a constant
-name.
-
-=item fileLastError
-
-=item C<$svError= fileLastError();>
-
-=item C<fileLastError( $uError );>
-
-Returns the last error encountered by a routine from this module.
-It is just like C<$^E> except it isn't changed by anything except
-routines from this module. Ideally you could just use C<$^E>, but
-current versions of Perl often overwrite C<$^E> before you get a
-chance to check it and really old versions of Perl don't really
-support C<$^E> under Win32.
-
-Just like C<$^E>, in a numeric context C<fileLastError()> returns
-the numeric error value while in a string context it returns a
-text description of the error [actually it returns a Perl scalar
-that contains both values so C<$x= fileLastError()> causes C<$x>
-to give different values in string vs. numeric contexts].
-
-The last form sets the error returned by future calls to
-C<fileLastError()> and should not be used often. C<$uError> must
-be a numeric error code. Also returns the dual-valued version
-of C<$uError>.
-
-=item GetDriveType
-
-=item C<$uDriveType= GetDriveType( $sRootPath )>
-
-Takes a string giving the path to the root directory of a file system
-[called a "drive" because every file system is assigned a "drive letter"]
-and returns an unsigned value indicating the type of drive the file
-system is on. The return value should be one of:
-
-=over
-
-=item C<DRIVE_UNKNOWN>
-
-None of the following.
-
-=item C<DRIVE_NO_ROOT_DIR>
-
-A "drive" that does not have a file system. This can be a drive letter
-that hasn't been defined or a drive letter assigned to a partition
-that hasn't been formatted yet.
-
-=item C<DRIVE_REMOVABLE>
-
-A floppy diskette drive or other removable media drive, but not a CD-ROM
-drive.
-
-=item C<DRIVE_FIXED>
-
-An ordinary hard disk partition.
-
-=item C<DRIVE_REMOTE>
-
-A network share.
-
-=item C<DRIVE_CDROM>
-
-A CD-ROM drive.
-
-=item C<DRIVE_RAMDISK>
-
-A "ram disk" or memory-resident virtual file system used for high-speed
-access to small amounts of temporary file space.
-
-=back
-
-=item GetFileAttributes
-
-=item C<$uAttrs = GetFileAttributes( $sPath )>
-
-Takes a path string and returns an unsigned value with attribute flags.
-If it fails, it returns INVALID_FILE_ATTRIBUTES, otherwise it can be
-one or more of the following values:
-
-=over
-
-=item C<FILE_ATTRIBUTE_ARCHIVE>
-
-The file or directory is an archive file or directory. Applications use
-this attribute to mark files for backup or removal.
-
-=item C<FILE_ATTRIBUTE_COMPRESSED>
-
-The file or directory is compressed. For a file, this means that all of
-the data in the file is compressed. For a directory, this means that
-compression is the default for newly created files and subdirectories.
-
-=item C<FILE_ATTRIBUTE_DEVICE>
-
-Reserved; do not use.
-
-=item C<FILE_ATTRIBUTE_DIRECTORY>
-
-The handle identifies a directory.
-
-=item C<FILE_ATTRIBUTE_ENCRYPTED>
-
-The file or directory is encrypted. For a file, this means that all data
-streams in the file are encrypted. For a directory, this means that
-encryption is the default for newly created files and subdirectories.
-
-=item C<FILE_ATTRIBUTE_HIDDEN>
-
-The file or directory is hidden. It is not included in an ordinary directory
-listing.
-
-=item C<FILE_ATTRIBUTE_NORMAL>
-
-The file or directory has no other attributes set. This attribute is valid
-only if used alone.
-
-=item C<FILE_ATTRIBUTE_NOT_CONTENT_INDEXED>
-
-The file will not be indexed by the content indexing service.
-
-=item C<FILE_ATTRIBUTE_OFFLINE>
-
-The data of the file is not immediately available. This attribute indicates
-that the file data has been physically moved to offline storage. This
-attribute is used by Remote Storage, the hierarchical storage management
-software. Applications should not arbitrarily change this attribute.
-
-=item C<FILE_ATTRIBUTE_READONLY>
-
-The file or directory is read-only. Applications can read the file but cannot
-write to it or delete it. In the case of a directory, applications cannot
-delete it.
-
-=item C<FILE_ATTRIBUTE_REPARSE_POINT>
-
-The file or directory has an associated reparse point.
-
-=item C<FILE_ATTRIBUTE_SPARSE_FILE>
-
-The file is a sparse file.
-
-=item C<FILE_ATTRIBUTE_SYSTEM>
-
-The file or directory is part of, or is used exclusively by, the operating
-system.
-
-=item C<FILE_ATTRIBUTE_TEMPORARY>
-
-The file is being used for temporary storage. File systems avoid writing
-data back to mass storage if sufficient cache memory is available, because
-often the application deletes the temporary file shortly after the handle is
-closed. In that case, the system can entirely avoid writing the data.
-Otherwise, the data will be written after the handle is closed.
-
-=back
-
-=item GetFileType
-
-=item C<$uFileType= GetFileType( $hFile )>
-
-Takes a Win32 native file handle and returns a C<FILE_TYPE_*> constant
-indicating the type of the file opened on that handle:
-
-=over
-
-=item C<FILE_TYPE_UNKNOWN>
-
-None of the below. Often a special device.
-
-=item C<FILE_TYPE_DISK>
-
-An ordinary disk file.
-
-=item C<FILE_TYPE_CHAR>
-
-What Unix would call a "character special file", that is, a device that
-works on character streams such as a printer port or a console.
-
-=item C<FILE_TYPE_PIPE>
-
-Either a named or anonymous pipe.
-
-=back
-
-=item getFileSize
-
-=item C<$size= getFileSize( $hFile )>
-
-This is a Perl-friendly wrapper for the C<GetFileSize> (below) API call.
-
-It takes a Win32 native file handle and returns the size in bytes. Since the
-size can be a 64 bit value, on non 64 bit integer Perls the value returned will
-be an object of type C<Math::BigInt>.
-
-=item GetFileSize
-
-=item C<$iSizeLow= GetFileSize($win32Handle, $iSizeHigh)>
-
-Returns the size of a file pointed to by C<$win32Handle>, optionally storing
-the high order 32 bits into C<$iSizeHigh> if it is not C<[]>. If $iSizeHigh is
-C<[]>, a non-zero value indicates success. Otherwise, on failure the return
-value will be C<0xffffffff> and C<fileLastError()> will not be C<NO_ERROR>.
-
-=item GetOverlappedResult
-
-=item C<$bRetval= GetOverlappedResult( $win32Handle, $pOverlapped,
- $numBytesTransferred, $bWait )>
-
-Used for asynchronous IO in Win32 to get the result of a pending IO operation,
-such as when a file operation returns C<ERROR_IO_PENDING>. Returns a false
-value on failure. The C<$overlapped> structure and C<$numBytesTransferred>
-will be modified with the results of the operation.
-
-As far as creating the C<$pOverlapped> structure, you are currently on your own.
-
-See L<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getoverlappedresult.asp> for more information.
-
-=item GetLogicalDrives
-
-=item C<$uDriveBits= GetLogicalDrives()>
-
-Returns an unsigned value with one bit set for each drive letter currently
-defined. If "A:" is currently a valid drive letter, then the C<1> bit
-will be set in C<$uDriveBits>. If "B:" is valid, then the C<2> bit will
-be set. If "Z:" is valid, then the C<2**26> [C<0x4000000>] bit will be
-set.
-
-=item GetLogicalDriveStrings
-
-=item C<$olOutLength= GetLogicalDriveStrings( $lBufSize, $osBuffer )>
-
-For each currently defined drive letter, a C<'\0'>-terminated string
-of the path to the root of its file system is constructed. All of
-these strings are concatenated into a single larger string and an
-extra terminating C<'\0'> is added. This larger string is returned
-in C<$osBuffer>. Note that this includes drive letters that have
-been defined but that have no file system, such as drive letters
-assigned to unformatted partitions.
-
-C<$lBufSize> is the size of the buffer to allocate to store this
-list of strings. C<26*4+1> is always sufficient and should usually
-be used.
-
-C<$osBuffer> is a scalar to be set to contain the constructed string.
-
-C<$olOutLength> is the number of bytes actually written to C<$osBuffer>
-but C<length($osBuffer)> can also be used to determine this.
-
-For example, on a poorly equipped computer,
-
- GetLogicalDriveStrings( 4*26+1, $osBuffer );
-
-might set C<$osBuffer> to the 9-character string, C<"A:\\\0C:\\\0\0">.
-
-=item GetHandleInformation
-
-=item C<GetHandleInformation( $hObject, $ouFlags )>
-
-Retrieves the flags associated with a Win32 native file handle or object
-handle.
-
-C<$hObject> is an open Win32 native file handle or an open Win32 native
-handle to some other type of object.
-
-C<$ouFlags> will be set to an unsigned value having zero or more of
-the bits C<HANDLE_FLAG_INHERIT> and C<HANDLE_FLAG_PROTECT_FROM_CLOSE>
-set. See the C<":HANDLE_FLAG_"> export class for the meanings of these
-bits.
-
-=item GetOsFHandle
-
-=item C<$hNativeHandle= GetOsFHandle( FILE )>
-
-Takes a Perl file handle [like C<STDIN>] and returns the Win32 native
-file handle associated with it. See C<FdGetOsFHandle> for more
-information about Win32 native file handles.
-
-C<$hNativeHandle> is set to a false value [and C<lastFileError()> and
-C<$^E> are set] if C<GetOsFHandle> fails. C<GetOsFHandle> returns
-C<"0 but true"> in the impossible(?) case of the handle having a value
-of C<0>.
-
-=item GetVolumeInformation
-
-=item C<GetVolumeInformation( $sRootPath, $osVolName, $lVolName, $ouSerialNum, $ouMaxNameLen, $ouFsFlags, $osFsType, $lFsType )>
-
-Gets information about a file system volume, returning a true
-value if successful. On failure, returns a false value and sets
-C<fileLastError()> and C<$^E>.
-
-C<$sRootPath> is a string specifying the path to the root of the file system,
-for example, C<"C:/">.
-
-C<$osVolName> is a scalar to be set to the string representing the
-volume name, also called the file system label. C<$lVolName> is the
-number of bytes to allocate for the C<$osVolName> buffer [see
-L<Buffer Sizes> for more information].
-
-C<$ouSerialNum> is C<[]> [for C<NULL>] or will be set to the numeric
-value of the volume's serial number.
-
-C<$ouMaxNameLen> is C<[]> [for C<NULL>] or will be set to the maximum
-length allowed for a file name or directory name within the file system.
-
-C<$osFsType> is a scalar to be set to the string representing the
-file system type, such as C<"FAT"> or C<"NTFS">. C<$lFsType> is the
-number of bytes to allocate for the C<$osFsType> buffer [see
-L<Buffer Sizes> for more information].
-
-C<$ouFsFlags> is C<[]> [for C<NULL>] or will be set to an unsigned integer
-with bits set indicating properties of the file system:
-
-=over
-
-=item C<FS_CASE_IS_PRESERVED>
-
-The file system preserves the case of file names [usually true].
-That is, it doesn't change the case of file names such as forcing
-them to upper- or lower-case.
-
-=item C<FS_CASE_SENSITIVE>
-
-The file system supports the ability to not ignore the case of file
-names [but might ignore case the way you are using it]. That is, the
-file system has the ability to force you to get the letter case of a
-file's name exactly right to be able to open it. This is true for
-"NTFS" file systems, even though case in file names is usually still
-ignored.
-
-=item C<FS_UNICODE_STORED_ON_DISK>
-
-The file system preserves Unicode in file names [true for "NTFS"].
-
-=item C<FS_PERSISTENT_ACLS>
-
-The file system supports setting Access Control Lists on files [true
-for "NTFS"].
-
-=item C<FS_FILE_COMPRESSION>
-
-The file system supports compression on a per-file basis [true for
-"NTFS"].
-
-=item C<FS_VOL_IS_COMPRESSED>
-
-The entire file system is compressed such as via "DoubleSpace".
-
-=back
-
-=item IsRecognizedPartition
-
-=item C<IsRecognizedPartition( $ivPartitionType )>
-
-Takes a partition type and returns whether that partition type is
-supported under Win32. C<$ivPartitonType> is an integer value as from
-the operating system byte of a hard disk's DOS-compatible partition
-table [that is, a partition table for x86-based Win32, not, for
-example, one used with Windows NT for Alpha processors]. For example,
-the C<PartitionType> member of the C<PARTITION_INFORMATION> structure.
-
-Common values for C<$ivPartitionType> include C<PARTITION_FAT_12==1>,
-C<PARTITION_FAT_16==4>, C<PARTITION_EXTENDED==5>, C<PARTITION_FAT32==0xB>.
-
-=item IsContainerPartition
-
-=item C<IsContainerPartition( $ivPartitionType )>
-
-Takes a partition type and returns whether that partition is a
-"container" partition that is supported under Win32, that is, whether
-it is an "extended" partition that can contain "logical" partitions.
-C<$ivPartitonType> is as for C<IsRecognizedPartition>.
-
-=item MoveFile
-
-=item C<MoveFile( $sOldName, $sNewName )>
-
-Renames a file or directory. C<$sOldName> is the name of the existing
-file or directory that is to be renamed. C<$sNewName> is the new name
-to give the file or directory. Returns a true value if the move
-succeeds. For failure, returns a false value and sets
-C<fileLastErorr()> and C<$^E> to the reason for the failure.
-
-Files can be "renamed" between file systems and the file contents and
-some attributes will be moved. Directories can only be renamed within
-one file system. If there is already a file or directory named
-C<$sNewName>, then C<MoveFile> will fail.
-
-=item MoveFileEx
-
-=item C<MoveFileEx( $sOldName, $sNewName, $uFlags )>
-
-Renames a file or directory. C<$sOldName> is the name of the existing
-file or directory that is to be renamed. C<$sNewName> is the new name
-to give the file or directory. Returns a true value if the move
-succeeds. For failure, returns a false value and sets
-C<fileLastErorr()> and C<$^E> to the reason for the failure.
-
-C<$uFlags> is an unsigned value with zero or more of the following bits set:
-
-=over
-
-=item C<MOVEFILE_REPLACE_EXISTING>
-
-If this bit is set and a file [but not a directory] named C<$sNewName>
-already exists, then it will be replaced by C<$sOldName>. If this bit
-is not set then C<MoveFileEx> will fail rather than replace an existing
-C<$sNewName>.
-
-=item C<MOVEFILE_COPY_ALLOWED>
-
-Allows files [but not directories] to be moved between file systems
-by copying the C<$sOldName> file data and some attributes to
-C<$sNewName> and then deleting C<$sOldName>. If this bit is not set
-[or if C<$sOldName> denotes a directory] and C<$sNewName> refers to a
-different file system than C<$sOldName>, then C<MoveFileEx> will fail.
-
-=item C<MOVEFILE_DELAY_UNTIL_REBOOT>
-
-Preliminary verifications are made and then an entry is added to the
-Registry to cause the rename [or delete] operation to be done the
-next time this copy of the operating system is booted [right after
-any automatic file system checks have completed]. This is not
-supported under Windows 95.
-
-When this bit is set, C<$sNewName> can be C<[]> [for C<NULL>] to
-indicate that C<$sOldName> should be deleted during the next boot
-rather than renamed.
-
-Setting both the C<MOVEFILE_COPY_ALLOWED> and
-C<MOVEFILE_DELAY_UNTIL_REBOOT> bits will cause C<MoveFileEx> to fail.
-
-=item C<MOVEFILE_WRITE_THROUGH>
-
-Ensures that C<MoveFileEx> won't return until the operation has
-finished and been flushed to disk. This is not supported under
-Windows 95. Only affects file renames to another file system,
-forcing a buffer flush at the end of the copy operation.
-
-=back
-
-=item OsFHandleOpen
-
-=item C<OsFHandleOpen( FILE, $hNativeHandle, $sMode )>
-
-Opens a Perl file handle based on an already open Win32 native
-file handle [much like C's C<fdopen()> does with a file descriptor].
-Returns a true value if the open operation succeeded. For failure,
-returns a false value and sets C<$!> [and possibly C<fileLastError()>
-and C<$^E>] to the reason for the failure.
-
-C<FILE> is a Perl file handle [in any of the supported forms, a
-bareword, a string, a typeglob, or a reference to a typeglob] that
-will be opened. If C<FILE> is already open, it will automatically
-be closed before it is reopened.
-
-C<$hNativeHandle> is an open Win32 native file handle, probably the
-return value from C<CreateFile> or C<createFile>.
-
-C<$sMode> is string of zero or more letters from C<"rwatb">. These
-are translated into a combination C<O_RDONLY> [C<"r">], C<O_WRONLY>
-[C<"w">], C<O_RDWR> [C<"rw">], C<O_APPEND> [C<"a">], C<O_TEXT>
-[C<"t">], and C<O_BINARY> [C<"b">] flags [see the L<Fcntl> module]
-that is passed to C<OsFHandleOpenFd>. Currently only C<O_APPEND>
-and C<O_TEXT> have any significance.
-
-Also, a C<"r"> and/or C<"w"> in C<$sMode> is used to decide how the
-file descriptor is converted into a Perl file handle, even though this
-doesn't appear to make a difference. One of the following is used:
-
- open( FILE, "<&=".$ivFd ) # "r" w/o "w"
- open( FILE, ">&=".$ivFd ) # "w" w/o "r"
- open( FILE, "+<&=".$ivFd ) # both "r" and "w"
-
-C<OsFHandleOpen> eventually calls the Win32-specific C routine
-C<_open_osfhandle()> or Perl's "improved" version called
-C<win32_open_osfhandle()>. Prior to Perl5.005, C's
-C<_open_osfhandle()> is called which will fail if
-C<GetFileType($hNativeHandle)> would return C<FILE_TYPE_UNKNOWN>. For
-Perl5.005 and later, C<OsFHandleOpen> calls C<win32_open_osfhandle()>
-from the Perl DLL which doesn't have this restriction.
-
-=item OsFHandleOpenFd
-
-=item C<$ivFD= OsFHandleOpenFd( $hNativeHandle, $uMode )>
-
-Opens a file descriptor [C<$ivFD>] based on an already open Win32
-native file handle, C<$hNativeHandle>. This just calls the
-Win32-specific C routine C<_open_osfhandle()> or Perl's "improved"
-version called C<win32_open_osfhandle()>. Prior to Perl5.005 and in Cygwin
-Perl, C's C<_open_osfhandle()> is called which will fail if
-C<GetFileType($hNativeHandle)> would return C<FILE_TYPE_UNKNOWN>. For
-Perl5.005 and later, C<OsFHandleOpenFd> calls C<win32_open_osfhandle()> from
-the Perl DLL which doesn't have this restriction.
-
-C<$uMode> the logical combination of zero or more C<O_*> constants
-exported by the C<Fcntl> module. Currently only C<O_APPEND> and
-C<O_TEXT> have any significance.
-
-C<$ivFD> will be non-negative if the open operation was successful.
-For failure, C<-1> is returned and C<$!> [and possibly
-C<fileLastError()> and C<$^E>] is set to the reason for the failure.
-
-=item QueryDosDevice
-
-=item C<$olTargetLen= QueryDosDevice( $sDosDeviceName, $osTargetPath, $lTargetBuf )>
-
-Looks up the definition of a given "DOS" device name, yielding the
-active Windows NT native device name along with any currently dormant
-definitions.
-
-C<$sDosDeviceName> is the name of the "DOS" device whose definitions
-we want. For example, C<"C:">, C<"COM1">, or C<"PhysicalDrive0">.
-If C<$sDosDeviceName> is C<[]> [for C<NULL>], the list of all DOS
-device names is returned instead.
-
-C<$osTargetPath> will be assigned a string containing the list of
-definitions. The definitions are each C<'\0'>-terminate and are
-concatenated into the string, most recent first, with an extra C<'\0'>
-at the end of the whole string [see C<GetLogicalDriveStrings> for
-a sample of this format].
-
-C<$lTargetBuf> is the size [in bytes] of the buffer to allocate for
-C<$osTargetPath>. See L<Buffer Sizes> for more information.
-
-C<$olTargetLen> is set to the number of bytes written to
-C<$osTargetPath> but you can also use C<length($osTargetPath)>
-to determine this.
-
-For failure, C<0> is returned and C<fileLastError()> and C<$^E> are
-set to the reason for the failure.
-
-=item ReadFile
-
-=item C<ReadFile( $hFile, $opBuffer, $lBytes, $olBytesRead, $pOverlapped )>
-
-Reads bytes from a file or file-like device. Returns a true value if
-the read operation was successful. For failure, returns a false value
-and sets C<fileLastError()> and C<$^E> for the reason for the failure.
-
-C<$hFile> is a Win32 native file handle that is already open to the
-file or device to read from.
-
-C<$opBuffer> will be set to a string containing the bytes read.
-
-C<$lBytes> is the number of bytes you would like to read.
-C<$opBuffer> is automatically initialized to have a buffer large
-enough to hold that many bytes. Unlike other buffer sizes, C<$lBytes>
-does not need to have a C<"="> prepended to it to prevent a larger
-value to be passed to the underlying Win32 C<ReadFile> API. However,
-a leading C<"="> will be silently ignored, even if Perl warnings are
-enabled.
-
-If C<$olBytesRead> is not C<[]>, it will be set to the actual number
-of bytes read, though C<length($opBuffer)> can also be used to
-determine this.
-
-C<$pOverlapped> is C<[]> or is a C<OVERLAPPED> structure packed
-into a string. This is only useful if C<$hFile> was opened with
-the C<FILE_FLAG_OVERLAPPED> flag set.
-
-=item SetErrorMode
-
-=item C<$uOldMode= SetErrorMode( $uNewMode )>
-
-Sets the mode controlling system error handling B<and> returns the
-previous mode value. Both C<$uOldMode> and C<$uNewMode> will have
-zero or more of the following bits set:
-
-=over
-
-=item C<SEM_FAILCRITICALERRORS>
-
-If set, indicates that when a critical error is encountered, the call
-that triggered the error fails immediately. Normally this bit is not
-set, which means that a critical error causes a dialogue box to appear
-notifying the desktop user that some application has triggered a
-critical error. The dialogue box allows the desktop user to decide
-whether the critical error is returned to the process, is ignored, or
-the offending operation is retried.
-
-This affects the C<CreateFile> and C<GetVolumeInformation> calls.
-
-Setting this bit is useful for allowing you to check whether a floppy
-diskette is in the floppy drive.
-
-=item C<SEM_NOALIGNMENTFAULTEXCEPT>
-
-If set, this causes memory access misalignment faults to be
-automatically fixed in a manner invisible to the process. This flag
-is ignored on x86-based versions of Windows NT. This flag is not
-supported on Windows 95.
-
-=item C<SEM_NOGPFAULTERRORBOX>
-
-If set, general protection faults do not generate a dialogue box but
-can instead be handled by the process via an exception handler. This
-bit should not be set by programs that don't know how to handle such
-faults.
-
-=item C<SEM_NOOPENFILEERRORBOX>
-
-If set, then when an attempt to continue reading from or writing to
-an already open file [usually on a removable medium like a floppy
-diskette] finds the file no longer available, the call will
-immediately fail. Normally this bit is not set, which means that
-instead a dialogue box will appear notifying the desktop user that
-some application has run into this problem. The dialogue box allows
-the desktop user to decide whether the failure is returned to the
-process, is ignored, or the offending operation is retried.
-
-This affects the C<ReadFile> and C<WriteFile> calls.
-
-=back
-
-=item setFilePointer
-
-=item C<$uNewPos = setFilePointer( $hFile, $ivOffset, $uFromWhere )>
-
-This is a perl-friendly wrapper for the SetFilePointer API (below).
-C<$ivOffset> can be a 64 bit integer or C<Math::BigInt> object if your Perl
-doesn't have 64 bit integers. The return value is the new offset and will
-likewise be a 64 bit integer or a C<Math::BigInt> object.
-
-=item SetFilePointer
-
-=item C<$uNewPos = SetFilePointer( $hFile, $ivOffset, $ioivOffsetHigh, $uFromWhere )>
-
-The native Win32 version of C<seek()>. C<SetFilePointer> sets the
-position within a file where the next read or write operation will
-start from.
-
-C<$hFile> is a Win32 native file handle.
-
-C<$uFromWhere> is either C<FILE_BEGIN>, C<FILE_CURRENT>, or
-C<FILE_END>, indicating that the new file position is being specified
-relative to the beginning of the file, the current file pointer, or
-the end of the file, respectively.
-
-C<$ivOffset> is [if C<$ioivOffsetHigh> is C<[]>] the offset [in bytes]
-to the new file position from the position specified via
-C<$uFromWhere>. If C<$ioivOffsetHigh> is not C<[]>, then C<$ivOffset>
-is converted to an unsigned value to be used as the low-order 4 bytes
-of the offset.
-
-C<$ioivOffsetHigh> can be C<[]> [for C<NULL>] to indicate that you are
-only specifying a 4-byte offset and the resulting file position will
-be 0xFFFFFFFE or less [just under 4GB]. Otherwise C<$ioivOfffsetHigh>
-starts out with the high-order 4 bytes [signed] of the offset and gets
-set to the [unsigned] high-order 4 bytes of the resulting file position.
-
-The underlying C<SetFilePointer> returns C<0xFFFFFFFF> to indicate
-failure, but if C<$ioivOffsetHigh> is not C<[]>, you would also have
-to check C<$^E> to determine whether C<0xFFFFFFFF> indicates an error
-or not. C<Win32API::File::SetFilePointer> does this checking for you
-and returns a false value if and only if the underlying
-C<SetFilePointer> failed. For this reason, C<$uNewPos> is set to
-C<"0 but true"> if you set the file pointer to the beginning of the
-file [or any position with 0 for the low-order 4 bytes].
-
-So the return value will be true if the seek operation was successful.
-For failure, a false value is returned and C<fileLastError()> and
-C<$^E> are set to the reason for the failure.
-
-=item SetHandleInformation
-
-=item C<SetHandleInformation( $hObject, $uMask, $uFlags )>
-
-Sets the flags associated with a Win32 native file handle or object
-handle. Returns a true value if the operation was successful. For
-failure, returns a false value and sets C<fileLastError()> and C<$^E>
-for the reason for the failure.
-
-C<$hObject> is an open Win32 native file handle or an open Win32 native
-handle to some other type of object.
-
-C<$uMask> is an unsigned value having one or more of the bits
-C<HANDLE_FLAG_INHERIT> and C<HANDLE_FLAG_PROTECT_FROM_CLOSE> set.
-Only bits set in C<$uMask> will be modified by C<SetHandleInformation>.
-
-C<$uFlags> is an unsigned value having zero or more of the bits
-C<HANDLE_FLAG_INHERIT> and C<HANDLE_FLAG_PROTECT_FROM_CLOSE> set.
-For each bit set in C<$uMask>, the cooresponding bit in the handle's
-flags is set to the value of the cooresponding bit in C<$uFlags>.
-
-If C<$uOldFlags> were the value of the handle's flags before the
-call to C<SetHandleInformation>, then the value of the handle's
-flags afterward would be:
-
- ( $uOldFlags & ~$uMask ) | ( $uFlags & $uMask )
-
-[at least as far as the C<HANDLE_FLAG_INHERIT> and
-C<HANDLE_FLAG_PROTECT_FROM_CLOSE> bits are concerned.]
-
-See the C<":HANDLE_FLAG_"> export class for the meanings of these bits.
-
-=item WriteFile
-
-=item C<WriteFile( $hFile, $pBuffer, $lBytes, $ouBytesWritten, $pOverlapped )>
-
-Write bytes to a file or file-like device. Returns a true value if
-the operation was successful. For failure, returns a false value and
-sets C<fileLastError()> and C<$^E> for the reason for the failure.
-
-C<$hFile> is a Win32 native file handle that is already open to the
-file or device to be written to.
-
-C<$pBuffer> is a string containing the bytes to be written.
-
-C<$lBytes> is the number of bytes you would like to write. If
-C<$pBuffer> is not at least C<$lBytes> long, C<WriteFile> croaks. You
-can specify C<0> for C<$lBytes> to write C<length($pBuffer)> bytes.
-A leading C<"="> on C<$lBytes> will be silently ignored, even if Perl
-warnings are enabled.
-
-C<$ouBytesWritten> will be set to the actual number of bytes written
-unless you specify it as C<[]>.
-
-C<$pOverlapped> is C<[]> or is an C<OVERLAPPED> structure packed
-into a string. This is only useful if C<$hFile> was opened with
-the C<FILE_FLAG_OVERLAPPED> flag set.
-
-=back
-
-=item C<":FuncA">
-
-The ASCII-specific functions. Each of these is just the same as the
-version without the trailing "A".
-
- CopyFileA
- CreateFileA
- DefineDosDeviceA
- DeleteFileA
- GetDriveTypeA
- GetFileAttributesA
- GetLogicalDriveStringsA
- GetVolumeInformationA
- MoveFileA
- MoveFileExA
- QueryDosDeviceA
-
-=item C<":FuncW">
-
-The wide-character-specific (Unicode) functions. Each of these is
-just the same as the version without the trailing "W" except that
-strings are expected in Unicode and some lengths are measured as
-number of C<WCHAR>s instead of number of bytes, as indicated below.
-
-=over
-
-=item CopyFileW
-
-=item C<CopyFileW( $swOldFileName, $swNewFileName, $bFailIfExists )>
-
-C<$swOldFileName> and C<$swNewFileName> are Unicode strings.
-
-=item CreateFileW
-
-=item C<$hObject= CreateFileW( $swPath, $uAccess, $uShare, $pSecAttr, $uCreate, $uFlags, $hModel )>
-
-C<$swPath> is Unicode.
-
-=item DefineDosDeviceW
-
-=item C<DefineDosDeviceW( $uFlags, $swDosDeviceName, $swTargetPath )>
-
-C<$swDosDeviceName> and C<$swTargetPath> are Unicode.
-
-=item DeleteFileW
-
-=item C<DeleteFileW( $swFileName )>
-
-C<$swFileName> is Unicode.
-
-=item GetDriveTypeW
-
-=item C<$uDriveType= GetDriveTypeW( $swRootPath )>
-
-C<$swRootPath> is Unicode.
-
-=item GetFileAttributesW
-
-=item C<$uAttrs= GetFileAttributesW( $swPath )>
-
-C<$swPath> is Unicode.
-
-=item GetLogicalDriveStringsW
-
-=item C<$olwOutLength= GetLogicalDriveStringsW( $lwBufSize, $oswBuffer )>
-
-Unicode is stored in C<$oswBuffer>. C<$lwBufSize> and C<$olwOutLength>
-are measured as number of C<WCHAR>s.
-
-=item GetVolumeInformationW
-
-=item C<GetVolumeInformationW( $swRootPath, $oswVolName, $lwVolName, $ouSerialNum, $ouMaxNameLen, $ouFsFlags, $oswFsType, $lwFsType )>
-
-C<$swRootPath> is Unicode and Unicode is written to C<$oswVolName> and
-C<$oswFsType>. C<$lwVolName> and C<$lwFsType> are measures as number
-of C<WCHAR>s.
-
-=item MoveFileW
-
-=item C<MoveFileW( $swOldName, $swNewName )>
-
-C<$swOldName> and C<$swNewName> are Unicode.
-
-=item MoveFileExW
-
-=item C<MoveFileExW( $swOldName, $swNewName, $uFlags )>
-
-C<$swOldName> and C<$swNewName> are Unicode.
-
-=item QueryDosDeviceW
-
-=item C<$olwTargetLen= QueryDosDeviceW( $swDeviceName, $oswTargetPath, $lwTargetBuf )>
-
-C<$swDeviceName> is Unicode and Unicode is written to
-C<$oswTargetPath>. C<$lwTargetBuf> and C<$olwTargetLen> are measured
-as number of C<WCHAR>s.
-
-=back
-
-=item C<":Misc">
-
-Miscellaneous constants. Used for the C<$uCreate> argument of
-C<CreateFile> or the C<$uFromWhere> argument of C<SetFilePointer>.
-Plus C<INVALID_HANDLE_VALUE>, which you usually won't need to check
-for since most routines translate it into a false value.
-
- CREATE_ALWAYS CREATE_NEW OPEN_ALWAYS
- OPEN_EXISTING TRUNCATE_EXISTING INVALID_HANDLE_VALUE
- FILE_BEGIN FILE_CURRENT FILE_END
-
-=item C<":DDD_">
-
-Constants for the C<$uFlags> argument of C<DefineDosDevice>.
-
- DDD_EXACT_MATCH_ON_REMOVE
- DDD_RAW_TARGET_PATH
- DDD_REMOVE_DEFINITION
-
-=item C<":DRIVE_">
-
-Constants returned by C<GetDriveType>.
-
- DRIVE_UNKNOWN DRIVE_NO_ROOT_DIR DRIVE_REMOVABLE
- DRIVE_FIXED DRIVE_REMOTE DRIVE_CDROM
- DRIVE_RAMDISK
-
-=item C<":FILE_">
-
-Specific types of access to files that can be requested via the
-C<$uAccess> argument to C<CreateFile>.
-
- FILE_READ_DATA FILE_LIST_DIRECTORY
- FILE_WRITE_DATA FILE_ADD_FILE
- FILE_APPEND_DATA FILE_ADD_SUBDIRECTORY
- FILE_CREATE_PIPE_INSTANCE FILE_READ_EA
- FILE_WRITE_EA FILE_EXECUTE
- FILE_TRAVERSE FILE_DELETE_CHILD
- FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES
- FILE_ALL_ACCESS FILE_GENERIC_READ
- FILE_GENERIC_WRITE FILE_GENERIC_EXECUTE )],
-
-=item C<":FILE_ATTRIBUTE_">
-
-File attribute constants. Returned by C<attrLetsToBits> and used in
-the C<$uFlags> argument to C<CreateFile>.
-
- FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_COMPRESSED
- FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY
-
-In addition, C<GetFileAttributes> can return these constants (or
-INVALID_FILE_ATTRIBUTES in case of an error).
-
- FILE_ATTRIBUTE_DEVICE FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ENCRYPTED FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
- FILE_ATTRIBUTE_REPARSE_POINT FILE_ATTRIBUTE_SPARSE_FILE
-
-=item C<":FILE_FLAG_">
-
-File option flag constants. Used in the C<$uFlags> argument to
-C<CreateFile>.
-
- FILE_FLAG_BACKUP_SEMANTICS FILE_FLAG_DELETE_ON_CLOSE
- FILE_FLAG_NO_BUFFERING FILE_FLAG_OVERLAPPED
- FILE_FLAG_POSIX_SEMANTICS FILE_FLAG_RANDOM_ACCESS
- FILE_FLAG_SEQUENTIAL_SCAN FILE_FLAG_WRITE_THROUGH
- FILE_FLAG_OPEN_REPARSE_POINT
-
-=item C<":FILE_SHARE_">
-
-File sharing constants. Used in the C<$uShare> argument to
-C<CreateFile>.
-
- FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE
-
-=item C<":FILE_TYPE_">
-
-File type constants. Returned by C<GetFileType>.
-
- FILE_TYPE_CHAR FILE_TYPE_DISK
- FILE_TYPE_PIPE FILE_TYPE_UNKNOWN
-
-=item C<":FS_">
-
-File system characteristics constants. Placed in the C<$ouFsFlags>
-argument to C<GetVolumeInformation>.
-
- FS_CASE_IS_PRESERVED FS_CASE_SENSITIVE
- FS_UNICODE_STORED_ON_DISK FS_PERSISTENT_ACLS
- FS_FILE_COMPRESSION FS_VOL_IS_COMPRESSED
-
-=item C<":HANDLE_FLAG_">
-
-Flag bits modifying the behavior of an object handle and accessed via
-C<GetHandleInformation> and C<SetHandleInformation>.
-
-=over
-
-=item HANDLE_FLAG_INHERIT
-
-If this bit is set, then children of this process who inherit handles
-[that is, processes created by calls to the Win32 C<CreateProcess> API
-with the C<bInheritHandles> parameter specified as C<TRUE>], will inherit
-this particular object handle.
-
-=item HANDLE_FLAG_PROTECT_FROM_CLOSE
-
-If this bit is set, then calls to C<CloseHandle> against this handle
-will be ignored, leaving the handle open and usable.
-
-=back
-
-=item C<":IOCTL_STORAGE_">
-
-I/O control operations for generic storage devices. Used in the
-C<$uIoControlCode> argument to C<DeviceIoControl>. Includes
-C<IOCTL_STORAGE_CHECK_VERIFY>, C<IOCTL_STORAGE_MEDIA_REMOVAL>,
-C<IOCTL_STORAGE_EJECT_MEDIA>, C<IOCTL_STORAGE_LOAD_MEDIA>,
-C<IOCTL_STORAGE_RESERVE>, C<IOCTL_STORAGE_RELEASE>,
-C<IOCTL_STORAGE_FIND_NEW_DEVICES>, and
-C<IOCTL_STORAGE_GET_MEDIA_TYPES>.
-
-=over
-
-=item C<IOCTL_STORAGE_CHECK_VERIFY>
-
-Verify that a device's media is accessible. C<$pInBuf> and C<$opOutBuf>
-should both be C<[]>. If C<DeviceIoControl> returns a true value, then
-the media is currently accessible.
-
-=item C<IOCTL_STORAGE_MEDIA_REMOVAL>
-
-Allows the device's media to be locked or unlocked. C<$opOutBuf> should
-be C<[]>. C<$pInBuf> should be a C<PREVENT_MEDIA_REMOVAL> data structure,
-which is simply an interger containing a boolean value:
-
- $pInBuf= pack( "i", $bPreventMediaRemoval );
-
-=item C<IOCTL_STORAGE_EJECT_MEDIA>
-
-Requests that the device eject the media. C<$pInBuf> and C<$opOutBuf>
-should both be C<[]>.
-
-=item C<IOCTL_STORAGE_LOAD_MEDIA>
-
-Requests that the device load the media. C<$pInBuf> and C<$opOutBuf>
-should both be C<[]>.
-
-=item C<IOCTL_STORAGE_RESERVE>
-
-Requests that the device be reserved. C<$pInBuf> and C<$opOutBuf>
-should both be C<[]>.
-
-=item C<IOCTL_STORAGE_RELEASE>
-
-Releases a previous device reservation. C<$pInBuf> and C<$opOutBuf>
-should both be C<[]>.
-
-=item C<IOCTL_STORAGE_FIND_NEW_DEVICES>
-
-No documentation on this IOCTL operation was found.
-
-=item C<IOCTL_STORAGE_GET_MEDIA_TYPES>
-
-Requests information about the type of media supported by the device.
-C<$pInBuf> should be C<[]>. C<$opOutBuf> will be set to contain a
-vector of C<DISK_GEOMETRY> data structures, which can be decoded via:
-
- # Calculate the number of DISK_GEOMETRY structures returned:
- my $cStructs= length($opOutBuf)/(4+4+4+4+4+4);
- my @fields= unpack( "L l I L L L" x $cStructs, $opOutBuf )
- my( @ucCylsLow, @ivcCylsHigh, @uMediaType, @uTracksPerCyl,
- @uSectsPerTrack, @uBytesPerSect )= ();
- while( @fields ) {
- push( @ucCylsLow, unshift @fields );
- push( @ivcCylsHigh, unshift @fields );
- push( @uMediaType, unshift @fields );
- push( @uTracksPerCyl, unshift @fields );
- push( @uSectsPerTrack, unshift @fields );
- push( @uBytesPerSect, unshift @fields );
- }
-
-For the C<$i>th type of supported media, the following variables will
-contain the following data.
-
-=over
-
-=item C<$ucCylsLow[$i]>
-
-The low-order 4 bytes of the total number of cylinders.
-
-=item C<$ivcCylsHigh[$i]>
-
-The high-order 4 bytes of the total number of cylinders.
-
-=item C<$uMediaType[$i]>
-
-A code for the type of media. See the C<":MEDIA_TYPE"> export class.
-
-=item C<$uTracksPerCyl[$i]>
-
-The number of tracks in each cylinder.
-
-=item C<$uSectsPerTrack[$i]>
-
-The number of sectors in each track.
-
-=item C<$uBytesPerSect[$i]>
-
-The number of bytes in each sector.
-
-=back
-
-=back
-
-=item C<":IOCTL_DISK_">
-
-I/O control operations for disk devices. Used in the C<$uIoControlCode>
-argument to C<DeviceIoControl>. Most of these are to be used on
-physical drive devices like C<"//./PhysicalDrive0">. However,
-C<IOCTL_DISK_GET_PARTITION_INFO> and C<IOCTL_DISK_SET_PARTITION_INFO>
-should only be used on a single-partition device like C<"//./C:">. Also,
-C<IOCTL_DISK_GET_MEDIA_TYPES> is documented as having been superceded but
-is still useful when used on a floppy device like C<"//./A:">.
-
-Includes C<IOCTL_DISK_FORMAT_TRACKS>, C<IOCTL_DISK_FORMAT_TRACKS_EX>,
-C<IOCTL_DISK_GET_DRIVE_GEOMETRY>, C<IOCTL_DISK_GET_DRIVE_LAYOUT>,
-C<IOCTL_DISK_GET_MEDIA_TYPES>, C<IOCTL_DISK_GET_PARTITION_INFO>,
-C<IOCTL_DISK_HISTOGRAM_DATA>, C<IOCTL_DISK_HISTOGRAM_RESET>,
-C<IOCTL_DISK_HISTOGRAM_STRUCTURE>, C<IOCTL_DISK_IS_WRITABLE>,
-C<IOCTL_DISK_LOGGING>, C<IOCTL_DISK_PERFORMANCE>,
-C<IOCTL_DISK_REASSIGN_BLOCKS>, C<IOCTL_DISK_REQUEST_DATA>,
-C<IOCTL_DISK_REQUEST_STRUCTURE>, C<IOCTL_DISK_SET_DRIVE_LAYOUT>,
-C<IOCTL_DISK_SET_PARTITION_INFO>, and C<IOCTL_DISK_VERIFY>.
-
-=over
-
-=item C<IOCTL_DISK_GET_DRIVE_GEOMETRY>
-
-Request information about the size and geometry of the disk. C<$pInBuf>
-should be C<[]>. C<$opOutBuf> will be set to a C<DISK_GEOMETRY> data
-structure which can be decode via:
-
- ( $ucCylsLow, $ivcCylsHigh, $uMediaType, $uTracksPerCyl,
- $uSectsPerTrack, $uBytesPerSect )= unpack( "L l I L L L", $opOutBuf );
-
-=over
-
-=item C<$ucCylsLow>
-
-The low-order 4 bytes of the total number of cylinders.
-
-=item C<$ivcCylsHigh>
-
-The high-order 4 bytes of the total number of cylinders.
-
-=item C<$uMediaType>
-
-A code for the type of media. See the C<":MEDIA_TYPE"> export class.
-
-=item C<$uTracksPerCyl>
-
-The number of tracks in each cylinder.
-
-=item C<$uSectsPerTrack>
-
-The number of sectors in each track.
-
-=item C<$uBytesPerSect>
-
-The number of bytes in each sector.
-
-=back
-
-=item C<IOCTL_DISK_GET_PARTITION_INFO>
-
-Request information about the size and geometry of the partition.
-C<$pInBuf> should be C<[]>. C<$opOutBuf> will be set to a
-C<PARTITION_INFORMATION> data structure which can be decode via:
-
- ( $uStartLow, $ivStartHigh, $ucHiddenSects, $uPartitionSeqNumber,
- $uPartitionType, $bActive, $bRecognized, $bToRewrite )=
- unpack( "L l L L C c c c", $opOutBuf );
-
-=over
-
-=item C<$uStartLow> and C<$ivStartHigh>
-
-The low-order and high-order [respectively] 4 bytes of the starting
-offset of the partition, measured in bytes.
-
-=item C<$ucHiddenSects>
-
-The number of "hidden" sectors for this partition. Actually this is
-the number of sectors found prior to this partiton, that is, the
-starting offset [as found in C<$uStartLow> and C<$ivStartHigh>]
-divided by the number of bytes per sector.
-
-=item C<$uPartitionSeqNumber>
-
-The sequence number of this partition. Partitions are numbered
-starting as C<1> [with "partition 0" meaning the entire disk].
-Sometimes this field may be C<0> and you'll have to infer the
-partition sequence number from how many partitions preceed it on
-the disk.
-
-=item C<$uPartitionType>
-
-The type of partition. See the C<":PARTITION_"> export class for a
-list of known types. See also C<IsRecognizedPartition> and
-C<IsContainerPartition>.
-
-=item C<$bActive>
-
-C<1> for the active [boot] partition, C<0> otherwise.
-
-=item C<$bRecognized>
-
-Whether this type of partition is support under Win32.
-
-=item C<$bToRewrite>
-
-Whether to update this partition information. This field is not used
-by C<IOCTL_DISK_GET_PARTITION_INFO>. For
-C<IOCTL_DISK_SET_DRIVE_LAYOUT>, you must set this field to a true
-value for any partitions you wish to have changed, added, or deleted.
-
-=back
-
-=item C<IOCTL_DISK_SET_PARTITION_INFO>
-
-Change the type of the partition. C<$opOutBuf> should be C<[]>.
-C<$pInBuf> should be a C<SET_PARTITION_INFORMATION> data structure
-which is just a single byte containing the new parition type [see
-the C<":PARTITION_"> export class for a list of known types]:
-
- $pInBuf= pack( "C", $uPartitionType );
-
-=item C<IOCTL_DISK_GET_DRIVE_LAYOUT>
-
-Request information about the disk layout. C<$pInBuf> should be C<[]>.
-C<$opOutBuf> will be set to contain C<DRIVE_LAYOUT_INFORMATION>
-structure including several C<PARTITION_INFORMATION> structures:
-
- my( $cPartitions, $uDiskSignature )= unpack( "L L", $opOutBuf );
- my @fields= unpack( "x8" . ( "L l L L C c c c" x $cPartitions ),
- $opOutBuf );
- my( @uStartLow, @ivStartHigh, @ucHiddenSects,
- @uPartitionSeqNumber, @uPartitionType, @bActive,
- @bRecognized, @bToRewrite )= ();
- for( 1..$cPartition ) {
- push( @uStartLow, unshift @fields );
- push( @ivStartHigh, unshift @fields );
- push( @ucHiddenSects, unshift @fields );
- push( @uPartitionSeqNumber, unshift @fields );
- push( @uPartitionType, unshift @fields );
- push( @bActive, unshift @fields );
- push( @bRecognized, unshift @fields );
- push( @bToRewrite, unshift @fields );
- }
-
-=over
-
-=item C<$cPartitions>
-
-If the number of partitions on the disk.
-
-=item C<$uDiskSignature>
-
-Is the disk signature, a unique number assigned by Disk Administrator
-[F<WinDisk.exe>] and used to identify the disk. This allows drive
-letters for partitions on that disk to remain constant even if the
-SCSI Target ID of the disk gets changed.
-
-=back
-
-See C<IOCTL_DISK_GET_PARTITION_INFORMATION> for information on the
-remaining these fields.
-
-=item C<IOCTL_DISK_GET_MEDIA_TYPES>
-
-Is supposed to be superseded by C<IOCTL_STORAGE_GET_MEDIA_TYPES> but
-is still useful for determining the types of floppy diskette formats
-that can be produced by a given floppy drive. See
-F<ex/FormatFloppy.plx> for an example.
-
-=item C<IOCTL_DISK_SET_DRIVE_LAYOUT>
-
-Change the partition layout of the disk. C<$pOutBuf> should be C<[]>.
-C<$pInBuf> should be a C<DISK_LAYOUT_INFORMATION> data structure
-including several C<PARTITION_INFORMATION> data structures.
-
- # Already set: $cPartitions, $uDiskSignature, @uStartLow, @ivStartHigh,
- # @ucHiddenSects, @uPartitionSeqNumber, @uPartitionType, @bActive,
- # @bRecognized, and @bToRewrite.
- my( @fields, $prtn )= ();
- for $prtn ( 1..$cPartition ) {
- push( @fields, $uStartLow[$prtn-1], $ivStartHigh[$prtn-1],
- $ucHiddenSects[$prtn-1], $uPartitionSeqNumber[$prtn-1],
- $uPartitionType[$prtn-1], $bActive[$prtn-1],
- $bRecognized[$prtn-1], $bToRewrite[$prtn-1] );
- }
- $pInBuf= pack( "L L" . ( "L l L L C c c c" x $cPartitions ),
- $cPartitions, $uDiskSignature, @fields );
-
-To delete a partition, zero out all fields except for C<$bToRewrite>
-which should be set to C<1>. To add a partition, increment
-C<$cPartitions> and add the information for the new partition
-into the arrays, making sure that you insert C<1> into @bToRewrite.
-
-See C<IOCTL_DISK_GET_DRIVE_LAYOUT> and
-C<IOCTL_DISK_GET_PARITITON_INFORMATION> for descriptions of the
-fields.
-
-=item C<IOCTL_DISK_VERIFY>
-
-Performs a logical format of [part of] the disk. C<$opOutBuf> should
-be C<[]>. C<$pInBuf> should contain a C<VERIFY_INFORMATION> data
-structure:
-
- $pInBuf= pack( "L l L",
- $uStartOffsetLow, $ivStartOffsetHigh, $uLength );
-
-=over
-
-=item C<$uStartOffsetLow> and C<$ivStartOffsetHigh>
-
-The low-order and high-order [respectively] 4 bytes of the offset [in
-bytes] where the formatting should begin.
-
-=item C<$uLength>
-
-The length [in bytes] of the section to be formatted.
-
-=back
-
-=item C<IOCTL_DISK_FORMAT_TRACKS>
-
-Format a range of tracks on the disk. C<$opOutBuf> should be C<[]>.
-C<$pInBuf> should contain a C<FORMAT_PARAMETERS> data structure:
-
- $pInBuf= pack( "L L L L L", $uMediaType,
- $uStartCyl, $uEndCyl, $uStartHead, $uEndHead );
-
-C<$uMediaType> if the type of media to be formatted. Mostly used to
-specify the density to use when formatting a floppy diskette. See the
-C<":MEDIA_TYPE"> export class for more information.
-
-The remaining fields specify the starting and ending cylinder and
-head of the range of tracks to be formatted.
-
-=item C<IOCTL_DISK_REASSIGN_BLOCKS>
-
-Reassign a list of disk blocks to the disk's spare-block pool.
-C<$opOutBuf> should be C<[]>. C<$pInBuf> should be a
-C<REASSIGN_BLOCKS> data structure:
-
- $pInBuf= pack( "S S L*", 0, $cBlocks, @uBlockNumbers );
-
-=item C<IOCTL_DISK_PERFORMANCE>
-
-Request information about disk performance. C<$pInBuf> should be C<[]>.
-C<$opOutBuf> will be set to contain a C<DISK_PERFORMANCE> data structure:
-
- my( $ucBytesReadLow, $ivcBytesReadHigh,
- $ucBytesWrittenLow, $ivcBytesWrittenHigh,
- $uReadTimeLow, $ivReadTimeHigh,
- $uWriteTimeLow, $ivWriteTimeHigh,
- $ucReads, $ucWrites, $uQueueDepth )=
- unpack( "L l L l L l L l L L L", $opOutBuf );
-
-=item C<IOCTL_DISK_IS_WRITABLE>
-
-No documentation on this IOCTL operation was found.
-
-=item C<IOCTL_DISK_LOGGING>
-
-Control disk logging. Little documentation for this IOCTL operation
-was found. It makes use of a C<DISK_LOGGING> data structure:
-
-=over
-
-=item DISK_LOGGING_START
-
-Start logging each disk request in a buffer internal to the disk device
-driver of size C<$uLogBufferSize>:
-
- $pInBuf= pack( "C L L", 0, 0, $uLogBufferSize );
-
-=item DISK_LOGGING_STOP
-
-Stop loggin each disk request:
-
- $pInBuf= pack( "C L L", 1, 0, 0 );
-
-=item DISK_LOGGING_DUMP
-
-Copy the interal log into the supplied buffer:
-
- $pLogBuffer= ' ' x $uLogBufferSize
- $pInBuf= pack( "C P L", 2, $pLogBuffer, $uLogBufferSize );
-
- ( $uByteOffsetLow[$i], $ivByteOffsetHigh[$i],
- $uStartTimeLow[$i], $ivStartTimeHigh[$i],
- $uEndTimeLog[$i], $ivEndTimeHigh[$i],
- $hVirtualAddress[$i], $ucBytes[$i],
- $uDeviceNumber[$i], $bWasReading[$i] )=
- unpack( "x".(8+8+8+4+4+1+1+2)." L l L l L l L L C c x2", $pLogBuffer );
-
-=item DISK_LOGGING_BINNING
-
-Keep statics grouped into bins based on request sizes.
-
- $pInBuf= pack( "C P L", 3, $pUnknown, $uUnknownSize );
-
-=back
-
-=item C<IOCTL_DISK_FORMAT_TRACKS_EX>
-
-No documentation on this IOCTL is included.
-
-=item C<IOCTL_DISK_HISTOGRAM_STRUCTURE>
-
-No documentation on this IOCTL is included.
-
-=item C<IOCTL_DISK_HISTOGRAM_DATA>
-
-No documentation on this IOCTL is included.
-
-=item C<IOCTL_DISK_HISTOGRAM_RESET>
-
-No documentation on this IOCTL is included.
-
-=item C<IOCTL_DISK_REQUEST_STRUCTURE>
-
-No documentation on this IOCTL operation was found.
-
-=item C<IOCTL_DISK_REQUEST_DATA>
-
-No documentation on this IOCTL operation was found.
-
-=back
-
-=item C<":FSCTL_">
-
-File system control operations. Used in the C<$uIoControlCode>
-argument to C<DeviceIoControl>.
-
-Includes C<FSCTL_SET_REPARSE_POINT>, C<FSCTL_GET_REPARSE_POINT>,
-C<FSCTL_DELETE_REPARSE_POINT>.
-
-=over
-
-=item C<FSCTL_SET_REPARSE_POINT>
-
-Sets reparse point data to be associated with $hDevice.
-
-=item C<FSCTL_GET_REPARSE_POINT>
-
-Retrieves the reparse point data associated with $hDevice.
-
-=item C<FSCTL_DELETE_REPARSE_POINT>
-
-Deletes the reparse point data associated with $hDevice.
-
-=back
-
-=item C<":GENERIC_">
-
-Constants specifying generic access permissions that are not specific
-to one type of object.
-
- GENERIC_ALL GENERIC_EXECUTE
- GENERIC_READ GENERIC_WRITE
-
-=item C<":MEDIA_TYPE">
-
-Different classes of media that a device can support. Used in the
-C<$uMediaType> field of a C<DISK_GEOMETRY> structure.
-
-=over
-
-=item C<Unknown>
-
-Format is unknown.
-
-=item C<F5_1Pt2_512>
-
-5.25" floppy, 1.2MB [really 1,200KB] total space, 512 bytes/sector.
-
-=item C<F3_1Pt44_512>
-
-3.5" floppy, 1.44MB [really 1,440KB] total space, 512 bytes/sector.
-
-=item C<F3_2Pt88_512>
-
-3.5" floppy, 2.88MB [really 2,880KB] total space, 512 bytes/sector.
-
-=item C<F3_20Pt8_512>
-
-3.5" floppy, 20.8MB total space, 512 bytes/sector.
-
-=item C<F3_720_512>
-
-3.5" floppy, 720KB total space, 512 bytes/sector.
-
-=item C<F5_360_512>
-
-5.25" floppy, 360KB total space, 512 bytes/sector.
-
-=item C<F5_320_512>
-
-5.25" floppy, 320KB total space, 512 bytes/sector.
-
-=item C<F5_320_1024>
-
-5.25" floppy, 320KB total space, 1024 bytes/sector.
-
-=item C<F5_180_512>
-
-5.25" floppy, 180KB total space, 512 bytes/sector.
-
-=item C<F5_160_512>
-
-5.25" floppy, 160KB total space, 512 bytes/sector.
-
-=item C<RemovableMedia>
-
-Some type of removable media other than a floppy diskette.
-
-=item C<FixedMedia>
-
-A fixed hard disk.
-
-=item C<F3_120M_512>
-
-3.5" floppy, 120MB total space.
-
-=back
-
-=item C<":MOVEFILE_">
-
-Constants for use in C<$uFlags> arguments to C<MoveFileEx>.
-
- MOVEFILE_COPY_ALLOWED MOVEFILE_DELAY_UNTIL_REBOOT
- MOVEFILE_REPLACE_EXISTING MOVEFILE_WRITE_THROUGH
-
-=item C<":SECURITY_">
-
-Security quality of service values that can be used in the C<$uFlags>
-argument to C<CreateFile> if opening the client side of a named pipe.
-
- SECURITY_ANONYMOUS SECURITY_CONTEXT_TRACKING
- SECURITY_DELEGATION SECURITY_EFFECTIVE_ONLY
- SECURITY_IDENTIFICATION SECURITY_IMPERSONATION
- SECURITY_SQOS_PRESENT
-
-=item C<":SEM_">
-
-Constants to be used with C<SetErrorMode>.
-
- SEM_FAILCRITICALERRORS SEM_NOGPFAULTERRORBOX
- SEM_NOALIGNMENTFAULTEXCEPT SEM_NOOPENFILEERRORBOX
-
-=item C<":PARTITION_">
-
-Constants describing partition types.
-
- PARTITION_ENTRY_UNUSED PARTITION_FAT_12
- PARTITION_XENIX_1 PARTITION_XENIX_2
- PARTITION_FAT_16 PARTITION_EXTENDED
- PARTITION_HUGE PARTITION_IFS
- PARTITION_FAT32 PARTITION_FAT32_XINT13
- PARTITION_XINT13 PARTITION_XINT13_EXTENDED
- PARTITION_PREP PARTITION_UNIX
- VALID_NTFT PARTITION_NTFT
-
-=item C<":ALL">
-
-All of the above.
-
-=back
-
-=head1 BUGS
-
-None known at this time.
-
-=head1 AUTHOR
-
-Tye McQueen, tye@metronet.com, http://www.metronet.com/~tye/.
-
-=head1 SEE ALSO
-
-The pyramids.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32CORE.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32CORE.pm
deleted file mode 100644
index 0e5d20bb908..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/Win32CORE.pm
+++ /dev/null
@@ -1,38 +0,0 @@
-package Win32CORE;
-
-$VERSION = '0.02';
-
-# There is no reason to load this module explicitly. It will be
-# initialized using xs_init() when the interpreter is constructed.
-
-1;
-
-__END__
-
-=head1 NAME
-
-Win32CORE - Win32 CORE function stubs
-
-=head1 DESCRIPTION
-
-This library provides stubs for the functions marked as [CORE] in L<Win32>.
-See that document for usage information. When any of these functions are
-called, the full Win32 module is loaded automatically. It is preferred
-that callers of these functions explicitly C<use Win32;>.
-
-=head1 HISTORY
-
-Win32CORE was created to provide on cygwin those Win32:: functions that
-for regular win32 builds were provided by default in perl. In cygwin
-perl releases prior to 5.8.6, this module was standalone and had to
-be explicitly used. In 5.8.6 and later, it was statically linked into
-cygwin perl so this would no longer be necessary.
-
-As of perl 5.9.5/Win32 0.27, these functions have been moved into
-the Win32 module. Win32CORE provides stubs for each of the former
-CORE Win32:: functions that internally just load the Win32 module and
-call it's version, and Win32CORE is statically linked to perl for both
-cygwin and regular win32 builds. This will permit these functions to
-be updated in the CPAN Win32 module independently of updating perl.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/XSLoader.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/XSLoader.pm
deleted file mode 100644
index cec4fac1ba0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/XSLoader.pm
+++ /dev/null
@@ -1,350 +0,0 @@
-# Generated from XSLoader.pm.PL (resolved %Config::Config value)
-
-package XSLoader;
-
-$VERSION = "0.08";
-
-#use strict;
-
-# enable debug/trace messages from DynaLoader perl code
-# $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
-
- my $dl_dlext = 'dll';
-
-package DynaLoader;
-
-# No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
-# NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB
-boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) &&
- !defined(&dl_error);
-package XSLoader;
-
-sub load {
- package DynaLoader;
-
- die q{XSLoader::load('Your::Module', $Your::Module::VERSION)} unless @_;
-
- my($module) = $_[0];
-
- # work with static linking too
- my $b = "$module\::bootstrap";
- goto &$b if defined &$b;
-
- goto retry unless $module and defined &dl_load_file;
-
- my @modparts = split(/::/,$module);
- my $modfname = $modparts[-1];
-
- my $modpname = join('/',@modparts);
- my $modlibname = (caller())[1];
- my $c = @modparts;
- $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename
- my $file = "$modlibname/auto/$modpname/$modfname.$dl_dlext";
-
-# print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug;
-
- my $bs = $file;
- $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library
-
- goto retry if not -f $file or -s $bs;
-
- my $bootname = "boot_$module";
- $bootname =~ s/\W/_/g;
- @DynaLoader::dl_require_symbols = ($bootname);
-
- my $boot_symbol_ref;
-
- # Many dynamic extension loading problems will appear to come from
- # this section of code: XYZ failed at line 123 of DynaLoader.pm.
- # Often these errors are actually occurring in the initialisation
- # C code of the extension XS file. Perl reports the error as being
- # in this perl code simply because this was the last perl code
- # it executed.
-
- my $libref = dl_load_file($file, 0) or do {
- require Carp;
- Carp::croak("Can't load '$file' for module $module: " . dl_error());
- };
- push(@DynaLoader::dl_librefs,$libref); # record loaded object
-
- my @unresolved = dl_undef_symbols();
- if (@unresolved) {
- require Carp;
- Carp::carp("Undefined symbols present after loading $file: @unresolved\n");
- }
-
- $boot_symbol_ref = dl_find_symbol($libref, $bootname) or do {
- require Carp;
- Carp::croak("Can't find '$bootname' symbol in $file\n");
- };
-
- push(@DynaLoader::dl_modules, $module); # record loaded module
-
- boot:
- my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
-
- # See comment block above
- push(@DynaLoader::dl_shared_objects, $file); # record files loaded
- return &$xs(@_);
-
- retry:
- my $bootstrap_inherit = DynaLoader->can('bootstrap_inherit') ||
- XSLoader->can('bootstrap_inherit');
- goto &$bootstrap_inherit;
-}
-
-# Versions of DynaLoader prior to 5.6.0 don't have this function.
-sub bootstrap_inherit {
- package DynaLoader;
-
- my $module = $_[0];
- local *DynaLoader::isa = *{"$module\::ISA"};
- local @DynaLoader::isa = (@DynaLoader::isa, 'DynaLoader');
- # Cannot goto due to delocalization. Will report errors on a wrong line?
- require DynaLoader;
- DynaLoader::bootstrap(@_);
-}
-
-1;
-
-
-__END__
-
-=head1 NAME
-
-XSLoader - Dynamically load C libraries into Perl code
-
-=head1 VERSION
-
-Version 0.08
-
-=head1 SYNOPSIS
-
- package YourPackage;
- use XSLoader;
-
- XSLoader::load 'YourPackage', $YourPackage::VERSION;
-
-=head1 DESCRIPTION
-
-This module defines a standard I<simplified> interface to the dynamic
-linking mechanisms available on many platforms. Its primary purpose is
-to implement cheap automatic dynamic loading of Perl modules.
-
-For a more complicated interface, see L<DynaLoader>. Many (most)
-features of C<DynaLoader> are not implemented in C<XSLoader>, like for
-example the C<dl_load_flags>, not honored by C<XSLoader>.
-
-=head2 Migration from C<DynaLoader>
-
-A typical module using L<DynaLoader|DynaLoader> starts like this:
-
- package YourPackage;
- require DynaLoader;
-
- our @ISA = qw( OnePackage OtherPackage DynaLoader );
- our $VERSION = '0.01';
- bootstrap YourPackage $VERSION;
-
-Change this to
-
- package YourPackage;
- use XSLoader;
-
- our @ISA = qw( OnePackage OtherPackage );
- our $VERSION = '0.01';
- XSLoader::load 'YourPackage', $VERSION;
-
-In other words: replace C<require DynaLoader> by C<use XSLoader>, remove
-C<DynaLoader> from C<@ISA>, change C<bootstrap> by C<XSLoader::load>. Do not
-forget to quote the name of your package on the C<XSLoader::load> line,
-and add comma (C<,>) before the arguments (C<$VERSION> above).
-
-Of course, if C<@ISA> contained only C<DynaLoader>, there is no need to have
-the C<@ISA> assignment at all; moreover, if instead of C<our> one uses the
-more backward-compatible
-
- use vars qw($VERSION @ISA);
-
-one can remove this reference to C<@ISA> together with the C<@ISA> assignment.
-
-If no C<$VERSION> was specified on the C<bootstrap> line, the last line becomes
-
- XSLoader::load 'YourPackage';
-
-=head2 Backward compatible boilerplate
-
-If you want to have your cake and eat it too, you need a more complicated
-boilerplate.
-
- package YourPackage;
- use vars qw($VERSION @ISA);
-
- @ISA = qw( OnePackage OtherPackage );
- $VERSION = '0.01';
- eval {
- require XSLoader;
- XSLoader::load('YourPackage', $VERSION);
- 1;
- } or do {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- bootstrap YourPackage $VERSION;
- };
-
-The parentheses about C<XSLoader::load()> arguments are needed since we replaced
-C<use XSLoader> by C<require>, so the compiler does not know that a function
-C<XSLoader::load()> is present.
-
-This boilerplate uses the low-overhead C<XSLoader> if present; if used with
-an antic Perl which has no C<XSLoader>, it falls back to using C<DynaLoader>.
-
-=head1 Order of initialization: early load()
-
-I<Skip this section if the XSUB functions are supposed to be called from other
-modules only; read it only if you call your XSUBs from the code in your module,
-or have a C<BOOT:> section in your XS file (see L<perlxs/"The BOOT: Keyword">).
-What is described here is equally applicable to the L<DynaLoader|DynaLoader>
-interface.>
-
-A sufficiently complicated module using XS would have both Perl code (defined
-in F<YourPackage.pm>) and XS code (defined in F<YourPackage.xs>). If this
-Perl code makes calls into this XS code, and/or this XS code makes calls to
-the Perl code, one should be careful with the order of initialization.
-
-The call to C<XSLoader::load()> (or C<bootstrap()>) has three side effects:
-
-=over
-
-=item *
-
-if C<$VERSION> was specified, a sanity check is done to ensure that the
-versions of the F<.pm> and the (compiled) F<.xs> parts are compatible;
-
-=item *
-
-the XSUBs are made accessible from Perl;
-
-=item *
-
-if a C<BOOT:> section was present in the F<.xs> file, the code there is called.
-
-=back
-
-Consequently, if the code in the F<.pm> file makes calls to these XSUBs, it is
-convenient to have XSUBs installed before the Perl code is defined; for
-example, this makes prototypes for XSUBs visible to this Perl code.
-Alternatively, if the C<BOOT:> section makes calls to Perl functions (or
-uses Perl variables) defined in the F<.pm> file, they must be defined prior to
-the call to C<XSLoader::load()> (or C<bootstrap()>).
-
-The first situation being much more frequent, it makes sense to rewrite the
-boilerplate as
-
- package YourPackage;
- use XSLoader;
- use vars qw($VERSION @ISA);
-
- BEGIN {
- @ISA = qw( OnePackage OtherPackage );
- $VERSION = '0.01';
-
- # Put Perl code used in the BOOT: section here
-
- XSLoader::load 'YourPackage', $VERSION;
- }
-
- # Put Perl code making calls into XSUBs here
-
-=head2 The most hairy case
-
-If the interdependence of your C<BOOT:> section and Perl code is
-more complicated than this (e.g., the C<BOOT:> section makes calls to Perl
-functions which make calls to XSUBs with prototypes), get rid of the C<BOOT:>
-section altogether. Replace it with a function C<onBOOT()>, and call it like
-this:
-
- package YourPackage;
- use XSLoader;
- use vars qw($VERSION @ISA);
-
- BEGIN {
- @ISA = qw( OnePackage OtherPackage );
- $VERSION = '0.01';
- XSLoader::load 'YourPackage', $VERSION;
- }
-
- # Put Perl code used in onBOOT() function here; calls to XSUBs are
- # prototype-checked.
-
- onBOOT;
-
- # Put Perl initialization code assuming that XS is initialized here
-
-
-=head1 DIAGNOSTICS
-
-=over
-
-=item C<Can't find '%s' symbol in %s>
-
-B<(F)> The bootstrap symbol could not be found in the extension module.
-
-=item C<Can't load '%s' for module %s: %s>
-
-B<(F)> The loading or initialisation of the extension module failed.
-The detailed error follows.
-
-=item C<Undefined symbols present after loading %s: %s>
-
-B<(W)> As the message says, some symbols stay undefined although the
-extension module was correctly loaded and initialised. The list of undefined
-symbols follows.
-
-=item C<XSLoader::load('Your::Module', $Your::Module::VERSION)>
-
-B<(F)> You tried to invoke C<load()> without any argument. You must supply
-a module name, and optionally its version.
-
-=back
-
-
-=head1 LIMITATIONS
-
-To reduce the overhead as much as possible, only one possible location
-is checked to find the extension DLL (this location is where C<make install>
-would put the DLL). If not found, the search for the DLL is transparently
-delegated to C<DynaLoader>, which looks for the DLL along the C<@INC> list.
-
-In particular, this is applicable to the structure of C<@INC> used for testing
-not-yet-installed extensions. This means that running uninstalled extensions
-may have much more overhead than running the same extensions after
-C<make install>.
-
-
-=head1 BUGS
-
-Please report any bugs or feature requests via the perlbug(1) utility.
-
-
-=head1 SEE ALSO
-
-L<DynaLoader>
-
-
-=head1 AUTHORS
-
-Ilya Zakharevich originally extracted C<XSLoader> from C<DynaLoader>.
-
-CPAN version is currently maintained by SE<eacute>bastien Aperghis-Tramoni
-E<lt>sebastien@aperghis.netE<gt>.
-
-Previous maintainer was Michael G Schwern <schwern@pobox.com>.
-
-
-=head1 COPYRIGHT
-
-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/5.10/i686-cygwin/attrs.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/attrs.pm
deleted file mode 100644
index c483cd34552..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/attrs.pm
+++ /dev/null
@@ -1,58 +0,0 @@
-package attrs;
-use XSLoader ();
-
-$VERSION = "1.02";
-
-=head1 NAME
-
-attrs - set/get attributes of a subroutine (deprecated)
-
-=head1 SYNOPSIS
-
- sub foo {
- use attrs qw(locked method);
- ...
- }
-
- @a = attrs::get(\&foo);
-
-=head1 DESCRIPTION
-
-NOTE: Use of this pragma is deprecated. Use the syntax
-
- sub foo : locked method { }
-
-to declare attributes instead. See also L<attributes>.
-
-This pragma lets you set and get attributes for subroutines.
-Setting attributes takes place at compile time; trying to set
-invalid attribute names causes a compile-time error. Calling
-C<attrs::get> on a subroutine reference or name returns its list
-of attribute names. Notice that C<attrs::get> is not exported.
-Valid attributes are as follows.
-
-=over 4
-
-=item method
-
-Indicates that the invoking subroutine is a method.
-
-=item locked
-
-Setting this attribute is only meaningful when the subroutine or
-method is to be called by multiple threads. When set on a method
-subroutine (i.e. one marked with the B<method> attribute above),
-perl ensures that any invocation of it implicitly locks its first
-argument before execution. When set on a non-method subroutine,
-perl ensures that a lock is taken on the subroutine itself before
-execution. The semantics of the lock are exactly those of one
-explicitly taken with the C<lock> operator immediately after the
-subroutine is entered.
-
-=back
-
-=cut
-
-XSLoader::load 'attrs', $VERSION;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/B/B.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/B/B.dll
deleted file mode 100755
index e4748a3a5b1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/B/B.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/Zlib.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/Zlib.dll
deleted file mode 100755
index 85c936a7b47..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/Zlib.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/autosplit.ix
deleted file mode 100644
index 2cd5ffad9b8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Raw/Zlib/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../../../../lib/Compress/Raw/Zlib.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Zlib/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Zlib/autosplit.ix
deleted file mode 100644
index 531cd20e000..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Compress/Zlib/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../../../lib/Compress/Zlib.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Cwd/Cwd.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Cwd/Cwd.dll
deleted file mode 100755
index 9d5636c0398..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Cwd/Cwd.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/DB_File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/DB_File.dll
deleted file mode 100755
index bb5791c8eab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/DB_File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/autosplit.ix
deleted file mode 100644
index 239a2ef4694..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DB_File/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../../lib/DB_File.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Data/Dumper/Dumper.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Data/Dumper/Dumper.dll
deleted file mode 100755
index 895f7243254..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Data/Dumper/Dumper.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/DProf/DProf.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/DProf/DProf.dll
deleted file mode 100755
index 97d5df670c8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/DProf/DProf.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/PPPort/PPPort.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/PPPort/PPPort.dll
deleted file mode 100755
index 6fadfb95cf1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/PPPort/PPPort.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/Peek/Peek.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/Peek/Peek.dll
deleted file mode 100755
index 9617c999aaf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Devel/Peek/Peek.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/MD5/MD5.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/MD5/MD5.dll
deleted file mode 100755
index 7b6fe64bbd9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/MD5/MD5.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll
deleted file mode 100755
index 5dedd95efd3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/autosplit.ix
deleted file mode 100644
index ca7f7286e82..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/autosplit.ix
+++ /dev/null
@@ -1,8 +0,0 @@
-# Index created by AutoSplit for ../../lib/DynaLoader.pm
-# (file acts as timestamp)
-package DynaLoader;
-sub dl_findfile ;
-sub dl_expandspec ;
-sub dl_find_symbol_anywhere
-;
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_expandspec.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_expandspec.al
deleted file mode 100644
index 5709c48938c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_expandspec.al
+++ /dev/null
@@ -1,31 +0,0 @@
-# NOTE: Derived from ../../lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 320 "../../lib/DynaLoader.pm (autosplit into ../../lib/auto/DynaLoader/dl_expandspec.al)"
-sub dl_expandspec {
- my($spec) = @_;
- # Optional function invoked if DynaLoader.pm sets $do_expand.
- # Most systems do not require or use this function.
- # Some systems may implement it in the dl_*.xs file in which case
- # this autoload version will not be called but is harmless.
-
- # This function is designed to deal with systems which treat some
- # 'filenames' in a special way. For example VMS 'Logical Names'
- # (something like unix environment variables - but different).
- # This function should recognise such names and expand them into
- # full file paths.
- # Must return undef if $spec is invalid or file does not exist.
-
- my $file = $spec; # default output to input
-
-
- return undef unless -f $file;
-
- print STDERR "dl_expandspec($spec) => $file\n" if $dl_debug;
- $file;
-}
-
-# end of DynaLoader::dl_expandspec
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_find_symbol_anywhere.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_find_symbol_anywhere.al
deleted file mode 100644
index 801bbe487d5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_find_symbol_anywhere.al
+++ /dev/null
@@ -1,19 +0,0 @@
-# NOTE: Derived from ../../lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 343 "../../lib/DynaLoader.pm (autosplit into ../../lib/auto/DynaLoader/dl_find_symbol_anywhere.al)"
-sub dl_find_symbol_anywhere
-{
- my $sym = shift;
- my $libref;
- foreach $libref (@dl_librefs) {
- my $symref = dl_find_symbol($libref,$sym);
- return $symref if $symref;
- }
- return undef;
-}
-
-1;
-# end of DynaLoader::dl_find_symbol_anywhere
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_findfile.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_findfile.al
deleted file mode 100644
index 9a5800d864d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/DynaLoader/dl_findfile.al
+++ /dev/null
@@ -1,87 +0,0 @@
-# NOTE: Derived from ../../lib/DynaLoader.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package DynaLoader;
-
-#line 240 "../../lib/DynaLoader.pm (autosplit into ../../lib/auto/DynaLoader/dl_findfile.al)"
-sub dl_findfile {
- # Read ext/DynaLoader/DynaLoader.doc for detailed information.
- # This function does not automatically consider the architecture
- # or the perl library auto directories.
- my (@args) = @_;
- my (@dirs, $dir); # which directories to search
- my (@found); # full paths to real files we have found
- #my $dl_ext= 'dll'; # $Config::Config{'dlext'} suffix for perl extensions
- #my $dl_so = 'dll'; # $Config::Config{'so'} suffix for shared libraries
-
- print STDERR "dl_findfile(@args)\n" if $dl_debug;
-
- # accumulate directories but process files as they appear
- arg: foreach(@args) {
- # Special fast case: full filepath requires no search
-
-
-
- if (m:/: && -f $_) {
- push(@found,$_);
- last arg unless wantarray;
- next;
- }
-
-
- # Deal with directories first:
- # Using a -L prefix is the preferred option (faster and more robust)
- if (m:^-L:) { s/^-L//; push(@dirs, $_); next; }
-
-
-
- # Otherwise we try to try to spot directories by a heuristic
- # (this is a more complicated issue than it first appears)
- if (m:/: && -d $_) { push(@dirs, $_); next; }
-
-
-
- # Only files should get this far...
- my(@names, $name); # what filenames to look for
- if (m:-l: ) { # convert -lname to appropriate library name
- s/-l//;
- push(@names,"lib$_.$dl_so");
- push(@names,"lib$_.a");
- } else { # Umm, a bare name. Try various alternatives:
- # these should be ordered with the most likely first
- push(@names,"$_.$dl_dlext") unless m/\.$dl_dlext$/o;
- push(@names,"$_.$dl_so") unless m/\.$dl_so$/o;
- push(@names,"cyg$_.") if !m:/: and $^O eq 'cygwin';
- push(@names,"lib$_.$dl_so") unless m:/:;
- push(@names,"$_.a") if !m/\.a$/ and $dlsrc eq "dl_dld.xs";
- push(@names, $_);
- }
- my $dirsep = '/';
-
- foreach $dir (@dirs, @dl_library_path) {
- next unless -d $dir;
-
- foreach $name (@names) {
- my($file) = "$dir$dirsep$name";
- print STDERR " checking in $dir for $name\n" if $dl_debug;
- $file = ($do_expand) ? dl_expandspec($file) : (-f $file && $file);
- #$file = _check_file($file);
- if ($file) {
- push(@found, $file);
- next arg; # no need to look any further
- }
- }
- }
- }
- if ($dl_debug) {
- foreach(@dirs) {
- print STDERR " dl_findfile ignored non-existent directory: $_\n" unless -d $_;
- }
- print STDERR "dl_findfile found: @found\n";
- }
- return $found[0] unless wantarray;
- @found;
-}
-
-# end of DynaLoader::dl_findfile
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Byte/Byte.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Byte/Byte.dll
deleted file mode 100755
index 69973372879..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Byte/Byte.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/CN/CN.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/CN/CN.dll
deleted file mode 100755
index 731a8e13ea2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/CN/CN.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/EBCDIC/EBCDIC.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/EBCDIC/EBCDIC.dll
deleted file mode 100755
index 8fdf43dc615..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/EBCDIC/EBCDIC.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Encode.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Encode.dll
deleted file mode 100755
index 3389ffabfdf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Encode.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/JP/JP.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/JP/JP.dll
deleted file mode 100755
index 7da685539f6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/JP/JP.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/KR/KR.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/KR/KR.dll
deleted file mode 100755
index 8a1af907ed6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/KR/KR.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Symbol/Symbol.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Symbol/Symbol.dll
deleted file mode 100755
index 03b1bfd3957..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Symbol/Symbol.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/TW/TW.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/TW/TW.dll
deleted file mode 100755
index f2440bbd98a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/TW/TW.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Unicode/Unicode.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Unicode/Unicode.dll
deleted file mode 100755
index 2eac62e509e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Encode/Unicode/Unicode.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Fcntl/Fcntl.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Fcntl/Fcntl.dll
deleted file mode 100755
index e7d169b52a0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Fcntl/Fcntl.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dll
deleted file mode 100755
index b6aa93bc56d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/File/Glob/Glob.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Filter/Util/Call/Call.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Filter/Util/Call/Call.dll
deleted file mode 100755
index e2844bd9c3c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Filter/Util/Call/Call.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/GDBM_File/GDBM_File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/GDBM_File/GDBM_File.dll
deleted file mode 100755
index 1637ac066de..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/GDBM_File/GDBM_File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/FieldHash/FieldHash.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/FieldHash/FieldHash.dll
deleted file mode 100755
index c6e7435bd0a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/FieldHash/FieldHash.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/Util.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/Util.dll
deleted file mode 100755
index 20efb03df5c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Hash/Util/Util.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/Langinfo.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/Langinfo.dll
deleted file mode 100755
index 5fa7c4700ac..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/Langinfo.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/autosplit.ix
deleted file mode 100644
index 64a0d90eeb9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/I18N/Langinfo/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../../../lib/I18N/Langinfo.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IO/IO.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IO/IO.dll
deleted file mode 100755
index c672827e37c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IO/IO.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IPC/SysV/SysV.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IPC/SysV/SysV.dll
deleted file mode 100755
index 78285ece08c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/IPC/SysV/SysV.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/List/Util/Util.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/List/Util/Util.dll
deleted file mode 100755
index fae565e8452..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/List/Util/Util.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/MIME/Base64/Base64.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/MIME/Base64/Base64.dll
deleted file mode 100755
index 142e5612eb6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/MIME/Base64/Base64.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll
deleted file mode 100755
index f4ca6a87f3a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/NDBM_File/NDBM_File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/NDBM_File/NDBM_File.dll
deleted file mode 100755
index f7db810aa22..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/NDBM_File/NDBM_File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/ODBM_File/ODBM_File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/ODBM_File/ODBM_File.dll
deleted file mode 100755
index b6ae43a6a7d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/ODBM_File/ODBM_File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Opcode/Opcode.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Opcode/Opcode.dll
deleted file mode 100755
index 9ea56826908..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Opcode/Opcode.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/POSIX.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/POSIX.dll
deleted file mode 100755
index cba4f363638..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/POSIX.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/flags.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/flags.al
deleted file mode 100644
index 37a076120f0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/flags.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 986 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigAction/flags.al)"
-sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
-# end of POSIX::SigAction::flags
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/handler.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/handler.al
deleted file mode 100644
index 4061f83e36a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/handler.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 984 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigAction/handler.al)"
-sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
-# end of POSIX::SigAction::handler
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/mask.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/mask.al
deleted file mode 100644
index 37a227dd925..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/mask.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 985 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigAction/mask.al)"
-sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
-# end of POSIX::SigAction::mask
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/new.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/new.al
deleted file mode 100644
index 29b196b4a30..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/new.al
+++ /dev/null
@@ -1,11 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 981 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigAction/new.al)"
-package POSIX::SigAction;
-
-sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
-# end of POSIX::SigAction::new
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/safe.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/safe.al
deleted file mode 100644
index a6f144c64a6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigAction/safe.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 987 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigAction/safe.al)"
-sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
-
-package POSIX::SigRt;
-
-
-# end of POSIX::SigRt::safe
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/CLEAR.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/CLEAR.al
deleted file mode 100644
index 40df57e2a22..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/CLEAR.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1041 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/CLEAR.al)"
-sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
-# end of POSIX::SigRt::CLEAR
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/DELETE.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/DELETE.al
deleted file mode 100644
index f0d20023bf6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/DELETE.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1040 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/DELETE.al)"
-sub DELETE { delete $SIG{ &_check } }
-# end of POSIX::SigRt::DELETE
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/EXISTS.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/EXISTS.al
deleted file mode 100644
index 0983fed402c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/EXISTS.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1034 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/EXISTS.al)"
-sub EXISTS { &_exist }
-# end of POSIX::SigRt::EXISTS
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/FETCH.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/FETCH.al
deleted file mode 100644
index 8e56e802966..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/FETCH.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1035 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/FETCH.al)"
-sub FETCH { my $rtsig = &_check;
- my $oa = POSIX::SigAction->new();
- POSIX::sigaction($rtsig, undef, $oa);
- return $oa->{HANDLER} }
-# end of POSIX::SigRt::FETCH
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/SCALAR.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/SCALAR.al
deleted file mode 100644
index 448f42da2d3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/SCALAR.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1042 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/SCALAR.al)"
-sub SCALAR { &_croak; $_sigrtn + 1 }
-1;
-# end of POSIX::SigRt::SCALAR
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/STORE.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/STORE.al
deleted file mode 100644
index 38399c6f245..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/STORE.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1039 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/STORE.al)"
-sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
-# end of POSIX::SigRt::STORE
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_check.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_check.al
deleted file mode 100644
index 0ad2578e108..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_check.al
+++ /dev/null
@@ -1,15 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1018 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/_check.al)"
-sub _check {
- my ($rtsig, $ok) = &_exist;
- die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
- unless $ok;
- return $rtsig;
-}
-
-# end of POSIX::SigRt::_check
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_croak.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_croak.al
deleted file mode 100644
index a5744c380c3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_croak.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 998 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/_croak.al)"
-sub _croak {
- &_init unless defined $_sigrtn;
- die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
-}
-
-# end of POSIX::SigRt::_croak
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_exist.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_exist.al
deleted file mode 100644
index b8b9a4986f0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_exist.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1012 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/_exist.al)"
-sub _exist {
- my $rtsig = _getsig($_[1]);
- my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
- ($rtsig, $ok);
-}
-
-# end of POSIX::SigRt::_exist
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_getsig.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_getsig.al
deleted file mode 100644
index 93dd94606cd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_getsig.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1003 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/_getsig.al)"
-sub _getsig {
- &_croak;
- my $rtsig = $_[0];
- # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C.
- $rtsig = $_SIGRTMIN + ($1 || 0)
- if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/;
- return $rtsig;
-}
-
-# end of POSIX::SigRt::_getsig
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_init.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_init.al
deleted file mode 100644
index d57583abcf2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/_init.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 992 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/_init.al)"
-sub _init {
- $_SIGRTMIN = &POSIX::SIGRTMIN;
- $_SIGRTMAX = &POSIX::SIGRTMAX;
- $_sigrtn = $_SIGRTMAX - $_SIGRTMIN;
-}
-
-# end of POSIX::SigRt::_init
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/new.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/new.al
deleted file mode 100644
index 0be1621366e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/SigRt/new.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1025 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/SigRt/new.al)"
-sub new {
- my ($rtsig, $handler, $flags) = @_;
- my $sigset = POSIX::SigSet->new($rtsig);
- my $sigact = POSIX::SigAction->new($handler,
- $sigset,
- $flags);
- POSIX::sigaction($rtsig, $sigact);
-}
-
-# end of POSIX::SigRt::new
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/abs.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/abs.al
deleted file mode 100644
index 9dbe50d5072..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/abs.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 414 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/abs.al)"
-sub abs {
- usage "abs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-# end of POSIX::abs
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/alarm.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/alarm.al
deleted file mode 100644
index 9cde4996097..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/alarm.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 631 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/alarm.al)"
-sub alarm {
- usage "alarm(seconds)" if @_ != 1;
- CORE::alarm($_[0]);
-}
-
-# end of POSIX::alarm
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/assert.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/assert.al
deleted file mode 100644
index d7e63d3cfd2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/assert.al
+++ /dev/null
@@ -1,15 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 96 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/assert.al)"
-sub assert {
- usage "assert(expr)" if @_ != 1;
- if (!$_[0]) {
- croak "Assertion failed";
- }
-}
-
-# end of POSIX::assert
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atan2.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atan2.al
deleted file mode 100644
index 3022fb97c5a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atan2.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 161 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/atan2.al)"
-sub atan2 {
- usage "atan2(x,y)" if @_ != 2;
- CORE::atan2($_[0], $_[1]);
-}
-
-# end of POSIX::atan2
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atexit.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atexit.al
deleted file mode 100644
index f998ffffeb1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atexit.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 419 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/atexit.al)"
-sub atexit {
- unimpl "atexit() is C-specific: use END {} instead";
-}
-
-# end of POSIX::atexit
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atof.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atof.al
deleted file mode 100644
index 270d7f7cbf5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 423 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/atof.al)"
-sub atof {
- unimpl "atof() is C-specific, stopped";
-}
-
-# end of POSIX::atof
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atoi.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atoi.al
deleted file mode 100644
index 4f5a0bdf412..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atoi.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 427 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/atoi.al)"
-sub atoi {
- unimpl "atoi() is C-specific, stopped";
-}
-
-# end of POSIX::atoi
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atol.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atol.al
deleted file mode 100644
index 23990727d8a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/atol.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 431 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/atol.al)"
-sub atol {
- unimpl "atol() is C-specific, stopped";
-}
-
-# end of POSIX::atol
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/autosplit.ix
deleted file mode 100644
index a13c556c93c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/autosplit.ix
+++ /dev/null
@@ -1,173 +0,0 @@
-# Index created by AutoSplit for ../../lib/POSIX.pm
-# (file acts as timestamp)
-package POSIX;
-sub usage ;
-sub redef ;
-sub unimpl ;
-sub assert ;
-sub tolower ;
-sub toupper ;
-sub closedir ;
-sub opendir ;
-sub readdir ;
-sub rewinddir ;
-sub errno ;
-sub creat ;
-sub fcntl ;
-sub getgrgid ;
-sub getgrnam ;
-sub atan2 ;
-sub cos ;
-sub exp ;
-sub fabs ;
-sub log ;
-sub pow ;
-sub sin ;
-sub sqrt ;
-sub getpwnam ;
-sub getpwuid ;
-sub longjmp ;
-sub setjmp ;
-sub siglongjmp ;
-sub sigsetjmp ;
-sub kill ;
-sub raise ;
-sub offsetof ;
-sub clearerr ;
-sub fclose ;
-sub fdopen ;
-sub feof ;
-sub fgetc ;
-sub fgets ;
-sub fileno ;
-sub fopen ;
-sub fprintf ;
-sub fputc ;
-sub fputs ;
-sub fread ;
-sub freopen ;
-sub fscanf ;
-sub fseek ;
-sub fsync ;
-sub ferror ;
-sub fflush ;
-sub fgetpos ;
-sub fsetpos ;
-sub ftell ;
-sub fwrite ;
-sub getc ;
-sub getchar ;
-sub gets ;
-sub perror ;
-sub printf ;
-sub putc ;
-sub putchar ;
-sub puts ;
-sub remove ;
-sub rename ;
-sub rewind ;
-sub scanf ;
-sub sprintf ;
-sub sscanf ;
-sub tmpfile ;
-sub ungetc ;
-sub vfprintf ;
-sub vprintf ;
-sub vsprintf ;
-sub abs ;
-sub atexit ;
-sub atof ;
-sub atoi ;
-sub atol ;
-sub bsearch ;
-sub calloc ;
-sub div ;
-sub exit ;
-sub free ;
-sub getenv ;
-sub labs ;
-sub ldiv ;
-sub malloc ;
-sub qsort ;
-sub rand ;
-sub realloc ;
-sub srand ;
-sub system ;
-sub memchr ;
-sub memcmp ;
-sub memcpy ;
-sub memmove ;
-sub memset ;
-sub strcat ;
-sub strchr ;
-sub strcmp ;
-sub strcpy ;
-sub strcspn ;
-sub strerror ;
-sub strlen ;
-sub strncat ;
-sub strncmp ;
-sub strncpy ;
-sub strpbrk ;
-sub strrchr ;
-sub strspn ;
-sub strstr ;
-sub strtok ;
-sub chmod ;
-sub fstat ;
-sub mkdir ;
-sub stat ;
-sub umask ;
-sub wait ;
-sub waitpid ;
-sub gmtime ;
-sub localtime ;
-sub time ;
-sub alarm ;
-sub chdir ;
-sub chown ;
-sub execl ;
-sub execle ;
-sub execlp ;
-sub execv ;
-sub execve ;
-sub execvp ;
-sub fork ;
-sub getegid ;
-sub geteuid ;
-sub getgid ;
-sub getgroups ;
-sub getlogin ;
-sub getpgrp ;
-sub getpid ;
-sub getppid ;
-sub getuid ;
-sub isatty ;
-sub link ;
-sub rmdir ;
-sub setbuf ;
-sub setvbuf ;
-sub sleep ;
-sub unlink ;
-sub utime ;
-sub load_imports ;
-package POSIX::SigAction;
-sub new ;
-sub handler ;
-sub mask ;
-sub flags ;
-sub safe ;
-package POSIX::SigRt;
-sub _init ;
-sub _croak ;
-sub _getsig ;
-sub _exist ;
-sub _check ;
-sub new ;
-sub EXISTS ;
-sub FETCH ;
-sub STORE ;
-sub DELETE ;
-sub CLEAR ;
-sub SCALAR ;
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/bsearch.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/bsearch.al
deleted file mode 100644
index e634714a16b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/bsearch.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 435 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/bsearch.al)"
-sub bsearch {
- unimpl "bsearch() not supplied";
-}
-
-# end of POSIX::bsearch
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/calloc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/calloc.al
deleted file mode 100644
index 77d81784915..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/calloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 439 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/calloc.al)"
-sub calloc {
- unimpl "calloc() is C-specific, stopped";
-}
-
-# end of POSIX::calloc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chdir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chdir.al
deleted file mode 100644
index 9448c74a6a2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 636 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/chdir.al)"
-sub chdir {
- usage "chdir(directory)" if @_ != 1;
- CORE::chdir($_[0]);
-}
-
-# end of POSIX::chdir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chmod.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chmod.al
deleted file mode 100644
index ee92924fa09..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chmod.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 577 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/chmod.al)"
-sub chmod {
- usage "chmod(mode, filename)" if @_ != 2;
- CORE::chmod($_[0], $_[1]);
-}
-
-# end of POSIX::chmod
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chown.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chown.al
deleted file mode 100644
index f3365192948..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/chown.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 641 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/chown.al)"
-sub chown {
- usage "chown(uid, gid, filename)" if @_ != 3;
- CORE::chown($_[0], $_[1], $_[2]);
-}
-
-# end of POSIX::chown
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/clearerr.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/clearerr.al
deleted file mode 100644
index f4e17629096..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/clearerr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 241 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/clearerr.al)"
-sub clearerr {
- redef "IO::Handle::clearerr()";
-}
-
-# end of POSIX::clearerr
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/closedir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/closedir.al
deleted file mode 100644
index 4e7866bbea4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/closedir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 113 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/closedir.al)"
-sub closedir {
- usage "closedir(dirhandle)" if @_ != 1;
- CORE::closedir($_[0]);
-}
-
-# end of POSIX::closedir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/cos.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/cos.al
deleted file mode 100644
index b4578a7254e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/cos.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 166 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/cos.al)"
-sub cos {
- usage "cos(x)" if @_ != 1;
- CORE::cos($_[0]);
-}
-
-# end of POSIX::cos
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/creat.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/creat.al
deleted file mode 100644
index 25b29f0f2e8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/creat.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 141 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/creat.al)"
-sub creat {
- usage "creat(filename, mode)" if @_ != 2;
- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
-}
-
-# end of POSIX::creat
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/div.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/div.al
deleted file mode 100644
index e54b1c87ec1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/div.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 443 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/div.al)"
-sub div {
- unimpl "div() is C-specific, use /, % and int instead";
-}
-
-# end of POSIX::div
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/errno.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/errno.al
deleted file mode 100644
index 845eaa7f24e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/errno.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 136 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/errno.al)"
-sub errno {
- usage "errno()" if @_ != 0;
- $! + 0;
-}
-
-# end of POSIX::errno
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execl.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execl.al
deleted file mode 100644
index 4d3a7eab5bb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execl.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 646 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execl.al)"
-sub execl {
- unimpl "execl() is C-specific, stopped";
-}
-
-# end of POSIX::execl
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execle.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execle.al
deleted file mode 100644
index e33234504aa..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execle.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 650 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execle.al)"
-sub execle {
- unimpl "execle() is C-specific, stopped";
-}
-
-# end of POSIX::execle
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execlp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execlp.al
deleted file mode 100644
index df3490d4b25..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execlp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 654 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execlp.al)"
-sub execlp {
- unimpl "execlp() is C-specific, stopped";
-}
-
-# end of POSIX::execlp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execv.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execv.al
deleted file mode 100644
index 4e397588f5f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execv.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 658 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execv.al)"
-sub execv {
- unimpl "execv() is C-specific, stopped";
-}
-
-# end of POSIX::execv
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execve.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execve.al
deleted file mode 100644
index f843e11be6e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execve.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 662 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execve.al)"
-sub execve {
- unimpl "execve() is C-specific, stopped";
-}
-
-# end of POSIX::execve
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execvp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execvp.al
deleted file mode 100644
index 43fbcefed93..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/execvp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 666 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/execvp.al)"
-sub execvp {
- unimpl "execvp() is C-specific, stopped";
-}
-
-# end of POSIX::execvp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exit.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exit.al
deleted file mode 100644
index 7a06bd8ce8d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exit.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 447 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/exit.al)"
-sub exit {
- usage "exit(status)" if @_ != 1;
- CORE::exit($_[0]);
-}
-
-# end of POSIX::exit
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exp.al
deleted file mode 100644
index a0dd4cc342e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/exp.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 171 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/exp.al)"
-sub exp {
- usage "exp(x)" if @_ != 1;
- CORE::exp($_[0]);
-}
-
-# end of POSIX::exp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fabs.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fabs.al
deleted file mode 100644
index 54168409789..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fabs.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 176 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fabs.al)"
-sub fabs {
- usage "fabs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-# end of POSIX::fabs
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fclose.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fclose.al
deleted file mode 100644
index 904ea9b9263..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fclose.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 245 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fclose.al)"
-sub fclose {
- redef "IO::Handle::close()";
-}
-
-# end of POSIX::fclose
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fcntl.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fcntl.al
deleted file mode 100644
index 5337a8a3328..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fcntl.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 146 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fcntl.al)"
-sub fcntl {
- usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
- CORE::fcntl($_[0], $_[1], $_[2]);
-}
-
-# end of POSIX::fcntl
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fdopen.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fdopen.al
deleted file mode 100644
index 142422daac3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fdopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 249 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fdopen.al)"
-sub fdopen {
- redef "IO::Handle::new_from_fd()";
-}
-
-# end of POSIX::fdopen
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/feof.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/feof.al
deleted file mode 100644
index 1b3de71aeaf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/feof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 253 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/feof.al)"
-sub feof {
- redef "IO::Handle::eof()";
-}
-
-# end of POSIX::feof
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ferror.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ferror.al
deleted file mode 100644
index 502e535a7ef..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ferror.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 305 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/ferror.al)"
-sub ferror {
- redef "IO::Handle::error()";
-}
-
-# end of POSIX::ferror
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fflush.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fflush.al
deleted file mode 100644
index 68b28b4d124..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fflush.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 309 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fflush.al)"
-sub fflush {
- redef "IO::Handle::flush()";
-}
-
-# end of POSIX::fflush
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetc.al
deleted file mode 100644
index f362225a58e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 257 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fgetc.al)"
-sub fgetc {
- redef "IO::Handle::getc()";
-}
-
-# end of POSIX::fgetc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetpos.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetpos.al
deleted file mode 100644
index 18b4e7d15fe..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgetpos.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 313 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fgetpos.al)"
-sub fgetpos {
- redef "IO::Seekable::getpos()";
-}
-
-# end of POSIX::fgetpos
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgets.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgets.al
deleted file mode 100644
index 4b11baac825..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fgets.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 261 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fgets.al)"
-sub fgets {
- redef "IO::Handle::gets()";
-}
-
-# end of POSIX::fgets
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fileno.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fileno.al
deleted file mode 100644
index ad183b8a2b8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fileno.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 265 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fileno.al)"
-sub fileno {
- redef "IO::Handle::fileno()";
-}
-
-# end of POSIX::fileno
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fopen.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fopen.al
deleted file mode 100644
index 1059c8a2173..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 269 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fopen.al)"
-sub fopen {
- redef "IO::File::open()";
-}
-
-# end of POSIX::fopen
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fork.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fork.al
deleted file mode 100644
index 31c10b44f8f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fork.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 670 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fork.al)"
-sub fork {
- usage "fork()" if @_ != 0;
- CORE::fork;
-}
-
-# end of POSIX::fork
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fprintf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fprintf.al
deleted file mode 100644
index 11530a47531..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 273 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fprintf.al)"
-sub fprintf {
- unimpl "fprintf() is C-specific--use printf instead";
-}
-
-# end of POSIX::fprintf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputc.al
deleted file mode 100644
index 10e16ad3e40..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 277 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fputc.al)"
-sub fputc {
- unimpl "fputc() is C-specific--use print instead";
-}
-
-# end of POSIX::fputc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputs.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputs.al
deleted file mode 100644
index 8fa940b9ac5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fputs.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 281 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fputs.al)"
-sub fputs {
- unimpl "fputs() is C-specific--use print instead";
-}
-
-# end of POSIX::fputs
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fread.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fread.al
deleted file mode 100644
index 962d474d73d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fread.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 285 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fread.al)"
-sub fread {
- unimpl "fread() is C-specific--use read instead";
-}
-
-# end of POSIX::fread
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/free.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/free.al
deleted file mode 100644
index e6060ee983b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/free.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 452 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/free.al)"
-sub free {
- unimpl "free() is C-specific, stopped";
-}
-
-# end of POSIX::free
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/freopen.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/freopen.al
deleted file mode 100644
index 386d5f024cf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/freopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 289 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/freopen.al)"
-sub freopen {
- unimpl "freopen() is C-specific--use open instead";
-}
-
-# end of POSIX::freopen
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fscanf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fscanf.al
deleted file mode 100644
index 95c11f107cd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fscanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 293 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fscanf.al)"
-sub fscanf {
- unimpl "fscanf() is C-specific--use <> and regular expressions instead";
-}
-
-# end of POSIX::fscanf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fseek.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fseek.al
deleted file mode 100644
index fdff061d062..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fseek.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 297 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fseek.al)"
-sub fseek {
- redef "IO::Seekable::seek()";
-}
-
-# end of POSIX::fseek
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsetpos.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsetpos.al
deleted file mode 100644
index 37759a01daf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsetpos.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 317 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fsetpos.al)"
-sub fsetpos {
- redef "IO::Seekable::setpos()";
-}
-
-# end of POSIX::fsetpos
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fstat.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fstat.al
deleted file mode 100644
index 988d93cf862..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fstat.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 582 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fstat.al)"
-sub fstat {
- usage "fstat(fd)" if @_ != 1;
- local *TMP;
- CORE::open(TMP, "<&$_[0]"); # Gross.
- my @l = CORE::stat(TMP);
- CORE::close(TMP);
- @l;
-}
-
-# end of POSIX::fstat
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsync.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsync.al
deleted file mode 100644
index 24bfd00b472..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fsync.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 301 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fsync.al)"
-sub fsync {
- redef "IO::Handle::sync()";
-}
-
-# end of POSIX::fsync
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ftell.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ftell.al
deleted file mode 100644
index 9396a1a5758..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ftell.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 321 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/ftell.al)"
-sub ftell {
- redef "IO::Seekable::tell()";
-}
-
-# end of POSIX::ftell
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fwrite.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fwrite.al
deleted file mode 100644
index 4499a213867..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/fwrite.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 325 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/fwrite.al)"
-sub fwrite {
- unimpl "fwrite() is C-specific--use print instead";
-}
-
-# end of POSIX::fwrite
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getc.al
deleted file mode 100644
index e59482f9994..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getc.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 329 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getc.al)"
-sub getc {
- usage "getc(handle)" if @_ != 1;
- CORE::getc($_[0]);
-}
-
-# end of POSIX::getc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getchar.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getchar.al
deleted file mode 100644
index cf1adc002fb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getchar.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 334 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getchar.al)"
-sub getchar {
- usage "getchar()" if @_ != 0;
- CORE::getc(STDIN);
-}
-
-# end of POSIX::getchar
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getegid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getegid.al
deleted file mode 100644
index 39bd4b25a28..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getegid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 675 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getegid.al)"
-sub getegid {
- usage "getegid()" if @_ != 0;
- $) + 0;
-}
-
-# end of POSIX::getegid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getenv.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getenv.al
deleted file mode 100644
index 9d1b3c5a498..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getenv.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 456 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getenv.al)"
-sub getenv {
- usage "getenv(name)" if @_ != 1;
- $ENV{$_[0]};
-}
-
-# end of POSIX::getenv
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/geteuid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/geteuid.al
deleted file mode 100644
index b6904e93f15..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/geteuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 680 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/geteuid.al)"
-sub geteuid {
- usage "geteuid()" if @_ != 0;
- $> + 0;
-}
-
-# end of POSIX::geteuid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgid.al
deleted file mode 100644
index 9d27cf615ae..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 685 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getgid.al)"
-sub getgid {
- usage "getgid()" if @_ != 0;
- $( + 0;
-}
-
-# end of POSIX::getgid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrgid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrgid.al
deleted file mode 100644
index 0c41881dde1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrgid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 151 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getgrgid.al)"
-sub getgrgid {
- usage "getgrgid(gid)" if @_ != 1;
- CORE::getgrgid($_[0]);
-}
-
-# end of POSIX::getgrgid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrnam.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrnam.al
deleted file mode 100644
index b08a31b75b3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgrnam.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 156 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getgrnam.al)"
-sub getgrnam {
- usage "getgrnam(name)" if @_ != 1;
- CORE::getgrnam($_[0]);
-}
-
-# end of POSIX::getgrnam
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgroups.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgroups.al
deleted file mode 100644
index 2c97380595a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getgroups.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 690 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getgroups.al)"
-sub getgroups {
- usage "getgroups()" if @_ != 0;
- my %seen;
- grep(!$seen{$_}++, split(' ', $) ));
-}
-
-# end of POSIX::getgroups
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getlogin.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getlogin.al
deleted file mode 100644
index f01ae6b6a1d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getlogin.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 696 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getlogin.al)"
-sub getlogin {
- usage "getlogin()" if @_ != 0;
- CORE::getlogin();
-}
-
-# end of POSIX::getlogin
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpgrp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpgrp.al
deleted file mode 100644
index c53d80c0206..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpgrp.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 701 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getpgrp.al)"
-sub getpgrp {
- usage "getpgrp()" if @_ != 0;
- CORE::getpgrp;
-}
-
-# end of POSIX::getpgrp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpid.al
deleted file mode 100644
index 643ee91389b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 706 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getpid.al)"
-sub getpid {
- usage "getpid()" if @_ != 0;
- $$;
-}
-
-# end of POSIX::getpid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getppid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getppid.al
deleted file mode 100644
index 4855cbf275a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getppid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 711 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getppid.al)"
-sub getppid {
- usage "getppid()" if @_ != 0;
- CORE::getppid;
-}
-
-# end of POSIX::getppid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwnam.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwnam.al
deleted file mode 100644
index f00a1bcf766..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwnam.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 201 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getpwnam.al)"
-sub getpwnam {
- usage "getpwnam(name)" if @_ != 1;
- CORE::getpwnam($_[0]);
-}
-
-# end of POSIX::getpwnam
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwuid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwuid.al
deleted file mode 100644
index 74390739c41..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getpwuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 206 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getpwuid.al)"
-sub getpwuid {
- usage "getpwuid(uid)" if @_ != 1;
- CORE::getpwuid($_[0]);
-}
-
-# end of POSIX::getpwuid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gets.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gets.al
deleted file mode 100644
index dd658e4ab0c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gets.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 339 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/gets.al)"
-sub gets {
- usage "gets()" if @_ != 0;
- scalar <STDIN>;
-}
-
-# end of POSIX::gets
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getuid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getuid.al
deleted file mode 100644
index d233dbf8089..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/getuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 716 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/getuid.al)"
-sub getuid {
- usage "getuid()" if @_ != 0;
- $<;
-}
-
-# end of POSIX::getuid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gmtime.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gmtime.al
deleted file mode 100644
index 7ceec3d0ebb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/gmtime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 616 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/gmtime.al)"
-sub gmtime {
- usage "gmtime(time)" if @_ != 1;
- CORE::gmtime($_[0]);
-}
-
-# end of POSIX::gmtime
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/isatty.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/isatty.al
deleted file mode 100644
index bccab1a8782..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/isatty.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 721 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/isatty.al)"
-sub isatty {
- usage "isatty(filehandle)" if @_ != 1;
- -t $_[0];
-}
-
-# end of POSIX::isatty
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/kill.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/kill.al
deleted file mode 100644
index 313f68c2a14..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/kill.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 227 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/kill.al)"
-sub kill {
- usage "kill(pid, sig)" if @_ != 2;
- CORE::kill $_[1], $_[0];
-}
-
-# end of POSIX::kill
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/labs.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/labs.al
deleted file mode 100644
index 430f27ed59c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/labs.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 461 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/labs.al)"
-sub labs {
- unimpl "labs() is C-specific, use abs instead";
-}
-
-# end of POSIX::labs
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ldiv.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ldiv.al
deleted file mode 100644
index b3a9bdce3c2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ldiv.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 465 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/ldiv.al)"
-sub ldiv {
- unimpl "ldiv() is C-specific, use /, % and int instead";
-}
-
-# end of POSIX::ldiv
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/link.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/link.al
deleted file mode 100644
index 24c31ccb9e3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/link.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 726 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/link.al)"
-sub link {
- usage "link(oldfilename, newfilename)" if @_ != 2;
- CORE::link($_[0], $_[1]);
-}
-
-# end of POSIX::link
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/load_imports.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/load_imports.al
deleted file mode 100644
index bcbd3d4b4e2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/load_imports.al
+++ /dev/null
@@ -1,230 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 759 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/load_imports.al)"
-sub load_imports {
-%EXPORT_TAGS = (
-
- assert_h => [qw(assert NDEBUG)],
-
- ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
- isprint ispunct isspace isupper isxdigit tolower toupper)],
-
- dirent_h => [],
-
- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
- EUSERS EWOULDBLOCK EXDEV errno)],
-
- fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
- F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
- O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
- O_RDONLY O_RDWR O_TRUNC O_WRONLY
- creat
- SEEK_CUR SEEK_END SEEK_SET
- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
- S_IWGRP S_IWOTH S_IWUSR)],
-
- float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
- DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
- DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
- FLT_DIG FLT_EPSILON FLT_MANT_DIG
- FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
- FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
- FLT_RADIX FLT_ROUNDS
- LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
- LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
- LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
-
- grp_h => [],
-
- limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
- INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
- MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
- PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
- SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
- ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
- _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
- _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
- _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
- _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
-
- locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
- LC_MONETARY LC_NUMERIC LC_TIME NULL
- localeconv setlocale)],
-
- math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
- frexp ldexp log10 modf pow sinh tan tanh)],
-
- pwd_h => [],
-
- setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
-
- signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
- SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
- SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
- SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
- SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
- raise sigaction signal sigpending sigprocmask sigsuspend)],
-
- stdarg_h => [],
-
- stddef_h => [qw(NULL offsetof)],
-
- stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
- L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
- STREAM_MAX TMP_MAX stderr stdin stdout
- clearerr fclose fdopen feof ferror fflush fgetc fgetpos
- fgets fopen fprintf fputc fputs fread freopen
- fscanf fseek fsetpos ftell fwrite getchar gets
- perror putc putchar puts remove rewind
- scanf setbuf setvbuf sscanf tmpfile tmpnam
- ungetc vfprintf vprintf vsprintf)],
-
- stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
- abort atexit atof atoi atol bsearch calloc div
- free getenv labs ldiv malloc mblen mbstowcs mbtowc
- qsort realloc strtod strtol strtoul wcstombs wctomb)],
-
- string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
- strchr strcmp strcoll strcpy strcspn strerror strlen
- strncat strncmp strncpy strpbrk strrchr strspn strstr
- strtok strxfrm)],
-
- sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
- S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
- fstat mkfifo)],
-
- sys_times_h => [],
-
- sys_types_h => [],
-
- sys_utsname_h => [qw(uname)],
-
- sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
- WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
-
- termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
- B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
- CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
- ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
- INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
- PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
- TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
- TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
- VSTOP VSUSP VTIME
- cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
- tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
-
- time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
- difftime mktime strftime tzset tzname)],
-
- unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
- STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
- _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
- _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
- _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
- _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
- _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
- _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
- _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
- _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
- _exit access ctermid cuserid
- dup2 dup execl execle execlp execv execve execvp
- fpathconf fsync getcwd getegid geteuid getgid getgroups
- getpid getuid isatty lseek pathconf pause setgid setpgid
- setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
-
- utime_h => [],
-
-);
-
-# Exporter::export_tags();
-{
- # De-duplicate the export list:
- my %export;
- @export{map {@$_} values %EXPORT_TAGS} = ();
- # Doing the de-dup with a temporary hash has the advantage that the SVs in
- # @EXPORT are actually shared hash key sacalars, which will save some memory.
- push @EXPORT, keys %export;
-}
-
-@EXPORT_OK = qw(
- abs
- alarm
- atan2
- chdir
- chmod
- chown
- close
- closedir
- cos
- exit
- exp
- fcntl
- fileno
- fork
- getc
- getgrgid
- getgrnam
- getlogin
- getpgrp
- getppid
- getpwnam
- getpwuid
- gmtime
- isatty
- kill
- lchown
- link
- localtime
- log
- mkdir
- nice
- open
- opendir
- pipe
- printf
- rand
- read
- readdir
- rename
- rewinddir
- rmdir
- sin
- sleep
- sprintf
- sqrt
- srand
- stat
- system
- time
- times
- umask
- unlink
- utime
- wait
- waitpid
- write
-);
-
-require Exporter;
-}
-
-# end of POSIX::SigAction::load_imports
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/localtime.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/localtime.al
deleted file mode 100644
index 0377aa7b3e6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/localtime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 621 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/localtime.al)"
-sub localtime {
- usage "localtime(time)" if @_ != 1;
- CORE::localtime($_[0]);
-}
-
-# end of POSIX::localtime
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/log.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/log.al
deleted file mode 100644
index 881874797e7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/log.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 181 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/log.al)"
-sub log {
- usage "log(x)" if @_ != 1;
- CORE::log($_[0]);
-}
-
-# end of POSIX::log
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/longjmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/longjmp.al
deleted file mode 100644
index 4c02db149fb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/longjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 211 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/longjmp.al)"
-sub longjmp {
- unimpl "longjmp() is C-specific: use die instead";
-}
-
-# end of POSIX::longjmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/malloc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/malloc.al
deleted file mode 100644
index c9fe128439e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/malloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 469 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/malloc.al)"
-sub malloc {
- unimpl "malloc() is C-specific, stopped";
-}
-
-# end of POSIX::malloc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memchr.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memchr.al
deleted file mode 100644
index e79ac78c4d8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 494 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/memchr.al)"
-sub memchr {
- unimpl "memchr() is C-specific, use index() instead";
-}
-
-# end of POSIX::memchr
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcmp.al
deleted file mode 100644
index 91c6ac919e9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 498 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/memcmp.al)"
-sub memcmp {
- unimpl "memcmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::memcmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcpy.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcpy.al
deleted file mode 100644
index 58762fb1ab3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memcpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 502 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/memcpy.al)"
-sub memcpy {
- unimpl "memcpy() is C-specific, use = instead";
-}
-
-# end of POSIX::memcpy
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memmove.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memmove.al
deleted file mode 100644
index 246891ce8a3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memmove.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 506 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/memmove.al)"
-sub memmove {
- unimpl "memmove() is C-specific, use = instead";
-}
-
-# end of POSIX::memmove
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memset.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memset.al
deleted file mode 100644
index c79c94b5949..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/memset.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 510 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/memset.al)"
-sub memset {
- unimpl "memset() is C-specific, use x instead";
-}
-
-# end of POSIX::memset
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/mkdir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/mkdir.al
deleted file mode 100644
index c7cc6db1426..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/mkdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 591 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/mkdir.al)"
-sub mkdir {
- usage "mkdir(directoryname, mode)" if @_ != 2;
- CORE::mkdir($_[0], $_[1]);
-}
-
-# end of POSIX::mkdir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/offsetof.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/offsetof.al
deleted file mode 100644
index ad859d4ad3c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/offsetof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 237 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/offsetof.al)"
-sub offsetof {
- unimpl "offsetof() is C-specific, stopped";
-}
-
-# end of POSIX::offsetof
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/opendir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/opendir.al
deleted file mode 100644
index 42eb9d369e8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/opendir.al
+++ /dev/null
@@ -1,16 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 118 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/opendir.al)"
-sub opendir {
- usage "opendir(directory)" if @_ != 1;
- my $dirhandle;
- CORE::opendir($dirhandle, $_[0])
- ? $dirhandle
- : undef;
-}
-
-# end of POSIX::opendir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/perror.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/perror.al
deleted file mode 100644
index 5d8c596db65..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/perror.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 344 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/perror.al)"
-sub perror {
- print STDERR "@_: " if @_;
- print STDERR $!,"\n";
-}
-
-# end of POSIX::perror
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/pow.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/pow.al
deleted file mode 100644
index 0cab48aa086..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/pow.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 186 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/pow.al)"
-sub pow {
- usage "pow(x,exponent)" if @_ != 2;
- $_[0] ** $_[1];
-}
-
-# end of POSIX::pow
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/printf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/printf.al
deleted file mode 100644
index 2140c00c861..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/printf.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 349 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/printf.al)"
-sub printf {
- usage "printf(pattern, args...)" if @_ < 1;
- CORE::printf STDOUT @_;
-}
-
-# end of POSIX::printf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putc.al
deleted file mode 100644
index 3c8ef986c16..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 354 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/putc.al)"
-sub putc {
- unimpl "putc() is C-specific--use print instead";
-}
-
-# end of POSIX::putc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putchar.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putchar.al
deleted file mode 100644
index da4a6ceb3b5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/putchar.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 358 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/putchar.al)"
-sub putchar {
- unimpl "putchar() is C-specific--use print instead";
-}
-
-# end of POSIX::putchar
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/puts.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/puts.al
deleted file mode 100644
index 36b6d381003..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/puts.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 362 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/puts.al)"
-sub puts {
- unimpl "puts() is C-specific--use print instead";
-}
-
-# end of POSIX::puts
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/qsort.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/qsort.al
deleted file mode 100644
index e0adaf983f2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/qsort.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 473 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/qsort.al)"
-sub qsort {
- unimpl "qsort() is C-specific, use sort instead";
-}
-
-# end of POSIX::qsort
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/raise.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/raise.al
deleted file mode 100644
index 8c5e818be80..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/raise.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 232 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/raise.al)"
-sub raise {
- usage "raise(sig)" if @_ != 1;
- CORE::kill $_[0], $$; # Is this good enough?
-}
-
-# end of POSIX::raise
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rand.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rand.al
deleted file mode 100644
index 4805058df11..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rand.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 477 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/rand.al)"
-sub rand {
- unimpl "rand() is non-portable, use Perl's rand instead";
-}
-
-# end of POSIX::rand
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/readdir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/readdir.al
deleted file mode 100644
index 4eb84ba74ce..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/readdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 126 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/readdir.al)"
-sub readdir {
- usage "readdir(dirhandle)" if @_ != 1;
- CORE::readdir($_[0]);
-}
-
-# end of POSIX::readdir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/realloc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/realloc.al
deleted file mode 100644
index df54e0532b1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/realloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 481 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/realloc.al)"
-sub realloc {
- unimpl "realloc() is C-specific, stopped";
-}
-
-# end of POSIX::realloc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/redef.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/redef.al
deleted file mode 100644
index c25f14b5aec..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/redef.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 85 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/redef.al)"
-sub redef {
- my ($mess) = @_;
- croak "Use method $mess instead";
-}
-
-# end of POSIX::redef
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/remove.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/remove.al
deleted file mode 100644
index af53e37276d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/remove.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 366 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/remove.al)"
-sub remove {
- usage "remove(filename)" if @_ != 1;
- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
-}
-
-# end of POSIX::remove
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rename.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rename.al
deleted file mode 100644
index f1f2289ae14..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rename.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 371 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/rename.al)"
-sub rename {
- usage "rename(oldfilename, newfilename)" if @_ != 2;
- CORE::rename($_[0], $_[1]);
-}
-
-# end of POSIX::rename
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewind.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewind.al
deleted file mode 100644
index fe937939a66..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewind.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 376 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/rewind.al)"
-sub rewind {
- usage "rewind(filehandle)" if @_ != 1;
- CORE::seek($_[0],0,0);
-}
-
-# end of POSIX::rewind
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewinddir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewinddir.al
deleted file mode 100644
index ecd056438fa..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rewinddir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 131 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/rewinddir.al)"
-sub rewinddir {
- usage "rewinddir(dirhandle)" if @_ != 1;
- CORE::rewinddir($_[0]);
-}
-
-# end of POSIX::rewinddir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rmdir.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rmdir.al
deleted file mode 100644
index d12df09ad45..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/rmdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 731 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/rmdir.al)"
-sub rmdir {
- usage "rmdir(directoryname)" if @_ != 1;
- CORE::rmdir($_[0]);
-}
-
-# end of POSIX::rmdir
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/scanf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/scanf.al
deleted file mode 100644
index 38c48bab058..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/scanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 381 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/scanf.al)"
-sub scanf {
- unimpl "scanf() is C-specific--use <> and regular expressions instead";
-}
-
-# end of POSIX::scanf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setbuf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setbuf.al
deleted file mode 100644
index 306e401082a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setbuf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 736 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/setbuf.al)"
-sub setbuf {
- redef "IO::Handle::setbuf()";
-}
-
-# end of POSIX::setbuf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setjmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setjmp.al
deleted file mode 100644
index e6bc8242587..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 215 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/setjmp.al)"
-sub setjmp {
- unimpl "setjmp() is C-specific: use eval {} instead";
-}
-
-# end of POSIX::setjmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setvbuf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setvbuf.al
deleted file mode 100644
index 20f02e6b219..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/setvbuf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 740 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/setvbuf.al)"
-sub setvbuf {
- redef "IO::Handle::setvbuf()";
-}
-
-# end of POSIX::setvbuf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/siglongjmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/siglongjmp.al
deleted file mode 100644
index eb97f9dfed5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/siglongjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 219 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/siglongjmp.al)"
-sub siglongjmp {
- unimpl "siglongjmp() is C-specific: use die instead";
-}
-
-# end of POSIX::siglongjmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sigsetjmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sigsetjmp.al
deleted file mode 100644
index 2ecfcd9f259..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sigsetjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 223 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sigsetjmp.al)"
-sub sigsetjmp {
- unimpl "sigsetjmp() is C-specific: use eval {} instead";
-}
-
-# end of POSIX::sigsetjmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sin.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sin.al
deleted file mode 100644
index 391287c18d3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sin.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 191 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sin.al)"
-sub sin {
- usage "sin(x)" if @_ != 1;
- CORE::sin($_[0]);
-}
-
-# end of POSIX::sin
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sleep.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sleep.al
deleted file mode 100644
index 5006b425b8f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sleep.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 744 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sleep.al)"
-sub sleep {
- usage "sleep(seconds)" if @_ != 1;
- $_[0] - CORE::sleep($_[0]);
-}
-
-# end of POSIX::sleep
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sprintf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sprintf.al
deleted file mode 100644
index 97a5788b15a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sprintf.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 385 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sprintf.al)"
-sub sprintf {
- usage "sprintf(pattern,args)" if @_ == 0;
- CORE::sprintf(shift,@_);
-}
-
-# end of POSIX::sprintf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sqrt.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sqrt.al
deleted file mode 100644
index b8ffb66f6ef..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sqrt.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 196 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sqrt.al)"
-sub sqrt {
- usage "sqrt(x)" if @_ != 1;
- CORE::sqrt($_[0]);
-}
-
-# end of POSIX::sqrt
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/srand.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/srand.al
deleted file mode 100644
index 45a73999c0b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/srand.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 485 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/srand.al)"
-sub srand {
- unimpl "srand()";
-}
-
-# end of POSIX::srand
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sscanf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sscanf.al
deleted file mode 100644
index 5f7dfa9549d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/sscanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 390 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/sscanf.al)"
-sub sscanf {
- unimpl "sscanf() is C-specific--use regular expressions instead";
-}
-
-# end of POSIX::sscanf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/stat.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/stat.al
deleted file mode 100644
index e75463d1f5e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/stat.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 596 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/stat.al)"
-sub stat {
- usage "stat(filename)" if @_ != 1;
- CORE::stat($_[0]);
-}
-
-# end of POSIX::stat
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcat.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcat.al
deleted file mode 100644
index bdadeb32402..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcat.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 514 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strcat.al)"
-sub strcat {
- unimpl "strcat() is C-specific, use .= instead";
-}
-
-# end of POSIX::strcat
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strchr.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strchr.al
deleted file mode 100644
index 1d3a000e35a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 518 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strchr.al)"
-sub strchr {
- unimpl "strchr() is C-specific, use index() instead";
-}
-
-# end of POSIX::strchr
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcmp.al
deleted file mode 100644
index 06bad76f7b7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 522 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strcmp.al)"
-sub strcmp {
- unimpl "strcmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::strcmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcpy.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcpy.al
deleted file mode 100644
index 392f8dbb973..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 526 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strcpy.al)"
-sub strcpy {
- unimpl "strcpy() is C-specific, use = instead";
-}
-
-# end of POSIX::strcpy
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcspn.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcspn.al
deleted file mode 100644
index 8c0d8c4a771..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strcspn.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 530 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strcspn.al)"
-sub strcspn {
- unimpl "strcspn() is C-specific, use regular expressions instead";
-}
-
-# end of POSIX::strcspn
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strerror.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strerror.al
deleted file mode 100644
index a494b70c958..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strerror.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 534 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strerror.al)"
-sub strerror {
- usage "strerror(errno)" if @_ != 1;
- local $! = $_[0];
- $! . "";
-}
-
-# end of POSIX::strerror
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strlen.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strlen.al
deleted file mode 100644
index 06a59cc2a55..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strlen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 540 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strlen.al)"
-sub strlen {
- unimpl "strlen() is C-specific, use length instead";
-}
-
-# end of POSIX::strlen
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncat.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncat.al
deleted file mode 100644
index 0eadd70c4e7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncat.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 544 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strncat.al)"
-sub strncat {
- unimpl "strncat() is C-specific, use .= instead";
-}
-
-# end of POSIX::strncat
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncmp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncmp.al
deleted file mode 100644
index ea142cb1811..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 548 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strncmp.al)"
-sub strncmp {
- unimpl "strncmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::strncmp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncpy.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncpy.al
deleted file mode 100644
index 4075962ffe3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strncpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 552 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strncpy.al)"
-sub strncpy {
- unimpl "strncpy() is C-specific, use = instead";
-}
-
-# end of POSIX::strncpy
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strpbrk.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strpbrk.al
deleted file mode 100644
index 6a0074e9957..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strpbrk.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 556 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strpbrk.al)"
-sub strpbrk {
- unimpl "strpbrk() is C-specific, stopped";
-}
-
-# end of POSIX::strpbrk
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strrchr.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strrchr.al
deleted file mode 100644
index eb918722e3c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strrchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 560 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strrchr.al)"
-sub strrchr {
- unimpl "strrchr() is C-specific, use rindex() instead";
-}
-
-# end of POSIX::strrchr
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strspn.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strspn.al
deleted file mode 100644
index 506ca1225fd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strspn.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 564 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strspn.al)"
-sub strspn {
- unimpl "strspn() is C-specific, stopped";
-}
-
-# end of POSIX::strspn
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strstr.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strstr.al
deleted file mode 100644
index 4a1401c5864..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strstr.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 568 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strstr.al)"
-sub strstr {
- usage "strstr(big, little)" if @_ != 2;
- CORE::index($_[0], $_[1]);
-}
-
-# end of POSIX::strstr
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strtok.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strtok.al
deleted file mode 100644
index 8f4c10cc5e2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/strtok.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 573 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/strtok.al)"
-sub strtok {
- unimpl "strtok() is C-specific, stopped";
-}
-
-# end of POSIX::strtok
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/system.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/system.al
deleted file mode 100644
index defdf5ca4dc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/system.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 489 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/system.al)"
-sub system {
- usage "system(command)" if @_ != 1;
- CORE::system($_[0]);
-}
-
-# end of POSIX::system
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/time.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/time.al
deleted file mode 100644
index 9a780997bd3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/time.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 626 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/time.al)"
-sub time {
- usage "time()" if @_ != 0;
- CORE::time;
-}
-
-# end of POSIX::time
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tmpfile.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tmpfile.al
deleted file mode 100644
index 2417f69f6cd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tmpfile.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 394 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/tmpfile.al)"
-sub tmpfile {
- redef "IO::File::new_tmpfile()";
-}
-
-# end of POSIX::tmpfile
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tolower.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tolower.al
deleted file mode 100644
index d4332728de8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/tolower.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 103 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/tolower.al)"
-sub tolower {
- usage "tolower(string)" if @_ != 1;
- lc($_[0]);
-}
-
-# end of POSIX::tolower
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/toupper.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/toupper.al
deleted file mode 100644
index 1130fbc2cbf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/toupper.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 108 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/toupper.al)"
-sub toupper {
- usage "toupper(string)" if @_ != 1;
- uc($_[0]);
-}
-
-# end of POSIX::toupper
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/umask.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/umask.al
deleted file mode 100644
index b5a5ab59c83..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/umask.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 601 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/umask.al)"
-sub umask {
- usage "umask(mask)" if @_ != 1;
- CORE::umask($_[0]);
-}
-
-# end of POSIX::umask
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ungetc.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ungetc.al
deleted file mode 100644
index f7deefdabd9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/ungetc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 398 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/ungetc.al)"
-sub ungetc {
- redef "IO::Handle::ungetc()";
-}
-
-# end of POSIX::ungetc
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unimpl.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unimpl.al
deleted file mode 100644
index 8308c37fb18..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unimpl.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 90 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/unimpl.al)"
-sub unimpl {
- my ($mess) = @_;
- $mess =~ s/xxx//;
- croak "Unimplemented: POSIX::$mess";
-}
-
-# end of POSIX::unimpl
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unlink.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unlink.al
deleted file mode 100644
index 44435cd0b4e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/unlink.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 749 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/unlink.al)"
-sub unlink {
- usage "unlink(filename)" if @_ != 1;
- CORE::unlink($_[0]);
-}
-
-# end of POSIX::unlink
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/usage.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/usage.al
deleted file mode 100644
index bde9bba431f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/usage.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 80 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/usage.al)"
-sub usage {
- my ($mess) = @_;
- croak "Usage: POSIX::$mess";
-}
-
-# end of POSIX::usage
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/utime.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/utime.al
deleted file mode 100644
index 1ff03934851..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/utime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 754 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/utime.al)"
-sub utime {
- usage "utime(filename, atime, mtime)" if @_ != 3;
- CORE::utime($_[1], $_[2], $_[0]);
-}
-
-# end of POSIX::utime
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vfprintf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vfprintf.al
deleted file mode 100644
index abf1378f80b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vfprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 402 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/vfprintf.al)"
-sub vfprintf {
- unimpl "vfprintf() is C-specific";
-}
-
-# end of POSIX::vfprintf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vprintf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vprintf.al
deleted file mode 100644
index b01803a28a0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 406 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/vprintf.al)"
-sub vprintf {
- unimpl "vprintf() is C-specific";
-}
-
-# end of POSIX::vprintf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vsprintf.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vsprintf.al
deleted file mode 100644
index 155191ccdc2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/vsprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 410 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/vsprintf.al)"
-sub vsprintf {
- unimpl "vsprintf() is C-specific";
-}
-
-# end of POSIX::vsprintf
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/wait.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/wait.al
deleted file mode 100644
index bf3ffc3ea9b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/wait.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 606 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/wait.al)"
-sub wait {
- usage "wait()" if @_ != 0;
- CORE::wait();
-}
-
-# end of POSIX::wait
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/waitpid.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/waitpid.al
deleted file mode 100644
index 9627d1e50f3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/POSIX/waitpid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ../../lib/POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 611 "../../lib/POSIX.pm (autosplit into ../../lib/auto/POSIX/waitpid.al)"
-sub waitpid {
- usage "waitpid(pid, options)" if @_ != 2;
- CORE::waitpid($_[0], $_[1]);
-}
-
-# end of POSIX::waitpid
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/encoding/encoding.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/encoding/encoding.dll
deleted file mode 100755
index fb6d61d9d01..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/encoding/encoding.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/scalar/scalar.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/scalar/scalar.dll
deleted file mode 100755
index 86809fc7856..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/scalar/scalar.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/via/via.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/via/via.dll
deleted file mode 100755
index 4e9556d63a9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/PerlIO/via/via.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/SDBM_File/SDBM_File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/SDBM_File/SDBM_File.dll
deleted file mode 100755
index 79121e4aa4d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/SDBM_File/SDBM_File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Socket/Socket.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Socket/Socket.dll
deleted file mode 100755
index 70e0162f423..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Socket/Socket.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_VERSION_NV.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_VERSION_NV.al
deleted file mode 100644
index a0fe3f3323e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_VERSION_NV.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 192 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/BIN_VERSION_NV.al)"
-sub BIN_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_MINOR();
-}
-
-# end of Storable::BIN_VERSION_NV
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_WRITE_VERSION_NV.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_WRITE_VERSION_NV.al
deleted file mode 100644
index 8c4244fa71d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/BIN_WRITE_VERSION_NV.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 196 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/BIN_WRITE_VERSION_NV.al)"
-sub BIN_WRITE_VERSION_NV {
- sprintf "%d.%03d", BIN_MAJOR(), BIN_WRITE_MINOR();
-}
-
-# end of Storable::BIN_WRITE_VERSION_NV
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/CAN_FLOCK.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/CAN_FLOCK.al
deleted file mode 100644
index d806b457163..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/CAN_FLOCK.al
+++ /dev/null
@@ -1,21 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 83 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/CAN_FLOCK.al)"
-#
-# Determine whether locking is possible, but only when needed.
-#
-
-sub CAN_FLOCK; my $CAN_FLOCK; sub CAN_FLOCK {
- return $CAN_FLOCK if defined $CAN_FLOCK;
- require Config; import Config;
- return $CAN_FLOCK =
- $Config{'d_flock'} ||
- $Config{'d_fcntl_can_lock'} ||
- $Config{'d_lockf'};
-}
-
-# end of Storable::CAN_FLOCK
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/Storable.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/Storable.dll
deleted file mode 100755
index 45f9ceafd35..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/Storable.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_freeze.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_freeze.al
deleted file mode 100644
index e7d9e6815c7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_freeze.al
+++ /dev/null
@@ -1,23 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 330 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_freeze.al)"
-# Internal freeze routine
-sub _freeze {
- my $xsptr = shift;
- my $self = shift;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 0; # No @foo in arglist
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine mstore or net_mstore, depending on network order
- eval { $ret = &$xsptr($self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_freeze
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_retrieve.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_retrieve.al
deleted file mode 100644
index ad790599397..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_retrieve.al
+++ /dev/null
@@ -1,31 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 364 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al)"
-# Internal retrieve routine
-sub _retrieve {
- my ($file, $use_locking) = @_;
- local *FILE;
- open(FILE, $file) || logcroak "can't open $file: $!";
- binmode FILE; # Archaic systems...
- my $self;
- my $da = $@; # Could be from exception handler
- if ($use_locking) {
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_SH) || logcroak "can't get shared lock on $file: $!";
- # Unlocking will happen when FILE is closed
- }
- eval { $self = pretrieve(*FILE) }; # Call C routine
- close(FILE);
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-# end of Storable::_retrieve
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store.al
deleted file mode 100644
index 08595e9a458..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store.al
+++ /dev/null
@@ -1,41 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 239 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_store.al)"
-# Internal store to file routine
-sub _store {
- my $xsptr = shift;
- my $self = shift;
- my ($file, $use_locking) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "wrong argument number" unless @_ == 2; # No @foo in arglist
- local *FILE;
- if ($use_locking) {
- open(FILE, ">>$file") || logcroak "can't write into $file: $!";
- unless (&CAN_FLOCK) {
- logcarp "Storable::lock_store: fcntl/flock emulation broken on $^O";
- return undef;
- }
- flock(FILE, LOCK_EX) ||
- logcroak "can't get exclusive lock on $file: $!";
- truncate FILE, 0;
- # Unlocking will happen when FILE is closed
- } else {
- open(FILE, ">$file") || logcroak "can't create $file: $!";
- }
- binmode FILE; # Archaic systems...
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr(*FILE, $self) };
- close(FILE) or $ret = undef;
- unlink($file) or warn "Can't unlink $file: $!\n" if $@ || !defined $ret;
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_store
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store_fd.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store_fd.al
deleted file mode 100644
index 8e7c1f0c4f1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/_store_fd.al
+++ /dev/null
@@ -1,27 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 292 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_store_fd.al)"
-# Internal store routine on opened file descriptor
-sub _store_fd {
- my $xsptr = shift;
- my $self = shift;
- my ($file) = @_;
- logcroak "not a reference" unless ref($self);
- logcroak "too many arguments" unless @_ == 1; # No @foo in arglist
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $da = $@; # Don't mess if called from exception handler
- my $ret;
- # Call C routine nstore or pstore, depending on network order
- eval { $ret = &$xsptr($file, $self) };
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- local $\; print $file ''; # Autoflush the file if wanted
- $@ = $da;
- return $ret ? $ret : undef;
-}
-
-# end of Storable::_store_fd
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/autosplit.ix
deleted file mode 100644
index 52f3a50fd7a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/autosplit.ix
+++ /dev/null
@@ -1,28 +0,0 @@
-# Index created by AutoSplit for ../../lib/Storable.pm
-# (file acts as timestamp)
-package Storable;
-sub logcroak ;
-sub logcarp ;
-sub CAN_FLOCK ;
-sub show_file_magic ;
-sub file_magic ;
-sub read_magic ;
-sub BIN_VERSION_NV ;
-sub BIN_WRITE_VERSION_NV ;
-sub store ;
-sub nstore ;
-sub lock_store ;
-sub lock_nstore ;
-sub _store ;
-sub store_fd ;
-sub nstore_fd ;
-sub _store_fd ;
-sub freeze ;
-sub nfreeze ;
-sub _freeze ;
-sub retrieve ;
-sub lock_retrieve ;
-sub _retrieve ;
-sub fd_retrieve ;
-sub thaw ;
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/fd_retrieve.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/fd_retrieve.al
deleted file mode 100644
index 48c35b138e3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/fd_retrieve.al
+++ /dev/null
@@ -1,25 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 387 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/fd_retrieve.al)"
-#
-# fd_retrieve
-#
-# Same as retrieve, but perform from an already opened file descriptor instead.
-#
-sub fd_retrieve {
- my ($file) = @_;
- my $fd = fileno($file);
- logcroak "not a valid file descriptor" unless defined $fd;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = pretrieve($file) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-# end of Storable::fd_retrieve
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/file_magic.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/file_magic.al
deleted file mode 100644
index f87ebc34b7c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/file_magic.al
+++ /dev/null
@@ -1,21 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 118 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/file_magic.al)"
-sub file_magic {
- my $file = shift;
- my $fh = new FileHandle;
- open($fh, "<". $file) || die "Can't open '$file': $!";
- binmode($fh);
- defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
- close($fh);
-
- $file = "./$file" unless $file; # ensure TRUE value
-
- return read_magic($buf, $file);
-}
-
-# end of Storable::file_magic
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/freeze.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/freeze.al
deleted file mode 100644
index ca462d0920a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/freeze.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 311 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/freeze.al)"
-#
-# freeze
-#
-# Store oject and its hierarchy in memory and return a scalar
-# containing the result.
-#
-sub freeze {
- _freeze(\&mstore, @_);
-}
-
-# end of Storable::freeze
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_nstore.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_nstore.al
deleted file mode 100644
index e6a404cb67e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_nstore.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 230 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/lock_nstore.al)"
-#
-# lock_nstore
-#
-# Same as nstore, but flock the file first (advisory locking).
-#
-sub lock_nstore {
- return _store(\&net_pstore, @_, 1);
-}
-
-# end of Storable::lock_nstore
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_retrieve.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_retrieve.al
deleted file mode 100644
index 3ed5dd79105..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_retrieve.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 355 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/lock_retrieve.al)"
-#
-# lock_retrieve
-#
-# Same as retrieve, but with advisory locking.
-#
-sub lock_retrieve {
- _retrieve($_[0], 1);
-}
-
-# end of Storable::lock_retrieve
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_store.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_store.al
deleted file mode 100644
index 570cac09a93..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/lock_store.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 221 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/lock_store.al)"
-#
-# lock_store
-#
-# Same as store, but flock the file first (advisory locking).
-#
-sub lock_store {
- return _store(\&pstore, @_, 1);
-}
-
-# end of Storable::lock_store
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcarp.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcarp.al
deleted file mode 100644
index b96468ab19d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcarp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 79 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/logcarp.al)"
-sub logcarp {
- Carp::carp(@_);
-}
-
-# end of Storable::logcarp
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcroak.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcroak.al
deleted file mode 100644
index 8d7a63156b6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/logcroak.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 70 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/logcroak.al)"
-#
-# Use of Log::Agent is optional. If it hasn't imported these subs then
-# Autoloader will kindly supply our fallback implementation.
-#
-
-sub logcroak {
- Carp::croak(@_);
-}
-
-# end of Storable::logcroak
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nfreeze.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nfreeze.al
deleted file mode 100644
index 2ee050db031..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nfreeze.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 321 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/nfreeze.al)"
-#
-# nfreeze
-#
-# Same as freeze but in network order.
-#
-sub nfreeze {
- _freeze(\&net_mstore, @_);
-}
-
-# end of Storable::nfreeze
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore.al
deleted file mode 100644
index 762be259a16..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 212 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/nstore.al)"
-#
-# nstore
-#
-# Same as store, but in network order.
-#
-sub nstore {
- return _store(\&net_pstore, @_, 0);
-}
-
-# end of Storable::nstore
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore_fd.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore_fd.al
deleted file mode 100644
index f1df4176dc2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/nstore_fd.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 282 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/nstore_fd.al)"
-#
-# nstore_fd
-#
-# Same as store_fd, but in network order.
-#
-sub nstore_fd {
- my ($self, $file) = @_;
- return _store_fd(\&net_pstore, @_);
-}
-
-# end of Storable::nstore_fd
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/read_magic.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/read_magic.al
deleted file mode 100644
index 87f6d106268..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/read_magic.al
+++ /dev/null
@@ -1,69 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 131 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/read_magic.al)"
-sub read_magic {
- my($buf, $file) = @_;
- my %info;
-
- my $buflen = length($buf);
- my $magic;
- if ($buf =~ s/^(pst0|perl-store)//) {
- $magic = $1;
- $info{file} = $file || 1;
- }
- else {
- return undef if $file;
- $magic = "";
- }
-
- return undef unless length($buf);
-
- my $net_order;
- if ($magic eq "perl-store" && ord(substr($buf, 0, 1)) > 1) {
- $info{version} = -1;
- $net_order = 0;
- }
- else {
- $net_order = ord(substr($buf, 0, 1, ""));
- my $major = $net_order >> 1;
- return undef if $major > 4; # sanity (assuming we never go that high)
- $info{major} = $major;
- $net_order &= 0x01;
- if ($major > 1) {
- return undef unless length($buf);
- my $minor = ord(substr($buf, 0, 1, ""));
- $info{minor} = $minor;
- $info{version} = "$major.$minor";
- $info{version_nv} = sprintf "%d.%03d", $major, $minor;
- }
- else {
- $info{version} = $major;
- }
- }
- $info{version_nv} ||= $info{version};
- $info{netorder} = $net_order;
-
- unless ($net_order) {
- return undef unless length($buf);
- my $len = ord(substr($buf, 0, 1, ""));
- return undef unless length($buf) >= $len;
- return undef unless $len == 4 || $len == 8; # sanity
- $info{byteorder} = substr($buf, 0, $len, "");
- $info{intsize} = ord(substr($buf, 0, 1, ""));
- $info{longsize} = ord(substr($buf, 0, 1, ""));
- $info{ptrsize} = ord(substr($buf, 0, 1, ""));
- if ($info{version_nv} >= 2.002) {
- return undef unless length($buf);
- $info{nvsize} = ord(substr($buf, 0, 1, ""));
- }
- }
- $info{hdrsize} = $buflen - length($buf);
-
- return \%info;
-}
-
-# end of Storable::read_magic
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/retrieve.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/retrieve.al
deleted file mode 100644
index 0e6234f7c42..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/retrieve.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 345 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/retrieve.al)"
-#
-# retrieve
-#
-# Retrieve object hierarchy from disk, returning a reference to the root
-# object of that tree.
-#
-sub retrieve {
- _retrieve($_[0], 0);
-}
-
-# end of Storable::retrieve
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/show_file_magic.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/show_file_magic.al
deleted file mode 100644
index 3545ba0631c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/show_file_magic.al
+++ /dev/null
@@ -1,30 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 96 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/show_file_magic.al)"
-sub show_file_magic {
- print <<EOM;
-#
-# To recognize the data files of the Perl module Storable,
-# the following lines need to be added to the local magic(5) file,
-# usually either /usr/share/misc/magic or /etc/magic.
-#
-0 string perl-store perl Storable(v0.6) data
->4 byte >0 (net-order %d)
->>4 byte &01 (network-ordered)
->>4 byte =3 (major 1)
->>4 byte =2 (major 1)
-
-0 string pst0 perl Storable(v0.7) data
->4 byte >0
->>4 byte &01 (network-ordered)
->>4 byte =5 (major 2)
->>4 byte =4 (major 2)
->>5 byte >0 (minor %d)
-EOM
-}
-
-# end of Storable::show_file_magic
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store.al
deleted file mode 100644
index db21feb96c7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store.al
+++ /dev/null
@@ -1,20 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 200 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/store.al)"
-#
-# store
-#
-# Store target object hierarchy, identified by a reference to its root.
-# The stored object tree may later be retrieved to memory via retrieve.
-# Returns undef if an I/O error occurred, in which case the file is
-# removed.
-#
-sub store {
- return _store(\&pstore, @_, 0);
-}
-
-# end of Storable::store
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store_fd.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store_fd.al
deleted file mode 100644
index a1c0982bcf5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/store_fd.al
+++ /dev/null
@@ -1,18 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 272 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/store_fd.al)"
-#
-# store_fd
-#
-# Same as store, but perform on an already opened file descriptor instead.
-# Returns undef if an I/O error occurred.
-#
-sub store_fd {
- return _store_fd(\&pstore, @_);
-}
-
-# end of Storable::store_fd
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/thaw.al b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/thaw.al
deleted file mode 100644
index ea9e4910139..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Storable/thaw.al
+++ /dev/null
@@ -1,28 +0,0 @@
-# NOTE: Derived from ../../lib/Storable.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package Storable;
-
-#line 404 "../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/thaw.al)"
-#
-# thaw
-#
-# Recreate objects in memory from an existing frozen image created
-# by freeze. If the frozen image passed is undef, return undef.
-#
-sub thaw {
- my ($frozen) = @_;
- return undef unless defined $frozen;
- my $self;
- my $da = $@; # Could be from exception handler
- eval { $self = mretrieve($frozen) }; # Call C routine
- logcroak $@ if $@ =~ s/\.?\n$/,/;
- $@ = $da;
- return $self;
-}
-
-1;
-__END__
-
-1;
-# end of Storable::thaw
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/Hostname.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/Hostname.dll
deleted file mode 100755
index e47493628a1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/Hostname.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/autosplit.ix
deleted file mode 100644
index 90f49598fa4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Hostname/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../../../lib/Sys/Hostname.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Syslog/Syslog.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Syslog/Syslog.dll
deleted file mode 100755
index 78aa9e4d9ea..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Sys/Syslog/Syslog.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Text/Soundex/Soundex.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Text/Soundex/Soundex.dll
deleted file mode 100755
index 9227f01f42a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Text/Soundex/Soundex.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/HiRes/HiRes.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/HiRes/HiRes.dll
deleted file mode 100755
index 5d30ea64f22..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/HiRes/HiRes.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dll
deleted file mode 100755
index a1de2e4fb1e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Time/Piece/Piece.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Unicode/Normalize/Normalize.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Unicode/Normalize/Normalize.dll
deleted file mode 100755
index 15d61164e1b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Unicode/Normalize/Normalize.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32/Win32.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32/Win32.dll
deleted file mode 100755
index 07d8bbaec33..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32/Win32.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32API/File/File.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32API/File/File.dll
deleted file mode 100755
index d619c5a57cd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32API/File/File.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32CORE/extralibs.ld b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32CORE/extralibs.ld
deleted file mode 100644
index 8b137891791..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/Win32CORE/extralibs.ld
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/attrs/attrs.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/attrs/attrs.dll
deleted file mode 100755
index f703b16a37d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/attrs/attrs.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/re/re.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/re/re.dll
deleted file mode 100755
index a525e3551d5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/re/re.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/sdbm/extralibs.ld b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/sdbm/extralibs.ld
deleted file mode 100644
index 8b137891791..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/sdbm/extralibs.ld
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/shared/shared.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/shared/shared.dll
deleted file mode 100755
index 9804415b92d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/shared/shared.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/threads.dll b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/threads.dll
deleted file mode 100755
index c357795be9a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/auto/threads/threads.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/encoding.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/encoding.pm
deleted file mode 100644
index 77ba4472a23..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/encoding.pm
+++ /dev/null
@@ -1,669 +0,0 @@
-# $Id: encoding.pm,v 2.7 2008/03/12 09:51:11 dankogai Exp $
-package encoding;
-our $VERSION = '2.6_01';
-
-use Encode;
-use strict;
-use warnings;
-
-sub DEBUG () { 0 }
-
-BEGIN {
- if ( ord("A") == 193 ) {
- require Carp;
- Carp::croak("encoding: pragma does not support EBCDIC platforms");
- }
-}
-
-our $HAS_PERLIO = 0;
-eval { require PerlIO::encoding };
-unless ($@) {
- $HAS_PERLIO = ( PerlIO::encoding->VERSION >= 0.02 );
-}
-
-sub _exception {
- my $name = shift;
- $] > 5.008 and return 0; # 5.8.1 or higher then no
- my %utfs = map { $_ => 1 }
- qw(utf8 UCS-2BE UCS-2LE UTF-16 UTF-16BE UTF-16LE
- UTF-32 UTF-32BE UTF-32LE);
- $utfs{$name} or return 0; # UTFs or no
- require Config;
- Config->import();
- our %Config;
- return $Config{perl_patchlevel} ? 0 : 1 # maintperl then no
-}
-
-sub in_locale { $^H & ( $locale::hint_bits || 0 ) }
-
-sub _get_locale_encoding {
- my $locale_encoding;
-
- # I18N::Langinfo isn't available everywhere
- eval {
- require I18N::Langinfo;
- I18N::Langinfo->import(qw(langinfo CODESET));
- $locale_encoding = langinfo( CODESET() );
- };
-
- my $country_language;
-
- no warnings 'uninitialized';
-
- if ( (not $locale_encoding) && in_locale() ) {
- if ( $ENV{LC_ALL} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) {
- ( $country_language, $locale_encoding ) = ( $1, $2 );
- }
- elsif ( $ENV{LANG} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) {
- ( $country_language, $locale_encoding ) = ( $1, $2 );
- }
-
- # LANGUAGE affects only LC_MESSAGES only on glibc
- }
- elsif ( not $locale_encoding ) {
- if ( $ENV{LC_ALL} =~ /\butf-?8\b/i
- || $ENV{LANG} =~ /\butf-?8\b/i )
- {
- $locale_encoding = 'utf8';
- }
-
- # Could do more heuristics based on the country and language
- # parts of LC_ALL and LANG (the parts before the dot (if any)),
- # since we have Locale::Country and Locale::Language available.
- # TODO: get a database of Language -> Encoding mappings
- # (the Estonian database at http://www.eki.ee/letter/
- # would be excellent!) --jhi
- }
- if ( defined $locale_encoding
- && lc($locale_encoding) eq 'euc'
- && defined $country_language )
- {
- if ( $country_language =~ /^ja_JP|japan(?:ese)?$/i ) {
- $locale_encoding = 'euc-jp';
- }
- elsif ( $country_language =~ /^ko_KR|korean?$/i ) {
- $locale_encoding = 'euc-kr';
- }
- elsif ( $country_language =~ /^zh_CN|chin(?:a|ese)$/i ) {
- $locale_encoding = 'euc-cn';
- }
- elsif ( $country_language =~ /^zh_TW|taiwan(?:ese)?$/i ) {
- $locale_encoding = 'euc-tw';
- }
- else {
- require Carp;
- Carp::croak(
- "encoding: Locale encoding '$locale_encoding' too ambiguous"
- );
- }
- }
-
- return $locale_encoding;
-}
-
-sub import {
- my $class = shift;
- my $name = shift;
- if ( $name eq ':_get_locale_encoding' ) { # used by lib/open.pm
- my $caller = caller();
- {
- no strict 'refs';
- *{"${caller}::_get_locale_encoding"} = \&_get_locale_encoding;
- }
- return;
- }
- $name = _get_locale_encoding() if $name eq ':locale';
- my %arg = @_;
- $name = $ENV{PERL_ENCODING} unless defined $name;
- my $enc = find_encoding($name);
- unless ( defined $enc ) {
- require Carp;
- Carp::croak("encoding: Unknown encoding '$name'");
- }
- $name = $enc->name; # canonize
- unless ( $arg{Filter} ) {
- DEBUG and warn "_exception($name) = ", _exception($name);
- _exception($name) or ${^ENCODING} = $enc;
- $HAS_PERLIO or return 1;
- }
- else {
- defined( ${^ENCODING} ) and undef ${^ENCODING};
-
- # implicitly 'use utf8'
- require utf8; # to fetch $utf8::hint_bits;
- $^H |= $utf8::hint_bits;
- eval {
- require Filter::Util::Call;
- Filter::Util::Call->import;
- filter_add(
- sub {
- my $status = filter_read();
- if ( $status > 0 ) {
- $_ = $enc->decode( $_, 1 );
- DEBUG and warn $_;
- }
- $status;
- }
- );
- };
- $@ eq '' and DEBUG and warn "Filter installed";
- }
- defined ${^UNICODE} and ${^UNICODE} != 0 and return 1;
- for my $h (qw(STDIN STDOUT)) {
- if ( $arg{$h} ) {
- unless ( defined find_encoding( $arg{$h} ) ) {
- require Carp;
- Carp::croak(
- "encoding: Unknown encoding for $h, '$arg{$h}'");
- }
- eval { binmode( $h, ":raw :encoding($arg{$h})" ) };
- }
- else {
- unless ( exists $arg{$h} ) {
- eval {
- no warnings 'uninitialized';
- binmode( $h, ":raw :encoding($name)" );
- };
- }
- }
- if ($@) {
- require Carp;
- Carp::croak($@);
- }
- }
- return 1; # I doubt if we need it, though
-}
-
-sub unimport {
- no warnings;
- undef ${^ENCODING};
- if ($HAS_PERLIO) {
- binmode( STDIN, ":raw" );
- binmode( STDOUT, ":raw" );
- }
- else {
- binmode(STDIN);
- binmode(STDOUT);
- }
- if ( $INC{"Filter/Util/Call.pm"} ) {
- eval { filter_del() };
- }
-}
-
-1;
-__END__
-
-=pod
-
-=head1 NAME
-
-encoding - allows you to write your script in non-ascii or non-utf8
-
-=head1 SYNOPSIS
-
- use encoding "greek"; # Perl like Greek to you?
- use encoding "euc-jp"; # Jperl!
-
- # or you can even do this if your shell supports your native encoding
-
- perl -Mencoding=latin2 -e '...' # Feeling centrally European?
- perl -Mencoding=euc-kr -e '...' # Or Korean?
-
- # more control
-
- # A simple euc-cn => utf-8 converter
- use encoding "euc-cn", STDOUT => "utf8"; while(<>){print};
-
- # "no encoding;" supported (but not scoped!)
- no encoding;
-
- # an alternate way, Filter
- use encoding "euc-jp", Filter=>1;
- # now you can use kanji identifiers -- in euc-jp!
-
- # switch on locale -
- # note that this probably means that unless you have a complete control
- # over the environments the application is ever going to be run, you should
- # NOT use the feature of encoding pragma allowing you to write your script
- # in any recognized encoding because changing locale settings will wreck
- # the script; you can of course still use the other features of the pragma.
- use encoding ':locale';
-
-=head1 ABSTRACT
-
-Let's start with a bit of history: Perl 5.6.0 introduced Unicode
-support. You could apply C<substr()> and regexes even to complex CJK
-characters -- so long as the script was written in UTF-8. But back
-then, text editors that supported UTF-8 were still rare and many users
-instead chose to write scripts in legacy encodings, giving up a whole
-new feature of Perl 5.6.
-
-Rewind to the future: starting from perl 5.8.0 with the B<encoding>
-pragma, you can write your script in any encoding you like (so long
-as the C<Encode> module supports it) and still enjoy Unicode support.
-This pragma achieves that by doing the following:
-
-=over
-
-=item *
-
-Internally converts all literals (C<q//,qq//,qr//,qw///, qx//>) from
-the encoding specified to utf8. In Perl 5.8.1 and later, literals in
-C<tr///> and C<DATA> pseudo-filehandle are also converted.
-
-=item *
-
-Changing PerlIO layers of C<STDIN> and C<STDOUT> to the encoding
- specified.
-
-=back
-
-=head2 Literal Conversions
-
-You can write code in EUC-JP as follows:
-
- my $Rakuda = "\xF1\xD1\xF1\xCC"; # Camel in Kanji
- #<-char-><-char-> # 4 octets
- s/\bCamel\b/$Rakuda/;
-
-And with C<use encoding "euc-jp"> in effect, it is the same thing as
-the code in UTF-8:
-
- my $Rakuda = "\x{99F1}\x{99DD}"; # two Unicode Characters
- s/\bCamel\b/$Rakuda/;
-
-=head2 PerlIO layers for C<STD(IN|OUT)>
-
-The B<encoding> pragma also modifies the filehandle layers of
-STDIN and STDOUT to the specified encoding. Therefore,
-
- use encoding "euc-jp";
- my $message = "Camel is the symbol of perl.\n";
- my $Rakuda = "\xF1\xD1\xF1\xCC"; # Camel in Kanji
- $message =~ s/\bCamel\b/$Rakuda/;
- print $message;
-
-Will print "\xF1\xD1\xF1\xCC is the symbol of perl.\n",
-not "\x{99F1}\x{99DD} is the symbol of perl.\n".
-
-You can override this by giving extra arguments; see below.
-
-=head2 Implicit upgrading for byte strings
-
-By default, if strings operating under byte semantics and strings
-with Unicode character data are concatenated, the new string will
-be created by decoding the byte strings as I<ISO 8859-1 (Latin-1)>.
-
-The B<encoding> pragma changes this to use the specified encoding
-instead. For example:
-
- use encoding 'utf8';
- my $string = chr(20000); # a Unicode string
- utf8::encode($string); # now it's a UTF-8 encoded byte string
- # concatenate with another Unicode string
- print length($string . chr(20000));
-
-Will print C<2>, because C<$string> is upgraded as UTF-8. Without
-C<use encoding 'utf8';>, it will print C<4> instead, since C<$string>
-is three octets when interpreted as Latin-1.
-
-=head2 Side effects
-
-If the C<encoding> pragma is in scope then the lengths returned are
-calculated from the length of C<$/> in Unicode characters, which is not
-always the same as the length of C<$/> in the native encoding.
-
-This pragma affects utf8::upgrade, but not utf8::downgrade.
-
-=head1 FEATURES THAT REQUIRE 5.8.1
-
-Some of the features offered by this pragma requires perl 5.8.1. Most
-of these are done by Inaba Hiroto. Any other features and changes
-are good for 5.8.0.
-
-=over
-
-=item "NON-EUC" doublebyte encodings
-
-Because perl needs to parse script before applying this pragma, such
-encodings as Shift_JIS and Big-5 that may contain '\' (BACKSLASH;
-\x5c) in the second byte fails because the second byte may
-accidentally escape the quoting character that follows. Perl 5.8.1
-or later fixes this problem.
-
-=item tr//
-
-C<tr//> was overlooked by Perl 5 porters when they released perl 5.8.0
-See the section below for details.
-
-=item DATA pseudo-filehandle
-
-Another feature that was overlooked was C<DATA>.
-
-=back
-
-=head1 USAGE
-
-=over 4
-
-=item use encoding [I<ENCNAME>] ;
-
-Sets the script encoding to I<ENCNAME>. And unless ${^UNICODE}
-exists and non-zero, PerlIO layers of STDIN and STDOUT are set to
-":encoding(I<ENCNAME>)".
-
-Note that STDERR WILL NOT be changed.
-
-Also note that non-STD file handles remain unaffected. Use C<use
-open> or C<binmode> to change layers of those.
-
-If no encoding is specified, the environment variable L<PERL_ENCODING>
-is consulted. If no encoding can be found, the error C<Unknown encoding
-'I<ENCNAME>'> will be thrown.
-
-=item use encoding I<ENCNAME> [ STDIN =E<gt> I<ENCNAME_IN> ...] ;
-
-You can also individually set encodings of STDIN and STDOUT via the
-C<< STDIN => I<ENCNAME> >> form. In this case, you cannot omit the
-first I<ENCNAME>. C<< STDIN => undef >> turns the IO transcoding
-completely off.
-
-When ${^UNICODE} exists and non-zero, these options will completely
-ignored. ${^UNICODE} is a variable introduced in perl 5.8.1. See
-L<perlrun> see L<perlvar/"${^UNICODE}"> and L<perlrun/"-C"> for
-details (perl 5.8.1 and later).
-
-=item use encoding I<ENCNAME> Filter=E<gt>1;
-
-This turns the encoding pragma into a source filter. While the
-default approach just decodes interpolated literals (in qq() and
-qr()), this will apply a source filter to the entire source code. See
-L</"The Filter Option"> below for details.
-
-=item no encoding;
-
-Unsets the script encoding. The layers of STDIN, STDOUT are
-reset to ":raw" (the default unprocessed raw stream of bytes).
-
-=back
-
-=head1 The Filter Option
-
-The magic of C<use encoding> is not applied to the names of
-identifiers. In order to make C<${"\x{4eba}"}++> ($human++, where human
-is a single Han ideograph) work, you still need to write your script
-in UTF-8 -- or use a source filter. That's what 'Filter=>1' does.
-
-What does this mean? Your source code behaves as if it is written in
-UTF-8 with 'use utf8' in effect. So even if your editor only supports
-Shift_JIS, for example, you can still try examples in Chapter 15 of
-C<Programming Perl, 3rd Ed.>. For instance, you can use UTF-8
-identifiers.
-
-This option is significantly slower and (as of this writing) non-ASCII
-identifiers are not very stable WITHOUT this option and with the
-source code written in UTF-8.
-
-=head2 Filter-related changes at Encode version 1.87
-
-=over
-
-=item *
-
-The Filter option now sets STDIN and STDOUT like non-filter options.
-And C<< STDIN=>I<ENCODING> >> and C<< STDOUT=>I<ENCODING> >> work like
-non-filter version.
-
-=item *
-
-C<use utf8> is implicitly declared so you no longer have to C<use
-utf8> to C<${"\x{4eba}"}++>.
-
-=back
-
-=head1 CAVEATS
-
-=head2 NOT SCOPED
-
-The pragma is a per script, not a per block lexical. Only the last
-C<use encoding> or C<no encoding> matters, and it affects
-B<the whole script>. However, the <no encoding> pragma is supported and
-B<use encoding> can appear as many times as you want in a given script.
-The multiple use of this pragma is discouraged.
-
-By the same reason, the use this pragma inside modules is also
-discouraged (though not as strongly discouraged as the case above.
-See below).
-
-If you still have to write a module with this pragma, be very careful
-of the load order. See the codes below;
-
- # called module
- package Module_IN_BAR;
- use encoding "bar";
- # stuff in "bar" encoding here
- 1;
-
- # caller script
- use encoding "foo"
- use Module_IN_BAR;
- # surprise! use encoding "bar" is in effect.
-
-The best way to avoid this oddity is to use this pragma RIGHT AFTER
-other modules are loaded. i.e.
-
- use Module_IN_BAR;
- use encoding "foo";
-
-=head2 DO NOT MIX MULTIPLE ENCODINGS
-
-Notice that only literals (string or regular expression) having only
-legacy code points are affected: if you mix data like this
-
- \xDF\x{100}
-
-the data is assumed to be in (Latin 1 and) Unicode, not in your native
-encoding. In other words, this will match in "greek":
-
- "\xDF" =~ /\x{3af}/
-
-but this will not
-
- "\xDF\x{100}" =~ /\x{3af}\x{100}/
-
-since the C<\xDF> (ISO 8859-7 GREEK SMALL LETTER IOTA WITH TONOS) on
-the left will B<not> be upgraded to C<\x{3af}> (Unicode GREEK SMALL
-LETTER IOTA WITH TONOS) because of the C<\x{100}> on the left. You
-should not be mixing your legacy data and Unicode in the same string.
-
-This pragma also affects encoding of the 0x80..0xFF code point range:
-normally characters in that range are left as eight-bit bytes (unless
-they are combined with characters with code points 0x100 or larger,
-in which case all characters need to become UTF-8 encoded), but if
-the C<encoding> pragma is present, even the 0x80..0xFF range always
-gets UTF-8 encoded.
-
-After all, the best thing about this pragma is that you don't have to
-resort to \x{....} just to spell your name in a native encoding.
-So feel free to put your strings in your encoding in quotes and
-regexes.
-
-=head2 tr/// with ranges
-
-The B<encoding> pragma works by decoding string literals in
-C<q//,qq//,qr//,qw///, qx//> and so forth. In perl 5.8.0, this
-does not apply to C<tr///>. Therefore,
-
- use encoding 'euc-jp';
- #....
- $kana =~ tr/\xA4\xA1-\xA4\xF3/\xA5\xA1-\xA5\xF3/;
- # -------- -------- -------- --------
-
-Does not work as
-
- $kana =~ tr/\x{3041}-\x{3093}/\x{30a1}-\x{30f3}/;
-
-=over
-
-=item Legend of characters above
-
- utf8 euc-jp charnames::viacode()
- -----------------------------------------
- \x{3041} \xA4\xA1 HIRAGANA LETTER SMALL A
- \x{3093} \xA4\xF3 HIRAGANA LETTER N
- \x{30a1} \xA5\xA1 KATAKANA LETTER SMALL A
- \x{30f3} \xA5\xF3 KATAKANA LETTER N
-
-=back
-
-This counterintuitive behavior has been fixed in perl 5.8.1.
-
-=head3 workaround to tr///;
-
-In perl 5.8.0, you can work around as follows;
-
- use encoding 'euc-jp';
- # ....
- eval qq{ \$kana =~ tr/\xA4\xA1-\xA4\xF3/\xA5\xA1-\xA5\xF3/ };
-
-Note the C<tr//> expression is surrounded by C<qq{}>. The idea behind
-is the same as classic idiom that makes C<tr///> 'interpolate'.
-
- tr/$from/$to/; # wrong!
- eval qq{ tr/$from/$to/ }; # workaround.
-
-Nevertheless, in case of B<encoding> pragma even C<q//> is affected so
-C<tr///> not being decoded was obviously against the will of Perl5
-Porters so it has been fixed in Perl 5.8.1 or later.
-
-=head1 EXAMPLE - Greekperl
-
- use encoding "iso 8859-7";
-
- # \xDF in ISO 8859-7 (Greek) is \x{3af} in Unicode.
-
- $a = "\xDF";
- $b = "\x{100}";
-
- printf "%#x\n", ord($a); # will print 0x3af, not 0xdf
-
- $c = $a . $b;
-
- # $c will be "\x{3af}\x{100}", not "\x{df}\x{100}".
-
- # chr() is affected, and ...
-
- print "mega\n" if ord(chr(0xdf)) == 0x3af;
-
- # ... ord() is affected by the encoding pragma ...
-
- print "tera\n" if ord(pack("C", 0xdf)) == 0x3af;
-
- # ... as are eq and cmp ...
-
- print "peta\n" if "\x{3af}" eq pack("C", 0xdf);
- print "exa\n" if "\x{3af}" cmp pack("C", 0xdf) == 0;
-
- # ... but pack/unpack C are not affected, in case you still
- # want to go back to your native encoding
-
- print "zetta\n" if unpack("C", (pack("C", 0xdf))) == 0xdf;
-
-=head1 KNOWN PROBLEMS
-
-=over
-
-=item literals in regex that are longer than 127 bytes
-
-For native multibyte encodings (either fixed or variable length),
-the current implementation of the regular expressions may introduce
-recoding errors for regular expression literals longer than 127 bytes.
-
-=item EBCDIC
-
-The encoding pragma is not supported on EBCDIC platforms.
-(Porters who are willing and able to remove this limitation are
-welcome.)
-
-=item format
-
-This pragma doesn't work well with format because PerlIO does not
-get along very well with it. When format contains non-ascii
-characters it prints funny or gets "wide character warnings".
-To understand it, try the code below.
-
- # Save this one in utf8
- # replace *non-ascii* with a non-ascii string
- my $camel;
- format STDOUT =
- *non-ascii*@>>>>>>>
- $camel
- .
- $camel = "*non-ascii*";
- binmode(STDOUT=>':encoding(utf8)'); # bang!
- write; # funny
- print $camel, "\n"; # fine
-
-Without binmode this happens to work but without binmode, print()
-fails instead of write().
-
-At any rate, the very use of format is questionable when it comes to
-unicode characters since you have to consider such things as character
-width (i.e. double-width for ideographs) and directions (i.e. BIDI for
-Arabic and Hebrew).
-
-=item Thread safety
-
-C<use encoding ...> is not thread-safe (i.e., do not use in threaded
-applications).
-
-=back
-
-=head2 The Logic of :locale
-
-The logic of C<:locale> is as follows:
-
-=over 4
-
-=item 1.
-
-If the platform supports the langinfo(CODESET) interface, the codeset
-returned is used as the default encoding for the open pragma.
-
-=item 2.
-
-If 1. didn't work but we are under the locale pragma, the environment
-variables LC_ALL and LANG (in that order) are matched for encodings
-(the part after C<.>, if any), and if any found, that is used
-as the default encoding for the open pragma.
-
-=item 3.
-
-If 1. and 2. didn't work, the environment variables LC_ALL and LANG
-(in that order) are matched for anything looking like UTF-8, and if
-any found, C<:utf8> is used as the default encoding for the open
-pragma.
-
-=back
-
-If your locale environment variables (LC_ALL, LC_CTYPE, LANG)
-contain the strings 'UTF-8' or 'UTF8' (case-insensitive matching),
-the default encoding of your STDIN, STDOUT, and STDERR, and of
-B<any subsequent file open>, is UTF-8.
-
-=head1 HISTORY
-
-This pragma first appeared in Perl 5.8.0. For features that require
-5.8.1 and better, see above.
-
-The C<:locale> subpragma was implemented in 2.01, or Perl 5.8.6.
-
-=head1 SEE ALSO
-
-L<perlunicode>, L<Encode>, L<open>, L<Filter::Util::Call>,
-
-Ch. 15 of C<Programming Perl (3rd Edition)>
-by Larry Wall, Tom Christiansen, Jon Orwant;
-O'Reilly & Associates; ISBN 0-596-00027-8
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/lib.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/lib.pm
deleted file mode 100644
index 89a96c2603f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/lib.pm
+++ /dev/null
@@ -1,236 +0,0 @@
-package lib;
-
-# THIS FILE IS AUTOMATICALLY GENERATED FROM lib_pm.PL.
-# ANY CHANGES TO THIS FILE WILL BE OVERWRITTEN BY THE NEXT PERL BUILD.
-
-use Config;
-
-use strict;
-
-my $archname = $Config{archname};
-my $version = $Config{version};
-my @inc_version_list = reverse split / /, $Config{inc_version_list};
-
-
-our @ORIG_INC = @INC; # take a handy copy of 'original' value
-our $VERSION = '0.57';
-my $Is_MacOS = $^O eq 'MacOS';
-my $Mac_FS;
-if ($Is_MacOS) {
- require File::Spec;
- $Mac_FS = eval { require Mac::FileSpec::Unixish };
-}
-
-sub import {
- shift;
-
- my %names;
- foreach (reverse @_) {
- my $path = $_; # we'll be modifying it, so break the alias
- if ($path eq '') {
- require Carp;
- Carp::carp("Empty compile time value given to use lib");
- }
-
- $path = _nativize($path);
-
- if ($path !~ /\.par$/i && -e $path && ! -d _) {
- require Carp;
- Carp::carp("Parameter to use lib must be directory, not file");
- }
- unshift(@INC, $path);
- # Add any previous version directories we found at configure time
- foreach my $incver (@inc_version_list)
- {
- my $dir = $Is_MacOS
- ? File::Spec->catdir( $path, $incver )
- : "$path/$incver";
- unshift(@INC, $dir) if -d $dir;
- }
- # Put a corresponding archlib directory in front of $path if it
- # looks like $path has an archlib directory below it.
- my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir)
- = _get_dirs($path);
- unshift(@INC, $arch_dir) if -d $arch_auto_dir;
- unshift(@INC, $version_dir) if -d $version_dir;
- unshift(@INC, $version_arch_dir) if -d $version_arch_dir;
- }
-
- # remove trailing duplicates
- @INC = grep { ++$names{$_} == 1 } @INC;
- return;
-}
-
-
-sub unimport {
- shift;
-
- my %names;
- foreach (@_) {
- my $path = _nativize($_);
-
- my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir)
- = _get_dirs($path);
- ++$names{$path};
- ++$names{$arch_dir} if -d $arch_auto_dir;
- ++$names{$version_dir} if -d $version_dir;
- ++$names{$version_arch_dir} if -d $version_arch_dir;
- }
-
- # Remove ALL instances of each named directory.
- @INC = grep { !exists $names{$_} } @INC;
- return;
-}
-
-sub _get_dirs {
- my($dir) = @_;
- my($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
-
- # we could use this for all platforms in the future, but leave it
- # Mac-only for now, until there is more time for testing it.
- if ($Is_MacOS) {
- $arch_auto_dir = File::Spec->catdir( $dir, $archname, 'auto' );
- $arch_dir = File::Spec->catdir( $dir, $archname, );
- $version_dir = File::Spec->catdir( $dir, $version );
- $version_arch_dir = File::Spec->catdir( $dir, $version, $archname );
- } else {
- $arch_auto_dir = "$dir/$archname/auto";
- $arch_dir = "$dir/$archname";
- $version_dir = "$dir/$version";
- $version_arch_dir = "$dir/$version/$archname";
- }
- return($arch_auto_dir, $arch_dir, $version_dir, $version_arch_dir);
-}
-
-sub _nativize {
- my($dir) = @_;
-
- if ($Is_MacOS && $Mac_FS && ! -d $dir) {
- $dir = Mac::FileSpec::Unixish::nativize($dir);
- $dir .= ":" unless $dir =~ /:$/;
- }
-
- return $dir;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-lib - manipulate @INC at compile time
-
-=head1 SYNOPSIS
-
- use lib LIST;
-
- no lib LIST;
-
-=head1 DESCRIPTION
-
-This is a small simple module which simplifies the manipulation of @INC
-at compile time.
-
-It is typically used to add extra directories to perl's search path so
-that later C<use> or C<require> statements will find modules which are
-not located on perl's default search path.
-
-=head2 Adding directories to @INC
-
-The parameters to C<use lib> are added to the start of the perl search
-path. Saying
-
- use lib LIST;
-
-is I<almost> the same as saying
-
- BEGIN { unshift(@INC, LIST) }
-
-For each directory in LIST (called $dir here) the lib module also
-checks to see if a directory called $dir/$archname/auto exists.
-If so the $dir/$archname directory is assumed to be a corresponding
-architecture specific directory and is added to @INC in front of $dir.
-
-The current value of C<$archname> can be found with this command:
-
- perl -V:archname
-
-To avoid memory leaks, all trailing duplicate entries in @INC are
-removed.
-
-=head2 Deleting directories from @INC
-
-You should normally only add directories to @INC. If you need to
-delete directories from @INC take care to only delete those which you
-added yourself or which you are certain are not needed by other modules
-in your script. Other modules may have added directories which they
-need for correct operation.
-
-The C<no lib> statement deletes all instances of each named directory
-from @INC.
-
-For each directory in LIST (called $dir here) the lib module also
-checks to see if a directory called $dir/$archname/auto exists.
-If so the $dir/$archname directory is assumed to be a corresponding
-architecture specific directory and is also deleted from @INC.
-
-=head2 Restoring original @INC
-
-When the lib module is first loaded it records the current value of @INC
-in an array C<@lib::ORIG_INC>. To restore @INC to that value you
-can say
-
- @INC = @lib::ORIG_INC;
-
-=head1 CAVEATS
-
-In order to keep lib.pm small and simple, it only works with Unix
-filepaths. This doesn't mean it only works on Unix, but non-Unix
-users must first translate their file paths to Unix conventions.
-
- # VMS users wanting to put [.stuff.moo] into
- # their @INC would write
- use lib 'stuff/moo';
-
-=head1 NOTES
-
-In the future, this module will likely use File::Spec for determining
-paths, as it does now for Mac OS (where Unix-style or Mac-style paths
-work, and Unix-style paths are converted properly to Mac-style paths
-before being added to @INC).
-
-If you try to add a file to @INC as follows:
-
- use lib 'this_is_a_file.txt';
-
-C<lib> will warn about this. The sole exceptions are files with the
-C<.par> extension which are intended to be used as libraries.
-
-=head1 SEE ALSO
-
-FindBin - optional module which deals with paths relative to the source file.
-
-PAR - optional module which can treat C<.par> files as Perl libraries.
-
-=head1 AUTHOR
-
-Tim Bunce, 2nd June 1995.
-
-C<lib> is maintained by the perl5-porters. Please direct
-any questions to the canonical mailing list. Anything that
-is applicable to the CPAN release can be sent to its maintainer,
-though.
-
-Maintainer: The Perl5-Porters <perl5-porters@perl.org>
-
-Maintainer of the CPAN release: Steffen Mueller <smueller@cpan.org>
-
-=head1 COPYRIGHT AND LICENSE
-
-This package has been part of the perl core since perl 5.001.
-It has been released separately to CPAN so older installations
-can benefit from bug fixes.
-
-This package has the same copyright and license as the perl core.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ops.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ops.pm
deleted file mode 100644
index 78ec4426794..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/ops.pm
+++ /dev/null
@@ -1,47 +0,0 @@
-package ops;
-
-our $VERSION = '1.01';
-
-use Opcode qw(opmask_add opset invert_opset);
-
-sub import {
- shift;
- # Not that unimport is the preferred form since import's don't
- # accumulate well owing to the 'only ever add opmask' rule.
- # E.g., perl -Mops=:set1 -Mops=:setb is unlikely to do as expected.
- opmask_add(invert_opset opset(@_)) if @_;
-}
-
-sub unimport {
- shift;
- opmask_add(opset(@_)) if @_;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-ops - Perl pragma to restrict unsafe operations when compiling
-
-=head1 SYNOPSIS
-
- perl -Mops=:default ... # only allow reasonably safe operations
-
- perl -M-ops=system ... # disable the 'system' opcode
-
-=head1 DESCRIPTION
-
-Since the C<ops> pragma currently has an irreversible global effect, it is
-only of significant practical use with the C<-M> option on the command line.
-
-See the L<Opcode> module for information about opcodes, optags, opmasks
-and important information about safety.
-
-=head1 SEE ALSO
-
-L<Opcode>, L<Safe>, L<perlrun>
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/perllocal.pod b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/perllocal.pod
deleted file mode 100644
index 96f7701b1c1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/perllocal.pod
+++ /dev/null
@@ -1,1034 +0,0 @@
-=head2 Thu Jul 3 16:21:38 2008: C<Module> L<Pod::Escapes|Pod::Escapes>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.04>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:21:42 2008: C<Module> L<Pod::Simple|Pod::Simple>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 3.05>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:21:46 2008: C<Module> L<Test::Pod|Test::Pod>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.26>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:21:49 2008: C<Module> L<Devel::Symdump|Devel::Symdump>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.08>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:21:51 2008: C<Module> L<Pod::Coverage|Pod::Coverage>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.19>
-
-=item *
-
-C<EXE_FILES: bin/pod_cover>
-
-=back
-
-=head2 Thu Jul 3 16:21:54 2008: C<Module> L<Test::Pod::Coverage|Test::Pod::Coverage>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.08>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:08 2008: C<Module> L<Compress::Raw::Bzip2|Compress::Raw::Bzip2>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.011>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:11 2008: C<Module> L<IO::Compress::Bzip2|IO::Compress::Bzip2>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.011>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:18 2008: C<Module> L<Compress::Bzip2|Compress::Bzip2>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.09>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:22 2008: C<Module> L<IO::String|IO::String>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.08>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:24 2008: C<Module> L<File::Temp|File::Temp>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.20>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:28 2008: C<Module> L<Archive::Zip|Archive::Zip>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.23>
-
-=item *
-
-C<EXE_FILES: bin/crc32>
-
-=back
-
-=head2 Thu Jul 3 16:22:32 2008: C<Module> L<Math::BigInt::FastCalc|Math::BigInt::FastCalc>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.19>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:36 2008: C<Module> L<Term::ReadKey|Term::ReadKey>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.30>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:38 2008: C<Module> L<Term::ReadLine|Term::ReadLine>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.0302>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:44 2008: C<Module> L<Term::ReadLine::Gnu|Term::ReadLine::Gnu>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.17>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:47 2008: C<Module> L<XML::NamespaceSupport|XML::NamespaceSupport>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.09>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:52 2008: C<Module> L<XML::SAX|XML::SAX>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.16>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:22:58 2008: C<Module> L<XML::LibXML::Common|XML::LibXML::Common>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.13>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:15 2008: C<Module> L<XML::LibXML|XML::LibXML>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.66>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:23 2008: C<Module> L<XML::Parser|XML::Parser>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.36>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:30 2008: C<Module> L<Proc::ProcessTable|Proc::ProcessTable>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.42>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:34 2008: C<Module> L<YAML|YAML>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.66>
-
-=item *
-
-C<EXE_FILES: ysh>
-
-=back
-
-=head2 Thu Jul 3 16:23:37 2008: C<Module> L<Config::Tiny|Config::Tiny>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.12>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:40 2008: C<Module> L<File::Copy::Recursive|File::Copy::Recursive>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.36>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:43 2008: C<Module> L<IPC::Run3|IPC::Run3>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.040>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:46 2008: C<Module> L<Probe::Perl|Probe::Perl>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.01>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:50 2008: C<Module> L<Cwd|Cwd>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 3.2701>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:53 2008: C<Module> L<Tee|Tee>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.13>
-
-=item *
-
-C<EXE_FILES: scripts/ptee>
-
-=back
-
-=head2 Thu Jul 3 16:23:56 2008: C<Module> L<IO::CaptureOutput|IO::CaptureOutput>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.0801>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:23:59 2008: C<Module> L<File::pushd|File::pushd>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.00>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:03 2008: C<Module> L<File::HomeDir|File::HomeDir>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.80>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:08 2008: C<Module> L<Digest::SHA|Digest::SHA>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 5.47>
-
-=item *
-
-C<EXE_FILES: shasum>
-
-=back
-
-=head2 Thu Jul 3 16:24:12 2008: C<Module> L<Module::Signature|Module::Signature>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.55>
-
-=item *
-
-C<EXE_FILES: script/cpansign>
-
-=back
-
-=head2 Thu Jul 3 16:24:15 2008: C<Module> L<URI|URI>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.36>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:18 2008: C<Module> L<HTML::Tagset|HTML::Tagset>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 3.20>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:22 2008: C<Module> L<HTML::Parser|HTML::Parser>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 3.56>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:28 2008: C<Module> L<LWP|LWP>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 5.813>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:24:34 2008: C<Module> L<CPAN|CPAN>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.9205>
-
-=item *
-
-C<EXE_FILES: scripts/cpan>
-
-=back
-
-=head2 Thu Jul 3 16:25:39 2008: C<Module> L<Net::DNS|Net::DNS>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.63>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:25:43 2008: C<Module> L<Test::Reporter|Test::Reporter>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.4002>
-
-=item *
-
-C<EXE_FILES: bin/cpantest>
-
-=back
-
-=head2 Thu Jul 3 16:25:47 2008: C<Module> L<CPAN::Reporter|CPAN::Reporter>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.13>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:25:53 2008: C<Module> L<Net::Telnet|Net::Telnet>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 3.03>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:25:56 2008: C<Module> L<Module::ScanDeps|Module::ScanDeps>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.82>
-
-=item *
-
-C<EXE_FILES: script/scandeps.pl>
-
-=back
-
-=head2 Thu Jul 3 16:25:59 2008: C<Module> L<PAR::Dist|PAR::Dist>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 0.29>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:26:06 2008: C<Module> L<PadWalker|PadWalker>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 1.7>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
-=head2 Thu Jul 3 16:26:09 2008: C<Module> L<Alias|Alias>
-
-=over 4
-
-=item *
-
-C<installed into: /usr/lib/perl5/vendor_perl/5.10>
-
-=item *
-
-C<LINKTYPE: dynamic>
-
-=item *
-
-C<VERSION: 2.32>
-
-=item *
-
-C<EXE_FILES: >
-
-=back
-
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/re.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/re.pm
deleted file mode 100644
index 0cf5376e866..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/re.pm
+++ /dev/null
@@ -1,504 +0,0 @@
-package re;
-
-# pragma for controlling the regex engine
-use strict;
-use warnings;
-
-our $VERSION = "0.08";
-our @ISA = qw(Exporter);
-our @EXPORT_OK = qw(is_regexp regexp_pattern regmust
- regname regnames regnames_count);
-our %EXPORT_OK = map { $_ => 1 } @EXPORT_OK;
-
-# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
-#
-# If you modify these values see comment below!
-
-my %bitmask = (
- taint => 0x00100000, # HINT_RE_TAINT
- eval => 0x00200000, # HINT_RE_EVAL
-);
-
-# - File::Basename contains a literal for 'taint' as a fallback. If
-# taint is changed here, File::Basename must be updated as well.
-#
-# - ExtUtils::ParseXS uses a hardcoded
-# BEGIN { $^H |= 0x00200000 }
-# in it to allow re.xs to be built. So if 'eval' is changed here then
-# ExtUtils::ParseXS must be changed as well.
-#
-# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
-
-sub setcolor {
- eval { # Ignore errors
- require Term::Cap;
-
- my $terminal = Tgetent Term::Cap ({OSPEED => 9600}); # Avoid warning.
- my $props = $ENV{PERL_RE_TC} || 'md,me,so,se,us,ue';
- my @props = split /,/, $props;
- my $colors = join "\t", map {$terminal->Tputs($_,1)} @props;
-
- $colors =~ s/\0//g;
- $ENV{PERL_RE_COLORS} = $colors;
- };
- if ($@) {
- $ENV{PERL_RE_COLORS} ||= qq'\t\t> <\t> <\t\t';
- }
-
-}
-
-my %flags = (
- COMPILE => 0x0000FF,
- PARSE => 0x000001,
- OPTIMISE => 0x000002,
- TRIEC => 0x000004,
- DUMP => 0x000008,
- FLAGS => 0x000010,
-
- EXECUTE => 0x00FF00,
- INTUIT => 0x000100,
- MATCH => 0x000200,
- TRIEE => 0x000400,
-
- EXTRA => 0xFF0000,
- TRIEM => 0x010000,
- OFFSETS => 0x020000,
- OFFSETSDBG => 0x040000,
- STATE => 0x080000,
- OPTIMISEM => 0x100000,
- STACK => 0x280000,
- BUFFERS => 0x400000,
-);
-$flags{ALL} = -1 & ~($flags{OFFSETS}|$flags{OFFSETSDBG}|$flags{BUFFERS});
-$flags{All} = $flags{all} = $flags{DUMP} | $flags{EXECUTE};
-$flags{Extra} = $flags{EXECUTE} | $flags{COMPILE};
-$flags{More} = $flags{MORE} = $flags{All} | $flags{TRIEC} | $flags{TRIEM} | $flags{STATE};
-$flags{State} = $flags{DUMP} | $flags{EXECUTE} | $flags{STATE};
-$flags{TRIE} = $flags{DUMP} | $flags{EXECUTE} | $flags{TRIEC};
-
-my $installed;
-my $installed_error;
-
-sub _do_install {
- if ( ! defined($installed) ) {
- require XSLoader;
- $installed = eval { XSLoader::load('re', $VERSION) } || 0;
- $installed_error = $@;
- }
-}
-
-sub _load_unload {
- my ($on)= @_;
- if ($on) {
- _do_install();
- if ( ! $installed ) {
- die "'re' not installed!? ($installed_error)";
- } else {
- # We call install() every time, as if we didn't, we wouldn't
- # "see" any changes to the color environment var since
- # the last time it was called.
-
- # install() returns an integer, which if casted properly
- # in C resolves to a structure containing the regex
- # hooks. Setting it to a random integer will guarantee
- # segfaults.
- $^H{regcomp} = install();
- }
- } else {
- delete $^H{regcomp};
- }
-}
-
-sub bits {
- my $on = shift;
- my $bits = 0;
- unless (@_) {
- require Carp;
- Carp::carp("Useless use of \"re\" pragma");
- }
- foreach my $idx (0..$#_){
- my $s=$_[$idx];
- if ($s eq 'Debug' or $s eq 'Debugcolor') {
- setcolor() if $s =~/color/i;
- ${^RE_DEBUG_FLAGS} = 0 unless defined ${^RE_DEBUG_FLAGS};
- for my $idx ($idx+1..$#_) {
- if ($flags{$_[$idx]}) {
- if ($on) {
- ${^RE_DEBUG_FLAGS} |= $flags{$_[$idx]};
- } else {
- ${^RE_DEBUG_FLAGS} &= ~ $flags{$_[$idx]};
- }
- } else {
- require Carp;
- Carp::carp("Unknown \"re\" Debug flag '$_[$idx]', possible flags: ",
- join(", ",sort keys %flags ) );
- }
- }
- _load_unload($on ? 1 : ${^RE_DEBUG_FLAGS});
- last;
- } elsif ($s eq 'debug' or $s eq 'debugcolor') {
- setcolor() if $s =~/color/i;
- _load_unload($on);
- last;
- } elsif (exists $bitmask{$s}) {
- $bits |= $bitmask{$s};
- } elsif ($EXPORT_OK{$s}) {
- _do_install();
- require Exporter;
- re->export_to_level(2, 're', $s);
- } else {
- require Carp;
- Carp::carp("Unknown \"re\" subpragma '$s' (known ones are: ",
- join(', ', map {qq('$_')} 'debug', 'debugcolor', sort keys %bitmask),
- ")");
- }
- }
- $bits;
-}
-
-sub import {
- shift;
- $^H |= bits(1, @_);
-}
-
-sub unimport {
- shift;
- $^H &= ~ bits(0, @_);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-re - Perl pragma to alter regular expression behaviour
-
-=head1 SYNOPSIS
-
- use re 'taint';
- ($x) = ($^X =~ /^(.*)$/s); # $x is tainted here
-
- $pat = '(?{ $foo = 1 })';
- use re 'eval';
- /foo${pat}bar/; # won't fail (when not under -T switch)
-
- {
- no re 'taint'; # the default
- ($x) = ($^X =~ /^(.*)$/s); # $x is not tainted here
-
- no re 'eval'; # the default
- /foo${pat}bar/; # disallowed (with or without -T switch)
- }
-
- use re 'debug'; # output debugging info during
- /^(.*)$/s; # compile and run time
-
-
- use re 'debugcolor'; # same as 'debug', but with colored output
- ...
-
- use re qw(Debug All); # Finer tuned debugging options.
- use re qw(Debug More);
- no re qw(Debug ALL); # Turn of all re debugging in this scope
-
- use re qw(is_regexp regexp_pattern); # import utility functions
- my ($pat,$mods)=regexp_pattern(qr/foo/i);
- if (is_regexp($obj)) {
- print "Got regexp: ",
- scalar regexp_pattern($obj); # just as perl would stringify it
- } # but no hassle with blessed re's.
-
-(We use $^X in these examples because it's tainted by default.)
-
-=head1 DESCRIPTION
-
-=head2 'taint' mode
-
-When C<use re 'taint'> is in effect, and a tainted string is the target
-of a regex, the regex memories (or values returned by the m// operator
-in list context) are tainted. This feature is useful when regex operations
-on tainted data aren't meant to extract safe substrings, but to perform
-other transformations.
-
-=head2 'eval' mode
-
-When C<use re 'eval'> is in effect, a regex is allowed to contain
-C<(?{ ... })> zero-width assertions even if regular expression contains
-variable interpolation. That is normally disallowed, since it is a
-potential security risk. Note that this pragma is ignored when the regular
-expression is obtained from tainted data, i.e. evaluation is always
-disallowed with tainted regular expressions. See L<perlre/(?{ code })>.
-
-For the purpose of this pragma, interpolation of precompiled regular
-expressions (i.e., the result of C<qr//>) is I<not> considered variable
-interpolation. Thus:
-
- /foo${pat}bar/
-
-I<is> allowed if $pat is a precompiled regular expression, even
-if $pat contains C<(?{ ... })> assertions.
-
-=head2 'debug' mode
-
-When C<use re 'debug'> is in effect, perl emits debugging messages when
-compiling and using regular expressions. The output is the same as that
-obtained by running a C<-DDEBUGGING>-enabled perl interpreter with the
-B<-Dr> switch. It may be quite voluminous depending on the complexity
-of the match. Using C<debugcolor> instead of C<debug> enables a
-form of output that can be used to get a colorful display on terminals
-that understand termcap color sequences. Set C<$ENV{PERL_RE_TC}> to a
-comma-separated list of C<termcap> properties to use for highlighting
-strings on/off, pre-point part on/off.
-See L<perldebug/"Debugging regular expressions"> for additional info.
-
-As of 5.9.5 the directive C<use re 'debug'> and its equivalents are
-lexically scoped, as the other directives are. However they have both
-compile-time and run-time effects.
-
-See L<perlmodlib/Pragmatic Modules>.
-
-=head2 'Debug' mode
-
-Similarly C<use re 'Debug'> produces debugging output, the difference
-being that it allows the fine tuning of what debugging output will be
-emitted. Options are divided into three groups, those related to
-compilation, those related to execution and those related to special
-purposes. The options are as follows:
-
-=over 4
-
-=item Compile related options
-
-=over 4
-
-=item COMPILE
-
-Turns on all compile related debug options.
-
-=item PARSE
-
-Turns on debug output related to the process of parsing the pattern.
-
-=item OPTIMISE
-
-Enables output related to the optimisation phase of compilation.
-
-=item TRIEC
-
-Detailed info about trie compilation.
-
-=item DUMP
-
-Dump the final program out after it is compiled and optimised.
-
-=back
-
-=item Execute related options
-
-=over 4
-
-=item EXECUTE
-
-Turns on all execute related debug options.
-
-=item MATCH
-
-Turns on debugging of the main matching loop.
-
-=item TRIEE
-
-Extra debugging of how tries execute.
-
-=item INTUIT
-
-Enable debugging of start point optimisations.
-
-=back
-
-=item Extra debugging options
-
-=over 4
-
-=item EXTRA
-
-Turns on all "extra" debugging options.
-
-=item BUFFERS
-
-Enable debugging the capture buffer storage during match. Warning,
-this can potentially produce extremely large output.
-
-=item TRIEM
-
-Enable enhanced TRIE debugging. Enhances both TRIEE
-and TRIEC.
-
-=item STATE
-
-Enable debugging of states in the engine.
-
-=item STACK
-
-Enable debugging of the recursion stack in the engine. Enabling
-or disabling this option automatically does the same for debugging
-states as well. This output from this can be quite large.
-
-=item OPTIMISEM
-
-Enable enhanced optimisation debugging and start point optimisations.
-Probably not useful except when debugging the regex engine itself.
-
-=item OFFSETS
-
-Dump offset information. This can be used to see how regops correlate
-to the pattern. Output format is
-
- NODENUM:POSITION[LENGTH]
-
-Where 1 is the position of the first char in the string. Note that position
-can be 0, or larger than the actual length of the pattern, likewise length
-can be zero.
-
-=item OFFSETSDBG
-
-Enable debugging of offsets information. This emits copious
-amounts of trace information and doesn't mesh well with other
-debug options.
-
-Almost definitely only useful to people hacking
-on the offsets part of the debug engine.
-
-=back
-
-=item Other useful flags
-
-These are useful shortcuts to save on the typing.
-
-=over 4
-
-=item ALL
-
-Enable all options at once except OFFSETS, OFFSETSDBG and BUFFERS
-
-=item All
-
-Enable DUMP and all execute options. Equivalent to:
-
- use re 'debug';
-
-=item MORE
-
-=item More
-
-Enable TRIEM and all execute compile and execute options.
-
-=back
-
-=back
-
-As of 5.9.5 the directive C<use re 'debug'> and its equivalents are
-lexically scoped, as the other directives are. However they have both
-compile-time and run-time effects.
-
-=head2 Exportable Functions
-
-As of perl 5.9.5 're' debug contains a number of utility functions that
-may be optionally exported into the caller's namespace. They are listed
-below.
-
-=over 4
-
-=item is_regexp($ref)
-
-Returns true if the argument is a compiled regular expression as returned
-by C<qr//>, false if it is not.
-
-This function will not be confused by overloading or blessing. In
-internals terms, this extracts the regexp pointer out of the
-PERL_MAGIC_qr structure so it it cannot be fooled.
-
-=item regexp_pattern($ref)
-
-If the argument is a compiled regular expression as returned by C<qr//>,
-then this function returns the pattern.
-
-In list context it returns a two element list, the first element
-containing the pattern and the second containing the modifiers used when
-the pattern was compiled.
-
- my ($pat, $mods) = regexp_pattern($ref);
-
-In scalar context it returns the same as perl would when strigifying a raw
-C<qr//> with the same pattern inside. If the argument is not a compiled
-reference then this routine returns false but defined in scalar context,
-and the empty list in list context. Thus the following
-
- if (regexp_pattern($ref) eq '(?i-xsm:foo)')
-
-will be warning free regardless of what $ref actually is.
-
-Like C<is_regexp> this function will not be confused by overloading
-or blessing of the object.
-
-=item regmust($ref)
-
-If the argument is a compiled regular expression as returned by C<qr//>,
-then this function returns what the optimiser consiers to be the longest
-anchored fixed string and longest floating fixed string in the pattern.
-
-A I<fixed string> is defined as being a substring that must appear for the
-pattern to match. An I<anchored fixed string> is a fixed string that must
-appear at a particular offset from the beginning of the match. A I<floating
-fixed string> is defined as a fixed string that can appear at any point in
-a range of positions relative to the start of the match. For example,
-
- my $qr = qr/here .* there/x;
- my ($anchored, $floating) = regmust($qr);
- print "anchored:'$anchored'\nfloating:'$floating'\n";
-
-results in
-
- anchored:'here'
- floating:'there'
-
-Because the C<here> is before the C<.*> in the pattern, its position
-can be determined exactly. That's not true, however, for the C<there>;
-it could appear at any point after where the anchored string appeared.
-Perl uses both for its optimisations, prefering the longer, or, if they are
-equal, the floating.
-
-B<NOTE:> This may not necessarily be the definitive longest anchored and
-floating string. This will be what the optimiser of the Perl that you
-are using thinks is the longest. If you believe that the result is wrong
-please report it via the L<perlbug> utility.
-
-=item regname($name,$all)
-
-Returns the contents of a named buffer of the last successful match. If
-$all is true, then returns an array ref containing one entry per buffer,
-otherwise returns the first defined buffer.
-
-=item regnames($all)
-
-Returns a list of all of the named buffers defined in the last successful
-match. If $all is true, then it returns all names defined, if not it returns
-only names which were involved in the match.
-
-=item regnames_count()
-
-Returns the number of distinct names defined in the pattern used
-for the last successful match.
-
-B<Note:> this result is always the actual number of distinct
-named buffers defined, it may not actually match that which is
-returned by C<regnames()> and related routines when those routines
-have not been called with the $all parameter set.
-
-=back
-
-=head1 SEE ALSO
-
-L<perlmodlib/Pragmatic Modules>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads.pm
deleted file mode 100644
index 74fd7f37660..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads.pm
+++ /dev/null
@@ -1,1039 +0,0 @@
-package threads;
-
-use 5.008;
-
-use strict;
-use warnings;
-
-our $VERSION = '1.69';
-my $XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-# Verify this Perl supports threads
-require Config;
-if (! $Config::Config{useithreads}) {
- die("This Perl not built to support threads\n");
-}
-
-# Complain if 'threads' is loaded after 'threads::shared'
-if ($threads::shared::threads_shared) {
- warn <<'_MSG_';
-Warning, threads::shared has already been loaded. To
-enable shared variables, 'use threads' must be called
-before threads::shared or any module that uses it.
-_MSG_
-}
-
-# Declare that we have been loaded
-$threads::threads = 1;
-
-# Load the XS code
-require XSLoader;
-XSLoader::load('threads', $XS_VERSION);
-
-
-### Export ###
-
-sub import
-{
- my $class = shift; # Not used
-
- # Exported subroutines
- my @EXPORT = qw(async);
-
- # Handle args
- while (my $sym = shift) {
- if ($sym =~ /^(?:stack|exit)/i) {
- if (defined(my $arg = shift)) {
- if ($sym =~ /^stack/i) {
- threads->set_stack_size($arg);
- } else {
- $threads::thread_exit_only = $arg =~ /^thread/i;
- }
- } else {
- require Carp;
- Carp::croak("threads: Missing argument for option: $sym");
- }
-
- } elsif ($sym =~ /^str/i) {
- import overload ('""' => \&tid);
-
- } elsif ($sym =~ /^(?::all|yield)$/) {
- push(@EXPORT, qw(yield));
-
- } else {
- require Carp;
- Carp::croak("threads: Unknown import option: $sym");
- }
- }
-
- # Export subroutine names
- my $caller = caller();
- foreach my $sym (@EXPORT) {
- no strict 'refs';
- *{$caller.'::'.$sym} = \&{$sym};
- }
-
- # Set stack size via environment variable
- if (exists($ENV{'PERL5_ITHREADS_STACK_SIZE'})) {
- threads->set_stack_size($ENV{'PERL5_ITHREADS_STACK_SIZE'});
- }
-}
-
-
-### Methods, etc. ###
-
-# Exit from a thread (only)
-sub exit
-{
- my ($class, $status) = @_;
- if (! defined($status)) {
- $status = 0;
- }
-
- # Class method only
- if (ref($class)) {
- require Carp;
- Carp::croak('Usage: threads->exit(status)');
- }
-
- $class->set_thread_exit_only(1);
- CORE::exit($status);
-}
-
-# 'Constant' args for threads->list()
-sub threads::all { }
-sub threads::running { 1 }
-sub threads::joinable { 0 }
-
-# 'new' is an alias for 'create'
-*new = \&create;
-
-# 'async' is a function alias for the 'threads->create()' method
-sub async (&;@)
-{
- unshift(@_, 'threads');
- # Use "goto" trick to avoid pad problems from 5.8.1 (fixed in 5.8.2)
- goto &create;
-}
-
-# Thread object equality checking
-use overload (
- '==' => \&equal,
- '!=' => sub { ! equal(@_) },
- 'fallback' => 1
-);
-
-1;
-
-__END__
-
-=head1 NAME
-
-threads - Perl interpreter-based threads
-
-=head1 VERSION
-
-This document describes threads version 1.69
-
-=head1 SYNOPSIS
-
- use threads ('yield',
- 'stack_size' => 64*4096,
- 'exit' => 'threads_only',
- 'stringify');
-
- sub start_thread {
- my @args = @_;
- print('Thread started: ', join(' ', @args), "\n");
- }
- my $thr = threads->create('start_thread', 'argument');
- $thr->join();
-
- threads->create(sub { print("I am a thread\n"); })->join();
-
- my $thr2 = async { foreach (@files) { ... } };
- $thr2->join();
- if (my $err = $thr2->error()) {
- warn("Thread error: $err\n");
- }
-
- # Invoke thread in list context (implicit) so it can return a list
- my ($thr) = threads->create(sub { return (qw/a b c/); });
- # or specify list context explicitly
- my $thr = threads->create({'context' => 'list'},
- sub { return (qw/a b c/); });
- my @results = $thr->join();
-
- $thr->detach();
-
- # Get a thread's object
- $thr = threads->self();
- $thr = threads->object($tid);
-
- # Get a thread's ID
- $tid = threads->tid();
- $tid = $thr->tid();
- $tid = "$thr";
-
- # Give other threads a chance to run
- threads->yield();
- yield();
-
- # Lists of non-detached threads
- my @threads = threads->list();
- my $thread_count = threads->list();
-
- my @running = threads->list(threads::running);
- my @joinable = threads->list(threads::joinable);
-
- # Test thread objects
- if ($thr1 == $thr2) {
- ...
- }
-
- # Manage thread stack size
- $stack_size = threads->get_stack_size();
- $old_size = threads->set_stack_size(32*4096);
-
- # Create a thread with a specific context and stack size
- my $thr = threads->create({ 'context' => 'list',
- 'stack_size' => 32*4096,
- 'exit' => 'thread_only' },
- \&foo);
-
- # Get thread's context
- my $wantarray = $thr->wantarray();
-
- # Check thread's state
- if ($thr->is_running()) {
- sleep(1);
- }
- if ($thr->is_joinable()) {
- $thr->join();
- }
-
- # Send a signal to a thread
- $thr->kill('SIGUSR1');
-
- # Exit a thread
- threads->exit();
-
-=head1 DESCRIPTION
-
-Perl 5.6 introduced something called interpreter threads. Interpreter threads
-are different from I<5005threads> (the thread model of Perl 5.005) by creating
-a new Perl interpreter per thread, and not sharing any data or state between
-threads by default.
-
-Prior to Perl 5.8, this has only been available to people embedding Perl, and
-for emulating fork() on Windows.
-
-The I<threads> API is loosely based on the old Thread.pm API. It is very
-important to note that variables are not shared between threads, all variables
-are by default thread local. To use shared variables one must also use
-L<threads::shared>:
-
- use threads;
- use threads::shared;
-
-It is also important to note that you must enable threads by doing C<use
-threads> as early as possible in the script itself, and that it is not
-possible to enable threading inside an C<eval "">, C<do>, C<require>, or
-C<use>. In particular, if you are intending to share variables with
-L<threads::shared>, you must C<use threads> before you C<use threads::shared>.
-(C<threads> will emit a warning if you do it the other way around.)
-
-=over
-
-=item $thr = threads->create(FUNCTION, ARGS)
-
-This will create a new thread that will begin execution with the specified
-entry point function, and give it the I<ARGS> list as parameters. It will
-return the corresponding threads object, or C<undef> if thread creation failed.
-
-I<FUNCTION> may either be the name of a function, an anonymous subroutine, or
-a code ref.
-
- my $thr = threads->create('func_name', ...);
- # or
- my $thr = threads->create(sub { ... }, ...);
- # or
- my $thr = threads->create(\&func, ...);
-
-The C<-E<gt>new()> method is an alias for C<-E<gt>create()>.
-
-=item $thr->join()
-
-This will wait for the corresponding thread to complete its execution. When
-the thread finishes, C<-E<gt>join()> will return the return value(s) of the
-entry point function.
-
-The context (void, scalar or list) for the return value(s) for C<-E<gt>join()>
-is determined at the time of thread creation.
-
- # Create thread in list context (implicit)
- my ($thr1) = threads->create(sub {
- my @results = qw(a b c);
- return (@results);
- });
- # or (explicit)
- my $thr1 = threads->create({'context' => 'list'},
- sub {
- my @results = qw(a b c);
- return (@results);
- });
- # Retrieve list results from thread
- my @res1 = $thr1->join();
-
- # Create thread in scalar context (implicit)
- my $thr2 = threads->create(sub {
- my $result = 42;
- return ($result);
- });
- # Retrieve scalar result from thread
- my $res2 = $thr2->join();
-
- # Create a thread in void context (explicit)
- my $thr3 = threads->create({'void' => 1},
- sub { print("Hello, world\n"); });
- # Join the thread in void context (i.e., no return value)
- $thr3->join();
-
-See L</"THREAD CONTEXT"> for more details.
-
-If the program exits without all threads having either been joined or
-detached, then a warning will be issued.
-
-Calling C<-E<gt>join()> or C<-E<gt>detach()> on an already joined thread will
-cause an error to be thrown.
-
-=item $thr->detach()
-
-Makes the thread unjoinable, and causes any eventual return value to be
-discarded. When the program exits, any detached threads that are still
-running are silently terminated.
-
-If the program exits without all threads having either been joined or
-detached, then a warning will be issued.
-
-Calling C<-E<gt>join()> or C<-E<gt>detach()> on an already detached thread
-will cause an error to be thrown.
-
-=item threads->detach()
-
-Class method that allows a thread to detach itself.
-
-=item threads->self()
-
-Class method that allows a thread to obtain its own I<threads> object.
-
-=item $thr->tid()
-
-Returns the ID of the thread. Thread IDs are unique integers with the main
-thread in a program being 0, and incrementing by 1 for every thread created.
-
-=item threads->tid()
-
-Class method that allows a thread to obtain its own ID.
-
-=item "$thr"
-
-If you add the C<stringify> import option to your C<use threads> declaration,
-then using a threads object in a string or a string context (e.g., as a hash
-key) will cause its ID to be used as the value:
-
- use threads qw(stringify);
-
- my $thr = threads->create(...);
- print("Thread $thr started...\n"); # Prints out: Thread 1 started...
-
-=item threads->object($tid)
-
-This will return the I<threads> object for the I<active> thread associated
-with the specified thread ID. Returns C<undef> if there is no thread
-associated with the TID, if the thread is joined or detached, if no TID is
-specified or if the specified TID is undef.
-
-=item threads->yield()
-
-This is a suggestion to the OS to let this thread yield CPU time to other
-threads. What actually happens is highly dependent upon the underlying
-thread implementation.
-
-You may do C<use threads qw(yield)>, and then just use C<yield()> in your
-code.
-
-=item threads->list()
-
-=item threads->list(threads::all)
-
-=item threads->list(threads::running)
-
-=item threads->list(threads::joinable)
-
-With no arguments (or using C<threads::all>) and in a list context, returns a
-list of all non-joined, non-detached I<threads> objects. In a scalar context,
-returns a count of the same.
-
-With a I<true> argument (using C<threads::running>), returns a list of all
-non-joined, non-detached I<threads> objects that are still running.
-
-With a I<false> argument (using C<threads::joinable>), returns a list of all
-non-joined, non-detached I<threads> objects that have finished running (i.e.,
-for which C<-E<gt>join()> will not I<block>).
-
-=item $thr1->equal($thr2)
-
-Tests if two threads objects are the same thread or not. This is overloaded
-to the more natural forms:
-
- if ($thr1 == $thr2) {
- print("Threads are the same\n");
- }
- # or
- if ($thr1 != $thr2) {
- print("Threads differ\n");
- }
-
-(Thread comparison is based on thread IDs.)
-
-=item async BLOCK;
-
-C<async> creates a thread to execute the block immediately following
-it. This block is treated as an anonymous subroutine, and so must have a
-semicolon after the closing brace. Like C<threads-E<gt>create()>, C<async>
-returns a I<threads> object.
-
-=item $thr->error()
-
-Threads are executed in an C<eval> context. This method will return C<undef>
-if the thread terminates I<normally>. Otherwise, it returns the value of
-C<$@> associated with the thread's execution status in its C<eval> context.
-
-=item $thr->_handle()
-
-This I<private> method returns the memory location of the internal thread
-structure associated with a threads object. For Win32, this is a pointer to
-the C<HANDLE> value returned by C<CreateThread> (i.e., C<HANDLE *>); for other
-platforms, it is a pointer to the C<pthread_t> structure used in the
-C<pthread_create> call (i.e., C<pthread_t *>).
-
-This method is of no use for general Perl threads programming. Its intent is
-to provide other (XS-based) thread modules with the capability to access, and
-possibly manipulate, the underlying thread structure associated with a Perl
-thread.
-
-=item threads->_handle()
-
-Class method that allows a thread to obtain its own I<handle>.
-
-=back
-
-=head1 EXITING A THREAD
-
-The usual method for terminating a thread is to
-L<return()|perlfunc/"return EXPR"> from the entry point function with the
-appropriate return value(s).
-
-=over
-
-=item threads->exit()
-
-If needed, a thread can be exited at any time by calling
-C<threads-E<gt>exit()>. This will cause the thread to return C<undef> in a
-scalar context, or the empty list in a list context.
-
-When called from the I<main> thread, this behaves the same as C<exit(0)>.
-
-=item threads->exit(status)
-
-When called from a thread, this behaves like C<threads-E<gt>exit()> (i.e., the
-exit status code is ignored).
-
-When called from the I<main> thread, this behaves the same as C<exit(status)>.
-
-=item die()
-
-Calling C<die()> in a thread indicates an abnormal exit for the thread. Any
-C<$SIG{__DIE__}> handler in the thread will be called first, and then the
-thread will exit with a warning message that will contain any arguments passed
-in the C<die()> call.
-
-=item exit(status)
-
-Calling L<exit()|perlfunc/"exit EXPR"> inside a thread causes the whole
-application to terminate. Because of this, the use of C<exit()> inside
-threaded code, or in modules that might be used in threaded applications, is
-strongly discouraged.
-
-If C<exit()> really is needed, then consider using the following:
-
- threads->exit() if threads->can('exit'); # Thread friendly
- exit(status);
-
-=item use threads 'exit' => 'threads_only'
-
-This globally overrides the default behavior of calling C<exit()> inside a
-thread, and effectively causes such calls to behave the same as
-C<threads-E<gt>exit()>. In other words, with this setting, calling C<exit()>
-causes only the thread to terminate.
-
-Because of its global effect, this setting should not be used inside modules
-or the like.
-
-The I<main> thread is unaffected by this setting.
-
-=item threads->create({'exit' => 'thread_only'}, ...)
-
-This overrides the default behavior of C<exit()> inside the newly created
-thread only.
-
-=item $thr->set_thread_exit_only(boolean)
-
-This can be used to change the I<exit thread only> behavior for a thread after
-it has been created. With a I<true> argument, C<exit()> will cause only the
-thread to exit. With a I<false> argument, C<exit()> will terminate the
-application.
-
-The I<main> thread is unaffected by this call.
-
-=item threads->set_thread_exit_only(boolean)
-
-Class method for use inside a thread to change its own behavior for C<exit()>.
-
-The I<main> thread is unaffected by this call.
-
-=back
-
-=head1 THREAD STATE
-
-The following boolean methods are useful in determining the I<state> of a
-thread.
-
-=over
-
-=item $thr->is_running()
-
-Returns true if a thread is still running (i.e., if its entry point function
-has not yet finished or exited).
-
-=item $thr->is_joinable()
-
-Returns true if the thread has finished running, is not detached and has not
-yet been joined. In other words, the thread is ready to be joined, and a call
-to C<$thr-E<gt>join()> will not I<block>.
-
-=item $thr->is_detached()
-
-Returns true if the thread has been detached.
-
-=item threads->is_detached()
-
-Class method that allows a thread to determine whether or not it is detached.
-
-=back
-
-=head1 THREAD CONTEXT
-
-As with subroutines, the type of value returned from a thread's entry point
-function may be determined by the thread's I<context>: list, scalar or void.
-The thread's context is determined at thread creation. This is necessary so
-that the context is available to the entry point function via
-L<wantarray()|perlfunc/"wantarray">. The thread may then specify a value of
-the appropriate type to be returned from C<-E<gt>join()>.
-
-=head2 Explicit context
-
-Because thread creation and thread joining may occur in different contexts, it
-may be desirable to state the context explicitly to the thread's entry point
-function. This may be done by calling C<-E<gt>create()> with a hash reference
-as the first argument:
-
- my $thr = threads->create({'context' => 'list'}, \&foo);
- ...
- my @results = $thr->join();
-
-In the above, the threads object is returned to the parent thread in scalar
-context, and the thread's entry point function C<foo> will be called in list
-(array) context such that the parent thread can receive a list (array) from
-the C<-E<gt>join()> call. (C<'array'> is synonymous with C<'list'>.)
-
-Similarly, if you need the threads object, but your thread will not be
-returning a value (i.e., I<void> context), you would do the following:
-
- my $thr = threads->create({'context' => 'void'}, \&foo);
- ...
- $thr->join();
-
-The context type may also be used as the I<key> in the hash reference followed
-by a I<true> value:
-
- threads->create({'scalar' => 1}, \&foo);
- ...
- my ($thr) = threads->list();
- my $result = $thr->join();
-
-=head2 Implicit context
-
-If not explicitly stated, the thread's context is implied from the context
-of the C<-E<gt>create()> call:
-
- # Create thread in list context
- my ($thr) = threads->create(...);
-
- # Create thread in scalar context
- my $thr = threads->create(...);
-
- # Create thread in void context
- threads->create(...);
-
-=head2 $thr->wantarray()
-
-This returns the thread's context in the same manner as
-L<wantarray()|perlfunc/"wantarray">.
-
-=head2 threads->wantarray()
-
-Class method to return the current thread's context. This returns the same
-value as running L<wantarray()|perlfunc/"wantarray"> inside the current
-thread's entry point function.
-
-=head1 THREAD STACK SIZE
-
-The default per-thread stack size for different platforms varies
-significantly, and is almost always far more than is needed for most
-applications. On Win32, Perl's makefile explicitly sets the default stack to
-16 MB; on most other platforms, the system default is used, which again may be
-much larger than is needed.
-
-By tuning the stack size to more accurately reflect your application's needs,
-you may significantly reduce your application's memory usage, and increase the
-number of simultaneously running threads.
-
-Note that on Windows, address space allocation granularity is 64 KB,
-therefore, setting the stack smaller than that on Win32 Perl will not save any
-more memory.
-
-=over
-
-=item threads->get_stack_size();
-
-Returns the current default per-thread stack size. The default is zero, which
-means the system default stack size is currently in use.
-
-=item $size = $thr->get_stack_size();
-
-Returns the stack size for a particular thread. A return value of zero
-indicates the system default stack size was used for the thread.
-
-=item $old_size = threads->set_stack_size($new_size);
-
-Sets a new default per-thread stack size, and returns the previous setting.
-
-Some platforms have a minimum thread stack size. Trying to set the stack size
-below this value will result in a warning, and the minimum stack size will be
-used.
-
-Some Linux platforms have a maximum stack size. Setting too large of a stack
-size will cause thread creation to fail.
-
-If needed, C<$new_size> will be rounded up to the next multiple of the memory
-page size (usually 4096 or 8192).
-
-Threads created after the stack size is set will then either call
-C<pthread_attr_setstacksize()> I<(for pthreads platforms)>, or supply the
-stack size to C<CreateThread()> I<(for Win32 Perl)>.
-
-(Obviously, this call does not affect any currently extant threads.)
-
-=item use threads ('stack_size' => VALUE);
-
-This sets the default per-thread stack size at the start of the application.
-
-=item $ENV{'PERL5_ITHREADS_STACK_SIZE'}
-
-The default per-thread stack size may be set at the start of the application
-through the use of the environment variable C<PERL5_ITHREADS_STACK_SIZE>:
-
- PERL5_ITHREADS_STACK_SIZE=1048576
- export PERL5_ITHREADS_STACK_SIZE
- perl -e'use threads; print(threads->get_stack_size(), "\n")'
-
-This value overrides any C<stack_size> parameter given to C<use threads>. Its
-primary purpose is to permit setting the per-thread stack size for legacy
-threaded applications.
-
-=item threads->create({'stack_size' => VALUE}, FUNCTION, ARGS)
-
-To specify a particular stack size for any individual thread, call
-C<-E<gt>create()> with a hash reference as the first argument:
-
- my $thr = threads->create({'stack_size' => 32*4096}, \&foo, @args);
-
-=item $thr2 = $thr1->create(FUNCTION, ARGS)
-
-This creates a new thread (C<$thr2>) that inherits the stack size from an
-existing thread (C<$thr1>). This is shorthand for the following:
-
- my $stack_size = $thr1->get_stack_size();
- my $thr2 = threads->create({'stack_size' => $stack_size}, FUNCTION, ARGS);
-
-=back
-
-=head1 THREAD SIGNALLING
-
-When safe signals is in effect (the default behavior - see L</"Unsafe signals">
-for more details), then signals may be sent and acted upon by individual
-threads.
-
-=over 4
-
-=item $thr->kill('SIG...');
-
-Sends the specified signal to the thread. Signal names and (positive) signal
-numbers are the same as those supported by
-L<kill()|perlfunc/"kill SIGNAL, LIST">. For example, 'SIGTERM', 'TERM' and
-(depending on the OS) 15 are all valid arguments to C<-E<gt>kill()>.
-
-Returns the thread object to allow for method chaining:
-
- $thr->kill('SIG...')->join();
-
-=back
-
-Signal handlers need to be set up in the threads for the signals they are
-expected to act upon. Here's an example for I<cancelling> a thread:
-
- use threads;
-
- sub thr_func
- {
- # Thread 'cancellation' signal handler
- $SIG{'KILL'} = sub { threads->exit(); };
-
- ...
- }
-
- # Create a thread
- my $thr = threads->create('thr_func');
-
- ...
-
- # Signal the thread to terminate, and then detach
- # it so that it will get cleaned up automatically
- $thr->kill('KILL')->detach();
-
-Here's another simplistic example that illustrates the use of thread
-signalling in conjunction with a semaphore to provide rudimentary I<suspend>
-and I<resume> capabilities:
-
- use threads;
- use Thread::Semaphore;
-
- sub thr_func
- {
- my $sema = shift;
-
- # Thread 'suspend/resume' signal handler
- $SIG{'STOP'} = sub {
- $sema->down(); # Thread suspended
- $sema->up(); # Thread resumes
- };
-
- ...
- }
-
- # Create a semaphore and pass it to a thread
- my $sema = Thread::Semaphore->new();
- my $thr = threads->create('thr_func', $sema);
-
- # Suspend the thread
- $sema->down();
- $thr->kill('STOP');
-
- ...
-
- # Allow the thread to continue
- $sema->up();
-
-CAVEAT: The thread signalling capability provided by this module does not
-actually send signals via the OS. It I<emulates> signals at the Perl-level
-such that signal handlers are called in the appropriate thread. For example,
-sending C<$thr-E<gt>kill('STOP')> does not actually suspend a thread (or the
-whole process), but does cause a C<$SIG{'STOP'}> handler to be called in that
-thread (as illustrated above).
-
-As such, signals that would normally not be appropriate to use in the
-C<kill()> command (e.g., C<kill('KILL', $$)>) are okay to use with the
-C<-E<gt>kill()> method (again, as illustrated above).
-
-Correspondingly, sending a signal to a thread does not disrupt the operation
-the thread is currently working on: The signal will be acted upon after the
-current operation has completed. For instance, if the thread is I<stuck> on
-an I/O call, sending it a signal will not cause the I/O call to be interrupted
-such that the signal is acted up immediately.
-
-Sending a signal to a terminated thread is ignored.
-
-=head1 WARNINGS
-
-=over 4
-
-=item Perl exited with active threads:
-
-If the program exits without all threads having either been joined or
-detached, then this warning will be issued.
-
-NOTE: If the I<main> thread exits, then this warning cannot be suppressed
-using C<no warnings 'threads';> as suggested below.
-
-=item Thread creation failed: pthread_create returned #
-
-See the appropriate I<man> page for C<pthread_create> to determine the actual
-cause for the failure.
-
-=item Thread # terminated abnormally: ...
-
-A thread terminated in some manner other than just returning from its entry
-point function, or by using C<threads-E<gt>exit()>. For example, the thread
-may have terminated because of an error, or by using C<die>.
-
-=item Using minimum thread stack size of #
-
-Some platforms have a minimum thread stack size. Trying to set the stack size
-below this value will result in the above warning, and the stack size will be
-set to the minimum.
-
-=item Thread creation failed: pthread_attr_setstacksize(I<SIZE>) returned 22
-
-The specified I<SIZE> exceeds the system's maximum stack size. Use a smaller
-value for the stack size.
-
-=back
-
-If needed, thread warnings can be suppressed by using:
-
- no warnings 'threads';
-
-in the appropriate scope.
-
-=head1 ERRORS
-
-=over 4
-
-=item This Perl not built to support threads
-
-The particular copy of Perl that you're trying to use was not built using the
-C<useithreads> configuration option.
-
-Having threads support requires all of Perl and all of the XS modules in the
-Perl installation to be rebuilt; it is not just a question of adding the
-L<threads> module (i.e., threaded and non-threaded Perls are binary
-incompatible.)
-
-=item Cannot change stack size of an existing thread
-
-The stack size of currently extant threads cannot be changed, therefore, the
-following results in the above error:
-
- $thr->set_stack_size($size);
-
-=item Cannot signal threads without safe signals
-
-Safe signals must be in effect to use the C<-E<gt>kill()> signalling method.
-See L</"Unsafe signals"> for more details.
-
-=item Unrecognized signal name: ...
-
-The particular copy of Perl that you're trying to use does not support the
-specified signal being used in a C<-E<gt>kill()> call.
-
-=back
-
-=head1 BUGS AND LIMITATIONS
-
-Before you consider posting a bug report, please consult, and possibly post a
-message to the discussion forum to see if what you've encountered is a known
-problem.
-
-=over
-
-=item Thread-safe modules
-
-See L<perlmod/"Making your module threadsafe"> when creating modules that may
-be used in threaded applications, especially if those modules use non-Perl
-data, or XS code.
-
-=item Using non-thread-safe modules
-
-Unfortunately, you may encounter Perl modules that are not I<thread-safe>.
-For example, they may crash the Perl interpreter during execution, or may dump
-core on termination. Depending on the module and the requirements of your
-application, it may be possible to work around such difficulties.
-
-If the module will only be used inside a thread, you can try loading the
-module from inside the thread entry point function using C<require> (and
-C<import> if needed):
-
- sub thr_func
- {
- require Unsafe::Module
- # Unsafe::Module->import(...);
-
- ....
- }
-
-If the module is needed inside the I<main> thread, try modifying your
-application so that the module is loaded (again using C<require> and
-C<-E<gt>import()>) after any threads are started, and in such a way that no
-other threads are started afterwards.
-
-If the above does not work, or is not adequate for your application, then file
-a bug report on L<http://rt.cpan.org/Public/> against the problematic module.
-
-=item Current working directory
-
-On all platforms except MSWin32, the setting for the current working directory
-is shared among all threads such that changing it in one thread (e.g., using
-C<chdir()>) will affect all the threads in the application.
-
-On MSWin32, each thread maintains its own the current working directory
-setting.
-
-=item Environment variables
-
-Currently, on all platforms except MSWin32, all I<system> calls (e.g., using
-C<system()> or back-ticks) made from threads use the environment variable
-settings from the I<main> thread. In other words, changes made to C<%ENV> in
-a thread will not be visible in I<system> calls made by that thread.
-
-To work around this, set environment variables as part of the I<system> call.
-For example:
-
- my $msg = 'hello';
- system("FOO=$msg; echo \$FOO"); # Outputs 'hello' to STDOUT
-
-On MSWin32, each thread maintains its own set of environment variables.
-
-=item Parent-child threads
-
-On some platforms, it might not be possible to destroy I<parent> threads while
-there are still existing I<child> threads.
-
-=item Creating threads inside special blocks
-
-Creating threads inside C<BEGIN>, C<CHECK> or C<INIT> blocks should not be
-relied upon. Depending on the Perl version and the application code, results
-may range from success, to (apparently harmless) warnings of leaked scalar, or
-all the way up to crashing of the Perl interpreter.
-
-=item Unsafe signals
-
-Since Perl 5.8.0, signals have been made safer in Perl by postponing their
-handling until the interpreter is in a I<safe> state. See
-L<perl58delta/"Safe Signals"> and L<perlipc/"Deferred Signals (Safe Signals)">
-for more details.
-
-Safe signals is the default behavior, and the old, immediate, unsafe
-signalling behavior is only in effect in the following situations:
-
-=over 4
-
-=item * Perl has been built with C<PERL_OLD_SIGNALS> (see C<perl -V>).
-
-=item * The environment variable C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">).
-
-=item * The module L<Perl::Unsafe::Signals> is used.
-
-=back
-
-If unsafe signals is in effect, then signal handling is not thread-safe, and
-the C<-E<gt>kill()> signalling method cannot be used.
-
-=item Returning closures from threads
-
-Returning closures from threads should not be relied upon. Depending of the
-Perl version and the application code, results may range from success, to
-(apparently harmless) warnings of leaked scalar, or all the way up to crashing
-of the Perl interpreter.
-
-=item Returning objects from threads
-
-Returning objects from threads does not work. Depending on the classes
-involved, you may be able to work around this by returning a serialized
-version of the object (e.g., using L<Data::Dumper> or L<Storable>), and then
-reconstituting it in the joining thread. If you're using Perl 5.10.0 or
-later, and if the class supports L<shared objects|threads::shared/"OBJECTS">,
-you can pass them via L<shared queues| Thread::Queue>.
-
-=item Perl Bugs and the CPAN Version of L<threads>
-
-Support for threads extends beyond the code in this module (i.e.,
-F<threads.pm> and F<threads.xs>), and into the Perl interpreter itself. Older
-versions of Perl contain bugs that may manifest themselves despite using the
-latest version of L<threads> from CPAN. There is no workaround for this other
-than upgrading to the latest version of Perl.
-
-Even with the latest version of Perl, it is known that certain constructs
-with threads may result in warning messages concerning leaked scalars or
-unreferenced scalars. However, such warnings are harmless, and may safely be
-ignored.
-
-You can search for L<threads> related bug reports at
-L<http://rt.cpan.org/Public/>. If needed submit any new bugs, problems,
-patches, etc. to: L<http://rt.cpan.org/Public/Dist/Display.html?Name=threads>
-
-=back
-
-=head1 REQUIREMENTS
-
-Perl 5.8.0 or later
-
-=head1 SEE ALSO
-
-L<threads> Discussion Forum on CPAN:
-L<http://www.cpanforum.com/dist/threads>
-
-Annotated POD for L<threads>:
-L<http://annocpan.org/~JDHEDDEN/threads-1.69/threads.pm>
-
-Source repository:
-L<http://code.google.com/p/threads-shared/>
-
-L<threads::shared>, L<perlthrtut>
-
-L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
-L<http://www.perl.com/pub/a/2002/09/04/threads.html>
-
-Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
-
-Stack size discussion:
-L<http://www.perlmonks.org/?node_id=532956>
-
-=head1 AUTHOR
-
-Artur Bergman E<lt>sky AT crucially DOT netE<gt>
-
-threads is released under the same license as Perl.
-
-CPAN version produced by Jerry D. Hedden <jdhedden AT cpan DOT org>
-
-=head1 ACKNOWLEDGEMENTS
-
-Richard Soderberg E<lt>perl AT crystalflame DOT netE<gt> -
-Helping me out tons, trying to find reasons for races and other weird bugs!
-
-Simon Cozens E<lt>simon AT brecon DOT co DOT ukE<gt> -
-Being there to answer zillions of annoying questions
-
-Rocco Caputo E<lt>troc AT netrus DOT netE<gt>
-
-Vipul Ved Prakash E<lt>mail AT vipul DOT netE<gt> -
-Helping with debugging
-
-Dean Arnold E<lt>darnold AT presicient DOT comE<gt> -
-Stack size API
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads/shared.pm b/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads/shared.pm
deleted file mode 100644
index fee9365ade7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/5.10/i686-cygwin/threads/shared.pm
+++ /dev/null
@@ -1,566 +0,0 @@
-package threads::shared;
-
-use 5.008;
-
-use strict;
-use warnings;
-
-use Scalar::Util qw(reftype refaddr blessed);
-
-our $VERSION = '1.21';
-my $XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-# Declare that we have been loaded
-$threads::shared::threads_shared = 1;
-
-# Load the XS code, if applicable
-if ($threads::threads) {
- require XSLoader;
- XSLoader::load('threads::shared', $XS_VERSION);
-
- *is_shared = \&_id;
-
-} else {
- # String eval is generally evil, but we don't want these subs to
- # exist at all if 'threads' is not loaded successfully.
- # Vivifying them conditionally this way saves on average about 4K
- # of memory per thread.
- eval <<'_MARKER_';
- sub share (\[$@%]) { return $_[0] }
- sub is_shared (\[$@%]) { undef }
- sub cond_wait (\[$@%];\[$@%]) { undef }
- sub cond_timedwait (\[$@%]$;\[$@%]) { undef }
- sub cond_signal (\[$@%]) { undef }
- sub cond_broadcast (\[$@%]) { undef }
-_MARKER_
-}
-
-
-### Export ###
-
-sub import
-{
- # Exported subroutines
- my @EXPORT = qw(share is_shared cond_wait cond_timedwait
- cond_signal cond_broadcast shared_clone);
- if ($threads::threads) {
- push(@EXPORT, 'bless');
- }
-
- # Export subroutine names
- my $caller = caller();
- foreach my $sym (@EXPORT) {
- no strict 'refs';
- *{$caller.'::'.$sym} = \&{$sym};
- }
-}
-
-
-# Predeclarations for internal functions
-my ($make_shared);
-
-
-### Methods, etc. ###
-
-sub threads::shared::tie::SPLICE
-{
- require Carp;
- Carp::croak('Splice not implemented for shared arrays');
-}
-
-
-# Create a thread-shared clone of a complex data structure or object
-sub shared_clone
-{
- if (@_ != 1) {
- require Carp;
- Carp::croak('Usage: shared_clone(REF)');
- }
-
- return $make_shared->(shift, {});
-}
-
-
-### Internal Functions ###
-
-# Used by shared_clone() to recursively clone
-# a complex data structure or object
-$make_shared = sub {
- my ($item, $cloned) = @_;
-
- # Just return the item if:
- # 1. Not a ref;
- # 2. Already shared; or
- # 3. Not running 'threads'.
- return $item if (! ref($item) || is_shared($item) || ! $threads::threads);
-
- # Check for previously cloned references
- # (this takes care of circular refs as well)
- my $addr = refaddr($item);
- if (exists($cloned->{$addr})) {
- # Return the already existing clone
- return $cloned->{$addr};
- }
-
- # Make copies of array, hash and scalar refs and refs of refs
- my $copy;
- my $ref_type = reftype($item);
-
- # Copy an array ref
- if ($ref_type eq 'ARRAY') {
- # Make empty shared array ref
- $copy = &share([]);
- # Add to clone checking hash
- $cloned->{$addr} = $copy;
- # Recursively copy and add contents
- push(@$copy, map { $make_shared->($_, $cloned) } @$item);
- }
-
- # Copy a hash ref
- elsif ($ref_type eq 'HASH') {
- # Make empty shared hash ref
- $copy = &share({});
- # Add to clone checking hash
- $cloned->{$addr} = $copy;
- # Recursively copy and add contents
- foreach my $key (keys(%{$item})) {
- $copy->{$key} = $make_shared->($item->{$key}, $cloned);
- }
- }
-
- # Copy a scalar ref
- elsif ($ref_type eq 'SCALAR') {
- $copy = \do{ my $scalar = $$item; };
- share($copy);
- # Clone READONLY flag
- if (Internals::SvREADONLY($$item)) {
- Internals::SvREADONLY($$copy, 1);
- }
- # Add to clone checking hash
- $cloned->{$addr} = $copy;
- }
-
- # Copy of a ref of a ref
- elsif ($ref_type eq 'REF') {
- # Special handling for $x = \$x
- if ($addr == refaddr($$item)) {
- $copy = \$copy;
- share($copy);
- $cloned->{$addr} = $copy;
- } else {
- my $tmp;
- $copy = \$tmp;
- share($copy);
- # Add to clone checking hash
- $cloned->{$addr} = $copy;
- # Recursively copy and add contents
- $tmp = $make_shared->($$item, $cloned);
- }
-
- } else {
- require Carp;
- Carp::croak("Unsupported ref type: ", $ref_type);
- }
-
- # If input item is an object, then bless the copy into the same class
- if (my $class = blessed($item)) {
- bless($copy, $class);
- }
-
- # Clone READONLY flag
- if (Internals::SvREADONLY($item)) {
- Internals::SvREADONLY($copy, 1);
- }
-
- return $copy;
-};
-
-1;
-
-__END__
-
-=head1 NAME
-
-threads::shared - Perl extension for sharing data structures between threads
-
-=head1 VERSION
-
-This document describes threads::shared version 1.21
-
-=head1 SYNOPSIS
-
- use threads;
- use threads::shared;
-
- my $var :shared;
- my %hsh :shared;
- my @ary :shared;
-
- my ($scalar, @array, %hash);
- share($scalar);
- share(@array);
- share(%hash);
-
- $var = $scalar_value;
- $var = $shared_ref_value;
- $var = shared_clone($non_shared_ref_value);
- $var = shared_clone({'foo' => [qw/foo bar baz/]});
-
- $hsh{'foo'} = $scalar_value;
- $hsh{'bar'} = $shared_ref_value;
- $hsh{'baz'} = shared_clone($non_shared_ref_value);
- $hsh{'quz'} = shared_clone([1..3]);
-
- $ary[0] = $scalar_value;
- $ary[1] = $shared_ref_value;
- $ary[2] = shared_clone($non_shared_ref_value);
- $ary[3] = shared_clone([ {}, [] ]);
-
- { lock(%hash); ... }
-
- cond_wait($scalar);
- cond_timedwait($scalar, time() + 30);
- cond_broadcast(@array);
- cond_signal(%hash);
-
- my $lockvar :shared;
- # condition var != lock var
- cond_wait($var, $lockvar);
- cond_timedwait($var, time()+30, $lockvar);
-
-=head1 DESCRIPTION
-
-By default, variables are private to each thread, and each newly created
-thread gets a private copy of each existing variable. This module allows you
-to share variables across different threads (and pseudo-forks on Win32). It
-is used together with the L<threads> module.
-
-This module supports the sharing of the following data types only: scalars
-and scalar refs, arrays and array refs, and hashes and hash refs.
-
-=head1 EXPORT
-
-The following functions are exported by this module: C<share>,
-C<shared_clone>, C<is_shared>, C<cond_wait>, C<cond_timedwait>, C<cond_signal>
-and C<cond_broadcast>
-
-Note that if this module is imported when L<threads> has not yet been loaded,
-then these functions all become no-ops. This makes it possible to write
-modules that will work in both threaded and non-threaded environments.
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item share VARIABLE
-
-C<share> takes a variable and marks it as shared:
-
- my ($scalar, @array, %hash);
- share($scalar);
- share(@array);
- share(%hash);
-
-C<share> will return the shared rvalue, but always as a reference.
-
-Variables can also be marked as shared at compile time by using the
-C<:shared> attribute:
-
- my ($var, %hash, @array) :shared;
-
-Shared variables can only store scalars, refs of shared variables, or
-refs of shared data (discussed in next section):
-
- my ($var, %hash, @array) :shared;
- my $bork;
-
- # Storing scalars
- $var = 1;
- $hash{'foo'} = 'bar';
- $array[0] = 1.5;
-
- # Storing shared refs
- $var = \%hash;
- $hash{'ary'} = \@array;
- $array[1] = \$var;
-
- # The following are errors:
- # $var = \$bork; # ref of non-shared variable
- # $hash{'bork'} = []; # non-shared array ref
- # push(@array, { 'x' => 1 }); # non-shared hash ref
-
-=item shared_clone REF
-
-C<shared_clone> takes a reference, and returns a shared version of its
-argument, preforming a deep copy on any non-shared elements. Any shared
-elements in the argument are used as is (i.e., they are not cloned).
-
- my $cpy = shared_clone({'foo' => [qw/foo bar baz/]});
-
-Object status (i.e., the class an object is blessed into) is also cloned.
-
- my $obj = {'foo' => [qw/foo bar baz/]};
- bless($obj, 'Foo');
- my $cpy = shared_clone($obj);
- print(ref($cpy), "\n"); # Outputs 'Foo'
-
-For cloning empty array or hash refs, the following may also be used:
-
- $var = &share([]); # Same as $var = share_clone([]);
- $var = &share({}); # Same as $var = share_clone({});
-
-=item is_shared VARIABLE
-
-C<is_shared> checks if the specified variable is shared or not. If shared,
-returns the variable's internal ID (similar to
-L<refaddr()|Scalar::Util/"refaddr EXPR">). Otherwise, returns C<undef>.
-
- if (is_shared($var)) {
- print("\$var is shared\n");
- } else {
- print("\$var is not shared\n");
- }
-
-=item lock VARIABLE
-
-C<lock> places a lock on a variable until the lock goes out of scope. If the
-variable is locked by another thread, the C<lock> call will block until it's
-available. Multiple calls to C<lock> by the same thread from within
-dynamically nested scopes are safe -- the variable will remain locked until
-the outermost lock on the variable goes out of scope.
-
-Locking a container object, such as a hash or array, doesn't lock the elements
-of that container. For example, if a thread does a C<lock(@a)>, any other
-thread doing a C<lock($a[12])> won't block.
-
-C<lock()> follows references exactly I<one> level. C<lock(\$a)> is equivalent
-to C<lock($a)>, while C<lock(\\$a)> is not.
-
-Note that you cannot explicitly unlock a variable; you can only wait for the
-lock to go out of scope. This is most easily accomplished by locking the
-variable inside a block.
-
- my $var :shared;
- {
- lock($var);
- # $var is locked from here to the end of the block
- ...
- }
- # $var is now unlocked
-
-If you need more fine-grained control over shared variable access, see
-L<Thread::Semaphore>.
-
-=item cond_wait VARIABLE
-
-=item cond_wait CONDVAR, LOCKVAR
-
-The C<cond_wait> function takes a B<locked> variable as a parameter, unlocks
-the variable, and blocks until another thread does a C<cond_signal> or
-C<cond_broadcast> for that same locked variable. The variable that
-C<cond_wait> blocked on is relocked after the C<cond_wait> is satisfied. If
-there are multiple threads C<cond_wait>ing on the same variable, all but one
-will re-block waiting to reacquire the lock on the variable. (So if you're only
-using C<cond_wait> for synchronisation, give up the lock as soon as possible).
-The two actions of unlocking the variable and entering the blocked wait state
-are atomic, the two actions of exiting from the blocked wait state and
-re-locking the variable are not.
-
-In its second form, C<cond_wait> takes a shared, B<unlocked> variable followed
-by a shared, B<locked> variable. The second variable is unlocked and thread
-execution suspended until another thread signals the first variable.
-
-It is important to note that the variable can be notified even if no thread
-C<cond_signal> or C<cond_broadcast> on the variable. It is therefore
-important to check the value of the variable and go back to waiting if the
-requirement is not fulfilled. For example, to pause until a shared counter
-drops to zero:
-
- { lock($counter); cond_wait($count) until $counter == 0; }
-
-=item cond_timedwait VARIABLE, ABS_TIMEOUT
-
-=item cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR
-
-In its two-argument form, C<cond_timedwait> takes a B<locked> variable and an
-absolute timeout as parameters, unlocks the variable, and blocks until the
-timeout is reached or another thread signals the variable. A false value is
-returned if the timeout is reached, and a true value otherwise. In either
-case, the variable is re-locked upon return.
-
-Like C<cond_wait>, this function may take a shared, B<locked> variable as an
-additional parameter; in this case the first parameter is an B<unlocked>
-condition variable protected by a distinct lock variable.
-
-Again like C<cond_wait>, waking up and reacquiring the lock are not atomic,
-and you should always check your desired condition after this function
-returns. Since the timeout is an absolute value, however, it does not have to
-be recalculated with each pass:
-
- lock($var);
- my $abs = time() + 15;
- until ($ok = desired_condition($var)) {
- last if !cond_timedwait($var, $abs);
- }
- # we got it if $ok, otherwise we timed out!
-
-=item cond_signal VARIABLE
-
-The C<cond_signal> function takes a B<locked> variable as a parameter and
-unblocks one thread that's C<cond_wait>ing on that variable. If more than one
-thread is blocked in a C<cond_wait> on that variable, only one (and which one
-is indeterminate) will be unblocked.
-
-If there are no threads blocked in a C<cond_wait> on the variable, the signal
-is discarded. By always locking before signaling, you can (with care), avoid
-signaling before another thread has entered cond_wait().
-
-C<cond_signal> will normally generate a warning if you attempt to use it on an
-unlocked variable. On the rare occasions where doing this may be sensible, you
-can suppress the warning with:
-
- { no warnings 'threads'; cond_signal($foo); }
-
-=item cond_broadcast VARIABLE
-
-The C<cond_broadcast> function works similarly to C<cond_signal>.
-C<cond_broadcast>, though, will unblock B<all> the threads that are blocked in
-a C<cond_wait> on the locked variable, rather than only one.
-
-=back
-
-=head1 OBJECTS
-
-L<threads::shared> exports a version of L<bless()|perlfunc/"bless REF"> that
-works on shared objects such that I<blessings> propagate across threads.
-
- # Create a shared 'Foo' object
- my $foo :shared = shared_clone({});
- bless($foo, 'Foo');
-
- # Create a shared 'Bar' object
- my $bar :shared = shared_clone({});
- bless($bar, 'Bar');
-
- # Put 'bar' inside 'foo'
- $foo->{'bar'} = $bar;
-
- # Rebless the objects via a thread
- threads->create(sub {
- # Rebless the outer object
- bless($foo, 'Yin');
-
- # Cannot directly rebless the inner object
- #bless($foo->{'bar'}, 'Yang');
-
- # Retrieve and rebless the inner object
- my $obj = $foo->{'bar'};
- bless($obj, 'Yang');
- $foo->{'bar'} = $obj;
-
- })->join();
-
- print(ref($foo), "\n"); # Prints 'Yin'
- print(ref($foo->{'bar'}), "\n"); # Prints 'Yang'
- print(ref($bar), "\n"); # Also prints 'Yang'
-
-=head1 NOTES
-
-L<threads::shared> is designed to disable itself silently if threads are not
-available. This allows you to write modules and packages that can be used
-in both threaded and non-threaded applications.
-
-If you want access to threads, you must C<use threads> before you
-C<use threads::shared>. L<threads> will emit a warning if you use it after
-L<threads::shared>.
-
-=head1 BUGS AND LIMITATIONS
-
-When C<share> is used on arrays, hashes, array refs or hash refs, any data
-they contain will be lost.
-
- my @arr = qw(foo bar baz);
- share(@arr);
- # @arr is now empty (i.e., == ());
-
- # Create a 'foo' object
- my $foo = { 'data' => 99 };
- bless($foo, 'foo');
-
- # Share the object
- share($foo); # Contents are now wiped out
- print("ERROR: \$foo is empty\n")
- if (! exists($foo->{'data'}));
-
-Therefore, populate such variables B<after> declaring them as shared. (Scalar
-and scalar refs are not affected by this problem.)
-
-It is often not wise to share an object unless the class itself has been
-written to support sharing. For example, an object's destructor may get
-called multiple times, once for each thread's scope exit. Another danger is
-that the contents of hash-based objects will be lost due to the above
-mentioned limitation. See F<examples/class.pl> (in the CPAN distribution of
-this module) for how to create a class that supports object sharing.
-
-Does not support C<splice> on arrays!
-
-Taking references to the elements of shared arrays and hashes does not
-autovivify the elements, and neither does slicing a shared array/hash over
-non-existent indices/keys autovivify the elements.
-
-C<share()> allows you to C<< share($hashref->{key}) >> without giving any
-error message. But the C<< $hashref->{key} >> is B<not> shared, causing the
-error "locking can only be used on shared values" to occur when you attempt to
-C<< lock($hasref->{key}) >>.
-
-Using L<refaddr()|Scalar::Util/"refaddr EXPR">) is unreliable for testing
-whether or not two shared references are equivalent (e.g., when testing for
-circular references). Use L<is_shared()/"is_shared VARIABLE">, instead:
-
- use threads;
- use threads::shared;
- use Scalar::Util qw(refaddr);
-
- # If ref is shared, use threads::shared's internal ID.
- # Otherwise, use refaddr().
- my $addr1 = is_shared($ref1) || refaddr($ref1);
- my $addr2 = is_shared($ref2) || refaddr($ref2);
-
- if ($addr1 == $addr2) {
- # The refs are equivalent
- }
-
-View existing bug reports at, and submit any new bugs, problems, patches, etc.
-to: L<http://rt.cpan.org/Public/Dist/Display.html?Name=threads-shared>
-
-=head1 SEE ALSO
-
-L<threads::shared> Discussion Forum on CPAN:
-L<http://www.cpanforum.com/dist/threads-shared>
-
-Annotated POD for L<threads::shared>:
-L<http://annocpan.org/~JDHEDDEN/threads-shared-1.21/shared.pm>
-
-Source repository:
-L<http://code.google.com/p/threads-shared/>
-
-L<threads>, L<perlthrtut>
-
-L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
-L<http://www.perl.com/pub/a/2002/09/04/threads.html>
-
-Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
-
-=head1 AUTHOR
-
-Artur Bergman E<lt>sky AT crucially DOT netE<gt>
-
-threads::shared is released under the same license as Perl.
-
-Documentation borrowed from the old Thread.pm.
-
-CPAN version produced by Jerry D. Hedden E<lt>jdhedden AT cpan DOT orgE<gt>.
-
-=cut