Undo revision 23130 which was a merge with 2.5, a messy one because I did something...
[blender.git] / source / blender / python / intern / bpy_util.c
index 7e35d51..924d1db 100644 (file)
@@ -127,6 +127,44 @@ int BPY_flag_from_seq(BPY_flag_def *flagdef, PyObject *seq, int *flag)
        return 0; /* ok */
 }
 
+
+/* Copied from pythons 3's Object.c */
+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;
+}
+
 /* for debugging */
 void PyObSpit(char *name, PyObject *var) {
        fprintf(stderr, "<%s> : ", name);