[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18735] branches/blender2.5/blender/source /blender/python/intern: include Py_CmpToRich for python versions lower then 3

Campbell Barton ideasman42 at gmail.com
Thu Jan 29 11:22:09 CET 2009


Revision: 18735
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18735
Author:   campbellbarton
Date:     2009-01-29 11:22:03 +0100 (Thu, 29 Jan 2009)

Log Message:
-----------
include Py_CmpToRich for python versions lower then 3

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/python/intern/bpy_compat.h
    branches/blender2.5/blender/source/blender/python/intern/bpy_util.c

Modified: branches/blender2.5/blender/source/blender/python/intern/bpy_compat.h
===================================================================
--- branches/blender2.5/blender/source/blender/python/intern/bpy_compat.h	2009-01-29 10:19:43 UTC (rev 18734)
+++ branches/blender2.5/blender/source/blender/python/intern/bpy_compat.h	2009-01-29 10:22:03 UTC (rev 18735)
@@ -74,4 +74,11 @@
 #endif
 #endif
 
+
+/* defined in bpy_util.c */
+#if PY_VERSION_HEX < 0x03000000
+PyObject *Py_CmpToRich(int op, int cmp);
+#endif
+
+
 #endif /* BPY_COMPAT_H__ */

Modified: branches/blender2.5/blender/source/blender/python/intern/bpy_util.c
===================================================================
--- branches/blender2.5/blender/source/blender/python/intern/bpy_util.c	2009-01-29 10:19:43 UTC (rev 18734)
+++ branches/blender2.5/blender/source/blender/python/intern/bpy_util.c	2009-01-29 10:22:03 UTC (rev 18735)
@@ -110,6 +110,46 @@
 	return 0; /* ok */
 }
 
+
+/* Copied from pythons 3's Object.c */
+#if PY_VERSION_HEX < 0x03000000
+PyObject *
+Py_CmpToRich(int op, int cmp)
+{
+	PyObject *res;
+	int ok;
+
+	if (PyErr_Occurred())
+		return NULL;
+	switch (op) {
+	case Py_LT:
+		ok = cmp <  0;
+		break;
+	case Py_LE:
+		ok = cmp <= 0;
+		break;
+	case Py_EQ:
+		ok = cmp == 0;
+		break;
+	case Py_NE:
+		ok = cmp != 0;
+		break;
+	case Py_GT:
+		ok = cmp >  0;
+		break;
+	case Py_GE:
+		ok = cmp >= 0;
+		break;
+	default:
+		PyErr_BadArgument();
+		return NULL;
+	}
+	res = ok ? Py_True : Py_False;
+	Py_INCREF(res);
+	return res;
+}
+#endif
+
 /* for debugging */
 void PyObSpit(char *name, PyObject *var) {
 	fprintf(stderr, "<%s> : ", name);




More information about the Bf-blender-cvs mailing list