1 /* diff.h 4.9 91/03/02 */ 2 3 /* 4 * diff - common declarations 5 */ 6 7 #include <stdio.h> 8 #include <ctype.h> 9 #include <sys/param.h> 10 #include <sys/stat.h> 11 #include <sys/dir.h> 12 #include <signal.h> 13 14 /* 15 * Output format options 16 */ 17 int opt; 18 19 #define D_NORMAL 0 /* Normal output */ 20 #define D_EDIT -1 /* Editor script out */ 21 #define D_REVERSE 1 /* Reverse editor script */ 22 #define D_CONTEXT 2 /* Diff with context */ 23 #define D_IFDEF 3 /* Diff with merged #ifdef's */ 24 #define D_NREVERSE 4 /* Reverse ed script with numbered 25 lines and no trailing . */ 26 27 int tflag; /* expand tabs on output */ 28 29 /* 30 * Algorithm related options 31 */ 32 int hflag; /* -h, use halfhearted DIFFH */ 33 int bflag; /* ignore blanks in comparisons */ 34 int wflag; /* totally ignore blanks in comparisons */ 35 int iflag; /* ignore case in comparisons */ 36 37 /* 38 * Options on hierarchical diffs. 39 */ 40 int lflag; /* long output format with header */ 41 int rflag; /* recursively trace directories */ 42 int sflag; /* announce files which are same */ 43 char *start; /* do file only if name >= this */ 44 45 /* 46 * Variables for -I D_IFDEF option. 47 */ 48 int wantelses; /* -E */ 49 char *ifdef1; /* String for -1 */ 50 char *ifdef2; /* String for -2 */ 51 char *endifname; /* What we will print on next #endif */ 52 int inifdef; 53 54 /* 55 * Variables for -c context option. 56 */ 57 int context; /* lines of context to be printed */ 58 59 /* 60 * State for exit status. 61 */ 62 int status; 63 int anychange; 64 char tempfile[]; /* used when comparing against std input */ 65 66 /* 67 * Variables for diffdir. 68 */ 69 char **diffargv; /* option list to pass to recursive diffs */ 70 71 /* 72 * Input file names. 73 * With diffdir, file1 and file2 are allocated BUFSIZ space, 74 * and padded with a '/', and then efile0 and efile1 point after 75 * the '/'. 76 */ 77 char *file1, *file2, *efile1, *efile2; 78 struct stat stb1, stb2; 79 80 char *malloc(), *talloc(), *ralloc(); 81 char *savestr(), *splice(), *splicen(); 82 char *mktemp(), *copytemp(), *rindex(); 83 void done(); 84 85 extern char diffh[], diff[], pr[]; 86