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

1.16    ! deraadt     1: /*     $OpenBSD: common.h,v 1.15 2003/07/21 14:30:31 deraadt Exp $     */
1.1       deraadt     2:
                      3: #define DEBUGGING
                      4:
                      5: #include "config.h"
                      6:
                      7: /* shut lint up about the following when return value ignored */
                      8:
                      9: #include <stdio.h>
                     10: #include <string.h>
                     11: #include <assert.h>
                     12: #include <sys/types.h>
1.3       deraadt    13: #include <sys/file.h>
1.1       deraadt    14: #include <sys/stat.h>
1.9       millert    15: #include <sys/param.h>
1.1       deraadt    16: #include <ctype.h>
1.9       millert    17: #include <paths.h>
1.1       deraadt    18: #include <signal.h>
1.7       dgregor    19: #include <stdlib.h>
1.9       millert    20: #include <unistd.h>
1.13      deraadt    21: #include <stdarg.h>
1.10      millert    22: #include <libgen.h>
1.13      deraadt    23: #include <errno.h>
1.1       deraadt    24:
                     25: /* constants */
                     26:
1.15      deraadt    27: #define TRUE   1
                     28: #define FALSE  0
1.1       deraadt    29:
1.14      deraadt    30: #define MAXHUNKSIZE 100000     /* is this enough lines? */
                     31: #define INITHUNKMAX 125                /* initial dynamic allocation size */
1.8       niklas     32: #define MAXLINELEN 8192
1.1       deraadt    33: #define BUFFERSIZE 1024
                     34:
                     35: #define SCCSPREFIX "s."
                     36: #define GET "get -e %s"
                     37: #define SCCSDIFF "get -p %s | diff - %s >/dev/null"
                     38:
                     39: #define RCSSUFFIX ",v"
                     40: #define CHECKOUT "co -l %s"
                     41: #define RCSDIFF "rcsdiff %s > /dev/null"
                     42:
                     43: #define ORIGEXT ".orig"
                     44: #define REJEXT ".rej"
                     45:
                     46: /* handy definitions */
                     47:
                     48: #define Null(t) ((t)0)
                     49: #define Nullch Null(char *)
                     50: #define Nullfp Null(FILE *)
                     51: #define Nulline Null(LINENUM)
                     52:
                     53: #define Ctl(ch) ((ch) & 037)
                     54:
                     55: #define strNE(s1,s2) (strcmp(s1, s2))
                     56: #define strEQ(s1,s2) (!strcmp(s1, s2))
                     57: #define strnNE(s1,s2,l) (strncmp(s1, s2, l))
                     58: #define strnEQ(s1,s2,l) (!strncmp(s1, s2, l))
                     59:
                     60: /* typedefs */
                     61:
1.14      deraadt    62: typedef char    bool;
                     63: typedef long    LINENUM;       /* must be signed */
1.1       deraadt    64:
                     65: /* globals */
                     66:
1.14      deraadt    67: EXT int         Argc;          /* guess */
                     68: EXT char      **Argv;
                     69: EXT int         Argc_last;     /* for restarting plan_b */
                     70: EXT char      **Argv_last;
1.1       deraadt    71:
1.14      deraadt    72: EXT struct stat filestat;      /* file statistics area */
1.1       deraadt    73: EXT int filemode INIT(0644);
                     74:
1.14      deraadt    75: EXT char        buf[MAXLINELEN];/* general purpose buffer */
                     76: EXT FILE       *ofp INIT(Nullfp);      /* output file pointer */
                     77: EXT FILE       *rejfp INIT(Nullfp);    /* reject file pointer */
1.1       deraadt    78:
1.14      deraadt    79: EXT int         myuid;         /* cache getuid return value */
1.1       deraadt    80:
                     81: EXT bool using_plan_a INIT(TRUE);      /* try to keep everything in memory */
1.14      deraadt    82: EXT bool out_of_mem INIT(FALSE);/* ran out of memory in plan a */
1.1       deraadt    83:
                     84: #define MAXFILEC 2
1.14      deraadt    85: EXT int filec   INIT(0);       /* how many file arguments? */
                     86: EXT char       *filearg[MAXFILEC];
1.1       deraadt    87: EXT bool ok_to_create_file INIT(FALSE);
1.14      deraadt    88: EXT char       *bestguess INIT(Nullch);        /* guess at correct filename */
1.1       deraadt    89:
1.14      deraadt    90: EXT char       *outname INIT(Nullch);
                     91: EXT char        rejname[128];
1.1       deraadt    92:
1.14      deraadt    93: EXT char       *origprae INIT(Nullch);
1.1       deraadt    94:
1.14      deraadt    95: EXT char       *TMPOUTNAME;
                     96: EXT char       *TMPINNAME;
                     97: EXT char       *TMPREJNAME;
                     98: EXT char       *TMPPATNAME;
1.1       deraadt    99: EXT bool toutkeep INIT(FALSE);
                    100: EXT bool trejkeep INIT(FALSE);
                    101:
                    102: EXT LINENUM last_offset INIT(0);
                    103: #ifdef DEBUGGING
1.14      deraadt   104: EXT int debug   INIT(0);
1.1       deraadt   105: #endif
                    106: EXT LINENUM maxfuzz INIT(2);
1.14      deraadt   107: EXT bool force  INIT(FALSE);
                    108: EXT bool batch  INIT(FALSE);
1.1       deraadt   109: EXT bool verbose INIT(TRUE);
                    110: EXT bool reverse INIT(FALSE);
                    111: EXT bool noreverse INIT(FALSE);
                    112: EXT bool skip_rest_of_patch INIT(FALSE);
                    113: EXT int strippath INIT(957);
                    114: EXT bool canonicalize INIT(FALSE);
                    115:
                    116: #define CONTEXT_DIFF 1
                    117: #define NORMAL_DIFF 2
                    118: #define ED_DIFF 3
                    119: #define NEW_CONTEXT_DIFF 4
                    120: #define UNI_DIFF 5
                    121: EXT int diff_type INIT(0);
                    122:
1.14      deraadt   123: EXT bool do_defines INIT(FALSE);/* patch using ifdef, ifndef, etc. */
                    124: EXT char        if_defined[128];/* #ifdef xyzzy */
                    125: EXT char        not_defined[128];      /* #ifndef xyzzy */
                    126: EXT char        else_defined[] INIT("#else\n");        /* #else */
                    127: EXT char        end_defined[128];      /* #endif xyzzy */
1.1       deraadt   128:
1.14      deraadt   129: EXT char       *revision INIT(Nullch); /* prerequisite revision, if any */