diff options
author | Bryn M. Reeves <bmr@redhat.com> | 2016-07-07 21:28:35 +0100 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2016-07-08 11:14:22 +0100 |
commit | 5e06b33c51e2b264ad8a48b61f18bf3bff37c992 (patch) | |
tree | 71a65d4b9e8290c6a7237403dc95eaffe44bc174 /libdm/libdevmapper.h | |
parent | 6233bcf52d98d9d0a3c87b22cb7700521b5358a2 (diff) | |
download | lvm2-5e06b33c51e2b264ad8a48b61f18bf3bff37c992.tar.gz |
libdm: enclose dm_stats_walk_do/while() body in do..while
The call to dm_stats_walk_start() before the do statement makes
dm_stats_walk_do() behave inconsistently depending on context;
wrap them in an additional do { } while (0) so that the macro
always expands to a valid statement.
Diffstat (limited to 'libdm/libdevmapper.h')
-rw-r--r-- | libdm/libdevmapper.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h index 415928ccf..ec644260c 100644 --- a/libdm/libdevmapper.h +++ b/libdm/libdevmapper.h @@ -1146,15 +1146,17 @@ for (dm_stats_walk_init((dms), DM_STATS_WALK_GROUP), \ * empty. */ #define dm_stats_walk_do(dms) \ -dm_stats_walk_start((dms)); \ -do +do { \ + dm_stats_walk_start((dms)); \ + do /* * Start a 'while' style loop or end a 'do..while' loop iterating over the * regions contained in dm_stats handle 'dms'. */ #define dm_stats_walk_while(dms) \ -while(!dm_stats_walk_end((dms))) + while(!dm_stats_walk_end((dms))); \ +} while (0) /* * Cursor relative property methods |