hbase

heirloom base
git clone git://git.2f30.org/hbase
Log | Files | Refs | README

common.h (3278B)


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