2011/2/16 Enlightenment SVN <[email protected]>: > Log: > +EINA_INLIST_FOREACH_SAFE > it looks crazy, but it works somehow > > > Author: discomfitor > Date: 2011-02-16 01:34:27 -0800 (Wed, 16 Feb 2011) > New Revision: 57080 > Trac: http://trac.enlightenment.org/e/changeset/57080 > > Modified: > trunk/eina/ChangeLog trunk/eina/src/include/eina_inlist.h > > Modified: trunk/eina/ChangeLog > =================================================================== > --- trunk/eina/ChangeLog 2011-02-16 09:31:44 UTC (rev 57079) > +++ trunk/eina/ChangeLog 2011-02-16 09:34:27 UTC (rev 57080) > @@ -10,3 +10,6 @@ > > * Added eina_unicode_strndup > > +2011-02-16 Mike Blumenkrantz > + > + * EINA_INLIST_FOREACH_SAFE
Such a meaningful changelog entry. I'm overwhelmed by how much information it provides. > > Modified: trunk/eina/src/include/eina_inlist.h > =================================================================== > --- trunk/eina/src/include/eina_inlist.h 2011-02-16 09:31:44 UTC (rev > 57079) > +++ trunk/eina/src/include/eina_inlist.h 2011-02-16 09:34:27 UTC (rev > 57080) > @@ -98,6 +98,10 @@ > #define EINA_INLIST_FOREACH(list, l) \ > for (l = NULL, l = (list ? _EINA_INLIST_CONTAINER(l, list) : NULL); l; \ > l = (EINA_INLIST_GET(l)->next ? _EINA_INLIST_CONTAINER(l, > EINA_INLIST_GET(l)->next) : NULL)) > +#define EINA_INLIST_FOREACH_SAFE(list, list2, l) \ > + for (l = (list ? _EINA_INLIST_CONTAINER(l, list) : NULL), list2 = l ? > ((EINA_INLIST_GET(l) ? EINA_INLIST_GET(l)->next : NULL)) : NULL; \ > + l; \ > + l = _EINA_INLIST_CONTAINER(l, list2), list2 = list2 ? list2->next : > NULL) > #define EINA_INLIST_REVERSE_FOREACH(list, l) \ > for (l = NULL, l = (list ? _EINA_INLIST_CONTAINER(l, list->last) : NULL); \ > l; l = (EINA_INLIST_GET(l)->prev ? _EINA_INLIST_CONTAINER(l, > EINA_INLIST_GET(l)->prev) : NULL)) > > > ------------------------------------------------------------------------------ > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: > Pinpoint memory and threading errors before they happen. > Find and fix more than 250 security defects in the development cycle. > Locate bottlenecks in serial and parallel code that limit performance. > http://p.sf.net/sfu/intel-dev2devfeb > _______________________________________________ > enlightenment-svn mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
