[BACK]Return to tee.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tee

Diff for /src/usr.bin/tee/tee.c between version 1.12 and 1.13

version 1.12, 2017/07/11 13:14:59 version 1.13, 2021/11/21 16:15:43
Line 68 
Line 68 
         struct list *p;          struct list *p;
         int fd;          int fd;
         ssize_t n, rval, wval;          ssize_t n, rval, wval;
         char *bp;  
         int append, ch, exitval;          int append, ch, exitval;
         char buf[8192];          char buf[8192];
   
Line 112 
Line 111 
   
         while ((rval = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {          while ((rval = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
                 SLIST_FOREACH(p, &head, next) {                  SLIST_FOREACH(p, &head, next) {
                         n = rval;                          for (n = 0; n < rval; n += wval) {
                         bp = buf;                                  wval = write(p->fd, buf + n, rval - n);
                         do {                                  if (wval == -1) {
                                 if ((wval = write(p->fd, bp, n)) == -1) {  
                                         warn("%s", p->name);                                          warn("%s", p->name);
                                         exitval = 1;                                          exitval = 1;
                                         break;                                          break;
                                 }                                  }
                                 bp += wval;                          }
                         } while (n -= wval);  
                 }                  }
         }          }
         if (rval == -1) {          if (rval == -1) {

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13