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

Diff for /src/usr.bin/diff/diffreg.c between version 1.33 and 1.34

version 1.33, 2003/07/15 23:17:56 version 1.34, 2003/07/16 21:39:06
Line 705 
Line 705 
                         for (;;) {                          for (;;) {
                                 c = getc(f1);                                  c = getc(f1);
                                 d = getc(f2);                                  d = getc(f2);
                                   /*
                                    * GNU diff ignores a missing newline
                                    * in one file if bflag || wflag.
                                    */
                                   if ((bflag || wflag) &&
                                       ((c == EOF && d == '\n') ||
                                       (c == '\n' && d == EOF))) {
                                           break;
                                   }
                                 ctold++;                                  ctold++;
                                 ctnew++;                                  ctnew++;
                                 if (bflag && isspace(c) && isspace(d)) {                                  if (bflag && isspace(c) && isspace(d)) {
Line 731 
Line 740 
                                 if (chrtran[c] != chrtran[d]) {                                  if (chrtran[c] != chrtran[d]) {
                                         jackpot++;                                          jackpot++;
                                         J[i] = 0;                                          J[i] = 0;
                                         if (c != '\n')                                          if (c != '\n' && c != EOF)
                                                 ctold += skipline(f1);                                                  ctold += skipline(f1);
                                         if (d != '\n')                                          if (d != '\n' && c != EOF)
                                                 ctnew += skipline(f2);                                                  ctnew += skipline(f2);
                                         break;                                          break;
                                 }                                  }
                                 if (c == '\n')                                  if (c == '\n' || c == EOF)
                                         break;                                          break;
                         }                          }
                 } else {                  } else {
Line 747 
Line 756 
                                 if ((c = getc(f1)) != (d = getc(f2))) {                                  if ((c = getc(f1)) != (d = getc(f2))) {
                                         /* jackpot++; */                                          /* jackpot++; */
                                         J[i] = 0;                                          J[i] = 0;
                                         if (c != '\n')                                          if (c != '\n' && c != EOF)
                                                 ctold += skipline(f1);                                                  ctold += skipline(f1);
                                         if (d != '\n')                                          if (d != '\n' && c != EOF)
                                                 ctnew += skipline(f2);                                                  ctnew += skipline(f2);
                                         break;                                          break;
                                 }                                  }
                                 if (c == '\n')                                  if (c == '\n' || c == EOF)
                                         break;                                          break;
                         }                          }
                 }                  }
Line 820 
Line 829 
 {  {
         int i, c;          int i, c;
   
         for (i = 1; (c = getc(f)) != '\n'; i++)          for (i = 1; (c = getc(f)) != '\n' && c != EOF; i++)
                 if (c < 0)                  continue;
                         return (i);  
         return (i);          return (i);
 }  }
   
Line 866 
Line 874 
         if (format == D_IFDEF) {          if (format == D_IFDEF) {
                 for (;;) {                  for (;;) {
 #define c i0  #define c i0
                         c = getc(f1);                          if ((c = getc(f1)) == EOF)
                         if (c < 0)  
                                 return;                                  return;
                         putchar(c);                          putchar(c);
                 }                  }
Line 1043 
Line 1050 
                         fputs(s, stdout);                          fputs(s, stdout);
                 col = 0;                  col = 0;
                 for (j = 0; j < nc; j++) {                  for (j = 0; j < nc; j++) {
                         c = getc(lb);                          if ((c = getc(lb)) == EOF) {
                         if (c == '\t' && tflag)                                  puts("\n\\ No newline at end of file");
                                 do                                  return;
                           }
                           if (c == '\t' && tflag) {
                                   do {
                                         putchar(' ');                                          putchar(' ');
                                 while (++col & 7);                                  } while (++col & 7);
                         else {                          } else {
                                 putchar(c);                                  putchar(c);
                                 col++;                                  col++;
                         }                          }
Line 1078 
Line 1088 
         if (!bflag && !wflag) {          if (!bflag && !wflag) {
                 if (iflag)                  if (iflag)
                         for (shift = 0; (t = getc(f)) != '\n'; shift += 7) {                          for (shift = 0; (t = getc(f)) != '\n'; shift += 7) {
                                 if (t == -1)                                  if (t == EOF) {
                                         return (0);                                          if (shift == 0)
                                                   return (0);
                                           break;
                                   }
                                 sum += (long)chrtran[t] << (shift                                  sum += (long)chrtran[t] << (shift
 #ifdef POW2  #ifdef POW2
                                     &= HALFLONG - 1);                                      &= HALFLONG - 1);
Line 1089 
Line 1102 
                         }                          }
                 else                  else
                         for (shift = 0; (t = getc(f)) != '\n'; shift += 7) {                          for (shift = 0; (t = getc(f)) != '\n'; shift += 7) {
                                 if (t == -1)                                  if (t == EOF) {
                                         return (0);                                          if (shift == 0)
                                                   return (0);
                                           break;
                                   }
                                 sum += (long)t << (shift                                  sum += (long)t << (shift
 #ifdef POW2  #ifdef POW2
                                     &= HALFLONG - 1);                                      &= HALFLONG - 1);
Line 1101 
Line 1117 
         } else {          } else {
                 for (shift = 0;;) {                  for (shift = 0;;) {
                         switch (t = getc(f)) {                          switch (t = getc(f)) {
                         case -1:  
                                 return (0);  
                         case '\t':                          case '\t':
                         case ' ':                          case ' ':
                                 space++;                                  space++;
Line 1120 
Line 1134 
 #endif  #endif
                                 shift += 7;                                  shift += 7;
                                 continue;                                  continue;
                           case EOF:
                                   if (shift == 0)
                                           return (0);
                                   /* FALLTHROUGH */
                         case '\n':                          case '\n':
                                 break;                                  break;
                         }                          }

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34