diff options
author | phk <phk@FreeBSD.org> | 2001-03-17 08:59:31 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2001-03-17 08:59:31 +0000 |
commit | 400aa0706c1d55d12d0405666ddac2d3e3ec5d69 (patch) | |
tree | df5a2695de1204ca597292968325897b15314232 | |
parent | 2c50742d1db1aa2971f91be51e3aa1a8f272544b (diff) | |
download | FreeBSD-src-400aa0706c1d55d12d0405666ddac2d3e3ec5d69.zip FreeBSD-src-400aa0706c1d55d12d0405666ddac2d3e3ec5d69.tar.gz |
Backout my previous commit, it appearantly doesn't work for asynchronous
messages.
-rw-r--r-- | usr.sbin/ngctl/Makefile | 2 | ||||
-rw-r--r-- | usr.sbin/ngctl/main.c | 60 | ||||
-rw-r--r-- | usr.sbin/ngctl/ngctl.h | 1 |
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; |