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);
 }