defaultenv_append_directory is called as if it were a function and the
trailing semicolon can break parse of if-else statements. Wrap in do { }
while (0) to avoid this.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 include/envfs.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/envfs.h b/include/envfs.h
index d4e2c6110e65..abe0ffb96397 100644
--- a/include/envfs.h
+++ b/include/envfs.h
@@ -139,13 +139,13 @@ static inline int defaultenv_load(const char *dir, 
unsigned flags)
  * from the filename.
  */
 #define defaultenv_append_directory(name)                      \
-       {                                                       \
+       do {                                                    \
                extern char __bbenv_##name##_start[];           \
                extern char __bbenv_##name##_end[];             \
                defaultenv_append(__bbenv_##name##_start,       \
                                __bbenv_##name##_end -          \
                                __bbenv_##name##_start,         \
                                __stringify(name));             \
-       }
+       } while (0)
 
 #endif /* _ENVFS_H */
-- 
2.39.2


Reply via email to