From d05235ec49de1cf12316e9632a2b3d339dae04c2 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Sun, 19 Oct 2003 21:19:40 +0000 Subject: Defined macros Py_RETURN_(TRUE|FALSE|NONE) as helper functions for returning the specified value. All three Py_INCREF the singleton and then return it. --- Include/boolobject.h | 4 ++++ Include/object.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/Include/boolobject.h b/Include/boolobject.h index e7a4e60..7c4939b 100644 --- a/Include/boolobject.h +++ b/Include/boolobject.h @@ -23,6 +23,10 @@ PyAPI_DATA(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct; #define Py_False ((PyObject *) &_Py_ZeroStruct) #define Py_True ((PyObject *) &_Py_TrueStruct) +/* Macros for returning Py_True or Py_False, respectively */ +#define Py_RETURN_TRUE Py_INCREF(Py_True); return Py_True; +#define Py_RETURN_FALSE Py_INCREF(Py_False); return Py_False; + /* Function to return a bool from a C long */ PyAPI_FUNC(PyObject *) PyBool_FromLong(long); diff --git a/Include/object.h b/Include/object.h index 252e99c..8fdd4dc 100644 --- a/Include/object.h +++ b/Include/object.h @@ -633,6 +633,9 @@ Don't forget to apply Py_INCREF() when returning this value!!! PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */ #define Py_None (&_Py_NoneStruct) +/* Macro for returning Py_None from a function */ +#define Py_RETURN_NONE Py_INCREF(Py_None); return Py_None; + /* Py_NotImplemented is a singleton used to signal that an operation is not implemented for a given type combination. -- cgit v0.12