eina_list: fix old-style-cast warning
authorJiyoun Park <jy0703.park@samsung.com>
Wed, 13 Dec 2017 23:21:57 +0000 (08:21 +0900)
committerJiyoun Park <jy0703.park@samsung.com>
Thu, 21 Dec 2017 13:34:07 +0000 (22:34 +0900)
opensource changed EINA_LIST_FOREACH to use the c type casting.
it cause old-style-cast warning in c++.

Change-Id: I4411929d56a7fcbcf85b2109266079d211875426

src/lib/eina/eina_list.h

index 155cd4e..c2010a5 100644 (file)
@@ -1411,6 +1411,8 @@ EAPI int                   eina_list_data_idx(const Eina_List *list, void *data)
  *          For destructive operations such as this, consider
  *          using EINA_LIST_FOREACH_SAFE().
  */
+//TIZEN_ONLY(20171214): fix old-style casting warning in cplusplus
+#if !defined(__cplusplus)
 #define EINA_LIST_FOREACH(list, l, _data)\
   for (l = list,                         \
        _data = eina_list_data_get(l),    \
@@ -1421,6 +1423,19 @@ EAPI int                   eina_list_data_idx(const Eina_List *list, void *data)
        l = eina_list_next(l),            \
        _data = eina_list_data_get(l),    \
        l ? (EINA_PREFETCH(((Eina_List *)l)->next), EINA_PREFETCH(_data)) : EINA_PREFETCH(l))
+#else
+#define EINA_LIST_FOREACH(list, l, _data)\
+  for (l = list,                         \
+       _data = eina_list_data_get(l),    \
+       l ? (EINA_PREFETCH((static_cast<Eina_List *>(l))->next), EINA_PREFETCH(_data)) : EINA_PREFETCH(l); \
+                                         \
+       l;                                \
+                                         \
+       l = eina_list_next(l),            \
+       _data = eina_list_data_get(l),    \
+       l ? (EINA_PREFETCH((static_cast<Eina_List *>(l))->next), EINA_PREFETCH(_data)) : EINA_PREFETCH(l))
+#endif
+//
 
 /**
  * @def EINA_LIST_REVERSE_FOREACH