summaryrefslogtreecommitdiff
path: root/pod/perliol.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perliol.pod')
-rw-r--r--pod/perliol.pod21
1 files changed, 12 insertions, 9 deletions
diff --git a/pod/perliol.pod b/pod/perliol.pod
index 5a9dda5d66..94c0e98f8c 100644
--- a/pod/perliol.pod
+++ b/pod/perliol.pod
@@ -686,29 +686,27 @@ you can either replace with the "blank" methods
(which do nothing, and return zero and -1, respectively) or for
certain methods you may assume a default behaviour by using a NULL
-method. The default behaviour is either to use the corresponding
-PerlIOBase method, or silently return success (return zero), or to
-fail (set errno and return -1 or NULL). The following table
-summarizes the behaviour:
+method. The Open method looks for help in the 'parent' layer.
+The following table summarizes the behaviour:
method behaviour with NULL
Clearerr PerlIOBase_clearerr
Close PerlIOBase_close
- Dup FAILURE
+ Dup PerlIOBase_dup
Eof PerlIOBase_eof
Error PerlIOBase_error
Fileno PerlIOBase_fileno
Fill FAILURE
Flush SUCCESS
- Getarg FAILURE
+ Getarg SUCCESS
Get_base FAILURE
Get_bufsiz FAILURE
Get_cnt FAILURE
Get_ptr FAILURE
- Open FAILURE
- Popped SUCCESS
- Pushed SUCCESS
+ Open INHERITED
+ Popped SUCCESS
+ Pushed SUCCESS
Read PerlIOBase_read
Seek FAILURE
Set_cnt FAILURE
@@ -718,6 +716,11 @@ summarizes the behaviour:
Unread PerlIOBase_unread
Write FAILURE
+ FAILURE Set errno (to EINVAL in UNIXish, to LIB$_INVARG in VMS) and
+ return -1 (for numeric return values) or NULL (for pointers)
+ INHERITED Inherited from the layer below
+ SUCCESS Return 0 (for numeric return values) or a pointer
+
=head2 Core Layers
The file C<perlio.c> provides the following layers: