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 <a.fatoum@xxxxxxxxxxxxxx> --- 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