This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/708 hnbgw: make cmdline options stronger than config file Now that a config file gets parsed after the command line options, e.g. the 'logging timestamp 0' config item is stronger than a -T commandline option. So rather store the cmdline options to take effect after config file parsing. This adds a stupid 'log_disable_color = true' reverse boolean logic, which is unavoidable if we want to use the same default cmdline options as osmo-nitb / osmo-cscn. Change-Id: I16ad55b173a443c36b71dc6b70f58695f6665312 --- M src/hnbgw.c 1 file changed, 29 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/08/708/1 diff --git a/src/hnbgw.c b/src/hnbgw.c index 01f64a7..4cb3c69 100644 --- a/src/hnbgw.c +++ b/src/hnbgw.c @@ -25,6 +25,7 @@ #include <getopt.h> #include <errno.h> #include <signal.h> +#include <stdbool.h> #include <sys/types.h> #include <sys/socket.h> @@ -390,9 +391,17 @@ static struct { int daemonize; const char *config_file; + bool log_disable_color; + bool log_enable_timestamp; + int log_level; + const char *log_category_mask; } hnbgw_cmdline_config = { 0, - "osmo-hnbgw.cfg" + "osmo-hnbgw.cfg", + true, + false, + 0, + NULL, }; static void print_usage() @@ -439,10 +448,10 @@ print_help(); exit(0); case 's': - log_set_use_color(osmo_stderr_target, 0); + hnbgw_cmdline_config.log_disable_color = true; break; case 'd': - log_parse_category_mask(osmo_stderr_target, optarg); + hnbgw_cmdline_config.log_category_mask = optarg; break; case 'D': hnbgw_cmdline_config.daemonize = 1; @@ -451,10 +460,10 @@ hnbgw_cmdline_config.config_file = optarg; break; case 'T': - log_set_print_timestamp(osmo_stderr_target, 1); + hnbgw_cmdline_config.log_enable_timestamp = true; break; case 'e': - log_set_log_level(osmo_stderr_target, atoi(optarg)); + hnbgw_cmdline_config.log_level = atoi(optarg); break; case 'V': print_version(1); @@ -502,6 +511,21 @@ return 1; } + /* + * cmdline options take precedence over config file, but if no options + * were passed we must not override the config file. + */ + if (hnbgw_cmdline_config.log_disable_color) + log_set_use_color(osmo_stderr_target, 0); + if (hnbgw_cmdline_config.log_category_mask) + log_parse_category_mask(osmo_stderr_target, + hnbgw_cmdline_config.log_category_mask); + if (hnbgw_cmdline_config.log_enable_timestamp) + log_set_print_timestamp(osmo_stderr_target, 1); + if (hnbgw_cmdline_config.log_level) + log_set_log_level(osmo_stderr_target, + hnbgw_cmdline_config.log_level); + LOGP(DMAIN, LOGL_NOTICE, "VTY at %s %d\n", vty_get_bind_addr(), 2323); rc = telnet_init_dynif(NULL, g_hnb_gw, vty_get_bind_addr(), 2323); -- To view, visit https://gerrit.osmocom.org/708 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I16ad55b173a443c36b71dc6b70f58695f6665312 Gerrit-PatchSet: 1 Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>