--- libaitcli/src/aitcli.c 2022/10/17 22:04:24 1.18 +++ libaitcli/src/aitcli.c 2024/10/29 01:00:09 1.19.4.2 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.c,v 1.18 2022/10/17 22:04:24 misho Exp $ +* $Id: aitcli.c,v 1.19.4.2 2024/10/29 01:00:09 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004 - 2022 +Copyright 2004 - 2024 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -87,25 +87,28 @@ static inline void clrscrEOL(linebuffer_t * __restrict buf) { register int i; + int ign __attribute__((unused)); if (buf && buf->line_prompt) { - write(buf->line_out, K_CR, 1); + ign = write(buf->line_out, K_CR, 1); for (i = 0; i < buf->line_len; i++) - write(buf->line_out, K_SPACE, 1); + ign = write(buf->line_out, K_SPACE, 1); } } static inline void printfEOL(linebuffer_t * __restrict buf, int len, int prompt) { + int ign __attribute__((unused)); + if (buf) { if (prompt && buf->line_prompt) { - write(buf->line_out, K_CR, 1); - write(buf->line_out, buf->line_prompt, buf->line_bol); + ign = write(buf->line_out, K_CR, 1); + ign = write(buf->line_out, buf->line_prompt, buf->line_bol); } - write(buf->line_out, buf->line_buf, len == -1 ? + ign = write(buf->line_out, buf->line_buf, len == -1 ? buf->line_eol - buf->line_bol : len); } } @@ -113,21 +116,25 @@ printfEOL(linebuffer_t * __restrict buf, int len, int static inline void printfCR(linebuffer_t * __restrict buf, int prompt) { + int ign __attribute__((unused)); + if (buf && prompt && buf->line_prompt) { - write(buf->line_out, K_CR, 1); - write(buf->line_out, buf->line_prompt, buf->line_bol); + ign = write(buf->line_out, K_CR, 1); + ign = write(buf->line_out, buf->line_prompt, buf->line_bol); } } static inline void printfNL(linebuffer_t * __restrict buf, int prompt) { + int ign __attribute__((unused)); + if (buf) { - write(buf->line_out, K_ENTER, 1); + ign = write(buf->line_out, K_ENTER, 1); if (prompt) if (prompt && buf->line_prompt) - write(buf->line_out, buf->line_prompt, buf->line_bol); + ign = write(buf->line_out, buf->line_prompt, buf->line_bol); } } @@ -138,6 +145,7 @@ bufCHAR(int idx, void * __restrict cli_buffer) { linebuffer_t *buf = cli_buffer; int pos; + int ign __attribute__((unused)); if (!cli_buffer || idx < 0 || idx > MAX_BINDKEY) return RETCODE_ERR; @@ -155,10 +163,10 @@ bufCHAR(int idx, void * __restrict cli_buffer) buf->line_buf[buf->line_len - 1] = 0; if (buf->line_prompt) - write(buf->line_out, buf->line_keys[idx].key_ch, buf->line_keys[idx].key_len); + ign = write(buf->line_out, buf->line_keys[idx].key_ch, buf->line_keys[idx].key_len); if (buf->line_mode == LINEMODE_INS) { - write(buf->line_out, (const u_char*) buf->line_buf + pos + buf->line_keys[idx].key_len, + ign = write(buf->line_out, (const u_char*) buf->line_buf + pos + buf->line_keys[idx].key_len, buf->line_len - buf->line_eol); printfEOL(buf, -1, 1); } @@ -404,6 +412,7 @@ bufComp(int idx, void * __restrict cli_buffer) register int i, j; struct tagCommand *cmd, *c; int pos, ret = RETCODE_OK; + int ign __attribute__((unused)); if (!cli_buffer || idx < 0 || idx > MAX_BINDKEY) return RETCODE_ERR; @@ -416,7 +425,7 @@ bufComp(int idx, void * __restrict cli_buffer) str_Trim(s); } - i = j = 0; + j = 0; c = NULL; memset(szLine, 0, STRSIZ); if (*s) { @@ -466,7 +475,7 @@ bufComp(int idx, void * __restrict cli_buffer) /* completion show actions ... */ if (j > 1 && c) { printfNL(buf, 0); - write(buf->line_out, szLine, strlen(szLine)); + ign = write(buf->line_out, szLine, strlen(szLine)); printfNL(buf, 1); printfEOL(buf, buf->line_len - 1, 1); printfEOL(buf, -1, 1); @@ -1490,7 +1499,6 @@ int cliRun(linebuffer_t * __restrict cli_buffer, char *psInput, int prompt) { char *line, *s, *t, **app, *items[MAX_PROMPT_ITEMS]; - register int i; int ret = RETCODE_OK; struct tagCommand *cmd; @@ -1512,14 +1520,11 @@ cliRun(linebuffer_t * __restrict cli_buffer, char *psI (*app = strsep(&s, " \t")); *app ? app++ : app); // exec_cmd ... - i = 0; SLIST_FOREACH(cmd, &cli_buffer->line_cmds, cmd_next) { if (!(cmd->cmd_level & (1 << cli_buffer->line_level))) continue; if (*items[0] && !strncmp(cmd->cmd_name, items[0], strlen(items[0]))) break; - else - i++; } if (!cmd) { @@ -1575,7 +1580,7 @@ cliLoop(linebuffer_t * __restrict cli_buffer, const ch cli_freeLine(cli_buffer); cli_resetHistory(cli_buffer); e_free(line); - } while (cli_buffer->line_kill || ret < 1); + } while (!cli_buffer->line_kill); cli_saveHistory(cli_buffer, csHistFile, HISTORY_LINES);