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

Diff for /src/usr.bin/diff/diff.c between version 1.52 and 1.53

version 1.52, 2009/06/06 15:37:28 version 1.53, 2009/06/07 08:39:13
Line 42 
Line 42 
 #include "xmalloc.h"  #include "xmalloc.h"
   
 int      lflag, Nflag, Pflag, rflag, sflag, Tflag;  int      lflag, Nflag, Pflag, rflag, sflag, Tflag;
 int      format, context, status;  int      diff_format, diff_context, status;
 char    *start, *ifdefname, *diffargs, *label[2], *ignore_pats;  char    *start, *ifdefname, *diffargs, *label[2], *ignore_pats;
 struct stat stb1, stb2;  struct stat stb1, stb2;
 struct excludes *excludes_list;  struct excludes *excludes_list;
Line 104 
Line 104 
                         if (newarg)                          if (newarg)
                                 usage();        /* disallow -[0-9]+ */                                  usage();        /* disallow -[0-9]+ */
                         else if (lastch == 'c' || lastch == 'u')                          else if (lastch == 'c' || lastch == 'u')
                                 context = 0;                                  diff_context = 0;
                         else if (!isdigit(lastch) || context > INT_MAX / 10)                          else if (!isdigit(lastch) || diff_context > INT_MAX / 10)
                                 usage();                                  usage();
                         context = (context * 10) + (ch - '0');                          diff_context = (diff_context * 10) + (ch - '0');
                         break;                          break;
                 case 'a':                  case 'a':
                         dflags |= D_FORCEASCII;                          dflags |= D_FORCEASCII;
Line 117 
Line 117 
                         break;                          break;
                 case 'C':                  case 'C':
                 case 'c':                  case 'c':
                         format = D_CONTEXT;                          diff_format = D_CONTEXT;
                         if (optarg != NULL) {                          if (optarg != NULL) {
                                 l = strtol(optarg, &ep, 10);                                  l = strtol(optarg, &ep, 10);
                                 if (*ep != '\0' || l < 0 || l >= INT_MAX)                                  if (*ep != '\0' || l < 0 || l >= INT_MAX)
                                         usage();                                          usage();
                                 context = (int)l;                                  diff_context = (int)l;
                         } else                          } else
                                 context = 3;                                  diff_context = 3;
                         break;                          break;
                 case 'd':                  case 'd':
                         dflags |= D_MINIMAL;                          dflags |= D_MINIMAL;
                         break;                          break;
                 case 'D':                  case 'D':
                         format = D_IFDEF;                          diff_format = D_IFDEF;
                         ifdefname = optarg;                          ifdefname = optarg;
                         break;                          break;
                 case 'e':                  case 'e':
                         format = D_EDIT;                          diff_format = D_EDIT;
                         break;                          break;
                 case 'f':                  case 'f':
                         format = D_REVERSE;                          diff_format = D_REVERSE;
                         break;                          break;
                 case 'h':                  case 'h':
                         /* silently ignore for backwards compatibility */                          /* silently ignore for backwards compatibility */
Line 164 
Line 164 
                         Nflag = 1;                          Nflag = 1;
                         break;                          break;
                 case 'n':                  case 'n':
                         format = D_NREVERSE;                          diff_format = D_NREVERSE;
                         break;                          break;
                 case 'p':                  case 'p':
                         dflags |= D_PROTOTYPE;                          dflags |= D_PROTOTYPE;
Line 176 
Line 176 
                         rflag = 1;                          rflag = 1;
                         break;                          break;
                 case 'q':                  case 'q':
                         format = D_BRIEF;                          diff_format = D_BRIEF;
                         break;                          break;
                 case 'S':                  case 'S':
                         start = optarg;                          start = optarg;
Line 192 
Line 192 
                         break;                          break;
                 case 'U':                  case 'U':
                 case 'u':                  case 'u':
                         format = D_UNIFIED;                          diff_format = D_UNIFIED;
                         if (optarg != NULL) {                          if (optarg != NULL) {
                                 l = strtol(optarg, &ep, 10);                                  l = strtol(optarg, &ep, 10);
                                 if (*ep != '\0' || l < 0 || l >= INT_MAX)                                  if (*ep != '\0' || l < 0 || l >= INT_MAX)
                                         usage();                                          usage();
                                 context = (int)l;                                  diff_context = (int)l;
                         } else                          } else
                                 context = 3;                                  diff_context = 3;
                         break;                          break;
                 case 'w':                  case 'w':
                         dflags |= D_IGNOREBLANKS;                          dflags |= D_IGNOREBLANKS;
Line 254 
Line 254 
                 errx(2, "can't compare - to a directory");                  errx(2, "can't compare - to a directory");
         set_argstr(oargv, argv);          set_argstr(oargv, argv);
         if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) {          if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) {
                 if (format == D_IFDEF)                  if (diff_format == D_IFDEF)
                         errx(2, "-D option not supported with directories");                          errx(2, "-D option not supported with directories");
                 diffdir(argv[0], argv[1], dflags);                  diffdir(argv[0], argv[1], dflags);
         } else {          } else {
Line 371 
Line 371 
                     path1, entry ? entry : "", path2, entry ? entry : "");                      path1, entry ? entry : "", path2, entry ? entry : "");
                 break;                  break;
         case D_DIFFER:          case D_DIFFER:
                 if (format == D_BRIEF)                  if (diff_format == D_BRIEF)
                         printf("Files %s%s and %s%s differ\n",                          printf("Files %s%s and %s%s differ\n",
                             path1, entry ? entry : "",                              path1, entry ? entry : "",
                             path2, entry ? entry : "");                              path2, entry ? entry : "");

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.53