Calculate the field width instead of hardcoding the alignment
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
diff --git a/amiga-nvram.c b/amiga-nvram.c
index c0c5654..4d3436f 100644
--- a/amiga-nvram.c
+++ b/amiga-nvram.c
@@ -232,17 +232,24 @@
static void nvram_dump(void)
{
unsigned int i;
+ unsigned int max_name_len = 0;
uint8_t sum;
for (i = 0; i < ARRAY_SIZE(nvram_fields); i++) {
+ size_t len = strlen(nvram_fields[i].name);
+ if (len > max_name_len)
+ max_name_len = len;
+ }
+
+ for (i = 0; i < ARRAY_SIZE(nvram_fields); i++) {
const struct nvram_field *field = &nvram_fields[i];
uint32_t val = nvram_get_field(field);
if (field->len == 32)
- printf("%-23s= 0x%08x\n", field->name, val);
+ printf("%-*s = 0x%08x\n", max_name_len, field->name, val);
else
- printf("%-23s= %u\n", field->name, val);
+ printf("%-*s = %u\n", max_name_len, field->name, val);
}
- printf("checksum = 0x%02x ", nvram.checksum);
+ printf("%-*s = 0x%02x ", max_name_len, "checksum", nvram.checksum);
sum = nvram_checksum();
if (sum == nvram.checksum)
puts("[correct]");