summaryrefslogtreecommitdiff
path: root/src/common/sort.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/sort.c')
-rw-r--r--src/common/sort.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/common/sort.c b/src/common/sort.c
index 7da9a29..014d6c7 100644
--- a/src/common/sort.c
+++ b/src/common/sort.c
@@ -35,6 +35,37 @@
* Paramètres : a = premier élément à consulter et comparer. *
* b = second élément à consulter et comparer. *
* *
+* Description : Compare un booléen avec une autre. *
+* *
+* Retour : Bilan de la comparaison. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+int sort_boolean(bool a, bool b)
+{
+ int result; /* Bilan à renvoyer */
+
+ if (a && !b)
+ result = 1;
+
+ else if (!a && b)
+ result = -1;
+
+ else
+ result = 0;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : a = premier élément à consulter et comparer. *
+* b = second élément à consulter et comparer. *
+* *
* Description : Compare une valeur avec une autre. *
* *
* Retour : Bilan de la comparaison. *
@@ -63,6 +94,41 @@ int sort_unsigned_long(unsigned long a, unsigned long b)
/******************************************************************************
* *
+* Paramètres : a = premier élément à consulter et comparer. *
+* b = second élément à consulter et comparer. *
+* compar = méthode de comparaison entre éléments. *
+* *
+* Description : Compare un pointeur avec un autre. *
+* *
+* Retour : Bilan de la comparaison. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+int sort_pointer(const void *a, const void *b, __compar_fn_t compar)
+{
+ int result; /* Bilan à renvoyer */
+
+ if (a != NULL && b == NULL)
+ result = 1;
+
+ else if (a == NULL && b != NULL)
+ result = -1;
+
+ else if (a == NULL && b == NULL)
+ result = 0;
+
+ else
+ result = compar(a, b);
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : key = élément de comparaison à retrouver ou approcher. *
* base = adresse du tableau à parcourir. *
* nmemb = nombre d'éléments présents au total. *