--- libaitcli/src/aitcli.c 2013/10/08 09:18:45 1.8.2.2 +++ libaitcli/src/aitcli.c 2013/10/08 09:38:55 1.8.2.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.c,v 1.8.2.2 2013/10/08 09:18:45 misho Exp $ +* $Id: aitcli.c,v 1.8.2.5 2013/10/08 09:38:55 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -93,8 +93,6 @@ clrscrEOL(linebuffer_t * __restrict buf) for (i = 0; i < buf->line_len; i++) write(buf->line_out, K_SPACE, 1); - - buf->line_level ^= buf->line_level; } } @@ -105,7 +103,6 @@ printfEOL(linebuffer_t * __restrict buf, int len, int if (prompt && buf->line_prompt) { write(buf->line_out, K_CR, 1); write(buf->line_out, buf->line_prompt, buf->line_bol); - buf->line_level ^= buf->line_level; } write(buf->line_out, buf->line_buf, len == -1 ? @@ -128,11 +125,9 @@ printfNL(linebuffer_t * __restrict buf, int prompt) if (buf) { write(buf->line_out, K_ENTER, 1); - if (prompt) { + if (prompt) if (prompt && buf->line_prompt) write(buf->line_out, buf->line_prompt, buf->line_bol); - buf->line_level ^= buf->line_level; - } } } @@ -440,7 +435,6 @@ bufComp(int idx, void * __restrict cli_buffer) c = cmd; strlcat(szLine, " ", STRSIZ); strlcat(szLine, cmd->cmd_name, STRSIZ); - buf->line_level++; } } } @@ -464,7 +458,6 @@ bufComp(int idx, void * __restrict cli_buffer) c = cmd; strlcat(szLine, " ", STRSIZ); strlcat(szLine, cmd->cmd_name, STRSIZ); - buf->line_level++; } } } @@ -506,7 +499,7 @@ bufHelp(int idx, void * __restrict cli_buffer) if (!cli_buffer || idx < 0 || idx > MAX_BINDKEY) return RETCODE_ERR; - cli_Cmd_Help(buf, -1, NULL); + cli_Cmd_Help(buf, buf->line_level, NULL); printfEOL(buf, buf->line_len - 1, 1); printfEOL(buf, -1, 1); @@ -1488,7 +1481,8 @@ cliLoop(linebuffer_t * __restrict cli_buffer, const ch } else if (cmd->cmd_func) { cli_Printf(cli_buffer, "\n"); - ret = cmd->cmd_func(cli_buffer, i, items); + ret = cmd->cmd_func(cli_buffer, + cli_buffer->line_level, items); } else { clrscrEOL(cli_buffer); printfCR(cli_buffer, 1);