From 7ba993749d8b6eaaf4ddba9b2d5fae675d325429 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 12 Nov 2012 09:58:48 +0000 Subject: [PATCH] add eina_list_last_data_get() macro to simplify calling eina_list_data_get(eina_list_last()) SVN revision: 79142 --- ChangeLog | 4 ++++ NEWS | 7 ++++--- src/lib/eina/eina_list.h | 12 ++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index af4fdcfa6c..1ad7e0bb37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -65,3 +65,7 @@ 2012-11-10 Vincent Torri * Fix build of eina_file on Solaris 10 + +2012-11-12 Mike Blumenkrantz + + * Add eina_list_last_data_get diff --git a/NEWS b/NEWS index 7cb661bfec..1e6e1081c3 100644 --- a/NEWS +++ b/NEWS @@ -10,14 +10,15 @@ Additions: * Add eina_barrier thread API * Add eina_tmpstr_add() and eina_tmpstr_del() * Add eina_thread API + * Add eina_list_last_data_get Improvements: - * Single EFL tree now covring all EFL library components. + * Single EFL tree covering all EFL library components. * Speedup Eina Rbtree Iterator by recycling memory instead of - massively calling malloc/free. + repeatedly calling malloc/free. * Display more information with eet -l -v. Fixes: * Fix PPC (big endian) image codec bug. * Fix return value of eina_mmap_safety_enabled_set() and future - eina_mmap_safety_enabled_get() returns after success + eina_mmap_safety_enabled_get() returns after success diff --git a/src/lib/eina/eina_list.h b/src/lib/eina/eina_list.h index a81f57b801..2e62e4f90f 100644 --- a/src/lib/eina/eina_list.h +++ b/src/lib/eina/eina_list.h @@ -1612,6 +1612,18 @@ EAPI Eina_Accessor *eina_list_accessor_new(const Eina_List *list) EINA_MA list = eina_list_remove_list(list, list), \ data = eina_list_data_get(list)) +/** + * @def EINA_LIST_LAST_DATA_GET + * @brief Macro to return the last list node's data + * + * @param list The list + * @return The node's data, or @c NULL on being passed a @c NULL pointer + * + * This macro is a shortcut for typing eina_list_data_get(eina_list_last()) + */ +#define eina_list_last_data_get(list) \ + eina_list_data_get(eina_list_last(list)) + #include "eina_inline_list.x" /**