VTY: pass program name, version and copyright to vty_init()
This enables us to make the VTY completely independent of any
compile-time program-specific information, i.e. one step closer
to using VTY as a shared library from multiple programs.
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c
index a50d4ab..7435122 100644
--- a/openbsc/src/bsc_hack.c
+++ b/openbsc/src/bsc_hack.c
@@ -42,8 +42,6 @@
struct gsm_network *bsc_gsmnet = 0;
static const char *database_name = "hlr.sqlite3";
static const char *config_file = "openbsc.cfg";
-extern const char *openbsc_version;
-extern const char *openbsc_copyright;
/* timer to store statistics */
#define DB_SYNC_INTERVAL 60, 0
@@ -87,16 +85,6 @@
printf(" -e --log-level number. Set a global loglevel.\n");
}
-static void print_version()
-{
- printf("%s\n", openbsc_version);
-}
-
-static void print_copyright()
-{
- puts(openbsc_copyright);
-}
-
static void handle_options(int argc, char** argv)
{
while (1) {
@@ -151,9 +139,7 @@
log_set_log_level(stderr_target, atoi(optarg));
break;
case 'V':
- print_version();
- printf("\n");
- print_copyright();
+ print_version(1);
exit(0);
break;
default:
@@ -227,6 +213,11 @@
/* enable filters */
log_set_all_filter(stderr_target, 1);
+ /* This needs to precede handle_options() as it calls vty_init() */
+ rc = bsc_bootstrap_network(mncc_recv, config_file);
+ if (rc < 0)
+ exit(1);
+
/* parse options */
handle_options(argc, argv);
@@ -250,10 +241,6 @@
db_sync_timer.data = NULL;
bsc_schedule_timer(&db_sync_timer, DB_SYNC_INTERVAL);
- rc = bsc_bootstrap_network(mncc_recv, config_file);
- if (rc < 0)
- exit(1);
-
signal(SIGINT, &signal_handler);
signal(SIGABRT, &signal_handler);
signal(SIGUSR1, &signal_handler);