mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 01:31:55 +00:00
Fix birdcl questionmark handling
Fix handling of questionmark handling in the bird light client. The questionmark should display help when it is the last non-blank character on command line. Otherwise the questionmark does not have any special meaning and it could be a part of a pattern.
This commit is contained in:
parent
8322ecde12
commit
ce13485374
@ -18,6 +18,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <signal.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "nest/bird.h"
|
||||
#include "lib/resource.h"
|
||||
@ -177,6 +178,18 @@ print_prompt(void)
|
||||
}
|
||||
|
||||
|
||||
static int lastnb(char *str)
|
||||
{
|
||||
int i;
|
||||
for (i=strlen(str)-1; i>0; i--)
|
||||
{
|
||||
if(!isblank(str[i]))
|
||||
return i;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
term_read(void)
|
||||
{
|
||||
@ -208,7 +221,7 @@ term_read(void)
|
||||
printf("%s\n",buf);
|
||||
}
|
||||
|
||||
if (strchr(buf, '?'))
|
||||
if (buf[lastnb(buf)] == '?')
|
||||
{
|
||||
printf("\n");
|
||||
cmd_help(buf, strlen(buf));
|
||||
|
Loading…
Reference in New Issue
Block a user