home *** CD-ROM | disk | FTP | other *** search
- diff -c DOS/error.c GNU/error.c
- *** DOS/error.c Thu Sep 20 00:19:04 1990
- --- GNU/error.c Thu Sep 20 00:19:48 1990
- ***************
- *** 45,55 ****
- #else
- void exit ();
-
- - #ifdef MSDOS
- - /* Force consistency of the prototypes. */
- - #include <gnulib.h>
- - #endif
- -
- static char *
- strerror (errnum)
- int errnum;
- --- 45,50 ----
- diff -c DOS/getopt.c GNU/getopt.c
- *** DOS/getopt.c Thu Sep 20 00:19:02 1990
- --- GNU/getopt.c Thu Sep 20 00:19:40 1990
- ***************
- *** 14,26 ****
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- -
- - /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- - This port is distributed under the terms of the GNU General
- - Public License as published by the Free Software Foundation.
- -
- - $Header: e:/gnu/lib/RCS/getopt.c 1.1.0.1 90/09/11 09:46:00 tho Exp $
- - */
-
- #ifdef __STDC__
- #define CONST const
- --- 14,19 ----
- ***************
- *** 51,62 ****
- #ifdef sparc
- #include <alloca.h>
- #else
- - #ifdef MSDOS
- - #include <malloc.h>
- - #else
- char *alloca ();
- #endif
- - #endif
- #endif /* not __GNUC__ */
-
- #if defined(STDC_HEADERS) || defined(__GNU_LIBRARY__)
- --- 44,51 ----
- ***************
- *** 79,91 ****
- char *malloc ();
- #endif
-
- - #ifdef MSDOS
- - /* Include the <getopt.h> header file to insure consistency
- - of the prototypes. */
- - #include <getopt.h>
- - static void exchange (char **argv);
- - #endif /* MSDOS */
- -
- /* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- --- 68,73 ----
- ***************
- *** 156,166 ****
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
- } ordering;
-
- -
- - /* We have included <getopt.h>, so we'd better not redefine
- - struct option. */
- - #ifndef MSDOS
- -
- /* Describe the long-named options requested by the application.
- _GETOPT_LONG_OPTIONS is a vector of `struct option' terminated by an
- element containing a name which is zero.
- --- 138,143 ----
- ***************
- *** 174,180 ****
- int *flag;
- int val;
- };
- - #endif /* not MSDOS */
-
- CONST struct option *_getopt_long_options;
-
- --- 151,156 ----
- diff -c DOS/glob.c GNU/glob.c
- *** DOS/glob.c Thu Sep 20 00:19:06 1990
- --- GNU/glob.c Thu Sep 20 00:19:52 1990
- ***************
- *** 14,26 ****
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- -
- - /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- - This port is distributed under the terms of the GNU General
- - Public License as published by the Free Software Foundation.
- -
- - $Header: e:/gnu/lib/RCS/glob.c 1.0.0.3 90/09/19 22:50:58 tho Exp $
- - */
-
- /* To whomever it may concern: I have never seen the code which most
- Unix programs use to perform this function. I wrote this from scratch
- --- 14,19 ----
- ***************
- *** 79,99 ****
- #ifdef sparc
- #include <alloca.h>
- #else /* Not sparc. */
- - #ifdef MSDOS
- - #include <malloc.h>
- - #else
- extern char *alloca ();
- - #endif
- #endif /* sparc. */
- #endif /* GCC. */
-
- - #ifdef MSDOS
- - #include <gnulib.h>
- - static int glob_match_after_star(char *,char *);
- - static char * *glob_dir_to_array(char *,char **);
- - #endif /* MSDOS */
- -
- -
- /* Nonzero if '*' and '?' do not match an initial '.' for glob_filename. */
- int noglob_dot_filenames = 1;
-
- --- 72,81 ----
- ***************
- *** 331,342 ****
- dp = readdir (d);
- if (dp == NULL)
- break;
- - #ifdef MSDOS /* dp->d_ino is always 0 in the MS-DOS implementation. */
- - if (glob_match (pat, dp->d_name, noglob_dot_filenames))
- - #else
- if (dp->d_ino != 0
- && glob_match (pat, dp->d_name, noglob_dot_filenames))
- - #endif /* MSDOS */
- {
- nextlink = (struct globval *) alloca (sizeof (struct globval));
- nextlink->next = lastlink;
- --- 313,320 ----
- ***************
- *** 570,579 ****
- }
-
- #ifdef TEST
- -
- - #ifdef MSDOS
- - #include <stdio.h>
- - #endif
-
- main (argc, argv)
- int argc;
- --- 548,553 ----
- diff -c DOS/regex.c GNU/regex.c
- *** DOS/regex.c Thu Sep 20 00:19:32 1990
- --- GNU/regex.c Thu Sep 20 00:20:06 1990
- ***************
- *** 15,27 ****
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- - /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- - This port is distributed under the terms of the GNU General
- - Public License as published by the Free Software Foundation. */
-
- - static char RCSid[] =
- - "$Header: e:/gnu/lib/RCS/regex.c 1.1.0.1 90/09/11 09:24:43 tho Exp $";
- -
- /* To test, compile with -Dtest. This Dtestable feature turns this into
- a self-contained program which reads a pattern, describes how it
- compiles, then reads a string and searches for it.
- --- 15,21 ----
- ***************
- *** 58,122 ****
- char *realloc ();
- #endif
-
- -
- - #ifdef MSDOS
- -
- - /* At the moment these macros are used for shutting up the compiler, but
- - one day we might support really 'huge' regular expressions.
- - Also we should check for wrap-arounds in the near models. */
- -
- - #if defined (_MSC_VER) && (_MSC_VER >= 600)
- - #define HUGE _huge
- - #else /* _MSC_VER < 600 */
- - #define HUGE huge
- - #endif /* _MSC_VER < 600 */
- -
- - #if defined (M_I86CM) || defined (M_I86LM)
- - #define PTR_DIFF(ptr1,ptr2) \
- - ((long)((char HUGE *)(ptr1) - (char HUGE *)(ptr2)))
- - #else
- - /* After changing ALLOCATED to size_t for the small and medium model,
- - we could remove the cast to long. */
- - #define PTR_DIFF(ptr1,ptr2) ((long)((ptr1) - (ptr2)))
- - #endif
- -
- - /* The second argument to xrealloc: */
- - #define SIZE_T size_t
- -
- - /* The 80[12]?86 are always in danger of stack overflow. So better check
- - the success of each alloca (). */
- - #define TEST_ALLOCA(ptr) \
- - if (ptr==NULL) \
- - { \
- - fprintf (stderr, "Stack overflow: %s, l.%d\n", __FILE__, __LINE__); \
- - abort (); \
- - }
- -
- - #else /* not MSDOS */
- -
- - #define PTR_DIFF(ptr1,ptr2) ((ptr1) - (ptr2))
- - #define SIZE_T int
- - #define TEST_ALLOCA(ptr)
- -
- - #endif /* not MSDOS */
- -
- -
- - #ifdef MSDOS
- - /* Since sizeof (int) != sizeof (void *) in the compact and large models,
- - we'd better provide prototypes. */
- - static int bcmp_translate (unsigned char *s1, unsigned char *s2, int len,
- - unsigned char *translate);
- - static void init_syntax_once (void);
- - static void insert_jump (char op, char *from, char *to, char *current_end);
- - static void insert_jump_n (char op, char *from, char *to, char *current_end,
- - unsigned int n);
- - static void insert_op_2 (char op, char *there, char *current_end, int num_1,
- - int num_2);
- - static void store_jump (char *from, char opcode, char *to);
- - static void store_jump_n (char *from, char opcode, char *to, unsigned int n);
- - #endif /* MSDOS */
- -
- -
- /* Make alloca work the best possible way. */
- #ifdef __GNUC__
- #define alloca __builtin_alloca
- --- 52,57 ----
- ***************
- *** 124,136 ****
- #ifdef sparc
- #include <alloca.h>
- #else
- - #ifdef MSDOS
- - #include <malloc.h>
- - #else
- char *alloca ();
- #endif
- #endif
- - #endif
-
-
- /* Define the syntax stuff, so we can do the \<, \>, etc. */
- --- 59,67 ----
- ***************
- *** 291,305 ****
-
-
- /* Store NUMBER in two contiguous bytes starting at DESTINATION. */
- - #ifdef MSDOS /* This is to shut up the compiler. */
- - #define STORE_NUMBER(destination, number) \
- - { (destination)[0] = (char) ((number) & 0377); \
- - (destination)[1] = (char) ((number) >> 8); }
- - #else /* not MSDOS */
- #define STORE_NUMBER(destination, number) \
- { (destination)[0] = (number) & 0377; \
- (destination)[1] = (number) >> 8; }
- - #endif /* not MSDOS */
-
- /* Same as STORE_NUMBER, except increment the destination pointer to
- the byte after where the number is stored. Watch out that values for
- --- 222,230 ----
- ***************
- *** 330,340 ****
- The argument SYNTAX is a bit-mask comprised of the various bits
- defined in regex.h. */
-
- ! LONG
- re_set_syntax (syntax)
- ! LONG syntax;
- {
- ! LONG ret;
-
- ret = obscure_syntax;
- obscure_syntax = syntax;
- --- 255,265 ----
- The argument SYNTAX is a bit-mask comprised of the various bits
- defined in regex.h. */
-
- ! int
- re_set_syntax (syntax)
- ! int syntax;
- {
- ! int ret;
-
- ret = obscure_syntax;
- obscure_syntax = syntax;
- ***************
- *** 342,348 ****
- }
-
- /* Set by re_set_syntax to the current regexp syntax to recognize. */
- ! LONG obscure_syntax = 0;
-
-
-
- --- 267,273 ----
- }
-
- /* Set by re_set_syntax to the current regexp syntax to recognize. */
- ! int obscure_syntax = 0;
-
-
-
- ***************
- *** 372,378 ****
- /* Make sure we have at least N more bytes of space in buffer. */
- #define GET_BUFFER_SPACE(n) \
- { \
- ! while (PTR_DIFF (b, bufp->buffer) + (n) >= bufp->allocated) \
- EXTEND_BUFFER; \
- }
-
- --- 297,303 ----
- /* Make sure we have at least N more bytes of space in buffer. */
- #define GET_BUFFER_SPACE(n) \
- { \
- ! while (b - bufp->buffer + (n) >= bufp->allocated) \
- EXTEND_BUFFER; \
- }
-
- ***************
- *** 382,397 ****
- GET_BUFFER_SPACE (1); \
- *b++ = (char) (ch); \
- }
- !
- ! #ifdef MSDOS
- ! /* We could (if we payed more attention to signed/unsigned issues)
- ! increase MAX_ALLOC to (1L<<15). But we will do only *after* we've
- ! actually hit this limit! */
- ! #define MAX_ALLOC (1L<<14)
- ! #else /* not MSDOS */
- ! #define MAX_ALLOC (1L<<16)
- ! #endif /* not MSDOS */
- !
- /* Extend the buffer by twice its current size via reallociation and
- reset the pointers that pointed into the old allocation to point to
- the correct places in the new allocation. If extending the buffer
- --- 307,313 ----
- GET_BUFFER_SPACE (1); \
- *b++ = (char) (ch); \
- }
- !
- /* Extend the buffer by twice its current size via reallociation and
- reset the pointers that pointed into the old allocation to point to
- the correct places in the new allocation. If extending the buffer
- ***************
- *** 398,407 ****
- results in it being larger than 1 << 16, then flag memory exhausted. */
- #define EXTEND_BUFFER \
- { char *old_buffer = bufp->buffer; \
- ! if (bufp->allocated == MAX_ALLOC) goto too_big; \
- bufp->allocated *= 2; \
- ! if (bufp->allocated > MAX_ALLOC) bufp->allocated = MAX_ALLOC; \
- ! bufp->buffer = (char *) realloc (bufp->buffer, (SIZE_T) bufp->allocated); \
- if (bufp->buffer == 0) \
- goto memory_exhausted; \
- b = (b - old_buffer) + bufp->buffer; \
- --- 314,323 ----
- results in it being larger than 1 << 16, then flag memory exhausted. */
- #define EXTEND_BUFFER \
- { char *old_buffer = bufp->buffer; \
- ! if (bufp->allocated == (1L<<16)) goto too_big; \
- bufp->allocated *= 2; \
- ! if (bufp->allocated > (1L<<16)) bufp->allocated = (1L<<16); \
- ! bufp->buffer = (char *) realloc (bufp->buffer, bufp->allocated); \
- if (bufp->buffer == 0) \
- goto memory_exhausted; \
- b = (b - old_buffer) + bufp->buffer; \
- ***************
- *** 717,723 ****
- case '[':
- if (p == pend)
- goto invalid_pattern;
- ! while (PTR_DIFF (b , bufp->buffer)
- > bufp->allocated - 3 - (1 << BYTEWIDTH) / BYTEWIDTH)
- EXTEND_BUFFER;
-
- --- 633,639 ----
- case '[':
- if (p == pend)
- goto invalid_pattern;
- ! while (b - bufp->buffer
- > bufp->allocated - 3 - (1 << BYTEWIDTH) / BYTEWIDTH)
- EXTEND_BUFFER;
-
- ***************
- *** 802,808 ****
- if (c == ':' || c == ']' || p == pend
- || c1 == CHAR_CLASS_MAX_LENGTH)
- break;
- ! str[c1++] = (char) c;
- }
- str[c1] = '\0';
- if (p == pend
- --- 718,724 ----
- if (c == ':' || c == ']' || p == pend
- || c1 == CHAR_CLASS_MAX_LENGTH)
- break;
- ! str[c1++] = c;
- }
- str[c1] = '\0';
- if (p == pend
- ***************
- *** 1387,1393 ****
- struct re_pattern_buffer *bufp;
- {
- unsigned char *pattern = (unsigned char *) bufp->buffer;
- ! LONG size = bufp->used;
- register char *fastmap = bufp->fastmap;
- register unsigned char *p = pattern;
- register unsigned char *pend = pattern + size;
- --- 1303,1309 ----
- struct re_pattern_buffer *bufp;
- {
- unsigned char *pattern = (unsigned char *) bufp->buffer;
- ! int size = bufp->used;
- register char *fastmap = bufp->fastmap;
- register unsigned char *p = pattern;
- register unsigned char *pend = pattern + size;
- ***************
- *** 1813,1819 ****
- stackx = (unsigned char **) alloca (2 * MAX_NUM_FAILURE_ITEMS \
- * (stacke - stackb) \
- * sizeof (unsigned char *));\
- - TEST_ALLOCA (stackx); \
- /* Only copy what is in use. */ \
- bcopy (stackb, stackx, (stackp - stackb) * sizeof (char *)); \
- stackp = stackx + (stackp - stackb); \
- --- 1729,1734 ----
- ***************
- *** 2348,2355 ****
- register unsigned char *p1 = p + mcnt;
- /* p1[0] ... p1[2] are an on_failure_jump.
- Examine what follows that. */
- ! if (p1[3] == (unsigned char) exactn
- ! && p1[5] != (unsigned char) c)
- p[-3] = (unsigned char) finalize_jump;
- else if (p1[3] == (unsigned char) charset
- || p1[3] == (unsigned char) charset_not)
- --- 2263,2269 ----
- register unsigned char *p1 = p + mcnt;
- /* p1[0] ... p1[2] are an on_failure_jump.
- Examine what follows that. */
- ! if (p1[3] == (unsigned char) exactn && p1[5] != c)
- p[-3] = (unsigned char) finalize_jump;
- else if (p1[3] == (unsigned char) charset
- || p1[3] == (unsigned char) charset_not)
- ***************
- *** 2765,2775 ****
-
- /* Allow a command argument to specify the style of syntax. */
- if (argc > 1)
- - #ifdef MSDOS
- - obscure_syntax = atol (argv[1]);
- - #else /* not MSDOS */
- obscure_syntax = atoi (argv[1]);
- - #endif /* not MSDOS */
-
- buf.allocated = 40;
- buf.buffer = (char *) malloc (buf.allocated);
- --- 2679,2685 ----
- diff -c DOS/regex.h GNU/regex.h
- *** DOS/regex.h Thu Sep 20 00:19:10 1990
- --- GNU/regex.h Thu Sep 20 00:19:56 1990
- ***************
- *** 16,40 ****
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- - /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- - This port is distributed under the terms of the GNU General
- - Public License as published by the Free Software Foundation.
-
- - $Header: e:/gnu/lib/RCS/regex.h 1.1.0.1 90/09/11 09:24:51 tho Exp $
- - */
- -
- #ifdef __GNUC__
- #pragma once
- #endif
-
- - #ifdef MSDOS
- - #define LONG long
- - #define ONE 1L
- - #else /* not MSDOS */
- - #define LONG int
- - #define ONE 1
- - #endif /* not MSDOS */
- -
- #ifndef __REGEXP_LIBRARY
- #define __REGEXP_LIBRARY
-
- --- 16,26 ----
- ***************
- *** 52,58 ****
-
-
- /* This defines the various regexp syntaxes. */
- ! extern LONG obscure_syntax;
-
-
- /* The following bits are used in the obscure_syntax variable to choose among
- --- 38,44 ----
-
-
- /* This defines the various regexp syntaxes. */
- ! extern int obscure_syntax;
-
-
- /* The following bits are used in the obscure_syntax variable to choose among
- ***************
- *** 62,86 ****
- parentheses are needed for literal searching.
- If not set, backslash-parentheses are grouping, and plain parentheses
- are for literal searching. */
- ! #define RE_NO_BK_PARENS ONE
-
- /* If this bit is set, plain | serves as the `or'-operator, and \| is a
- literal.
- If not set, \| serves as the `or'-operator, and | is a literal. */
- ! #define RE_NO_BK_VBAR (ONE << 1)
-
- /* If this bit is not set, plain + or ? serves as an operator, and \+, \? are
- literals.
- If set, \+, \? are operators and plain +, ? are literals. */
- ! #define RE_BK_PLUS_QM (ONE << 2)
-
- /* If this bit is set, | binds tighter than ^ or $.
- If not set, the contrary. */
- ! #define RE_TIGHT_VBAR (ONE << 3)
-
- /* If this bit is set, then treat newline as an OR operator.
- If not set, treat it as a normal character. */
- ! #define RE_NEWLINE_OR (ONE << 4)
-
- /* If this bit is set, then special characters may act as normal
- characters in some contexts. Specifically, this applies to:
- --- 48,72 ----
- parentheses are needed for literal searching.
- If not set, backslash-parentheses are grouping, and plain parentheses
- are for literal searching. */
- ! #define RE_NO_BK_PARENS 1
-
- /* If this bit is set, plain | serves as the `or'-operator, and \| is a
- literal.
- If not set, \| serves as the `or'-operator, and | is a literal. */
- ! #define RE_NO_BK_VBAR (1 << 1)
-
- /* If this bit is not set, plain + or ? serves as an operator, and \+, \? are
- literals.
- If set, \+, \? are operators and plain +, ? are literals. */
- ! #define RE_BK_PLUS_QM (1 << 2)
-
- /* If this bit is set, | binds tighter than ^ or $.
- If not set, the contrary. */
- ! #define RE_TIGHT_VBAR (1 << 3)
-
- /* If this bit is set, then treat newline as an OR operator.
- If not set, treat it as a normal character. */
- ! #define RE_NEWLINE_OR (1 << 4)
-
- /* If this bit is set, then special characters may act as normal
- characters in some contexts. Specifically, this applies to:
- ***************
- *** 90,139 ****
- If this bit is not set, special characters (such as *, ^, and $)
- always have their special meaning regardless of the surrounding
- context. */
- ! #define RE_CONTEXT_INDEP_OPS (ONE << 5)
-
- /* If this bit is not set, then \ before anything inside [ and ] is taken as
- a real \.
- If set, then such a \ escapes the following character. This is a
- special case for awk. */
- ! #define RE_AWK_CLASS_HACK (ONE << 6)
-
- /* If this bit is set, then \{ and \} or { and } serve as interval operators.
- If not set, then \{ and \} and { and } are treated as literals. */
- ! #define RE_INTERVALS (ONE << 7)
-
- /* If this bit is not set, then \{ and \} serve as interval operators and
- { and } are literals.
- If set, then { and } serve as interval operators and \{ and \} are
- literals. */
- ! #define RE_NO_BK_CURLY_BRACES (ONE << 8)
-
- /* If this bit is set, then character classes are supported; they are:
- [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
- [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
- If not set, then character classes are not supported. */
- ! #define RE_CHAR_CLASSES (ONE << 9)
-
- /* If this bit is set, then the dot re doesn't match a null byte.
- If not set, it does. */
- ! #define RE_DOT_NOT_NULL (ONE << 10)
-
- /* If this bit is set, then [^...] doesn't match a newline.
- If not set, it does. */
- ! #define RE_HAT_NOT_NEWLINE (ONE << 11)
-
- /* If this bit is set, back references are recognized.
- If not set, they aren't. */
- ! #define RE_NO_BK_REFS (ONE << 12)
-
- /* If this bit is set, back references must refer to a preceding
- subexpression. If not set, a back reference to a nonexistent
- subexpression is treated as literal characters. */
- ! #define RE_NO_EMPTY_BK_REF (ONE << 13)
-
- /* If this bit is set, bracket expressions can't be empty.
- If it is set, they can be empty. */
- ! #define RE_NO_EMPTY_BRACKETS (ONE << 14)
-
- /* If this bit is set, then *, +, ? and { cannot be first in an re or
- immediately after a |, or a (. Furthermore, a | cannot be first or
- --- 76,125 ----
- If this bit is not set, special characters (such as *, ^, and $)
- always have their special meaning regardless of the surrounding
- context. */
- ! #define RE_CONTEXT_INDEP_OPS (1 << 5)
-
- /* If this bit is not set, then \ before anything inside [ and ] is taken as
- a real \.
- If set, then such a \ escapes the following character. This is a
- special case for awk. */
- ! #define RE_AWK_CLASS_HACK (1 << 6)
-
- /* If this bit is set, then \{ and \} or { and } serve as interval operators.
- If not set, then \{ and \} and { and } are treated as literals. */
- ! #define RE_INTERVALS (1 << 7)
-
- /* If this bit is not set, then \{ and \} serve as interval operators and
- { and } are literals.
- If set, then { and } serve as interval operators and \{ and \} are
- literals. */
- ! #define RE_NO_BK_CURLY_BRACES (1 << 8)
-
- /* If this bit is set, then character classes are supported; they are:
- [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
- [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
- If not set, then character classes are not supported. */
- ! #define RE_CHAR_CLASSES (1 << 9)
-
- /* If this bit is set, then the dot re doesn't match a null byte.
- If not set, it does. */
- ! #define RE_DOT_NOT_NULL (1 << 10)
-
- /* If this bit is set, then [^...] doesn't match a newline.
- If not set, it does. */
- ! #define RE_HAT_NOT_NEWLINE (1 << 11)
-
- /* If this bit is set, back references are recognized.
- If not set, they aren't. */
- ! #define RE_NO_BK_REFS (1 << 12)
-
- /* If this bit is set, back references must refer to a preceding
- subexpression. If not set, a back reference to a nonexistent
- subexpression is treated as literal characters. */
- ! #define RE_NO_EMPTY_BK_REF (1 << 13)
-
- /* If this bit is set, bracket expressions can't be empty.
- If it is set, they can be empty. */
- ! #define RE_NO_EMPTY_BRACKETS (1 << 14)
-
- /* If this bit is set, then *, +, ? and { cannot be first in an re or
- immediately after a |, or a (. Furthermore, a | cannot be first or
- ***************
- *** 140,160 ****
- last in an re, or immediately follow another | or a (. Also, a ^
- cannot appear in a nonleading position and a $ cannot appear in a
- nontrailing position (outside of bracket expressions, that is). */
- ! #define RE_CONTEXTUAL_INVALID_OPS (ONE << 15)
-
- /* If this bit is set, then +, ? and | aren't recognized as operators.
- If it's not, they are. */
- ! #define RE_LIMITED_OPS (ONE << 16)
-
- /* If this bit is set, then an ending range point has to collate higher
- or equal to the starting range point.
- If it's not set, then when the ending range point collates higher
- than the starting range point, the range is just considered empty. */
- ! #define RE_NO_EMPTY_RANGES (ONE << 17)
-
- /* If this bit is set, then a hyphen (-) can't be an ending range point.
- If it isn't, then it can. */
- ! #define RE_NO_HYPHEN_RANGE_END (ONE << 18)
-
-
- /* Define combinations of bits for the standard possibilities. */
- --- 126,146 ----
- last in an re, or immediately follow another | or a (. Also, a ^
- cannot appear in a nonleading position and a $ cannot appear in a
- nontrailing position (outside of bracket expressions, that is). */
- ! #define RE_CONTEXTUAL_INVALID_OPS (1 << 15)
-
- /* If this bit is set, then +, ? and | aren't recognized as operators.
- If it's not, they are. */
- ! #define RE_LIMITED_OPS (1 << 16)
-
- /* If this bit is set, then an ending range point has to collate higher
- or equal to the starting range point.
- If it's not set, then when the ending range point collates higher
- than the starting range point, the range is just considered empty. */
- ! #define RE_NO_EMPTY_RANGES (1 << 17)
-
- /* If this bit is set, then a hyphen (-) can't be an ending range point.
- If it isn't, then it can. */
- ! #define RE_NO_HYPHEN_RANGE_END (1 << 18)
-
-
- /* Define combinations of bits for the standard possibilities. */
- ***************
- *** 248,256 ****
- /* 4.2 bsd compatibility. */
- extern char *re_comp (char *);
- extern int re_exec (char *);
- -
- - /* for GNU grep [tho] */
- - extern LONG re_set_syntax (LONG syntax);
-
- #else /* !__STDC__ */
-
- --- 234,239 ----
-