From a8291391ec2cca1feff0cd825bfad7198b3e182f Mon Sep 17 00:00:00 2001 From: Daniel Beer Date: Fri, 23 Sep 2016 09:40:56 +1200 Subject: [PATCH] dbgutil: print unknown data type indicators safely. --- tests/dbgutil.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/dbgutil.c b/tests/dbgutil.c index 6dd492e..4bf1dc8 100644 --- a/tests/dbgutil.c +++ b/tests/dbgutil.c @@ -25,20 +25,25 @@ #include "dbgutil.h" +static const char *data_type_str(int dt) +{ + switch (dt) { + case QUIRC_DATA_TYPE_NUMERIC: return "NUMERIC"; + case QUIRC_DATA_TYPE_ALPHA: return "ALPHA"; + case QUIRC_DATA_TYPE_BYTE: return "BYTE"; + case QUIRC_DATA_TYPE_KANJI: return "KANJI"; + } + + return "unknown"; +} + void dump_data(const struct quirc_data *data) { - static const char *data_type_str[] = { - [QUIRC_DATA_TYPE_NUMERIC] = "NUMERIC", - [QUIRC_DATA_TYPE_ALPHA] = "ALPHANUMERIC", - [QUIRC_DATA_TYPE_BYTE] = "BINARY", - [QUIRC_DATA_TYPE_KANJI] = "KANJI", - }; - printf(" Version: %d\n", data->version); printf(" ECC level: %c\n", "MLHQ"[data->ecc_level]); printf(" Mask: %d\n", data->mask); printf(" Data type: %d (%s)\n", - data->data_type, data_type_str[data->data_type]); + data->data_type, data_type_str(data->data_type)); printf(" Length: %d\n", data->payload_len); printf(" Payload: %s\n", data->payload); }