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: