Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/9533 )
Change subject: lc15: rewrite and refactor code to print hwversion description ...................................................................... lc15: rewrite and refactor code to print hwversion description Also print a newline at the end of print_hwversion(). In the process of rewrite, fix several warnings in the few lines of this functions: osmo-bts/src/osmo-bts-litecell15/main.c: In function ‘print_hwversion’: osmo-bts/src/osmo-bts-litecell15/main.c:162:12: warning: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Wrestrict] snprintf(model_name, sizeof(model_name), "%s Rev %c", ^~~~~~~~~~ model_name, (char)rev); ~~~~~~~~~~ osmo-bts/src/osmo-bts-litecell15/main.c:168:12: warning: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Wrestrict] snprintf(model_name, sizeof(model_name), "%s (%05X)", ^~~~~~~~~~ model_name, model); ~~~~~~~~~~ osmo-bts/src/osmo-bts-litecell15/main.c:162:47: warning: ‘ Rev ’ directive output may be truncated writing 5 bytes into a region of size between 1 and 64 [-Wformat-truncation=] snprintf(model_name, sizeof(model_name), "%s Rev %c", ^~~~~ osmo-bts/src/osmo-bts-litecell15/main.c:162:3: note: ‘snprintf’ output between 7 and 70 bytes into a destination of size 64 snprintf(model_name, sizeof(model_name), "%s Rev %c", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ model_name, (char)rev); ~~~~~~~~~~~~~~~~~~~~~~ osmo-bts/src/osmo-bts-litecell15/main.c:168:47: warning: ‘ (’ directive output may be truncated writing 2 bytes into a region of size between 1 and 64 [-Wformat-truncation=] snprintf(model_name, sizeof(model_name), "%s (%05X)", ^~ osmo-bts/src/osmo-bts-litecell15/main.c:168:44: note: using the range [0, 4294967295] for directive argument snprintf(model_name, sizeof(model_name), "%s (%05X)", ^~~~~~~~~~~ osmo-bts/src/osmo-bts-litecell15/main.c:168:3: note: ‘snprintf’ output between 9 and 75 bytes into a destination of size 64 snprintf(model_name, sizeof(model_name), "%s (%05X)", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ model_name, model); ~~~~~~~~~~~~~~~~~~ Change-Id: I079b056a04fe77d2f7f361ff5899232cb70b5a93 --- M src/osmo-bts-litecell15/main.c M src/osmo-bts-litecell15/misc/lc15bts_bid.c M src/osmo-bts-litecell15/misc/lc15bts_bid.h M src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c 4 files changed, 26 insertions(+), 35 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c index 030c3ef..de175e3 100644 --- a/src/osmo-bts-litecell15/main.c +++ b/src/osmo-bts-litecell15/main.c @@ -151,25 +151,8 @@ static void print_hwversion() { - int rev; - int model; - static char model_name[64] = {0, }; - - snprintf(model_name, sizeof(model_name), "NuRAN Litecell 1.5 BTS"); - - rev = lc15bts_rev_get(); - if (rev >= 0) { - snprintf(model_name, sizeof(model_name), "%s Rev %c", - model_name, (char)rev); - } - - model = lc15bts_model_get(); - if (model >= 0) { - snprintf(model_name, sizeof(model_name), "%s (%05X)", - model_name, model); - } - - printf(model_name); + printf(get_hwversion_desc()); + printf("\n"); } int bts_model_handle_options(int argc, char **argv) diff --git a/src/osmo-bts-litecell15/misc/lc15bts_bid.c b/src/osmo-bts-litecell15/misc/lc15bts_bid.c index 7f278bf..9284b62 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_bid.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_bid.c @@ -138,3 +138,25 @@ return option; } + +const char* get_hwversion_desc() +{ + int rev; + int model; + size_t len; + static char model_name[64] = {0, }; + len = snprintf(model_name, sizeof(model_name), "NuRAN Litecell 1.5 BTS"); + + rev = lc15bts_rev_get(); + if (rev >= 0) { + len += snprintf(model_name + len, sizeof(model_name) - len, + " Rev %c", (char)rev); + } + + model = lc15bts_model_get(); + if (model >= 0) { + snprintf(model_name + len, sizeof(model_name) - len, + "%s (%05X)", model_name, model); + } + return model_name; +} diff --git a/src/osmo-bts-litecell15/misc/lc15bts_bid.h b/src/osmo-bts-litecell15/misc/lc15bts_bid.h index b320e11..a71fdd7 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_bid.h +++ b/src/osmo-bts-litecell15/misc/lc15bts_bid.h @@ -47,5 +47,6 @@ int lc15bts_rev_get(void); int lc15bts_model_get(void); int lc15bts_option_get(enum lc15bts_option_type type); +const char* get_hwversion_desc(); #endif diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c index 549c179..3a617dd 100644 --- a/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c +++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr_nl.c @@ -104,8 +104,6 @@ if (!fetched_info) { int fd_eth; int serno; - int model; - int rev; /* fetch the MAC */ fd_eth = open(ETH0_ADDR_SYSFS, O_RDONLY); @@ -119,20 +117,7 @@ lc15bts_par_get_int(tall_mgr_ctx, LC15BTS_PAR_SERNR, &serno); snprintf(ser_str, sizeof(ser_str), "%d", serno); - /* fetch the model and trx number */ - snprintf(model_name, sizeof(model_name), "Litecell 1.5 BTS"); - - rev = lc15bts_rev_get(); - if (rev >= 0) { - snprintf(model_name, sizeof(model_name), "%s Rev %c", - model_name, rev); - } - - model = lc15bts_model_get(); - if (model >= 0) { - snprintf(model_name, sizeof(model_name), "%s (%05X)", - model_name, model); - } + strncpy(model_name, get_hwversion_desc(), sizeof(model_name)-1); fetched_info = 1; } -- To view, visit https://gerrit.osmocom.org/9533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I079b056a04fe77d2f7f361ff5899232cb70b5a93 Gerrit-Change-Number: 9533 Gerrit-PatchSet: 3 Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder (1000002)