--- diffextern.h +++ diffextern.h @@ -0,0 +1,102 @@ +/* diffextern.h 2.11.1 20/08/26 */ + +/* + * diff external - common declarations + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Output format options + */ +extern int opt; + +#define D_NORMAL 0 /* Normal output */ +#define D_EDIT -1 /* Editor script out */ +#define D_REVERSE 1 /* Reverse editor script */ +#define D_CONTEXT 2 /* Diff with context */ +#define D_IFDEF 3 /* Diff with merged #ifdef's */ +#define D_NREVERSE 4 /* Reverse ed script with numbered + lines and no trailing . */ + +extern int tflag; /* expand tabs on output */ + +/* + * Algorithm related options + */ +extern int hflag; /* -h, use halfhearted DIFFH */ +extern int bflag; /* ignore blanks in comparisons */ +extern int wflag; /* totally ignore blanks in comparisons */ +extern int iflag; /* ignore case in comparisons */ + +/* + * Options on hierarchical diffs. + */ +extern int lflag; /* long output format with header */ +extern int rflag; /* recursively trace directories */ +extern int sflag; /* announce files which are same */ +extern char *start; /* do file only if name >= this */ + +/* + * Variables for -I D_IFDEF option. + */ +extern int wantelses; /* -E */ +extern char *ifdef1; /* String for -1 */ +extern char *ifdef2; /* String for -2 */ +extern char *endifname; /* What we will print on next #endif */ +extern int inifdef; + +/* + * Variables for -c context option. + */ +extern int context; /* lines of context to be printed */ + +/* + * State for exit status. + */ +extern int status; +extern int anychange; +extern char tempfile[MAXPATHLEN];/* used when comparing against std input */ + +/* + * Variables for diffdir. + */ +extern char **diffargv; /* option list to pass to recursive diffs */ + +/* + * Input file names. + * With diffdir, file1 and file2 are allocated BUFSIZ space, + * and padded with a '/', and then efile0 and efile1 point after + * the '/'. + */ +extern char *file1, *file2, *efile1, *efile2; +extern struct stat stb1, stb2; + +char *talloc(), *ralloc(); +char *savestr(), *splice(), *splicen(); +char *copytemp(); +sig_t done(); + +extern char diffh[], diff[], pr[]; + +/* declarations */ +void diffdir(char **argv); +void diffreg(); +void noroom(); +void setfile(char **fpp, char **epp, char *file); +int useless(register char *cp); +int min(int, int); +int max(int, int); +void prune(); +int skipline(int);