Mercurial > vim
diff src/time.c @ 19934:3ff714d765ba v8.2.0523
patch 8.2.0523: loops are repeated
Commit: https://github.com/vim/vim/commit/00d253e2b2f435a5386582c3f857008e7ac355c2
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Apr 6 22:13:01 2020 +0200
patch 8.2.0523: loops are repeated
Problem: Loops are repeated.
Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5882)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 06 Apr 2020 22:15:39 +0200 |
parents | a961efb326e5 |
children | aadd1cae2ff5 |
line wrap: on
line diff
--- a/src/time.c +++ b/src/time.c @@ -21,6 +21,9 @@ static char tz_cache[64]; #endif +#define FOR_ALL_TIMERS(t) \ + for ((t) = first_timer; (t) != NULL; (t) = (t)->tr_next) + /* * Call either localtime(3) or localtime_r(3) from POSIX libc time.h, with the * latter version preferred for reentrancy. @@ -583,7 +586,7 @@ find_timer(long id) if (id >= 0) { - for (timer = first_timer; timer != NULL; timer = timer->tr_next) + FOR_ALL_TIMERS(timer) if (timer->tr_id == id) return timer; } @@ -659,7 +662,7 @@ add_timer_info_all(typval_T *rettv) { timer_T *timer; - for (timer = first_timer; timer != NULL; timer = timer->tr_next) + FOR_ALL_TIMERS(timer) if (timer->tr_id != -1) add_timer_info(rettv, timer); }