--- libaitcli/src/aitcli.c 2010/12/07 16:20:24 1.2.2.20 +++ libaitcli/src/aitcli.c 2011/03/16 17:43:07 1.3.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.c,v 1.2.2.20 2010/12/07 16:20:24 misho Exp $ +* $Id: aitcli.c,v 1.3.2.1 2011/03/16 17:43:07 misho Exp $ * *************************************************************************/ #include "global.h" @@ -507,9 +507,10 @@ cli_Printf(linebuffer_t * __restrict buffer, char *fmt inline void cli_PrintHelp(linebuffer_t * __restrict buffer) { - if (buffer) + if (buffer) { bufHelp(0, buffer); - else + clrscrEOL(buffer); + } else cli_SetErr(EINVAL, "Error:: invalid input parameters ..."); } @@ -1275,16 +1276,14 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha exit(ret); default: - telnet_SetCmd(Attr + 0, DO, TELOPT_TTYPE); - telnet_SetCmd(Attr + 1, WILL, TELOPT_ECHO); - telnet_Set_SubOpt(Attr + 2, TELOPT_LFLOW, LFLOW_OFF, NULL, 0); - telnet_Set_SubOpt(Attr + 3, TELOPT_LFLOW, LFLOW_RESTART_XON, NULL, 0); - telnet_SetCmd(Attr + 4, DO, TELOPT_LINEMODE); - if ((ret = telnetSend(sock, Attr, 5, NULL, 0, 0)) == -1) { - cli_Errno = telnet_GetErrno(); - strlcpy(cli_Error, telnet_GetError(), STRSIZ); + cli_telnet_SetCmd(Attr + 0, DO, TELOPT_TTYPE); + cli_telnet_SetCmd(Attr + 1, WILL, TELOPT_ECHO); + cli_telnet_Set_SubOpt(Attr + 2, TELOPT_LFLOW, LFLOW_OFF, NULL, 0); + cli_telnet_Set_SubOpt(Attr + 3, TELOPT_LFLOW, LFLOW_RESTART_XON, NULL, 0); + cli_telnet_SetCmd(Attr + 4, DO, TELOPT_LINEMODE); + if ((ret = cli_telnetSend(sock, Attr, 5, NULL, 0, 0)) == -1) return -1; - } else + else flg = 0; while (42) { @@ -1306,7 +1305,7 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha if (FD_ISSET(sock, &fds)) { memset(buf, 0, BUFSIZ); - if ((ret = telnetRecv(sock, &a, &alen, buf, BUFSIZ)) < 0) { + if ((ret = cli_telnetRecv(sock, &a, &alen, buf, BUFSIZ)) < 0) { if (a) free(a); @@ -1315,24 +1314,20 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha // EOF if (-3 == ret) shutdown(sock, SHUT_RD); - else { - cli_Errno = telnet_GetErrno(); - strlcpy(cli_Error, telnet_GetError(), STRSIZ); - } break; } attrlen = 0; if (1 == flg && alen) { - telnet_SetCmd(&Attr[attrlen++], DONT, TELOPT_SGA); - telnet_SetCmd(&Attr[attrlen++], DO, TELOPT_ECHO); + cli_telnet_SetCmd(&Attr[attrlen++], DONT, TELOPT_SGA); + cli_telnet_SetCmd(&Attr[attrlen++], DO, TELOPT_ECHO); } if (2 == flg && alen) { - telnet_SetCmd(&Attr[attrlen++], WILL, TELOPT_ECHO); - telnet_Set_SubOpt(&Attr[attrlen++], TELOPT_LFLOW, + cli_telnet_SetCmd(&Attr[attrlen++], WILL, TELOPT_ECHO); + cli_telnet_Set_SubOpt(&Attr[attrlen++], TELOPT_LFLOW, LFLOW_OFF, NULL, 0); - telnet_Set_SubOpt(&Attr[attrlen++], TELOPT_LFLOW, + cli_telnet_Set_SubOpt(&Attr[attrlen++], TELOPT_LFLOW, LFLOW_RESTART_XON, NULL, 0); - telnet_SetCmd(&Attr[attrlen++], DONT, TELOPT_LINEMODE); + cli_telnet_SetCmd(&Attr[attrlen++], DONT, TELOPT_LINEMODE); } if (a) free(a); @@ -1350,11 +1345,10 @@ cliNetLoop(linebuffer_t * __restrict buffer, const cha break; } - if ((ret = telnetSend(sock, Attr, pty == s ? 0 : attrlen, buf, ret, 0)) == -1) { - cli_Errno = telnet_GetErrno(); - strlcpy(cli_Error, telnet_GetError(), STRSIZ); + if ((ret = cli_telnetSend(sock, Attr, pty == s ? 0 : attrlen, + buf, ret, 0)) == -1) break; - } else + else flg++; } }