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 <hongzhen@linux.alibaba.com>
Link: https://lore.kernel.org/r/20241111095715.3814956-1-hongzhen@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
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;
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;