]> git.saurik.com Git - minimal.git/blobdiff - stdlib.h
Break API: _foreach now iterates values, not iterators.
[minimal.git] / stdlib.h
index 021ae70202020649a8a45fc3aa64951745ad4a11..925822175a0022c091e98bcec0e45938cb2ed177 100644 (file)
--- a/stdlib.h
+++ b/stdlib.h
@@ -114,7 +114,9 @@ struct Iterator_ {
 #define _foreach(item, list) \
     for (bool _stop(true); _stop; ) \
         for (const __typeof__(list) &_list = (list); _stop; _stop = false) \
-            for (Iterator_<__typeof__(list)>::Result item = _list.begin(); item != _list.end(); ++item)
+            for (Iterator_<__typeof__(list)>::Result _item = _list.begin(); _item != _list.end(); ++_item) \
+                for (bool _suck(true); _suck; ) \
+                    for (const __typeof__(*_item) &item = *_item; _suck; _suck = false)
 
 #endif