From defcffdf86780e3a184ebb25dc9a7b807753d57a Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 27 Jul 2018 07:35:11 +0300 Subject: bpo-12743: Delete comment from marshal.rst (GH-8457) Also, update the list of exceptions that may raised by PyMarshal_* functions. We usually don't document exceptions raised by a function, but in this case most of them were already documented in C API and standard library documentation. --- Doc/c-api/marshal.rst | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/Doc/c-api/marshal.rst b/Doc/c-api/marshal.rst index c6d1d02..17ec621 100644 --- a/Doc/c-api/marshal.rst +++ b/Doc/c-api/marshal.rst @@ -40,12 +40,6 @@ unmarshalling. Version 2 uses a binary format for floating point numbers. The following functions allow marshalled values to be read back in. -XXX What about error detection? It appears that reading past the end of the -file will always result in a negative numeric value (where that's relevant), -but it's not clear that negative values won't be handled properly when there's -no error. What's the right way to tell? Should only non-negative values be -written using these routines? - .. c:function:: long PyMarshal_ReadLongFromFile(FILE *file) @@ -53,7 +47,8 @@ written using these routines? for reading. Only a 32-bit value can be read in using this function, regardless of the native size of :c:type:`long`. - On error, raise an exception and return ``-1``. + On error, sets the appropriate exception (:exc:`EOFError`) and returns + ``-1``. .. c:function:: int PyMarshal_ReadShortFromFile(FILE *file) @@ -62,7 +57,8 @@ written using these routines? for reading. Only a 16-bit value can be read in using this function, regardless of the native size of :c:type:`short`. - On error, raise an exception and return ``-1``. + On error, sets the appropriate exception (:exc:`EOFError`) and returns + ``-1``. .. c:function:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file) @@ -70,8 +66,8 @@ written using these routines? Return a Python object from the data stream in a :c:type:`FILE\*` opened for reading. - On error, sets the appropriate exception (:exc:`EOFError` or - :exc:`TypeError`) and returns *NULL*. + On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` + or :exc:`TypeError`) and returns *NULL*. .. c:function:: PyObject* PyMarshal_ReadLastObjectFromFile(FILE *file) @@ -84,8 +80,8 @@ written using these routines? file. Only use these variant if you are certain that you won't be reading anything else from the file. - On error, sets the appropriate exception (:exc:`EOFError` or - :exc:`TypeError`) and returns *NULL*. + On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` + or :exc:`TypeError`) and returns *NULL*. .. c:function:: PyObject* PyMarshal_ReadObjectFromString(const char *data, Py_ssize_t len) @@ -93,6 +89,6 @@ written using these routines? Return a Python object from the data stream in a byte buffer containing *len* bytes pointed to by *data*. - On error, sets the appropriate exception (:exc:`EOFError` or - :exc:`TypeError`) and returns *NULL*. + On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` + or :exc:`TypeError`) and returns *NULL*. -- cgit v0.12