]> granicus.if.org Git - python/commitdiff
Fix from SF #681367: inherit tp_as_buffer. This only applies to C
authorGuido van Rossum <guido@python.org>
Tue, 11 Feb 2003 20:39:59 +0000 (20:39 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 11 Feb 2003 20:39:59 +0000 (20:39 +0000)
types -- Python types already inherited this.

Misc/NEWS
Objects/typeobject.c

index 59ad277824c1558ea79143af5010f94f246637bc..ed4f7cf9ac0ea885dd164a234b6facb72edf0f59 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -258,6 +258,10 @@ Build
 C API
 -----
 
+- A C type that inherits from a base type that defines tp_as_buffer
+  will now inherit the tp_as_buffer pointer if it doesn't define one.
+  (SF #681367)
+
 - The PyArg_Parse functions now issue a DeprecationWarning if a float
   argument is provided when an integer is specified (this affects the 'b',
   'B', 'h', 'H', 'i', and 'l' codes).  Future versions of Python will
index 38d5956d1343428b9b0029636010e06e4d334711..baea55a7294d5dff6ab3520f5e8bf01130dbb080 100644 (file)
@@ -2915,6 +2915,8 @@ PyType_Ready(PyTypeObject *type)
                        type->tp_as_sequence = base->tp_as_sequence;
                if (type->tp_as_mapping == NULL)
                        type->tp_as_mapping = base->tp_as_mapping;
+               if (type->tp_as_buffer == NULL)
+                       type->tp_as_buffer = base->tp_as_buffer;
        }
 
        /* Link into each base class's list of subclasses */