]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] gh-105184: document that marshal functions can fail and need to be checked...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 5 Jun 2023 15:42:16 +0000 (08:42 -0700)
committerGitHub <noreply@github.com>
Mon, 5 Jun 2023 15:42:16 +0000 (17:42 +0200)
(cherry picked from commit ee26ca13a129da8cf549409d0a1b2e892ff2b4ec)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Doc/c-api/marshal.rst
Python/marshal.c

index 7bb0dad2b6b6d50edca1c8429483044f7bee66ec..027ffd5812413e5a3f04a276ae461ca1c6758b4a 100644 (file)
@@ -25,12 +25,16 @@ unmarshalling.  Version 2 uses a binary format for floating point numbers.
    the least-significant 32 bits of *value*; regardless of the size of the
    native :c:type:`long` type.  *version* indicates the file format.
 
+   This function can fail, in which case it sets the error indicator.
+   Use :c:func:`PyErr_Occurred` to check for that.
 
 .. c:function:: void PyMarshal_WriteObjectToFile(PyObject *value, FILE *file, int version)
 
    Marshal a Python object, *value*, to *file*.
    *version* indicates the file format.
 
+   This function can fail, in which case it sets the error indicator.
+   Use :c:func:`PyErr_Occurred` to check for that.
 
 .. c:function:: PyObject* PyMarshal_WriteObjectToString(PyObject *value, int version)
 
index baafa3ecfbf1dee660a78fecbf4d19b37f75089b..651168da9fce02f425309be25be97272255f3b76 100644 (file)
@@ -576,6 +576,10 @@ w_clear_refs(WFILE *wf)
 }
 
 /* version currently has no effect for writing ints. */
+/* Note that while the documentation states that this function
+ * can error, currently it never does. Setting an exception in
+ * this function should be regarded as an API-breaking change.
+ */
 void
 PyMarshal_WriteLongToFile(long x, FILE *fp, int version)
 {