[PATCH] lib: framework: pack fwts_framework_flags to ensure it is a 32 bit int
Colin King
colin.king at canonical.com
Mon Nov 9 13:20:52 UTC 2015
From: Colin Ian King <colin.king at canonical.com>
recent commit c4091edad369beb12b451a0ab5f233fcda05a5f3
("Add in the notion of ACPI compliance tests.") make the fwts_framework_flags
enum into a 64 bit integer which now breaks 32 bit builds:
fwts_framework.c: In function 'fwts_framework_test_add':
fwts_framework.c:155:4: error: format '%lx' expects argument of type
'long unsigned int', but argument 4 has type 'long long unsigned int'
[-Werror=format]
Since we have a bunch of spare bits in this enum, re-orginaise the bits to
pack this into a 32 bit enum. Once we've used all these bits up we should
consider making the enum into a 64 bit integer, but for now, try to save
a few bytes by keeping this a 32 bit integer.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/lib/include/fwts_framework.h | 30 +++++++++++++++---------------
src/lib/src/fwts_framework.c | 2 +-
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/lib/include/fwts_framework.h b/src/lib/include/fwts_framework.h
index 7883339..0ae8321 100644
--- a/src/lib/include/fwts_framework.h
+++ b/src/lib/include/fwts_framework.h
@@ -40,21 +40,21 @@ typedef enum {
FWTS_FLAG_SHOW_PROGRESS_DIALOG = 0x00000010,
FWTS_FLAG_ACPICA_DEBUG = 0x00000020,
FWTS_FLAG_DUMP = 0x00000040,
- FWTS_FLAG_BATCH = 0x00001000,
- FWTS_FLAG_INTERACTIVE = 0x00002000,
- FWTS_FLAG_BATCH_EXPERIMENTAL = 0x00004000,
- FWTS_FLAG_INTERACTIVE_EXPERIMENTAL = 0x00008000,
- FWTS_FLAG_POWER_STATES = 0x00010000,
- FWTS_FLAG_ROOT_PRIV = 0x00020000,
- FWTS_FLAG_UNSAFE = 0x00040000,
- FWTS_FLAG_TEST_BIOS = 0x01000000,
- FWTS_FLAG_TEST_UEFI = 0x02000000,
- FWTS_FLAG_TEST_ACPI = 0x04000000,
- FWTS_FLAG_UTILS = 0x08000000,
- FWTS_FLAG_QUIET = 0x10000000,
- FWTS_FLAG_SHOW_TESTS_FULL = 0x20000000,
- FWTS_FLAG_SHOW_TESTS_CATEGORIES = 0x40000000,
- FWTS_FLAG_TEST_COMPLIANCE_ACPI = 0x100000000
+ FWTS_FLAG_BATCH = 0x00000100,
+ FWTS_FLAG_INTERACTIVE = 0x00000200,
+ FWTS_FLAG_BATCH_EXPERIMENTAL = 0x00000400,
+ FWTS_FLAG_INTERACTIVE_EXPERIMENTAL = 0x00000800,
+ FWTS_FLAG_POWER_STATES = 0x00001000,
+ FWTS_FLAG_ROOT_PRIV = 0x00002000,
+ FWTS_FLAG_UNSAFE = 0x00004000,
+ FWTS_FLAG_TEST_BIOS = 0x00010000,
+ FWTS_FLAG_TEST_UEFI = 0x00020000,
+ FWTS_FLAG_TEST_ACPI = 0x00040000,
+ FWTS_FLAG_UTILS = 0x00080000,
+ FWTS_FLAG_QUIET = 0x00100000,
+ FWTS_FLAG_SHOW_TESTS_FULL = 0x00200000,
+ FWTS_FLAG_SHOW_TESTS_CATEGORIES = 0x00400000,
+ FWTS_FLAG_TEST_COMPLIANCE_ACPI = 0x00800000
} fwts_framework_flags;
#define FWTS_FLAG_TEST_MASK \
diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
index 9739c7b..3c2cef8 100644
--- a/src/lib/src/fwts_framework.c
+++ b/src/lib/src/fwts_framework.c
@@ -151,7 +151,7 @@ void fwts_framework_test_add(
fwts_framework_test *new_test;
if (flags & ~(FWTS_FLAG_RUN_ALL | FWTS_FLAG_ROOT_PRIV)) {
- fprintf(stderr, "Test %s flags must be a bit field in 0x%lx, got 0x%lx\n",
+ fprintf(stderr, "Test %s flags must be a bit field in 0x%x, got 0x%x\n",
name, FWTS_FLAG_RUN_ALL, flags);
exit(EXIT_FAILURE);
}
--
2.5.0
More information about the fwts-devel
mailing list