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

Annotation of src/usr.bin/patch/common.h, Revision 1.28.2.1

1.28.2.1! krw         1: /*     $OpenBSD: common.h,v 1.28 2014/11/25 10:26:07 tobias Exp $      */
1.24      otto        2:
                      3: /*
                      4:  * patch - a program to apply diffs to original files
                      5:  *
                      6:  * Copyright 1986, Larry Wall
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following condition is met:
                     10:  * 1. Redistributions of source code must retain the above copyright notice,
                     11:  * this condition and the following disclaimer.
                     12:  *
                     13:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
                     14:  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
                     15:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
                     16:  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
                     17:  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     18:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     19:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
                     20:  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     21:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     22:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     23:  * SUCH DAMAGE.
                     24:  *
                     25:  * -C option added in 1998, original code by Marc Espie, based on FreeBSD
                     26:  * behaviour
                     27:  */
1.22      otto       28:
1.26      otto       29: #include <sys/types.h>
                     30:
1.28      tobias     31: #include <limits.h>
1.22      otto       32: #include <stdbool.h>
1.1       deraadt    33:
                     34: #define DEBUGGING
                     35:
                     36: /* constants */
                     37:
1.14      deraadt    38: #define MAXHUNKSIZE 100000     /* is this enough lines? */
                     39: #define INITHUNKMAX 125                /* initial dynamic allocation size */
1.8       niklas     40: #define MAXLINELEN 8192
1.1       deraadt    41: #define BUFFERSIZE 1024
1.28      tobias     42: #define LINENUM_MAX LONG_MAX
1.1       deraadt    43:
                     44: #define ORIGEXT ".orig"
                     45: #define REJEXT ".rej"
                     46:
                     47: /* handy definitions */
                     48:
                     49: #define strNE(s1,s2) (strcmp(s1, s2))
                     50: #define strEQ(s1,s2) (!strcmp(s1, s2))
                     51: #define strnNE(s1,s2,l) (strncmp(s1, s2, l))
                     52: #define strnEQ(s1,s2,l) (!strncmp(s1, s2, l))
                     53:
                     54: /* typedefs */
                     55:
1.14      deraadt    56: typedef long    LINENUM;       /* must be signed */
1.1       deraadt    57:
                     58: /* globals */
                     59:
1.26      otto       60: extern mode_t  filemode;
1.1       deraadt    61:
1.19      otto       62: extern char    buf[MAXLINELEN];/* general purpose buffer */
1.1       deraadt    63:
1.19      otto       64: extern bool    using_plan_a;   /* try to keep everything in memory */
                     65: extern bool    out_of_mem;     /* ran out of memory in plan a */
1.1       deraadt    66:
                     67: #define MAXFILEC 2
                     68:
1.19      otto       69: extern char    *filearg[MAXFILEC];
                     70: extern bool    ok_to_create_file;
                     71: extern char    *outname;
                     72: extern char    *origprae;
                     73:
                     74: extern char    *TMPOUTNAME;
                     75: extern char    *TMPINNAME;
                     76: extern char    *TMPREJNAME;
                     77: extern char    *TMPPATNAME;
                     78: extern bool    toutkeep;
                     79: extern bool    trejkeep;
                     80:
1.1       deraadt    81: #ifdef DEBUGGING
1.19      otto       82: extern int     debug;
1.1       deraadt    83: #endif
1.19      otto       84:
                     85: extern bool    force;
                     86: extern bool    batch;
                     87: extern bool    verbose;
                     88: extern bool    reverse;
                     89: extern bool    noreverse;
                     90: extern bool    skip_rest_of_patch;
                     91: extern int     strippath;
                     92: extern bool    canonicalize;
1.17      otto       93: /* TRUE if -C was specified on command line.  */
1.19      otto       94: extern bool    check_only;
1.21      otto       95: extern bool    warn_on_invalid_line;
1.23      otto       96: extern bool    last_line_missing_eol;
1.17      otto       97:
1.1       deraadt    98:
                     99: #define CONTEXT_DIFF 1
                    100: #define NORMAL_DIFF 2
                    101: #define ED_DIFF 3
                    102: #define NEW_CONTEXT_DIFF 4
                    103: #define UNI_DIFF 5
                    104:
1.19      otto      105: extern int     diff_type;
                    106: extern char    *revision;      /* prerequisite revision, if any */
                    107: extern LINENUM input_lines;    /* how long is input file in lines */
                    108:
1.25      millert   109: extern int     posix;
1.1       deraadt   110: