summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ngctl
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2001-03-17 08:59:31 +0000
committerphk <phk@FreeBSD.org>2001-03-17 08:59:31 +0000
commit400aa0706c1d55d12d0405666ddac2d3e3ec5d69 (patch)
treedf5a2695de1204ca597292968325897b15314232 /usr.sbin/ngctl
parent2c50742d1db1aa2971f91be51e3aa1a8f272544b (diff)
downloadFreeBSD-src-400aa0706c1d55d12d0405666ddac2d3e3ec5d69.zip
FreeBSD-src-400aa0706c1d55d12d0405666ddac2d3e3ec5d69.tar.gz
Backout my previous commit, it appearantly doesn't work for asynchronous
messages.
Diffstat (limited to 'usr.sbin/ngctl')
-rw-r--r--usr.sbin/ngctl/Makefile2
-rw-r--r--usr.sbin/ngctl/main.c60
-rw-r--r--usr.sbin/ngctl/ngctl.h1
3 files changed, 8 insertions, 55 deletions
diff --git a/usr.sbin/ngctl/Makefile b/usr.sbin/ngctl/Makefile
index 9565b15..d8dee7c 100644
--- a/usr.sbin/ngctl/Makefile
+++ b/usr.sbin/ngctl/Makefile
@@ -6,7 +6,7 @@ SRCS= main.c mkpeer.c config.c connect.c name.c show.c list.c \
msg.c debug.c shutdown.c rmhook.c status.c types.c
MAN8= ngctl.8
DPADD+= ${LIBNETGRAPH}
-LDADD+= -lnetgraph -ledit
+LDADD+= -lnetgraph
COPTS+= -Wall
.include <bsd.prog.mk>
diff --git a/usr.sbin/ngctl/main.c b/usr.sbin/ngctl/main.c
index 93dfed3..5e9411c 100644
--- a/usr.sbin/ngctl/main.c
+++ b/usr.sbin/ngctl/main.c
@@ -39,27 +39,23 @@
*/
#include "ngctl.h"
-#include <histedit.h>
#define PROMPT "+ "
#define MAX_ARGS 512
#define WHITESPACE " \t\r\n\v\f"
#define DUMP_BYTES_PER_LINE 16
-#define HISTSIZE 100
/* Internal functions */
static int ReadFile(FILE *fp);
static int DoParseCommand(char *line);
static int DoCommand(int ac, char **av);
static int DoInteractive(void);
-static int DoEditLine(void);
static const struct ngcmd *FindCommand(const char *string);
static int MatchCommand(const struct ngcmd *cmd, const char *s);
static void Usage(const char *msg);
static int ReadCmd(int ac, char **av);
static int HelpCmd(int ac, char **av);
static int QuitCmd(int ac, char **av);
-static char * prompt(EditLine *el);
/* List of commands */
static const struct ngcmd *const cmds[] = {
@@ -107,18 +103,6 @@ const struct ngcmd quit_cmd = {
/* Our control and data sockets */
int csock, dsock;
-/* Provide editline(3) functionality */
-static EditLine *el = NULL;
-
-/*
- * EL_PROMPT expects a function for the prompt
- */
-static char *
-prompt(EditLine *el)
-{
- return PROMPT;
-}
-
/*
* main()
*/
@@ -268,7 +252,13 @@ DoInteractive(void)
/* Get any user input */
if (FD_ISSET(0, &rfds)) {
- if (DoEditLine() == CMDRTN_QUIT)
+ char buf[LINE_MAX];
+
+ if (fgets(buf, sizeof(buf), stdin) == NULL) {
+ printf("\n");
+ break;
+ }
+ if (DoParseCommand(buf) == CMDRTN_QUIT)
break;
}
}
@@ -312,42 +302,6 @@ DoCommand(int ac, char **av)
}
/*
- * Handle user input with editline(3)
- */
-static int
-DoEditLine(void)
-{
- int num;
- char *av = "ngctl";
- const char *buf;
- History *hist;
-
- hist = history_init(); /* Initialize history */
- history(hist, H_EVENT, HISTSIZE); /* Size of history */
-
- el = el_init(av, stdin, stdout); /* Initialize editline */
-
- el_set(el, EL_PROMPT, prompt); /* Set the prompt */
- el_set(el, EL_EDITOR, "vi"); /* Default editor is vi */
- el_set(el, EL_HIST, history, hist); /* Use history */
- el_set(el, EL_SIGNAL, 1); /* Handle signals properly */
- el_source(el, NULL); /* Source user defaults */
-
- while ((buf = el_gets(el, &num)) != NULL && num != 0) {
-
- history(hist, H_ENTER, buf); /* Add command to history */
-
- if (DoParseCommand((char *)buf) == CMDRTN_QUIT)
- return (CMDRTN_QUIT); /* Handle "quit" command */
- }
-
- el_end(el); /* Clean up editline */
- history_end(hist); /* and history */
-
- return 0;
-}
-
-/*
* Find a command
*/
static const struct ngcmd *
diff --git a/usr.sbin/ngctl/ngctl.h b/usr.sbin/ngctl/ngctl.h
index 56d0a3d..b66e74b 100644
--- a/usr.sbin/ngctl/ngctl.h
+++ b/usr.sbin/ngctl/ngctl.h
@@ -75,7 +75,6 @@ struct ngcmd {
#define CMDRTN_QUIT 3
/* Available commands */
-extern const struct ngcmd config_cmd;
extern const struct ngcmd connect_cmd;
extern const struct ngcmd debug_cmd;
extern const struct ngcmd help_cmd;
OpenPOWER on IntegriCloud