summaryrefslogtreecommitdiff
path: root/asterisk.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2003-09-04 03:55:41 +0000
committerMark Spencer <markster@digium.com>2003-09-04 03:55:41 +0000
commit9f1fc03a58622d59170ff6870660270490f72e9d (patch)
treee612bc6a94e7570dccde9134299b3ed38d52bc73 /asterisk.c
parentd104c1d73d41bf586c9ccfc6cd6f3d9f6db62a7c (diff)
Better handling of quit/exit (bug #218)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'asterisk.c')
-rwxr-xr-xasterisk.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/asterisk.c b/asterisk.c
index 2b3f498de..1689e54fc 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -579,15 +579,12 @@ static int remoteconsolehandler(char *s)
system(getenv("SHELL") ? getenv("SHELL") : "/bin/sh");
ret = 1;
}
- if (!strcasecmp(s, "help")) {
+ if (strncasecmp(s, "help", 4) == 0 && (s[4] == '\0' || isspace(s[4]))) {
fprintf(stdout, " !<command> Executes a given shell command\n");
ret = 0;
}
- if (!strcasecmp(s, "quit")) {
- quit_handler(0, 0, 0, 0);
- ret = 1;
- }
- if (!strcasecmp(s, "exit")) {
+ if ((strncasecmp(s, "quit", 4) == 0 || strncasecmp(s, "exit", 4) == 0) &&
+ (s[4] == '\0' || isspace(s[4]))) {
quit_handler(0, 0, 0, 0);
ret = 1;
}
@@ -889,7 +886,7 @@ static char *cli_complete(EditLine *el, int ch)
LineInfo *lf = (LineInfo *)el_line(el);
- *lf->cursor = '\0';
+ *(char *)lf->cursor = '\0';
ptr = (char *)lf->cursor;
if (ptr) {
while (ptr > lf->buffer) {