summaryrefslogtreecommitdiff
path: root/plugins/pychrysa/arch/vmpa.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-05-10 20:21:56 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-05-10 20:21:56 (GMT)
commit8e76324b01e5b4979f346f0bc8c84372477a3d38 (patch)
tree3db4057e113aa9f664f5b217dd349bb1e9288009 /plugins/pychrysa/arch/vmpa.c
parentb0c6ffacf5c6c45c047172e348c737cb85fb5b36 (diff)
Rewritten the whole bitfield management.
Diffstat (limited to 'plugins/pychrysa/arch/vmpa.c')
-rw-r--r--plugins/pychrysa/arch/vmpa.c46
1 files changed, 9 insertions, 37 deletions
diff --git a/plugins/pychrysa/arch/vmpa.c b/plugins/pychrysa/arch/vmpa.c
index 10acf35..03434d7 100644
--- a/plugins/pychrysa/arch/vmpa.c
+++ b/plugins/pychrysa/arch/vmpa.c
@@ -186,8 +186,9 @@ static PyObject *py_vmpa_to_str(PyObject *obj)
/******************************************************************************
* *
-* Paramètres : obj = objet Python à tenter de convertir. *
-* addr = structure équivalente pour Chrysalide. *
+* Paramètres : a = premier object Python à consulter. *
+* b = second object Python à consulter. *
+* op = type de comparaison menée. *
* *
* Description : Effectue une comparaison avec un objet Python 'vmpa_t'. *
* *
@@ -199,7 +200,7 @@ static PyObject *py_vmpa_to_str(PyObject *obj)
static PyObject *py_vmpa_richcompare(PyObject *a, PyObject *b, int op)
{
- PyObject *result; /* Chaîne à retourner */
+ PyObject *result; /* Bilan à retourner */
vmpa2t *addr_a; /* Première adresse à traiter */
vmpa2t addr_b; /* Seconde adresse à traiter */
@@ -829,8 +830,9 @@ static PyObject *py_mrange_to_str(PyObject *obj)
/******************************************************************************
* *
-* Paramètres : obj = objet Python à tenter de convertir. *
-* addr = structure équivalente pour Chrysalide. *
+* Paramètres : a = premier object Python à consulter. *
+* b = second object Python à consulter. *
+* op = type de comparaison menée. *
* *
* Description : Effectue une comparaison avec un objet Python 'mrange_t'. *
* *
@@ -842,7 +844,7 @@ static PyObject *py_mrange_to_str(PyObject *obj)
static PyObject *py_mrange_richcompare(PyObject *a, PyObject *b, int op)
{
- PyObject *result; /* Chaîne à retourner */
+ PyObject *result; /* Bilan à retourner */
mrange_t *range_a; /* Premier espace à traiter */
mrange_t *range_b; /* Second espace à traiter */
int status; /* Résultat d'une comparaison */
@@ -854,37 +856,7 @@ static PyObject *py_mrange_richcompare(PyObject *a, PyObject *b, int op)
status = cmp_mrange(range_a, range_b);
- switch (op)
- {
- case Py_LT:
- result = status < 0 ? Py_True : Py_False;
- break;
-
- case Py_LE:
- result = status <= 0 ? Py_True : Py_False;
- break;
-
- case Py_EQ:
- result = status == 0 ? Py_True : Py_False;
- break;
-
- case Py_NE:
- result = status != 0 ? Py_True : Py_False;
- break;
-
- case Py_GT:
- result = status > 0 ? Py_True : Py_False;
- break;
-
- case Py_GE:
- result = status >= 0 ? Py_True : Py_False;
- break;
-
- default:
- result = Py_NotImplemented;
- break;
-
- }
+ result = status_to_rich_cmp_state(status, op);
Py_INCREF(result);