~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to src/include/regex/regcustom.h

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (c) 1998, 1999 Henry Spencer.      All rights reserved.
 
3
 *
 
4
 * Development of this software was funded, in part, by Cray Research Inc.,
 
5
 * UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics
 
6
 * Corporation, none of whom are responsible for the results.  The author
 
7
 * thanks all of them.
 
8
 *
 
9
 * Redistribution and use in source and binary forms -- with or without
 
10
 * modification -- are permitted for any purpose, provided that
 
11
 * redistributions in source form retain this entire copyright notice and
 
12
 * indicate the origin and nature of any modifications.
 
13
 *
 
14
 * I'd appreciate being given credit for this package in the documentation
 
15
 * of software which uses it, but that is not a requirement.
 
16
 *
 
17
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
 
18
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 
19
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
 
20
 * HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
21
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
22
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 
23
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 
24
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 
25
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 
26
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
27
 *
 
28
 * $PostgreSQL: pgsql/src/include/regex/regcustom.h,v 1.4 2004-05-07 00:24:58 tgl Exp $
 
29
 */
 
30
 
 
31
/* headers if any */
 
32
#include "postgres.h"
 
33
 
 
34
#include <ctype.h>
 
35
#include <limits.h>
 
36
 
 
37
#include "mb/pg_wchar.h"
 
38
 
 
39
 
 
40
/* overrides for regguts.h definitions, if any */
 
41
#define FUNCPTR(name, args) (*name) args
 
42
#define MALLOC(n)               malloc(n)
 
43
#define FREE(p)                 free(VS(p))
 
44
#define REALLOC(p,n)            realloc(VS(p),n)
 
45
 
 
46
/* internal character type and related */
 
47
typedef pg_wchar chr;                   /* the type itself */
 
48
typedef unsigned uchr;                  /* unsigned type that will hold a chr */
 
49
typedef int celt;                               /* type to hold chr, MCCE number, or
 
50
                                                                 * NOCELT */
 
51
 
 
52
#define NOCELT  (-1)                    /* celt value which is not valid chr or
 
53
                                                                 * MCCE */
 
54
#define CHR(c)  ((unsigned char) (c))   /* turn char literal into chr
 
55
                                                                                 * literal */
 
56
#define DIGITVAL(c) ((c)-'0')   /* turn chr digit into its value */
 
57
#define CHRBITS 32                              /* bits in a chr; must not use sizeof */
 
58
#define CHR_MIN 0x00000000              /* smallest and largest chr; the value */
 
59
#define CHR_MAX 0xfffffffe              /* CHR_MAX-CHR_MIN+1 should fit in uchr */
 
60
 
 
61
/* functions operating on chr */
 
62
#define iscalnum(x) pg_wc_isalnum(x)
 
63
#define iscalpha(x) pg_wc_isalpha(x)
 
64
#define iscdigit(x) pg_wc_isdigit(x)
 
65
#define iscspace(x) pg_wc_isspace(x)
 
66
 
 
67
/* and pick up the standard header */
 
68
#include "regex.h"