Do not use ? for client-side help when in new BGP path syntax
This commit is contained in:
parent
f949163039
commit
80ac7dc181
1 changed files with 13 additions and 9 deletions
|
@ -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();
|
||||||
|
|
Loading…
Reference in a new issue