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

Diff for /src/usr.bin/uniq/uniq.c between version 1.29 and 1.30

version 1.29, 2021/11/17 23:09:38 version 1.30, 2021/12/24 17:59:28
Line 57 
Line 57 
 int  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         char *prevline, *t1, *t2, *thisline;          char *p, *prevline, *t, *thisline, *tmp;
         FILE *ifp = NULL, *ofp = NULL;          FILE *ifp = NULL, *ofp = NULL;
         size_t prevsize, thissize, tmpsize;          size_t prevsize, thissize, tmpsize;
         ssize_t len;          ssize_t len;
Line 142 
Line 142 
         }          }
         if (prevline[len - 1] == '\n')          if (prevline[len - 1] == '\n')
                 prevline[len - 1] = '\0';                  prevline[len - 1] = '\0';
           if (numfields || numchars)
                   p = skip(prevline);
           else
                   p = prevline;
   
         thissize = 0;          thissize = 0;
         thisline = NULL;          thisline = NULL;
Line 150 
Line 154 
                         thisline[len - 1] = '\0';                          thisline[len - 1] = '\0';
   
                 /* If requested get the chosen fields + character offsets. */                  /* If requested get the chosen fields + character offsets. */
                 if (numfields || numchars) {                  if (numfields || numchars)
                         t1 = skip(thisline);                          t = skip(thisline);
                         t2 = skip(prevline);                  else
                 } else {                          t = thisline;
                         t1 = thisline;  
                         t2 = prevline;  
                 }  
   
                 /* If different, print; set previous to new value. */                  /* If different, print; set previous to new value. */
                 if ((iflag ? strcasecmp : strcmp)(t1, t2)) {                  if ((iflag ? strcasecmp : strcmp)(p, t)) {
                         show(ofp, prevline);                          show(ofp, prevline);
                         t1 = prevline;                          tmp = prevline;
                         prevline = thisline;                          prevline = thisline;
                         thisline = t1;                          thisline = tmp;
                           tmp = p;
                           p = t;
                           t = tmp;
                         tmpsize = prevsize;                          tmpsize = prevsize;
                         prevsize = thissize;                          prevsize = thissize;
                         thissize = tmpsize;                          thissize = tmpsize;

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30