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