Fixup the method behaviour table.
Jarkko Hietaniemi [Sun, 11 May 2003 16:52:00 +0000 (16:52 +0000)]
p4raw-id: //depot/perl@19488

pod/perliol.pod

index 5a9dda5..94c0e98 100644 (file)
@@ -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: