From d05235ec49de1cf12316e9632a2b3d339dae04c2 Mon Sep 17 00:00:00 2001
From: Brett Cannon <bcannon@gmail.com>
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

