Do not use ? for client-side help when in new BGP path syntax

This commit is contained in:
Ondrej Zajicek 2009-02-12 13:41:34 +01:00
parent f949163039
commit 80ac7dc181

View file

@ -168,20 +168,24 @@ input_complete(int arg UNUSED, int key UNUSED)
static int static int
input_help(int arg, int key UNUSED) input_help(int arg, int key UNUSED)
{ {
int i = 0; int i, in_string, in_path;
if (arg != 1) if (arg != 1)
return rl_insert(arg, '?'); return rl_insert(arg, '?');
while (i < rl_point)
in_string = in_path = 0;
for (i = 0; i < rl_point; i++)
{ {
if (rl_line_buffer[i++] == '"') if (rl_line_buffer[i] == '"')
do in_string = ! in_string;
{ else if ((rl_line_buffer[i] == '|') && (! in_string))
if (i >= rl_point) /* `?' inside quoted string -> insert */ in_path = ! in_path;
return rl_insert(1, '?');
}
while (rl_line_buffer[i++] != '"');
} }
/* `?' inside string or path -> insert */
if (in_string || in_path)
return rl_insert(1, '?');
rl_begin_undo_group(); /* HACK: We want to display `?' at point position */ rl_begin_undo_group(); /* HACK: We want to display `?' at point position */
rl_insert_text("?"); rl_insert_text("?");
rl_redisplay(); rl_redisplay();