bpo-37571: Add 'b' to prevent the TypeError exception. (GH-14721)
authorMichele Angrisano <michele.angrisano@gmail.com>
Sun, 14 Jul 2019 07:55:11 +0000 (09:55 +0200)
committerSteve Dower <steve.dower@python.org>
Sun, 14 Jul 2019 07:55:11 +0000 (09:55 +0200)
Co-Authored-By: Kyle Stanley <aeros167@gmail.com>
Doc/library/ctypes.rst

index 680703d4483f378256367d3a47da4cd1a32ae30e..5507cc6aad16b98c6269b0f2dbc1b6b58c6f667e 100644 (file)
@@ -1178,12 +1178,17 @@ the root-object's underlying buffer.
 Another example that may behave different from what one would expect is this::
 
    >>> s = c_char_p()
-   >>> s.value = "abc def ghi"
+   >>> s.value = b"abc def ghi"
    >>> s.value
-   'abc def ghi'
+   b'abc def ghi'
    >>> s.value is s.value
    False
-   >>>
+    >>>
+
+.. note::
+
+   Objects instantiated from :class:`c_char_p` can only have their value set to bytes
+   or integers.
 
 Why is it printing ``False``?  ctypes instances are objects containing a memory
 block plus some :term:`descriptor`\s accessing the contents of the memory.