summaryrefslogtreecommitdiffstats
path: root/src/vty
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-25 23:00:45 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-25 23:38:19 +0200
commit237f6241f2b91a81b928ce4e3fc1364f61f11eaa (patch)
tree55367ceed33587f5511857a39d2f10448300a873 /src/vty
parent4ebdf747286541c52311517fbedd0cb128631a61 (diff)
[VTY] Introduce "struct vty_app_info" for vty_init() function
Diffstat (limited to 'src/vty')
-rw-r--r--src/vty/command.c17
-rw-r--r--src/vty/vty.c8
2 files changed, 12 insertions, 13 deletions
diff --git a/src/vty/command.c b/src/vty/command.c
index 7275a3d4..21afa5c0 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -84,9 +84,9 @@ const char *default_motd = "";
/* This is called from main when a daemon is invoked with -v or --version. */
void print_version(int print_copyright)
{
- printf("%s version %s\n", host.prog_name, host.prog_version);
+ printf("%s version %s\n", host.app_info->name, host.app_info->version);
if (print_copyright)
- printf("\n%s\n", host.prog_copyright);
+ printf("\n%s\n", host.app_info->copyright);
}
/* Utility function to concatenate argv argument into a single string
@@ -1751,8 +1751,8 @@ enum node_type vty_go_parent(struct vty *vty)
{
assert(vty->node > CONFIG_NODE);
- if (vty_go_parent_cb)
- vty_go_parent_cb(vty);
+ if (host.app_info->go_parent_cb)
+ host.app_info->go_parent_cb(vty);
else
vty->node = CONFIG_NODE;
@@ -2162,9 +2162,10 @@ gDEFUN(config_exit,
DEFUN(show_version,
show_version_cmd, "show version", SHOW_STR "Displays program version\n")
{
- vty_out(vty, "%s %s (%s).%s", host.prog_name, host.prog_version,
- host.name ? host.name : "", VTY_NEWLINE);
- vty_out(vty, "%s%s", host.prog_copyright, VTY_NEWLINE);
+ vty_out(vty, "%s %s (%s).%s", host.app_info->name,
+ host.app_info->version,
+ host.app_info->name ? host.app_info->name : "", VTY_NEWLINE);
+ vty_out(vty, "%s%s", host.app_info->copyright, VTY_NEWLINE);
return CMD_SUCCESS;
}
@@ -2258,7 +2259,7 @@ DEFUN(config_write_file,
/* Config file header print. */
vty_out(file_vty, "!\n! %s (%s) configuration saved from vty\n!",
- host.prog_name, host.prog_version);
+ host.app_info->name, host.app_info->version);
//vty_time_print (file_vty, 1);
vty_out(file_vty, "!\n");
diff --git a/src/vty/vty.c b/src/vty/vty.c
index 9012b5b5..ff17abf6 100644
--- a/src/vty/vty.c
+++ b/src/vty/vty.c
@@ -1633,17 +1633,15 @@ void vty_init_vtysh()
extern void *tall_bsc_ctx;
/* Install vty's own commands like `who' command. */
-void vty_init(const char *name, const char *version, const char *copyright)
+void vty_init(struct vty_app_info *app_info)
{
- tall_vty_ctx = talloc_named_const(NULL, 0, "vty");
+ tall_vty_ctx = talloc_named_const(app_info->tall_ctx, 0, "vty");
tall_vty_vec_ctx = talloc_named_const(tall_vty_ctx, 0, "vty_vector");
tall_vty_cmd_ctx = talloc_named_const(tall_vty_ctx, 0, "vty_command");
cmd_init(1);
- host.prog_name = name;
- host.prog_version = version;
- host.prog_copyright = copyright;
+ host.app_info = app_info;
/* For further configuration read, preserve current directory. */
vty_save_cwd();