summaryrefslogtreecommitdiffstats
path: root/lib/vty.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2010-02-05 09:51:37 +0100
committerDavid Lamparter <equinox@diac24.net>2010-02-05 09:51:37 +0100
commit1bc5254798593fae60361dfac8b853f6c356895c (patch)
tree43d5d2da847ec3b1b84fe7b6b9787025c8ed75c0 /lib/vty.c
parentea7415e08c20dbcb97e287cd2a6a9bacaedf440f (diff)
parent55d24e7f3dbc69db37781dbff325bda0779778df (diff)
downloadquagga-1bc5254798593fae60361dfac8b853f6c356895c.tar.bz2
quagga-1bc5254798593fae60361dfac8b853f6c356895c.tar.xz
Merge branch 'current' into dn42quagga_1.1.0-dn42.11-rc0
Diffstat (limited to 'lib/vty.c')
-rw-r--r--lib/vty.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/vty.c b/lib/vty.c
index a76fe2d1..c1bcb328 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -90,6 +90,25 @@ static u_char restricted_mode = 0;
char integrate_default[] = SYSCONFDIR INTEGRATE_DEFAULT_CONFIG;
+void
+vty_prepend (struct vty *vty, const char *format, ...)
+{
+ va_list args;
+
+ va_start (args, format);
+ vsnprintf (vty->prepend + vty->prepend_pos,
+ sizeof(vty->prepend) - vty->prepend_pos,
+ format, args);
+ vty->prepend_pos = strlen (vty->prepend);
+ va_end (args);
+}
+
+void
+vty_unprepend (struct vty *vty)
+{
+ vty->prepend_pos = 0;
+}
+
/* VTY standard output function. */
int
vty_out (struct vty *vty, const char *format, ...)
@@ -100,6 +119,12 @@ vty_out (struct vty *vty, const char *format, ...)
char buf[1024];
char *p = NULL;
+ if (vty->prepend_pos)
+ {
+ vty->prepend_pos = 0;
+ vty_out (vty, "%s", vty->prepend);
+ }
+
if (vty_shell (vty))
{
va_start (args, format);