On 2024/11/11 17:35, Hongzhen Luo wrote:
Move the content defined by the NDEBUG macro to the end.
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 defines
NDEBUG while erofs-utils does not (by default). 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.
The reason for doing this is to maintain a consistent layout
for all preceding variables when a third-party application
defines NDEBUG while erofs-utils does not (by default).
Fixes: ad6c80dc168d ("erofs-utils: lib: add erofs_get_configure()")
Signed-off-by: Hongzhen Luo <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;