diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-10-12 03:30:48 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-02-23 22:27:39 +0100 |
commit | 17fbe1134f82d94ad7bf9a24627e281b5c89c80c (patch) | |
tree | c27b99bcb86df3943dc35f451e4c15b8b37c47a3 | |
parent | 6e044475be46a97bad4e06c9691d28e2550ce6ac (diff) |
sgsn init: pass sgsn_config pointer to sgsn_vty_init(), not sgsn_parse_config
It makes sense semantically, and prepares for an upcoming commit that uses
the internal global config pointer in sgsn_vty_init(), which would not
be defined yet without this.
Change-Id: Ie4cf1c0a1c9e6330a134ff4b7b2e6d5699c12bd7
-rw-r--r-- | openbsc/include/openbsc/sgsn.h | 4 | ||||
-rw-r--r-- | openbsc/src/gprs/sgsn_main.c | 4 | ||||
-rw-r--r-- | openbsc/src/gprs/sgsn_vty.c | 9 |
3 files changed, 10 insertions, 7 deletions
diff --git a/openbsc/include/openbsc/sgsn.h b/openbsc/include/openbsc/sgsn.h index 1ede2c930..1ed1583ed 100644 --- a/openbsc/include/openbsc/sgsn.h +++ b/openbsc/include/openbsc/sgsn.h @@ -140,8 +140,8 @@ extern struct sgsn_instance *sgsn; /* sgsn_vty.c */ -int sgsn_vty_init(void); -int sgsn_parse_config(const char *config_file, struct sgsn_config *cfg); +int sgsn_vty_init(struct sgsn_config *cfg); +int sgsn_parse_config(const char *config_file); /* sgsn.c */ diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c index e93cbd906..a591f8096 100644 --- a/openbsc/src/gprs/sgsn_main.c +++ b/openbsc/src/gprs/sgsn_main.c @@ -336,7 +336,7 @@ int main(int argc, char **argv) vty_init(&vty_info); logging_vty_add_cmds(NULL); osmo_stats_vty_add_cmds(&gprs_log_info); - sgsn_vty_init(); + sgsn_vty_init(&sgsn_inst.cfg); ctrl_vty_init(tall_bsc_ctx); handle_options(argc, argv); @@ -365,7 +365,7 @@ int main(int argc, char **argv) sgsn_cdr_init(&sgsn_inst); /* FIXME: register signal handler for SS_L_NS */ - rc = sgsn_parse_config(sgsn_inst.config_file, &sgsn_inst.cfg); + rc = sgsn_parse_config(sgsn_inst.config_file); if (rc < 0) { LOGP(DGPRS, LOGL_FATAL, "Cannot parse config file\n"); exit(2); diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c index 5e1cfb39f..d7fd388b0 100644 --- a/openbsc/src/gprs/sgsn_vty.c +++ b/openbsc/src/gprs/sgsn_vty.c @@ -1224,8 +1224,10 @@ DEFUN(cfg_comp_v42bisp, cfg_comp_v42bisp_cmd, return CMD_SUCCESS; } -int sgsn_vty_init(void) +int sgsn_vty_init(struct sgsn_config *cfg) { + g_cfg = cfg; + install_element_ve(&show_sgsn_cmd); //install_element_ve(&show_mmctx_tlli_cmd); install_element_ve(&show_mmctx_imsi_cmd); @@ -1291,11 +1293,12 @@ int sgsn_vty_init(void) return 0; } -int sgsn_parse_config(const char *config_file, struct sgsn_config *cfg) +int sgsn_parse_config(const char *config_file) { int rc; - g_cfg = cfg; + /* make sure sgsn_vty_init() was called before this */ + OSMO_ASSERT(g_cfg); g_cfg->timers.T3312 = GSM0408_T3312_SECS; g_cfg->timers.T3322 = GSM0408_T3322_SECS; |