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);