summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Ruigrok van der Werven <asmodai@in-nomine.org>2009-04-25 20:40:10 +0000
committerJeroen Ruigrok van der Werven <asmodai@in-nomine.org>2009-04-25 20:40:10 +0000
commita4c03abb9e1753931f2f8fc296733dd31b7c375d (patch)
tree8a94ae0e5313bc751fd26cf7156f61e7aca776f4
parent9e03cee97cc7c9ff168b579ccea06f69e4777aa9 (diff)
downloadcpython-git-a4c03abb9e1753931f2f8fc296733dd31b7c375d.tar.gz
Reformat prior to editing.
-rw-r--r--Doc/c-api/marshal.rst66
1 files changed, 34 insertions, 32 deletions
diff --git a/Doc/c-api/marshal.rst b/Doc/c-api/marshal.rst
index 4df628829b..5ecccc41d8 100644
--- a/Doc/c-api/marshal.rst
+++ b/Doc/c-api/marshal.rst
@@ -5,25 +5,26 @@
Data marshalling support
========================
-These routines allow C code to work with serialized objects using the same data
-format as the :mod:`marshal` module. There are functions to write data into the
-serialization format, and additional functions that can be used to read the data
-back. Files used to store marshalled data must be opened in binary mode.
+These routines allow C code to work with serialized objects using the same
+data format as the :mod:`marshal` module. There are functions to write data
+into the serialization format, and additional functions that can be used to
+read the data back. Files used to store marshalled data must be opened in
+binary mode.
Numeric values are stored with the least significant byte first.
-The module supports two versions of the data format: version 0 is the historical
-version, version 1 (new in Python 2.4) shares interned strings in the file, and
-upon unmarshalling. Version 2 (new in Python 2.5) uses a binary format for
-floating point numbers.
-*Py_MARSHAL_VERSION* indicates the current file format (currently 2).
+The module supports two versions of the data format: version 0 is the
+historical version, version 1 (new in Python 2.4) shares interned strings in
+the file, and upon unmarshalling. Version 2 (new in Python 2.5) uses a binary
+format for floating point numbers. *Py_MARSHAL_VERSION* indicates the current
+file format (currently 2).
.. cfunction:: void PyMarshal_WriteLongToFile(long value, FILE *file, int version)
- Marshal a :ctype:`long` integer, *value*, to *file*. This will only write the
- least-significant 32 bits of *value*; regardless of the size of the native
- :ctype:`long` type.
+ Marshal a :ctype:`long` integer, *value*, to *file*. This will only write
+ the least-significant 32 bits of *value*; regardless of the size of the
+ native :ctype:`long` type.
.. versionchanged:: 2.4
*version* indicates the file format.
@@ -48,24 +49,24 @@ 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?
+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?
.. cfunction:: long PyMarshal_ReadLongFromFile(FILE *file)
- Return a C :ctype:`long` from the data stream in a :ctype:`FILE\*` opened for
- reading. Only a 32-bit value can be read in using this function, regardless of
- the native size of :ctype:`long`.
+ Return a C :ctype:`long` from the data stream in a :ctype:`FILE\*` opened
+ for reading. Only a 32-bit value can be read in using this function,
+ regardless of the native size of :ctype:`long`.
.. cfunction:: int PyMarshal_ReadShortFromFile(FILE *file)
- Return a C :ctype:`short` from the data stream in a :ctype:`FILE\*` opened for
- reading. Only a 16-bit value can be read in using this function, regardless of
- the native size of :ctype:`short`.
+ Return a C :ctype:`short` from the data stream in a :ctype:`FILE\*` opened
+ for reading. Only a 16-bit value can be read in using this function,
+ regardless of the native size of :ctype:`short`.
.. cfunction:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file)
@@ -78,17 +79,18 @@ using these routines?
.. cfunction:: PyObject* PyMarshal_ReadLastObjectFromFile(FILE *file)
Return a Python object from the data stream in a :ctype:`FILE\*` opened for
- reading. Unlike :cfunc:`PyMarshal_ReadObjectFromFile`, this function assumes
- that no further objects will be read from the file, allowing it to 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 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*.
+ reading. Unlike :cfunc:`PyMarshal_ReadObjectFromFile`, this function
+ assumes that no further objects will be read from the file, allowing it to
+ 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
+ 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*.
.. cfunction:: PyObject* PyMarshal_ReadObjectFromString(char *string, Py_ssize_t len)
- Return a Python object from the data stream in a character buffer containing
- *len* bytes pointed to by *string*. On error, sets the appropriate exception
- (:exc:`EOFError` or :exc:`TypeError`) and returns *NULL*.
+ Return a Python object from the data stream in a character buffer
+ containing *len* bytes pointed to by *string*. On error, sets the
+ appropriate exception (:exc:`EOFError` or :exc:`TypeError`) and returns
+ *NULL*.