--- libaitcli/src/aitcli.c 2011/05/29 22:49:25 1.4 +++ libaitcli/src/aitcli.c 2012/07/22 22:37:08 1.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.c,v 1.4 2011/05/29 22:49:25 misho Exp $ +* $Id: aitcli.c,v 1.5 2012/07/22 22:37:08 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, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -411,12 +411,12 @@ bufComp(int idx, void * __restrict buffer) if (!buffer || idx < 0 || idx > MAX_BINDKEY) return RETCODE_ERR; - str = strdup(buf->line_buf); + str = io_strdup(buf->line_buf); if (!str) return RETCODE_ERR; else { s = str; - io_TrimStr((u_char*) s); + io_TrimStr(s); } i = j = 0; @@ -488,7 +488,7 @@ bufComp(int idx, void * __restrict buffer) } endcomp: - free(str); + io_free(str); return ret; } @@ -600,7 +600,7 @@ cli_addCommand(linebuffer_t * __restrict buffer, const return RETCODE_ERR; } - cmd = malloc(sizeof(struct tagCommand)); + cmd = io_malloc(sizeof(struct tagCommand)); if (!cmd) { LOGERR; return RETCODE_ERR; @@ -640,7 +640,7 @@ cli_delCommand(linebuffer_t * __restrict buffer, const if (cmd->cmd_level == cliLevel && !strcmp(cmd->cmd_name, csCmd)) { ret = 1; SLIST_REMOVE(&buffer->line_cmds, cmd, tagCommand, cmd_next); - free(cmd); + io_free(cmd); break; } @@ -703,7 +703,7 @@ cli_addHistory(linebuffer_t * __restrict buffer, const return RETCODE_ERR; } - if (!(h = malloc(sizeof(struct tagHistory)))) { + if (!(h = io_malloc(sizeof(struct tagHistory)))) { LOGERR; return RETCODE_ERR; } else @@ -711,19 +711,19 @@ cli_addHistory(linebuffer_t * __restrict buffer, const if (str) { if (!*str) { - free(h); + io_free(h); return RETCODE_OK; } h->hist_len = strlcpy(h->hist_line, str, BUFSIZ); } else { if (!*buffer->line_buf || buffer->line_len < 2) { - free(h); + io_free(h); return RETCODE_OK; } memcpy(h->hist_line, buffer->line_buf, (h->hist_len = buffer->line_len)); - io_TrimStr((u_char*) h->hist_line); + io_TrimStr(h->hist_line); h->hist_len = strlen(h->hist_line); } @@ -807,9 +807,9 @@ cli_loadHistory(linebuffer_t * __restrict buffer, cons if (!*buf || *buf == '#') continue; else - io_TrimStr((u_char*) buf); + io_TrimStr(buf); - if (!(h = malloc(sizeof(struct tagHistory)))) { + if (!(h = io_malloc(sizeof(struct tagHistory)))) { LOGERR; fclose(f); return RETCODE_ERR; @@ -849,9 +849,9 @@ cli_freeLine(linebuffer_t * __restrict buffer) if (buffer) { if (buffer->line_buf) - free(buffer->line_buf); + io_free(buffer->line_buf); - buffer->line_buf = malloc(BUFSIZ); + buffer->line_buf = io_malloc(BUFSIZ); if (buffer->line_buf) { memset(buffer->line_buf, 0, BUFSIZ); buffer->line_eol = buffer->line_bol; @@ -877,13 +877,13 @@ cli_setPrompt(linebuffer_t * __restrict buffer, const { if (buffer) { if (buffer->line_prompt) { - free(buffer->line_prompt); + io_free(buffer->line_prompt); buffer->line_prompt = NULL; buffer->line_bol = 0; } if (prompt) { - buffer->line_prompt = strdup(prompt); + buffer->line_prompt = io_strdup(prompt); if (buffer->line_prompt) { buffer->line_bol = strlen(buffer->line_prompt); buffer->line_eol = buffer->line_bol; @@ -910,22 +910,22 @@ cliEnd(linebuffer_t * __restrict buffer) if (buffer) { while ((c = SLIST_FIRST(&buffer->line_cmds))) { SLIST_REMOVE_HEAD(&buffer->line_cmds, cmd_next); - free(c); + io_free(c); } while ((h = TAILQ_FIRST(&buffer->line_history))) { TAILQ_REMOVE(&buffer->line_history, h, hist_next); - free(h); + io_free(h); } if (buffer->line_prompt) - free(buffer->line_prompt); + io_free(buffer->line_prompt); if (buffer->line_keys) - free(buffer->line_keys); + io_free(buffer->line_keys); if (buffer->line_buf) - free(buffer->line_buf); + io_free(buffer->line_buf); - free(buffer); + io_free(buffer); buffer = NULL; } else cli_SetErr(EINVAL, "Error:: invalid input parameters ..."); @@ -946,7 +946,7 @@ cliInit(int fin, int fout, const char *prompt) register int i; /* init buffer */ - buffer = malloc(sizeof(linebuffer_t)); + buffer = io_malloc(sizeof(linebuffer_t)); if (!buffer) { LOGERR; return NULL; @@ -960,33 +960,33 @@ cliInit(int fin, int fout, const char *prompt) SLIST_INIT(&buffer->line_cmds); if (prompt) { - buffer->line_prompt = strdup(prompt); + buffer->line_prompt = io_strdup(prompt); if (!buffer->line_prompt) { LOGERR; - free(buffer); + io_free(buffer); return NULL; } else buffer->line_eol = buffer->line_bol = strlen(buffer->line_prompt); } } - buffer->line_buf = malloc(BUFSIZ); + buffer->line_buf = io_malloc(BUFSIZ); if (!buffer->line_buf) { LOGERR; if (buffer->line_prompt) - free(buffer->line_prompt); - free(buffer); + io_free(buffer->line_prompt); + io_free(buffer); return NULL; } else { memset(buffer->line_buf, 0, BUFSIZ); buffer->line_len = 1 + buffer->line_eol; } - keys = calloc(MAX_BINDKEY + 1, sizeof(bindkey_t)); + keys = io_calloc(MAX_BINDKEY + 1, sizeof(bindkey_t)); if (!keys) { LOGERR; if (buffer->line_prompt) - free(buffer->line_prompt); - free(buffer->line_buf); - free(buffer); + io_free(buffer->line_prompt); + io_free(buffer->line_buf); + io_free(buffer); return NULL; } else memset(keys, 0, sizeof(bindkey_t) * (MAX_BINDKEY + 1)); @@ -1210,7 +1210,7 @@ cliInitLine(linebuffer_t * __restrict buffer) /* * cliReadLine() Read line from opened CLI session * @buffer = CLI buffer - * return: NULL if error or !=NULL readed line, must be free after use! + * return: NULL if error or !=NULL readed line, must be io_free after use! */ char * cliReadLine(linebuffer_t * __restrict buffer) @@ -1244,7 +1244,7 @@ cliReadLine(linebuffer_t * __restrict buffer) } if (!readLen) { if (buffer->line_buf) - str = strdup(buffer->line_buf); + str = io_strdup(buffer->line_buf); else cli_SetErr(EPIPE, "Error:: unknown state ..."); return str; @@ -1276,7 +1276,7 @@ recheck: } if (code != RETCODE_ERR && code != RETCODE_EOF && buffer->line_buf) - str = strdup(buffer->line_buf); + str = io_strdup(buffer->line_buf); return str; } @@ -1344,7 +1344,7 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha memset(buf, 0, BUFSIZ); if ((ret = cli_telnetRecv(sock, &a, &alen, buf, BUFSIZ)) < 0) { if (a) - free(a); + io_free(a); if (-2 == ret) continue; @@ -1367,7 +1367,7 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha cli_telnet_SetCmd(&Attr[attrlen++], DONT, TELOPT_LINEMODE); } if (a) - free(a); + io_free(a); if ((ret = write(pty, buf, ret)) == -1) { LOGERR; @@ -1459,7 +1459,7 @@ cliLoop(linebuffer_t * __restrict buffer, const char * cli_freeLine(buffer); cli_resetHistory(buffer); - free(line); + io_free(line); } while (ret < 1); cli_saveHistory(buffer, csHistFile, HISTORY_LINES);