Issue #19428: Document that PyMarshal_ReadLongFromFile() and

PyMarshal_ReadShortFromFile() can fail.
This commit is contained in:
Victor Stinner 2015-03-18 13:58:49 +01:00
parent d6dc7bdaf9
commit 6a318d420a
1 changed files with 15 additions and 6 deletions

View File

@ -53,6 +53,8 @@ written using these routines?
for reading. Only a 32-bit value can be read in using this function, for reading. Only a 32-bit value can be read in using this function,
regardless of the native size of :c:type:`long`. regardless of the native size of :c:type:`long`.
On error, raise an exception and return ``-1``.
.. c:function:: int PyMarshal_ReadShortFromFile(FILE *file) .. c:function:: int PyMarshal_ReadShortFromFile(FILE *file)
@ -60,11 +62,15 @@ written using these routines?
for reading. Only a 16-bit value can be read in using this function, for reading. Only a 16-bit value can be read in using this function,
regardless of the native size of :c:type:`short`. regardless of the native size of :c:type:`short`.
On error, raise an exception and return ``-1``.
.. c:function:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file) .. c:function:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file)
Return a Python object from the data stream in a :c:type:`FILE\*` opened for 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 reading.
On error, sets the appropriate exception (:exc:`EOFError` or
:exc:`TypeError`) and returns *NULL*. :exc:`TypeError`) and returns *NULL*.
@ -76,14 +82,17 @@ written using these routines?
aggressively load file data into memory so that the de-serialization can aggressively load file data into memory so that the de-serialization can
operate from data in memory rather than reading a byte at a time from the operate from data in memory rather than reading a byte at a time from the
file. Only use these variant if you are certain that you won't be reading 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 anything else from the file.
(:exc:`EOFError` or :exc:`TypeError`) and returns *NULL*.
On error, sets the appropriate exception (:exc:`EOFError` or
:exc:`TypeError`) and returns *NULL*.
.. c:function:: PyObject* PyMarshal_ReadObjectFromString(char *string, Py_ssize_t len) .. c:function:: PyObject* PyMarshal_ReadObjectFromString(char *string, Py_ssize_t len)
Return a Python object from the data stream in a character buffer Return a Python object from the data stream in a character buffer
containing *len* bytes pointed to by *string*. On error, sets the containing *len* bytes pointed to by *string*.
appropriate exception (:exc:`EOFError` or :exc:`TypeError`) and returns
*NULL*. On error, sets the appropriate exception (:exc:`EOFError` or
:exc:`TypeError`) and returns *NULL*.