* harbour/common.mak
* harbour/makefile.bc
* harbour/makefile.vc
* harbour/bin/hb-func.sh
* harbour/config/bsd/gcc.cf
* harbour/config/darwin/gcc.cf
* harbour/config/hpux/gcc.cf
* harbour/config/linux/gcc.cf
* harbour/config/sunos/gcc.cf
* harbour/source/Makefile
+ harbour/source/hbpcre/ChangeLog
+ harbour/source/hbpcre/Makefile
+ harbour/source/hbpcre/chartabs.c
+ harbour/source/hbpcre/config.h
+ harbour/source/hbpcre/dftables.c
+ harbour/source/hbpcre/pcre.h
+ harbour/source/hbpcre/pcrecomp.c
+ harbour/source/hbpcre/pcreconf.c
+ harbour/source/hbpcre/pcredfa.c
+ harbour/source/hbpcre/pcreexec.c
+ harbour/source/hbpcre/pcrefind.c
+ harbour/source/hbpcre/pcrefinf.c
+ harbour/source/hbpcre/pcreget.c
+ harbour/source/hbpcre/pcreglob.c
+ harbour/source/hbpcre/pcreinal.h
+ harbour/source/hbpcre/pcreinfo.c
+ harbour/source/hbpcre/pcremktb.c
+ harbour/source/hbpcre/pcreoutf.c
+ harbour/source/hbpcre/pcreprni.c
+ harbour/source/hbpcre/pcrerefc.c
+ harbour/source/hbpcre/pcrestud.c
+ harbour/source/hbpcre/pcretabs.c
+ harbour/source/hbpcre/pcretryf.c
+ harbour/source/hbpcre/pcrever.c
+ harbour/source/hbpcre/pcrevutf.c
+ harbour/source/hbpcre/pcrexcls.c
+ harbour/source/hbpcre/ucp.h
+ harbour/source/hbpcre/ucpinter.h
+ harbour/source/hbpcre/ucptable.c
+ added HBPCRE library - based on older xHarbour 6.3 version
filenames changed to 8.3 DOS format
* harbour/include/hbregex.h
* harbour/source/rtl/Makefile
* harbour/source/rtl/hbregex.c
+ harbour/source/rtl/hbregexc.c
* divided harbour regular expression functions into two files
Now regular expression low level library is not linked with
application until user will not use or REQUEST for one of HB_REGEX*
functions. It also means that also DBOI_SKIPREGEX will not work when
regex module is not linked.
+ added support for build-in regular expression library
+ added ulLen parameter to hb_regexMatch() to support strings with
embedded 0
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rtl/strmatch.c
* use new hb_regexMatch() format
* harbour/utils/hbrun/Makefile
+ added hbpcre to linked library list
117 lines
4.6 KiB
C
117 lines
4.6 KiB
C
|
|
/* On Unix systems config.in is converted by configure into config.h. PCRE is
|
|
written in Standard C, but there are a few non-standard things it can cope
|
|
with, allowing it to run on SunOS4 and other "close to standard" systems.
|
|
|
|
On a non-Unix system you should just copy this file into config.h, and set up
|
|
the macros the way you need them. You should normally change the definitions of
|
|
HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf
|
|
works, these cannot be made the defaults. If your system has bcopy() and not
|
|
memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your
|
|
system has neither bcopy() nor memmove(), leave them both as 0; an emulation
|
|
function will be used. */
|
|
|
|
/* If you are compiling for a system that uses EBCDIC instead of ASCII
|
|
character codes, define this macro as 1. On systems that can use "configure",
|
|
this can be done via --enable-ebcdic. */
|
|
|
|
#ifndef EBCDIC
|
|
#define EBCDIC 0
|
|
#endif
|
|
|
|
/* If you are compiling for a system that needs some magic to be inserted
|
|
before the definition of an exported function, define this macro to contain the
|
|
relevant magic. It apears at the start of every exported function. */
|
|
|
|
#define EXPORT
|
|
|
|
/* Define to empty if the "const" keyword does not work. */
|
|
|
|
#undef const
|
|
|
|
/* Define to "unsigned" if <stddef.h> doesn't define size_t. */
|
|
|
|
#undef size_t
|
|
|
|
/* The following two definitions are mainly for the benefit of SunOS4, which
|
|
doesn't have the strerror() or memmove() functions that should be present in
|
|
all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should
|
|
normally be defined with the value 1 for other systems, but unfortunately we
|
|
can't make this the default because "configure" files generated by autoconf
|
|
will only change 0 to 1; they won't change 1 to 0 if the functions are not
|
|
found. */
|
|
|
|
#define HAVE_STRERROR 1
|
|
#define HAVE_MEMMOVE 1
|
|
|
|
/* There are some non-Unix systems that don't even have bcopy(). If this macro
|
|
is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
|
|
HAVE_BCOPY is not relevant. */
|
|
|
|
#define HAVE_BCOPY 0
|
|
|
|
/* The value of NEWLINE determines the newline character. The default is to
|
|
leave it up to the compiler, but some sites want to force a particular value.
|
|
On Unix systems, "configure" can be used to override this default. */
|
|
|
|
#ifndef NEWLINE
|
|
#define NEWLINE '\n'
|
|
#endif
|
|
|
|
/* The value of LINK_SIZE determines the number of bytes used to store
|
|
links as offsets within the compiled regex. The default is 2, which allows for
|
|
compiled patterns up to 64K long. This covers the vast majority of cases.
|
|
However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for
|
|
longer patterns in extreme cases. On Unix systems, "configure" can be used to
|
|
override this default. */
|
|
|
|
#ifndef LINK_SIZE
|
|
#define LINK_SIZE 2
|
|
#endif
|
|
|
|
/* The value of MATCH_LIMIT determines the default number of times the match()
|
|
function can be called during a single execution of pcre_exec(). (There is a
|
|
runtime method of setting a different limit.) The limit exists in order to
|
|
catch runaway regular expressions that take for ever to determine that they do
|
|
not match. The default is set very large so that it does not accidentally catch
|
|
legitimate cases. On Unix systems, "configure" can be used to override this
|
|
default default. */
|
|
|
|
#ifndef MATCH_LIMIT
|
|
#define MATCH_LIMIT 10000000
|
|
#endif
|
|
|
|
/* When calling PCRE via the POSIX interface, additional working storage is
|
|
required for holding the pointers to capturing substrings because PCRE requires
|
|
three integers per substring, whereas the POSIX interface provides only two. If
|
|
the number of expected substrings is small, the wrapper function uses space on
|
|
the stack, because this is faster than using malloc() for each call. The
|
|
threshold above which the stack is no longer use is defined by POSIX_MALLOC_
|
|
THRESHOLD. On Unix systems, "configure" can be used to override this default.
|
|
*/
|
|
|
|
#ifndef POSIX_MALLOC_THRESHOLD
|
|
#define POSIX_MALLOC_THRESHOLD 10
|
|
#endif
|
|
|
|
/* PCRE uses recursive function calls to handle backtracking while matching.
|
|
This can sometimes be a problem on systems that have stacks of limited size.
|
|
Define NO_RECURSE to get a version that doesn't use recursion in the match()
|
|
function; instead it creates its own stack by steam using pcre_recurse_malloc
|
|
to get memory. For more detail, see comments and other stuff just above the
|
|
match() function. On Unix systems, "configure" can be used to set this in the
|
|
Makefile (use --disable-stack-for-recursion). */
|
|
|
|
/* #define NO_RECURSE */
|
|
|
|
/* xHarbour stuff - default definitions */
|
|
#ifndef SUPPORT_UTF8
|
|
#define SUPPORT_UTF8
|
|
#endif
|
|
|
|
#ifndef SUPPORT_UCP
|
|
#define SUPPORT_UCP
|
|
#endif
|
|
|
|
/* End */
|