Avoid using a utility header for Python replacements included in Samba,
[kai/samba-autobuild/.git] / source4 / librpc / ndr / py_security.c
index 5100517c57f76f137e844b0179e74c2fb6805d65..08542640b99dbd861962f224943d3a862a180007 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
+#include <Python.h>
 #include "libcli/security/security.h"
 
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
 static void PyType_AddMethods(PyTypeObject *type, PyMethodDef *methods)
 {
        PyObject *dict;
@@ -100,7 +105,7 @@ static PyObject *py_descriptor_sacl_add(PyObject *self, PyObject *args)
        ace = py_talloc_get_ptr(py_ace);
        status = security_descriptor_sacl_add(desc, ace);
        PyErr_NTSTATUS_IS_ERR_RAISE(status);
-       return Py_None;
+       Py_RETURN_NONE;
 }
 
 static PyObject *py_descriptor_dacl_add(PyObject *self, PyObject *args)
@@ -117,7 +122,7 @@ static PyObject *py_descriptor_dacl_add(PyObject *self, PyObject *args)
 
        status = security_descriptor_dacl_add(desc, ace);
        PyErr_NTSTATUS_IS_ERR_RAISE(status);
-       return Py_None;
+       Py_RETURN_NONE;
 }
 
 static PyObject *py_descriptor_dacl_del(PyObject *self, PyObject *args)
@@ -133,7 +138,7 @@ static PyObject *py_descriptor_dacl_del(PyObject *self, PyObject *args)
        sid = py_talloc_get_ptr(py_sid);
        status = security_descriptor_dacl_del(desc, sid);
        PyErr_NTSTATUS_IS_ERR_RAISE(status);
-       return Py_None;
+       Py_RETURN_NONE;
 }
 
 static PyObject *py_descriptor_sacl_del(PyObject *self, PyObject *args)
@@ -149,7 +154,7 @@ static PyObject *py_descriptor_sacl_del(PyObject *self, PyObject *args)
        sid = py_talloc_get_ptr(py_sid);
        status = security_descriptor_sacl_del(desc, sid);
        PyErr_NTSTATUS_IS_ERR_RAISE(status);
-       return Py_None;
+       Py_RETURN_NONE;
 }
 
 static PyObject *py_descriptor_new(PyTypeObject *self, PyObject *args, PyObject *kwargs)
@@ -252,7 +257,7 @@ static PyObject *py_token_set_privilege(PyObject *self, PyObject *args)
                return NULL;
 
        security_token_set_privilege(token, priv);
-       return Py_None;
+       Py_RETURN_NONE;
 }
 
 static PyObject *py_token_new(PyTypeObject *self, PyObject *args, PyObject *kwargs)