summaryrefslogtreecommitdiffstats
path: root/contrib/patch/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/patch/common.h')
-rw-r--r--contrib/patch/common.h307
1 files changed, 307 insertions, 0 deletions
diff --git a/contrib/patch/common.h b/contrib/patch/common.h
new file mode 100644
index 0000000..b2895d4
--- /dev/null
+++ b/contrib/patch/common.h
@@ -0,0 +1,307 @@
+/* common definitions for `patch' */
+
+/* $Id: common.h,v 1.18 1997/06/13 06:28:37 eggert Exp $ */
+
+/*
+Copyright 1986, 1988 Larry Wall
+Copyright 1990, 1991, 1992, 1993, 1997 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; see the file COPYING.
+If not, write to the Free Software Foundation,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#ifndef DEBUGGING
+#define DEBUGGING 1
+#endif
+
+/* We must define `volatile' and `const' first (the latter inside config.h),
+ so that they're used consistently in all system includes. */
+#ifndef __STDC__
+# ifndef volatile
+# define volatile
+# endif
+#endif
+
+/* Enable support for fseeko and ftello on hosts
+ where it is available but is turned off by default.
+ This must be defined before any system file is included. */
+#define _LARGEFILE_SOURCE 1
+
+#include <config.h>
+
+#include <assert.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <time.h>
+
+#include <sys/stat.h>
+#if ! defined S_ISDIR && defined S_IFDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif
+#if ! defined S_ISREG && defined S_IFREG
+# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#endif
+#ifndef S_IXOTH
+#define S_IXOTH 1
+#endif
+#ifndef S_IWOTH
+#define S_IWOTH 2
+#endif
+#ifndef S_IROTH
+#define S_IROTH 4
+#endif
+#ifndef S_IXGRP
+#define S_IXGRP (S_IXOTH << 3)
+#endif
+#ifndef S_IWGRP
+#define S_IWGRP (S_IWOTH << 3)
+#endif
+#ifndef S_IRGRP
+#define S_IRGRP (S_IROTH << 3)
+#endif
+#ifndef S_IXUSR
+#define S_IXUSR (S_IXOTH << 6)
+#endif
+#ifndef S_IWUSR
+#define S_IWUSR (S_IWOTH << 6)
+#endif
+#ifndef S_IRUSR
+#define S_IRUSR (S_IROTH << 6)
+#endif
+
+#if HAVE_LIMITS_H
+# include <limits.h>
+#endif
+#ifndef INT_MAX
+#define INT_MAX 2147483647
+#endif
+#ifndef LONG_MIN
+#define LONG_MIN (-1-2147483647L)
+#endif
+
+#include <ctype.h>
+/* CTYPE_DOMAIN (C) is nonzero if the unsigned char C can safely be given
+ as an argument to <ctype.h> macros like `isspace'. */
+#if STDC_HEADERS
+#define CTYPE_DOMAIN(c) 1
+#else
+#define CTYPE_DOMAIN(c) ((unsigned) (c) <= 0177)
+#endif
+#ifndef ISSPACE
+#define ISSPACE(c) (CTYPE_DOMAIN (c) && isspace (c))
+#endif
+
+#ifndef ISDIGIT
+#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
+#endif
+
+
+#ifndef FILESYSTEM_PREFIX_LEN
+#define FILESYSTEM_PREFIX_LEN(f) 0
+#endif
+
+#ifndef ISSLASH
+#define ISSLASH(c) ((c) == '/')
+#endif
+
+
+/* constants */
+
+/* AIX predefines these. */
+#ifdef TRUE
+#undef TRUE
+#endif
+#ifdef FALSE
+#undef FALSE
+#endif
+#define TRUE 1
+#define FALSE 0
+
+/* handy definitions */
+
+#define strEQ(s1,s2) (!strcmp(s1, s2))
+#define strnEQ(s1,s2,l) (!strncmp(s1, s2, l))
+
+/* typedefs */
+
+typedef int bool; /* must promote to itself */
+typedef long LINENUM; /* must be signed */
+
+/* globals */
+
+extern char const program_name[];
+
+XTERN char *buf; /* general purpose buffer */
+XTERN size_t bufsize; /* allocated size of buf */
+
+XTERN bool using_plan_a; /* try to keep everything in memory */
+
+XTERN char *inname;
+XTERN char *outfile;
+XTERN int inerrno;
+XTERN int invc;
+XTERN struct stat instat;
+XTERN bool dry_run;
+XTERN bool posixly_correct;
+
+XTERN char const *origprae;
+XTERN char const *origbase;
+
+XTERN char const * volatile TMPOUTNAME;
+XTERN char const * volatile TMPINNAME;
+XTERN char const * volatile TMPPATNAME;
+
+#ifdef DEBUGGING
+XTERN int debug;
+#else
+# define debug 0
+#endif
+XTERN bool force;
+XTERN bool batch;
+XTERN bool noreverse;
+XTERN int reverse;
+XTERN enum { DEFAULT_VERBOSITY, SILENT, VERBOSE } verbosity;
+XTERN bool skip_rest_of_patch;
+XTERN int strippath;
+XTERN bool canonicalize;
+XTERN int patch_get;
+XTERN int set_time;
+XTERN int set_utc;
+
+enum diff
+ {
+ NO_DIFF,
+ CONTEXT_DIFF,
+ NORMAL_DIFF,
+ ED_DIFF,
+ NEW_CONTEXT_DIFF,
+ UNI_DIFF
+ };
+
+XTERN enum diff diff_type;
+
+XTERN char *revision; /* prerequisite revision, if any */
+
+#ifdef __STDC__
+# define GENERIC_OBJECT void
+#else
+# define GENERIC_OBJECT char
+#endif
+
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__
+# define __attribute__(x)
+#endif
+
+#ifndef PARAMS
+# ifdef __STDC__
+# define PARAMS(args) args
+# else
+# define PARAMS(args) ()
+# endif
+#endif
+
+GENERIC_OBJECT *xmalloc PARAMS ((size_t));
+void fatal_exit PARAMS ((int)) __attribute__ ((noreturn));
+
+#include <errno.h>
+#if !STDC_HEADERS && !defined errno
+extern int errno;
+#endif
+
+#if STDC_HEADERS || HAVE_STRING_H
+# include <string.h>
+#else
+# if !HAVE_MEMCHR
+# define memcmp(s1, s2, n) bcmp (s1, s2, n)
+# define memcpy(d, s, n) bcopy (s, d, n)
+GENERIC_OBJECT *memchr ();
+# endif
+#endif
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#else
+long atol ();
+char *getenv ();
+GENERIC_OBJECT *malloc ();
+GENERIC_OBJECT *realloc ();
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifndef lseek
+off_t lseek ();
+#endif
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+#ifndef STDIN_FILENO
+#define STDIN_FILENO 0
+#endif
+#ifndef STDOUT_FILENO
+#define STDOUT_FILENO 1
+#endif
+#ifndef STDERR_FILENO
+#define STDERR_FILENO 2
+#endif
+#if _LFS_LARGEFILE
+ typedef off_t file_offset;
+# define file_seek fseeko
+# define file_tell ftello
+#else
+ typedef long file_offset;
+# define file_seek fseek
+# define file_tell ftell
+#endif
+
+#if HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+#ifndef O_RDONLY
+#define O_RDONLY 0
+#endif
+#ifndef O_WRONLY
+#define O_WRONLY 1
+#endif
+#ifndef O_RDWR
+#define O_RDWR 2
+#endif
+#ifndef _O_BINARY
+#define _O_BINARY 0
+#endif
+#ifndef O_BINARY
+#define O_BINARY _O_BINARY
+#endif
+#ifndef O_CREAT
+#define O_CREAT 0
+#endif
+#ifndef O_TRUNC
+#define O_TRUNC 0
+#endif
+
+#if HAVE_SETMODE
+ XTERN int binary_transput; /* O_BINARY if binary i/o is desired */
+#else
+# define binary_transput 0
+#endif
+
+#ifndef NULL_DEVICE
+#define NULL_DEVICE "/dev/null"
+#endif
+
+#ifndef TTY_DEVICE
+#define TTY_DEVICE "/dev/tty"
+#endif
OpenPOWER on IntegriCloud