summaryrefslogtreecommitdiff
path: root/usr/src/lib/libast/common/regex/reginit.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libast/common/regex/reginit.c')
-rw-r--r--usr/src/lib/libast/common/regex/reginit.c412
1 files changed, 0 insertions, 412 deletions
diff --git a/usr/src/lib/libast/common/regex/reginit.c b/usr/src/lib/libast/common/regex/reginit.c
deleted file mode 100644
index 23066fa5b5..0000000000
--- a/usr/src/lib/libast/common/regex/reginit.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/***********************************************************************
-* *
-* This software is part of the ast package *
-* Copyright (c) 1985-2010 AT&T Intellectual Property *
-* and is licensed under the *
-* Common Public License, Version 1.0 *
-* by AT&T Intellectual Property *
-* *
-* A copy of the License is available at *
-* http://www.opensource.org/licenses/cpl1.0.txt *
-* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
-* *
-* Information and Software Systems Research *
-* AT&T Research *
-* Florham Park NJ *
-* *
-* Glenn Fowler <gsf@research.att.com> *
-* David Korn <dgk@research.att.com> *
-* Phong Vo <kpv@research.att.com> *
-* *
-***********************************************************************/
-#pragma prototyped
-
-/*
- * posix regex state and alloc
- */
-
-#include "reglib.h"
-
-#if _PACKAGE_ast
-
-#include <ccode.h>
-
-#else
-
-#define CC_bel '\a'
-#define CC_esc '\033'
-#define CC_vt '\v'
-
-#endif
-
-/*
- * state shared by all threads
- */
-
-State_t state =
-{
- { -1, -1 },
-
- /*
- * escape code table
- * the "funny" things get special treatment at ends of BRE
- *
- * BRE 0:normal 1:escaped 2:escaped-char-class
- * ERE 3:normal 4:escaped 5:escaped-char-class
- * ARE 6:normal 7:escaped 8:escaped-char-class
- * SRE 9:normal 10:escaped 11:escaped-char-class
- * KRE 12:normal 13:escaped 14:escaped-char-class
- */
-
- '\\',
- '\\', '\\', '\\',
- '\\', '\\', '\\',
- '\\', '\\', '\\',
- '\\', '\\', '\\',
- '\\', '\\', '\\',
- '^', /* funny */
- '^', '^', '^',
- T_CFLX, '^', '^',
- T_CFLX, '^', '^',
- '^', '^', '^',
- '^', '^', '^',
- '.',
- T_DOT, '.', T_BAD,
- T_DOT, '.', T_BAD,
- T_DOT, '.', T_BAD,
- '.', '.', T_BAD,
- '.', '.', T_BAD,
- '$', /* funny */
- '$', '$', T_BAD,
- T_DOLL, '$', T_BAD,
- T_DOLL, '$', T_BAD,
- '$', '$', T_BAD,
- '$', '$', T_BAD,
- '*',
- T_STAR, '*', T_BAD,
- T_STAR, '*', T_BAD,
- T_STAR, '*', T_BAD,
- T_STAR, '*', '*',
- T_STAR, '*', '*',
- '[',
- T_BRA, '[', '[',
- T_BRA, '[', '[',
- T_BRA, '[', '[',
- T_BRA, '[', '[',
- T_BRA, '[', '[',
- '|',
- '|', T_BAD, T_BAD,
- T_BAR, '|', T_BAD,
- T_BAR, '|', T_BAD,
- '|', '|', T_BAD,
- T_BAR, '|', T_BAD,
- '+',
- '+', T_BAD, T_BAD,
- T_PLUS, '+', T_BAD,
- T_PLUS, '+', T_BAD,
- '+', '+', T_BAD,
- T_PLUS, '+', T_BAD,
- '?',
- '?', T_BAD, T_BAD,
- T_QUES, '?', T_BAD,
- T_QUES, '?', T_BAD,
- T_QUES, '?', '?',
- T_QUES, '?', '?',
- '(',
- '(', T_OPEN, T_BAD,
- T_OPEN, '(', T_BAD,
- T_OPEN, '(', T_BAD,
- '(', '(', '(',
- T_OPEN, '(', '(',
- ')',
- ')', T_CLOSE, T_BAD,
- T_CLOSE, ')', T_BAD,
- T_CLOSE, ')', T_BAD,
- ')', ')', ')',
- T_CLOSE, ')', ')',
- '{',
- '{', T_LEFT, T_BAD,
- T_LEFT, '{', T_BAD,
- T_LEFT, '{', T_BAD,
- '{', '{', '{',
- T_LEFT, '{', '{',
- '}',
- '}', T_RIGHT, T_BAD,
- '}', T_BAD, T_BAD,
- '}', T_BAD, T_BAD,
- '}', '}', '}',
- '}', '}', '}',
- '&',
- '&', T_BAD, T_BAD,
- '&', T_AND, T_BAD,
- T_AND, '&', T_BAD,
- '&', '&', T_BAD,
- T_AND, '&', T_BAD,
- '!',
- '!', T_BAD, T_BAD,
- '!', T_BANG, T_BAD,
- T_BANG, '!', T_BAD,
- '!', '!', T_BAD,
- T_BANG, '!', T_BAD,
- '@',
- '@', T_BAD, T_BAD,
- '@', T_BAD, T_BAD,
- '@', T_BAD, T_BAD,
- '@', '@', T_BAD,
- T_AT, '@', T_BAD,
- '~',
- '~', T_BAD, T_BAD,
- '~', T_BAD, T_BAD,
- '~', T_BAD, T_BAD,
- '~', '~', T_BAD,
- T_TILDE, '~', T_BAD,
- '%',
- '%', T_BAD, T_BAD,
- '%', T_BAD, T_BAD,
- '%', T_BAD, T_BAD,
- '%', '%', T_BAD,
- T_PERCENT, '%', T_BAD,
- '<',
- '<', T_LT, T_BAD,
- '<', T_LT, T_BAD,
- T_LT, '<', T_BAD,
- '<', '<', T_BAD,
- '<', '<', T_BAD,
- '>',
- '>', T_GT, T_BAD,
- '>', T_GT, T_BAD,
- T_GT, '>', T_BAD,
- '>', '>', T_BAD,
- '>', '>', T_BAD,
-
- /* backrefs */
-
- '0',
- '0', T_BACK+0, T_ESCAPE,
- '0', T_BACK+0, T_ESCAPE,
- '0', T_BACK+0, T_ESCAPE,
- '0', T_BACK+0, T_ESCAPE,
- '0', T_BACK+0, T_ESCAPE,
- '1',
- '1', T_BACK+1, T_ESCAPE,
- '1', T_BACK+1, T_ESCAPE,
- '1', T_BACK+1, T_ESCAPE,
- '1', T_BACK+1, T_ESCAPE,
- '1', T_BACK+1, T_ESCAPE,
- '2',
- '2', T_BACK+2, T_ESCAPE,
- '2', T_BACK+2, T_ESCAPE,
- '2', T_BACK+2, T_ESCAPE,
- '2', T_BACK+2, T_ESCAPE,
- '2', T_BACK+2, T_ESCAPE,
- '3',
- '3', T_BACK+3, T_ESCAPE,
- '3', T_BACK+3, T_ESCAPE,
- '3', T_BACK+3, T_ESCAPE,
- '3', T_BACK+3, T_ESCAPE,
- '3', T_BACK+3, T_ESCAPE,
- '4',
- '4', T_BACK+4, T_ESCAPE,
- '4', T_BACK+4, T_ESCAPE,
- '4', T_BACK+4, T_ESCAPE,
- '4', T_BACK+4, T_ESCAPE,
- '4', T_BACK+4, T_ESCAPE,
- '5',
- '5', T_BACK+5, T_ESCAPE,
- '5', T_BACK+5, T_ESCAPE,
- '5', T_BACK+5, T_ESCAPE,
- '5', T_BACK+5, T_ESCAPE,
- '5', T_BACK+5, T_ESCAPE,
- '6',
- '6', T_BACK+6, T_ESCAPE,
- '6', T_BACK+6, T_ESCAPE,
- '6', T_BACK+6, T_ESCAPE,
- '6', T_BACK+6, T_ESCAPE,
- '6', T_BACK+6, T_ESCAPE,
- '7',
- '7', T_BACK+7, T_ESCAPE,
- '7', T_BACK+7, T_ESCAPE,
- '7', T_BACK+7, T_ESCAPE,
- '7', T_BACK+7, T_ESCAPE,
- '7', T_BACK+7, T_ESCAPE,
- '8',
- '8', T_BACK+8, T_ESCAPE,
- '8', T_BACK+8, T_ESCAPE,
- '8', T_BACK+8, T_ESCAPE,
- '8', '8', T_ESCAPE,
- '8', T_BACK+8, T_ESCAPE,
- '9',
- '9', T_BACK+9, T_ESCAPE,
- '9', T_BACK+9, T_ESCAPE,
- '9', T_BACK+9, T_ESCAPE,
- '9', '9', T_ESCAPE,
- '9', T_BACK+9, T_ESCAPE,
-
- /* perl */
-
- 'A',
- 'A', T_BEG_STR, T_BAD,
- 'A', T_BEG_STR, T_BAD,
- 'A', T_BEG_STR, T_BAD,
- 'A', T_BEG_STR, T_BAD,
- 'A', T_BEG_STR, T_BAD,
- 'b',
- 'b', T_WORD, '\b',
- 'b', T_WORD, '\b',
- 'b', T_WORD, '\b',
- 'b', T_WORD, '\b',
- 'b', T_WORD, '\b',
- 'B',
- 'B', T_WORD_NOT, T_BAD,
- 'B', T_WORD_NOT, T_BAD,
- 'B', T_WORD_NOT, T_BAD,
- 'B', T_WORD_NOT, T_BAD,
- 'B', T_WORD_NOT, T_BAD,
- 'd',
- 'd', T_DIGIT, T_DIGIT,
- 'd', T_DIGIT, T_DIGIT,
- 'd', T_DIGIT, T_DIGIT,
- 'd', T_DIGIT, T_DIGIT,
- 'd', T_DIGIT, T_DIGIT,
- 'D',
- 'D', T_DIGIT_NOT, T_DIGIT_NOT,
- 'D', T_DIGIT_NOT, T_DIGIT_NOT,
- 'D', T_DIGIT_NOT, T_DIGIT_NOT,
- 'D', T_DIGIT_NOT, T_DIGIT_NOT,
- 'D', T_DIGIT_NOT, T_DIGIT_NOT,
- 's',
- 's', T_SPACE, T_SPACE,
- 's', T_SPACE, T_SPACE,
- 's', T_SPACE, T_SPACE,
- 's', T_SPACE, T_SPACE,
- 's', T_SPACE, T_SPACE,
- 'S',
- 'S', T_SPACE_NOT, T_SPACE_NOT,
- 'S', T_SPACE_NOT, T_SPACE_NOT,
- 'S', T_SPACE_NOT, T_SPACE_NOT,
- 'S', T_SPACE_NOT, T_SPACE_NOT,
- 'S', T_SPACE_NOT, T_SPACE_NOT,
- 'w',
- 'w', T_ALNUM, T_ALNUM,
- 'w', T_ALNUM, T_ALNUM,
- 'w', T_ALNUM, T_ALNUM,
- 'w', T_ALNUM, T_ALNUM,
- 'w', T_ALNUM, T_ALNUM,
- 'W',
- 'W', T_ALNUM_NOT, T_ALNUM_NOT,
- 'W', T_ALNUM_NOT, T_ALNUM_NOT,
- 'W', T_ALNUM_NOT, T_ALNUM_NOT,
- 'W', T_ALNUM_NOT, T_ALNUM_NOT,
- 'W', T_ALNUM_NOT, T_ALNUM_NOT,
- 'z',
- 'z', T_FIN_STR, T_BAD,
- 'z', T_FIN_STR, T_BAD,
- 'z', T_FIN_STR, T_BAD,
- 'z', T_FIN_STR, T_BAD,
- 'z', T_FIN_STR, T_BAD,
- 'Z',
- 'Z', T_END_STR, T_BAD,
- 'Z', T_END_STR, T_BAD,
- 'Z', T_END_STR, T_BAD,
- 'Z', T_END_STR, T_BAD,
- 'Z', T_END_STR, T_BAD,
-
- /* C escapes */
-
- 'a',
- 'a', CC_bel, CC_bel,
- 'a', CC_bel, CC_bel,
- 'a', CC_bel, CC_bel,
- 'a', CC_bel, CC_bel,
- 'a', CC_bel, CC_bel,
- 'c',
- 'c', T_ESCAPE, T_ESCAPE,
- 'c', T_ESCAPE, T_ESCAPE,
- 'c', T_ESCAPE, T_ESCAPE,
- 'c', T_ESCAPE, T_ESCAPE,
- 'c', T_ESCAPE, T_ESCAPE,
- 'C',
- 'C', T_ESCAPE, T_ESCAPE,
- 'C', T_ESCAPE, T_ESCAPE,
- 'C', T_ESCAPE, T_ESCAPE,
- 'C', T_ESCAPE, T_ESCAPE,
- 'C', T_ESCAPE, T_ESCAPE,
- 'e',
- 'e', CC_esc, CC_esc,
- 'e', CC_esc, CC_esc,
- 'e', CC_esc, CC_esc,
- 'e', CC_esc, CC_esc,
- 'e', CC_esc, CC_esc,
- 'E',
- 'E', CC_esc, CC_esc,
- 'E', CC_esc, CC_esc,
- 'E', CC_esc, CC_esc,
- 'E', CC_esc, CC_esc,
- 'E', CC_esc, CC_esc,
- 'f',
- 'f', '\f', '\f',
- 'f', '\f', '\f',
- 'f', '\f', '\f',
- 'f', '\f', '\f',
- 'f', '\f', '\f',
- 'n',
- 'n', '\n', '\n',
- 'n', '\n', '\n',
- 'n', '\n', '\n',
- 'n', '\n', '\n',
- 'n', '\n', '\n',
- 'r',
- 'r', '\r', '\r',
- 'r', '\r', '\r',
- 'r', '\r', '\r',
- 'r', '\r', '\r',
- 'r', '\r', '\r',
- 't',
- 't', '\t', '\t',
- 't', '\t', '\t',
- 't', '\t', '\t',
- 't', '\t', '\t',
- 't', '\t', '\t',
- 'v',
- 'v', CC_vt, CC_vt,
- 'v', CC_vt, CC_vt,
- 'v', CC_vt, CC_vt,
- 'v', CC_vt, CC_vt,
- 'v', CC_vt, CC_vt,
- 'x',
- 'x', T_ESCAPE, T_ESCAPE,
- 'x', T_ESCAPE, T_ESCAPE,
- 'x', T_ESCAPE, T_ESCAPE,
- 'x', T_ESCAPE, T_ESCAPE,
- 'x', T_ESCAPE, T_ESCAPE,
-};
-
-/*
- * all allocation/free done here
- * interface compatible with vmresize()
- *
- * malloc(n) alloc(0,n)
- * realloc(p,n) alloc(p,n)
- * free(p) alloc(p,0)
- */
-
-void*
-alloc(register regdisc_t* disc, void* p, size_t n)
-{
- if (disc->re_resizef)
- {
- if (!n && (disc->re_flags & REG_NOFREE))
- return 0;
- return (*disc->re_resizef)(disc->re_resizehandle, p, n);
- }
- else if (!n)
- {
- if (!(disc->re_flags & REG_NOFREE))
- free(p);
- return 0;
- }
- else if (p)
- return realloc(p, n);
- else
- return malloc(n);
-}