[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.30

1.30    ! jca         1: /*     $OpenBSD: common.h,v 1.29 2015/07/26 14:32:19 millert 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.30    ! jca        40: #define INITLINELEN 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.30    ! jca        62: extern char    *buf;           /* general purpose buffer */
        !            63: extern size_t   bufsz;         /* general purpose buffer size */
1.1       deraadt    64:
1.19      otto       65: extern bool    using_plan_a;   /* try to keep everything in memory */
                     66: extern bool    out_of_mem;     /* ran out of memory in plan a */
1.1       deraadt    67:
                     68: #define MAXFILEC 2
                     69:
1.19      otto       70: extern char    *filearg[MAXFILEC];
                     71: extern bool    ok_to_create_file;
                     72: extern char    *outname;
                     73: extern char    *origprae;
                     74:
                     75: extern char    *TMPOUTNAME;
                     76: extern char    *TMPINNAME;
                     77: extern char    *TMPREJNAME;
                     78: extern char    *TMPPATNAME;
                     79: extern bool    toutkeep;
                     80: extern bool    trejkeep;
                     81:
1.1       deraadt    82: #ifdef DEBUGGING
1.19      otto       83: extern int     debug;
1.1       deraadt    84: #endif
1.19      otto       85:
                     86: extern bool    force;
                     87: extern bool    batch;
                     88: extern bool    verbose;
                     89: extern bool    reverse;
                     90: extern bool    noreverse;
                     91: extern bool    skip_rest_of_patch;
                     92: extern int     strippath;
                     93: extern bool    canonicalize;
1.17      otto       94: /* TRUE if -C was specified on command line.  */
1.19      otto       95: extern bool    check_only;
1.21      otto       96: extern bool    warn_on_invalid_line;
1.23      otto       97: extern bool    last_line_missing_eol;
1.17      otto       98:
1.1       deraadt    99:
                    100: #define CONTEXT_DIFF 1
                    101: #define NORMAL_DIFF 2
                    102: #define ED_DIFF 3
                    103: #define NEW_CONTEXT_DIFF 4
                    104: #define UNI_DIFF 5
                    105:
1.19      otto      106: extern int     diff_type;
                    107: extern char    *revision;      /* prerequisite revision, if any */
                    108: extern LINENUM input_lines;    /* how long is input file in lines */
                    109:
1.25      millert   110: extern int     posix;
1.1       deraadt   111: