From: Arnaud Giersch Date: Mon, 2 May 2011 07:53:13 +0000 (+0200) Subject: xbt_swag: remove duplicated code. X-Git-Tag: v3_6_rc3~71 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ad4640ba22bba03fdc83e735157be1b4d23079eb?ds=sidebyside xbt_swag: remove duplicated code. xbt_swag_insert is actually the same as xbt_swag_insert_at_tail. --- diff --git a/include/xbt/swag.h b/include/xbt/swag.h index b78b172090..1407b52bb4 100644 --- a/include/xbt/swag.h +++ b/include/xbt/swag.h @@ -89,7 +89,16 @@ typedef struct xbt_swag { XBT_PUBLIC(xbt_swag_t) xbt_swag_new(size_t offset); XBT_PUBLIC(void) xbt_swag_free(xbt_swag_t swag); XBT_INLINE XBT_PUBLIC(void) xbt_swag_init(xbt_swag_t swag, size_t offset); -XBT_PUBLIC(void) xbt_swag_insert(void *obj, xbt_swag_t swag); + +/** + * \param obj the objet to insert in the swag + * \param swag a swag + * @hideinitializer + * + * insert \a obj in \a swag + */ +#define xbt_swag_insert(obj, swag) xbt_swag_insert_at_tail(obj, swag) + XBT_PUBLIC(void) xbt_swag_insert_at_head(void *obj, xbt_swag_t swag); XBT_PUBLIC(void) xbt_swag_insert_at_tail(void *obj, xbt_swag_t swag); XBT_PUBLIC(void *) xbt_swag_remove(void *obj, xbt_swag_t swag); diff --git a/src/xbt/swag.c b/src/xbt/swag.c index 5a11ab7fc5..d64067f22e 100644 --- a/src/xbt/swag.c +++ b/src/xbt/swag.c @@ -56,32 +56,6 @@ XBT_INLINE void xbt_swag_init(xbt_swag_t swag, size_t offset) swag->count = 0; } - -/** - * \param obj the objet to insert in the swag - * \param swag a swag - * - * insert \a obj in \a swag - */ -XBT_INLINE void xbt_swag_insert(void *obj, xbt_swag_t swag) -{ - - if (xbt_swag_belongs(obj, swag)) - return; - - (swag->count)++; - if (swag->head == NULL) { - xbt_assert(!(swag->tail), "Inconsistent swag."); - swag->head = obj; - swag->tail = obj; - return; - } - - xbt_swag_getPrev(obj, swag->offset) = swag->tail; - xbt_swag_getNext(swag->tail, swag->offset) = obj; - swag->tail = obj; -} - /** * \param obj the objet to insert in the swag * \param swag a swag