From cd2d5400cee4e008725338ddcd830113f142afd9 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Mon, 23 Jun 2003 16:40:12 +0000 Subject: [PATCH] Little fix git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1112 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- asterisk.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/asterisk.c b/asterisk.c index a00c990d50..98af3cc919 100755 --- a/asterisk.c +++ b/asterisk.c @@ -673,10 +673,12 @@ static int ast_el_read_char(EditLine *el, char *cp) for (;;) { FD_ZERO(&rfds); FD_SET(ast_consock, &rfds); - FD_SET(STDIN_FILENO, &rfds); max = ast_consock; - if (STDIN_FILENO > max) - max = STDIN_FILENO; + if (!option_exec) { + FD_SET(STDIN_FILENO, &rfds); + if (STDIN_FILENO > max) + max = STDIN_FILENO; + } res = ast_select(max+1, &rfds, NULL, NULL, NULL); if (res < 0) { if (errno == EINTR) @@ -702,7 +704,7 @@ static int ast_el_read_char(EditLine *el, char *cp) buf[res] = '\0'; - if (!lastpos) + if (!option_exec && !lastpos) write(STDOUT_FILENO, "\r", 1); write(STDOUT_FILENO, buf, res); if ((buf[res-1] == '\n') || (buf[res-2] == '\n')) { @@ -1023,12 +1025,14 @@ static void ast_remotecontrol(char * data) #if 0 ast_cli_register(&astshutdown); #endif + if (option_exec && data) { /* hack to print output then exit if asterisk -rx is used */ + char tempchar; + ast_el_read_char(el, &tempchar); + return; + } for(;;) { ebuf = (char *)el_gets(el, &num); - if (data) /* hack to print output then exit if asterisk -rx is used */ - ebuf = strdup("quit"); - if (ebuf && strlen(ebuf)) { if (ebuf[strlen(ebuf)-1] == '\n') ebuf[strlen(ebuf)-1] = '\0';