diff options
Diffstat (limited to 'src/analysis/db/item.c')
-rw-r--r-- | src/analysis/db/item.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index 029b1d6..c880d65 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -31,6 +31,7 @@ #include "item-int.h" +#include "../../common/sort.h" #include "../../core/params.h" @@ -116,6 +117,8 @@ static void g_db_item_class_init(GDbItemClass *klass) static void g_db_item_init(GDbItem *item) { + item->index = 0; + set_static_rle_string(&item->author, ""); g_atomic_int_set(&item->atomic_flags, DIF_NONE); @@ -257,6 +260,57 @@ gboolean g_db_item_cmp_key(const GDbItem *a, const GDbItem *b) /****************************************************************************** * * +* Paramètres : a = premier élément à analyser. * +* b = second élément à analyser. * +* * +* Description : Effectue la comparaison entre deux éléments de collection. * +* * +* Retour : Bilan de la comparaison : -1, 0 ou 1. * +* * +* Remarques : - * +* * +******************************************************************************/ + +int g_db_item_cmp_timestamp(const GDbItem **a, const GDbItem **b) +{ + int result; /* Bilan à retourner */ + + result = cmp_timestamp(&(*a)->created, &(*b)->created); + + if (result == 0) + result = sort_unsigned_long((*a)->index, (*b)->index); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : ts = premier élément à analyser. * +* b = second élément à analyser. * +* * +* Description : Effectue la comparaison entre un élément et un horodatage. * +* * +* Retour : Bilan de la comparaison : -1, 0 ou 1. * +* * +* Remarques : - * +* * +******************************************************************************/ + +int g_db_item_cmp_with_timestamp(const timestamp_t *ts, const GDbItem **b) +{ + int result; /* Bilan à retourner */ + + result = cmp_timestamp(ts, &(*b)->created); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : a = premier élément à analyser. * * b = second élément à analyser. * * with = précise les horodatages à prendre en compte. * |