summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al')
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al25
1 files changed, 25 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al b/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al
new file mode 100644
index 00000000000..b25d7b009c3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Storable/fd_retrieve.al
@@ -0,0 +1,25 @@
+# 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;