Diff for /libaitcli/src/aitcli.c between versions 1.2.2.17 and 1.2.2.19

version 1.2.2.17, 2010/06/09 09:32:30 version 1.2.2.19, 2010/12/07 15:15:34
Line 906  cliInit(int fin, int fout, const char *prompt) Line 906  cliInit(int fin, int fout, const char *prompt)
         linebuffer_t *buffer;          linebuffer_t *buffer;
         bindkey_t *keys;          bindkey_t *keys;
         register int i;          register int i;
         struct termios t;  
   
         memset(&t, 0, sizeof t);  
         /* init buffer */          /* init buffer */
        buffer = malloc(sizeof (linebuffer_t));        buffer = malloc(sizeof(linebuffer_t));
         if (!buffer) {          if (!buffer) {
                 LOGERR;                  LOGERR;
                 return NULL;                  return NULL;
Line 1148  cliInit(int fin, int fout, const char *prompt) Line 1146  cliInit(int fin, int fout, const char *prompt)
         memcpy(keys[i].key_ch, K_F12, keys[i].key_len);          memcpy(keys[i].key_ch, K_F12, keys[i].key_len);
         i++;          i++;
   
           buffer->line_keys = keys;
           return buffer;
   }
   
   /*
    * cliInitLine() Init CLI input line terminal
    * @buffer = CLI buffer
    * return: none
   */
   int
   cliInitLine(linebuffer_t * __restrict buffer)
   {
           struct termios t;
   
           memset(&t, 0, sizeof t);
         tcgetattr(buffer->line_in, &t);          tcgetattr(buffer->line_in, &t);
         t.c_lflag &= ~(ICANON | ISIG | IEXTEN | ECHO | ECHOCTL | ECHOE | ECHOK | ECHOKE | ECHONL | ECHOPRT);          t.c_lflag &= ~(ICANON | ISIG | IEXTEN | ECHO | ECHOCTL | ECHOE | ECHOK | ECHOKE | ECHONL | ECHOPRT);
         t.c_iflag |= IGNBRK;          t.c_iflag |= IGNBRK;
         t.c_cc[VMIN] = 1;          t.c_cc[VMIN] = 1;
         t.c_cc[VTIME] = 0;          t.c_cc[VTIME] = 0;
        tcsetattr(buffer->line_in, TCSANOW, &t);        return tcsetattr(buffer->line_in, TCSANOW, &t);
 
        buffer->line_keys = keys; 
        return buffer; 
 }  }
   
 /*  /*
Line 1190  cliReadLine(linebuffer_t * __restrict buffer) Line 1200  cliReadLine(linebuffer_t * __restrict buffer)
   
                 memset(buf, 0, sizeof buf);                  memset(buf, 0, sizeof buf);
                 readLen = read(buffer->line_in, buf, BUFSIZ);                  readLen = read(buffer->line_in, buf, BUFSIZ);
                 printf("+++ %s %d\n", buf, readLen);  
                 if (readLen == -1) {                  if (readLen == -1) {
                         LOGERR;                          LOGERR;
                         return str;                          return str;
Line 1255  cliNetLoop(linebuffer_t * __restrict buffer, const cha Line 1264  cliNetLoop(linebuffer_t * __restrict buffer, const cha
                         LOGERR;                          LOGERR;
                         return -1;                          return -1;
                 case 0:                  case 0:
                        close(sock);                        if (!buffer) {
 
                        if (buffer) 
                                ret = cliLoop(buffer, csHistFile) < 0 ? 1 : 0; 
                        else 
                                 cli_SetErr(EINVAL, "Error:: invalid input parameters ...");                                  cli_SetErr(EINVAL, "Error:: invalid input parameters ...");
                                   return -1;
                           } else
                                   close(sock);
   
                        /* spawn Shell mode */                        ret = cliLoop(buffer, csHistFile) < 0 ? 1 : 0;
                        //execl("/bin/tcsh", "tcsh", NULL);                        cliEnd(buffer);
   
                        _exit(ret);                        exit(ret);
                 default:                  default:
                         telnet_SetCmd(Attr + 0, DO, TELOPT_TTYPE);                          telnet_SetCmd(Attr + 0, DO, TELOPT_TTYPE);
                         telnet_SetCmd(Attr + 1, WILL, TELOPT_ECHO);                          telnet_SetCmd(Attr + 1, WILL, TELOPT_ECHO);
Line 1369  cliLoop(linebuffer_t * __restrict buffer, const char * Line 1377  cliLoop(linebuffer_t * __restrict buffer, const char *
         struct tagCommand *cmd;          struct tagCommand *cmd;
   
         /* --- main body of CLI --- */          /* --- main body of CLI --- */
           cliInitLine(buffer);
   
         if (cli_loadHistory(buffer, csHistFile) == RETCODE_ERR)          if (cli_loadHistory(buffer, csHistFile) == RETCODE_ERR)
                 return RETCODE_ERR;                  return RETCODE_ERR;

Removed from v.1.2.2.17  
changed lines
  Added in v.1.2.2.19


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>