Move the fields controlled by the NDEBUG macro to the end to maintain a consistent layout for preceding variables.
It addresses cases where a third-party application does not define NDEBUG while erofs-utils does. Ideally, third-party applications should use the same macros as erofs-utils to get a unique `struct erofs_configure`. However, since NDEBUG enables unnecessary assertions, restructuring the layout resolves such inconsistencies. Fixes: ad6c80dc168d ("erofs-utils: lib: add erofs_get_configure()") Signed-off-by: Hongzhen Luo <hongz...@linux.alibaba.com> --- v2: Revise commit message. v1: https://lore.kernel.org/all/20241111093504.3784696-1-hongz...@linux.alibaba.com/ --- include/erofs/config.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/erofs/config.h b/include/erofs/config.h index ae366c150232..cff4ceadb7bc 100644 --- a/include/erofs/config.h +++ b/include/erofs/config.h @@ -46,10 +46,6 @@ struct erofs_configure { int c_dbg_lvl; bool c_dry_run; bool c_legacy_compress; -#ifndef NDEBUG - bool c_random_pclusterblks; - bool c_random_algorithms; -#endif char c_timeinherit; char c_chunkbits; bool c_inline_data; @@ -94,6 +90,10 @@ struct erofs_configure { char *fs_config_file; char *block_list_file; #endif +#ifndef NDEBUG + bool c_random_pclusterblks; + bool c_random_algorithms; +#endif }; extern struct erofs_configure cfg; -- 2.43.5