/* $OpenBSD: diff.h,v 1.3 2003/06/25 03:02:33 tedu Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code and documentation must retain the above * copyright notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed or owned by Caldera * International, Inc. * 4. Neither the name of Caldera International, Inc. nor the names of other * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* diff.h 4.7 85/08/16 */ /* * diff - common declarations */ #include #include #include #include #include #include /* * Output format options */ 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 . */ int tflag; /* expand tabs on output */ /* * Algorithm related options */ int hflag; /* -h, use halfhearted DIFFH */ int bflag; /* ignore blanks in comparisons */ int wflag; /* totally ignore blanks in comparisons */ int iflag; /* ignore case in comparisons */ /* * Options on hierarchical diffs. */ int lflag; /* long output format with header */ int rflag; /* recursively trace directories */ int sflag; /* announce files which are same */ char *start; /* do file only if name >= this */ /* * Variables for -I D_IFDEF option. */ int wantelses; /* -E */ char *ifdef1; /* String for -1 */ char *ifdef2; /* String for -2 */ char *endifname; /* What we will print on next #endif */ int inifdef; /* * Variables for -c context option. */ int context; /* lines of context to be printed */ /* * State for exit status. */ int status; int anychange; char *tempfile; /* used when comparing against std input */ /* * Variables for diffdir. */ 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 '/'. */ char *file1, *file2, *efile1, *efile2; struct stat stb1, stb2; void *talloc(size_t); void *ralloc(void *, size_t); char *splice(char *, char *); char *copytemp(void); void catchsig(int); void done(void); void diffdir(char **); void diffreg(void); int max(int, int); int min(int, int); extern char diffh[], diff[], pr[];