]> granicus.if.org Git - python/commitdiff
Issue #6477: Keep PyNotImplemented_Type and PyNone_Type private.
authorAlexandre Vassalotti <alexandre@peadrop.com>
Sun, 1 Dec 2013 01:55:48 +0000 (17:55 -0800)
committerAlexandre Vassalotti <alexandre@peadrop.com>
Sun, 1 Dec 2013 01:55:48 +0000 (17:55 -0800)
Include/object.h
Modules/_pickle.c
Objects/object.c

index 5c89ca3a81289336ebf03317c012e3c22e8f1603..cdeb06ccd4f4f4e9e6702093ad5b6799e70ccc8c 100644 (file)
@@ -831,8 +831,8 @@ they can have object code that is not dependent on Python compilation flags.
 PyAPI_FUNC(void) Py_IncRef(PyObject *);
 PyAPI_FUNC(void) Py_DecRef(PyObject *);
 
-PyAPI_DATA(PyTypeObject) PyNone_Type;
-PyAPI_DATA(PyTypeObject) PyNotImplemented_Type;
+PyAPI_DATA(PyTypeObject) _PyNone_Type;
+PyAPI_DATA(PyTypeObject) _PyNotImplemented_Type;
 
 /*
 _Py_NoneStruct is an object of undefined type which can be used in contexts
index ba192fb78d43c192f62314c18b19ea2732770ba5..ae801f74effeb60e78d181855f44855bd0fcbb7f 100644 (file)
@@ -2853,13 +2853,13 @@ save_singleton_type(PicklerObject *self, PyObject *obj, PyObject *singleton)
 static int
 save_type(PicklerObject *self, PyObject *obj)
 {
-    if (obj == (PyObject *)&PyNone_Type) {
+    if (obj == (PyObject *)&_PyNone_Type) {
         return save_singleton_type(self, obj, Py_None);
     }
     else if (obj == (PyObject *)&PyEllipsis_Type) {
         return save_singleton_type(self, obj, Py_Ellipsis);
     }
-    else if (obj == (PyObject *)&PyNotImplemented_Type) {
+    else if (obj == (PyObject *)&_PyNotImplemented_Type) {
         return save_singleton_type(self, obj, Py_NotImplemented);
     }
     return save_global(self, obj, NULL);
index 83da6a4ff070fcf181b639857a736d2b190cd76c..e079d5104b54f874a25ef706c8a6dc5c4948cba8 100644 (file)
@@ -1459,7 +1459,7 @@ static PyNumberMethods none_as_number = {
     0,                          /* nb_index */
 };
 
-PyTypeObject PyNone_Type = {
+PyTypeObject _PyNone_Type = {
     PyVarObject_HEAD_INIT(&PyType_Type, 0)
     "NoneType",
     0,
@@ -1502,7 +1502,7 @@ PyTypeObject PyNone_Type = {
 
 PyObject _Py_NoneStruct = {
   _PyObject_EXTRA_INIT
-  1, &PyNone_Type
+  1, &_PyNone_Type
 };
 
 /* NotImplemented is an object that can be used to signal that an
@@ -1524,7 +1524,7 @@ notimplemented_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
     Py_RETURN_NOTIMPLEMENTED;
 }
 
-PyTypeObject PyNotImplemented_Type = {
+PyTypeObject _PyNotImplemented_Type = {
     PyVarObject_HEAD_INIT(&PyType_Type, 0)
     "NotImplementedType",
     0,
@@ -1567,7 +1567,7 @@ PyTypeObject PyNotImplemented_Type = {
 
 PyObject _Py_NotImplementedStruct = {
     _PyObject_EXTRA_INIT
-    1, &PyNotImplemented_Type
+    1, &_PyNotImplemented_Type
 };
 
 void
@@ -1597,10 +1597,10 @@ _Py_ReadyTypes(void)
     if (PyType_Ready(&PyList_Type) < 0)
         Py_FatalError("Can't initialize list type");
 
-    if (PyType_Ready(&PyNone_Type) < 0)
+    if (PyType_Ready(&_PyNone_Type) < 0)
         Py_FatalError("Can't initialize None type");
 
-    if (PyType_Ready(&PyNotImplemented_Type) < 0)
+    if (PyType_Ready(&_PyNotImplemented_Type) < 0)
         Py_FatalError("Can't initialize NotImplemented type");
 
     if (PyType_Ready(&PyTraceBack_Type) < 0)