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

Annotation of src/usr.bin/diff/diff.h, Revision 1.4

1.4     ! deraadt     1: /*     $OpenBSD: diff.h,v 1.3 2003/06/25 03:02:33 tedu Exp $   */
1.2       deraadt     2:
                      3: /*
                      4:  * Copyright (C) Caldera International Inc.  2001-2002.
                      5:  * All rights reserved.
                      6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code and documentation must retain the above
                     11:  *    copyright notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *     This product includes software developed or owned by Caldera
                     18:  *     International, Inc.
                     19:  * 4. Neither the name of Caldera International, Inc. nor the names of other
                     20:  *    contributors may be used to endorse or promote products derived from
                     21:  *    this software without specific prior written permission.
                     22:  *
                     23:  * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
                     24:  * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
                     25:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     26:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     27:  * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT,
                     28:  * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
                     29:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     30:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     31:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
                     32:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
                     33:  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     34:  * POSSIBILITY OF SUCH DAMAGE.
                     35:  */
                     36:
1.1       deraadt    37: /*     diff.h  4.7     85/08/16        */
                     38:
                     39: /*
                     40:  * diff - common declarations
                     41:  */
                     42:
                     43: #include <stdio.h>
                     44: #include <ctype.h>
                     45: #include <sys/param.h>
                     46: #include <sys/stat.h>
                     47: #include <sys/dir.h>
                     48: #include <signal.h>
                     49:
                     50: /*
                     51:  * Output format options
                     52:  */
                     53: int    opt;
                     54:
                     55: #define        D_NORMAL        0       /* Normal output */
                     56: #define        D_EDIT          -1      /* Editor script out */
                     57: #define        D_REVERSE       1       /* Reverse editor script */
                     58: #define        D_CONTEXT       2       /* Diff with context */
                     59: #define        D_IFDEF         3       /* Diff with merged #ifdef's */
                     60: #define        D_NREVERSE      4       /* Reverse ed script with numbered
                     61:                                   lines and no trailing . */
                     62:
                     63: int    tflag;                  /* expand tabs on output */
                     64:
                     65: /*
                     66:  * Algorithm related options
                     67:  */
                     68: int    hflag;                  /* -h, use halfhearted DIFFH */
                     69: int    bflag;                  /* ignore blanks in comparisons */
                     70: int    wflag;                  /* totally ignore blanks in comparisons */
                     71: int    iflag;                  /* ignore case in comparisons */
                     72:
                     73: /*
                     74:  * Options on hierarchical diffs.
                     75:  */
                     76: int    lflag;                  /* long output format with header */
                     77: int    rflag;                  /* recursively trace directories */
                     78: int    sflag;                  /* announce files which are same */
                     79: char   *start;                 /* do file only if name >= this */
                     80:
                     81: /*
                     82:  * Variables for -I D_IFDEF option.
                     83:  */
                     84: int    wantelses;              /* -E */
                     85: char   *ifdef1;                /* String for -1 */
                     86: char   *ifdef2;                /* String for -2 */
                     87: char   *endifname;             /* What we will print on next #endif */
                     88: int    inifdef;
                     89:
                     90: /*
                     91:  * Variables for -c context option.
                     92:  */
                     93: int    context;                /* lines of context to be printed */
                     94:
                     95: /*
                     96:  * State for exit status.
                     97:  */
                     98: int    status;
                     99: int    anychange;
                    100: char   *tempfile;              /* used when comparing against std input */
                    101:
                    102: /*
                    103:  * Variables for diffdir.
                    104:  */
                    105: char   **diffargv;             /* option list to pass to recursive diffs */
                    106:
                    107: /*
                    108:  * Input file names.
                    109:  * With diffdir, file1 and file2 are allocated BUFSIZ space,
                    110:  * and padded with a '/', and then efile0 and efile1 point after
                    111:  * the '/'.
                    112:  */
                    113: char   *file1, *file2, *efile1, *efile2;
                    114: struct stat stb1, stb2;
                    115:
1.3       tedu      116: void   *talloc(size_t);
                    117: void   *ralloc(void *, size_t);
                    118: char   *splice(char *, char *);
                    119: char   *copytemp(void);
                    120: void   catchsig(int);
1.4     ! deraadt   121: void   done(int);
1.3       tedu      122: void   diffdir(char **);
                    123: void   diffreg(void);
                    124: int    max(int, int);
                    125: int    min(int, int);
1.1       deraadt   126:
                    127: extern char diffh[], diff[], pr[];