|
|
1.1 root 1: /* @(#)diff.h 4.1 10/9/80" */
2:
3: /*
4: * diff - common declarations
5: */
6:
7: #include <stdio.h>
8: #include <ctype.h>
9: #include <sys/types.h>
10: #include <sys/stat.h>
11: #include <signal.h>
12: #include <sys/dir.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:
25: /*
26: * Algorithm related options
27: */
28: int hflag; /* -h, use halfhearted DIFFH */
29: int bflag; /* ignore blanks in comparisions */
30:
31: /*
32: * Options on hierarchical diffs.
33: */
34: int lflag; /* long output format with header */
35: int rflag; /* recursively trace directories */
36: int sflag; /* announce files which are same */
37: char *start; /* do file only if name >= this */
38:
39: /*
40: * Variables for -I D_IFDEF option.
41: */
42: int wantelses; /* -E */
43: char *ifdef1; /* String for -1 */
44: char *ifdef2; /* String for -2 */
45: char *endifname; /* What we will print on next #endif */
46: int inifdef;
47:
48: /*
49: * Variables for -c context option.
50: */
51: int context; /* lines of context to be printed */
52:
53: /*
54: * State for exit status.
55: */
56: int status;
57: int anychange;
58: char *tempfile; /* used when comparing against std input */
59:
60: /*
61: * Variables for diffdir.
62: */
63: char **diffargv; /* option list to pass to recursive diffs */
64:
65: /*
66: * Input file names.
67: * With diffdir, file1 and file2 are allocated BUFSIZ space,
68: * and padded with a '/', and then efile0 and efile1 point after
69: * the '/'.
70: */
71: char *file1, *file2, *efile1, *efile2;
72: struct stat stb1, stb2;
73: struct stat stb1, stb2;
74:
75: /*
76: * This is allocated early, and used
77: * to reset the free storage pointer to effect space compaction.
78: */
79: char *dummy;
80:
81: char *malloc(), *talloc(), *ralloc();
82: char *savestr(), *splice(), *splicen();
83: char *mktemp(), *copytemp(), *rindex();
84: int done();
85:
86: extern char diffh[], diff[], pr[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.