[BACK]Return to sftp-server.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/sftp-server.c between version 1.20 and 1.21

version 1.20, 2001/02/21 09:12:56 version 1.21, 2001/03/03 21:40:30
Line 920 
Line 920 
 int  int
 main(int ac, char **av)  main(int ac, char **av)
 {  {
         fd_set rset, wset;          fd_set *rset, *wset;
         int in, out, max;          int in, out, max;
         ssize_t len, olen;          ssize_t len, olen, set_size;
   
         handle_init();          handle_init();
   
Line 942 
Line 942 
         buffer_init(&iqueue);          buffer_init(&iqueue);
         buffer_init(&oqueue);          buffer_init(&oqueue);
   
           set_size = howmany(max + 1, NFDBITS) * sizeof(fd_mask);
           rset = (fd_set *)xmalloc(set_size);
           wset = (fd_set *)xmalloc(set_size);
   
         for (;;) {          for (;;) {
                 FD_ZERO(&rset);                  memset(rset, 0, set_size);
                 FD_ZERO(&wset);                  memset(wset, 0, set_size);
   
                 FD_SET(in, &rset);                  FD_SET(in, rset);
                 olen = buffer_len(&oqueue);                  olen = buffer_len(&oqueue);
                 if (olen > 0)                  if (olen > 0)
                         FD_SET(out, &wset);                          FD_SET(out, wset);
   
                 if (select(max+1, &rset, &wset, NULL, NULL) < 0) {                  if (select(max+1, rset, wset, NULL, NULL) < 0) {
                         if (errno == EINTR)                          if (errno == EINTR)
                                 continue;                                  continue;
                         exit(2);                          exit(2);
                 }                  }
   
                 /* copy stdin to iqueue */                  /* copy stdin to iqueue */
                 if (FD_ISSET(in, &rset)) {                  if (FD_ISSET(in, rset)) {
                         char buf[4*4096];                          char buf[4*4096];
                         len = read(in, buf, sizeof buf);                          len = read(in, buf, sizeof buf);
                         if (len == 0) {                          if (len == 0) {
Line 972 
Line 976 
                         }                          }
                 }                  }
                 /* send oqueue to stdout */                  /* send oqueue to stdout */
                 if (FD_ISSET(out, &wset)) {                  if (FD_ISSET(out, wset)) {
                         len = write(out, buffer_ptr(&oqueue), olen);                          len = write(out, buffer_ptr(&oqueue), olen);
                         if (len < 0) {                          if (len < 0) {
                                 error("write error");                                  error("write error");

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21