summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2007-03-08 16:53:09 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2007-03-08 16:53:09 +0000
commitfb65c97eca8a06b5ab09eb36dd32296fa441419f (patch)
treee663d21eede0bda3e34e9cd98312b0740f9fc72c
parentfa85f5ee481179f3453200d51f3d797e455dd529 (diff)
downloadpcre-fb65c97eca8a06b5ab09eb36dd32296fa441419f.tar.gz
Create the PrepareRelease script to process the documentation and create the
.generic files for distribution, also to remove trailing spaces. Update a lot more of the build-time documentation. Arrange for PrepareRelease and its sub-scripts to be distributed. git-svn-id: svn://vcs.exim.org/pcre/code/trunk@111 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rwxr-xr-x132html (renamed from maintain/132html)172
-rw-r--r--ChangeLog90
-rwxr-xr-xCleanTxt (renamed from maintain/CleanTxt)0
-rwxr-xr-xDetrail (renamed from maintain/Detrail)22
-rw-r--r--Index.html (renamed from maintain/Index.html)0
-rw-r--r--Makefile.am50
-rw-r--r--Makefile.in59
-rw-r--r--NON-UNIX-USE184
-rwxr-xr-xPrepareRelease (renamed from maintain/MakeRelease)147
-rw-r--r--README91
-rw-r--r--config.h.in208
-rw-r--r--configure.ac20
-rw-r--r--doc/html/index.html6
-rw-r--r--doc/html/pcre.html4
-rw-r--r--doc/html/pcre_compile.html4
-rw-r--r--doc/html/pcre_compile2.html4
-rw-r--r--doc/html/pcre_config.html4
-rw-r--r--doc/html/pcre_copy_named_substring.html4
-rw-r--r--doc/html/pcre_copy_substring.html4
-rw-r--r--doc/html/pcre_dfa_exec.html4
-rw-r--r--doc/html/pcre_exec.html4
-rw-r--r--doc/html/pcre_free_substring.html4
-rw-r--r--doc/html/pcre_free_substring_list.html4
-rw-r--r--doc/html/pcre_fullinfo.html4
-rw-r--r--doc/html/pcre_get_named_substring.html4
-rw-r--r--doc/html/pcre_get_stringnumber.html4
-rw-r--r--doc/html/pcre_get_stringtable_entries.html4
-rw-r--r--doc/html/pcre_get_substring.html4
-rw-r--r--doc/html/pcre_get_substring_list.html4
-rw-r--r--doc/html/pcre_info.html4
-rw-r--r--doc/html/pcre_maketables.html4
-rw-r--r--doc/html/pcre_refcount.html4
-rw-r--r--doc/html/pcre_study.html4
-rw-r--r--doc/html/pcre_version.html4
-rw-r--r--doc/html/pcreapi.html4
-rw-r--r--doc/html/pcrebuild.html4
-rw-r--r--doc/html/pcrecallout.html4
-rw-r--r--doc/html/pcrecompat.html4
-rw-r--r--doc/html/pcrecpp.html4
-rw-r--r--doc/html/pcregrep.html4
-rw-r--r--doc/html/pcrematching.html4
-rw-r--r--doc/html/pcrepartial.html4
-rw-r--r--doc/html/pcrepattern.html4
-rw-r--r--doc/html/pcreperform.html4
-rw-r--r--doc/html/pcreposix.html4
-rw-r--r--doc/html/pcreprecompile.html4
-rw-r--r--doc/html/pcresample.html4
-rw-r--r--doc/html/pcrestack.html4
-rw-r--r--doc/html/pcretest.html4
-rw-r--r--doc/pcre.txt52
-rw-r--r--maintain/README20
-rw-r--r--pcre-config.in2
-rw-r--r--pcre.h283
-rw-r--r--pcre_compile.c4
-rw-r--r--pcre_printint.src2
-rw-r--r--pcre_study.c6
56 files changed, 532 insertions, 1030 deletions
diff --git a/maintain/132html b/132html
index 7287b9e..43d1358 100755
--- a/maintain/132html
+++ b/132html
@@ -24,7 +24,7 @@ if ($inpara)
{
print TEMP "</PRE>\n" if ($inpre);
print TEMP "</P>\n";
- }
+ }
$inpara = $inpre = 0;
$wrotetext = 0;
}
@@ -34,7 +34,7 @@ $wrotetext = 0;
sub new_para {
&end_para();
print TEMP "<P>\n";
-$inpara = 1;
+$inpara = 1;
}
@@ -49,9 +49,9 @@ $ref = 1;
while ($#ARGV >= 0 && $ARGV[0] =~ /^-/)
{
- $toc = 1 if $ARGV[0] eq "-toc";
+ $toc = 1 if $ARGV[0] eq "-toc";
shift;
- }
+ }
# Initial output to STDOUT
@@ -65,11 +65,11 @@ print <<End ;
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
End
print "<ul>\n" if ($toc);
@@ -78,40 +78,40 @@ open(TEMP, ">/tmp/$$") || die "Can't open /tmp/$$ for output\n";
while (<STDIN>)
{
- # Handle lines beginning with a dot
-
+ # Handle lines beginning with a dot
+
if (/^\./)
{
- # Some of the PCRE man pages used to contain instances of .br. However,
+ # Some of the PCRE man pages used to contain instances of .br. However,
# they should have all been removed because they cause trouble in some
# (other) automated systems that translate man pages to HTML. Complain if
- # we find .br or .in (another macro that is deprecated).
-
+ # we find .br or .in (another macro that is deprecated).
+
if (/^\.br/ || /^\.in/)
{
print STDERR "\n*** Deprecated macro encountered - rewrite needed\n";
- print STDERR "*** $_\n";
+ print STDERR "*** $_\n";
die "*** Processing abandoned\n";
}
-
+
# Instead of .br, relevent "literal" sections are enclosed in .nf/.fi.
-
+
elsif (/^\.nf/)
{
- $innf = 1;
- }
-
+ $innf = 1;
+ }
+
elsif (/^\.fi/)
{
- $innf = 0;
- }
-
+ $innf = 0;
+ }
+
# Handling .sp is subtle. If it is inside a literal section, do nothing if
# the next line is a non literal text line; similarly, if not inside a
# literal section, do nothing if a literal follows. The point being that
# the <pre> and </pre> that delimit literal sections will do the spacing.
# Always skip if no previous output.
-
+
elsif (/^\.sp/)
{
if ($wrotetext)
@@ -119,19 +119,19 @@ while (<STDIN>)
$_ = <STDIN>;
if ($inpre)
{
- print TEMP "\n" if (/^[\s.]/);
+ print TEMP "\n" if (/^[\s.]/);
}
else
- {
- print TEMP "<br>\n<br>\n" if (!/^[\s.]/);
+ {
+ print TEMP "<br>\n<br>\n" if (!/^[\s.]/);
}
redo; # Now process the lookahead line we just read
- }
- }
+ }
+ }
elsif (/^\.TP/ || /^\.PP/ || /^\.P/)
{
- &new_para();
- }
+ &new_para();
+ }
elsif (/^\.SH\s*("?)(.*)\1/)
{
# Ignore the NAME section
@@ -139,87 +139,87 @@ while (<STDIN>)
{
<STDIN>;
next;
- }
-
+ }
+
&end_para();
- my($title) = &do_line($2);
+ my($title) = &do_line($2);
if ($toc)
{
- printf("<li><a name=\"TOC%d\" href=\"#SEC%d\">$title</a>\n",
+ printf("<li><a name=\"TOC%d\" href=\"#SEC%d\">$title</a>\n",
$ref, $ref);
- printf TEMP ("<br><a name=\"SEC%d\" href=\"#TOC1\">$title</a><br>\n",
+ printf TEMP ("<br><a name=\"SEC%d\" href=\"#TOC1\">$title</a><br>\n",
$ref, $ref);
$ref++;
}
else
- {
- print TEMP "<br><b>\n$title\n</b><br>\n";
- }
- }
+ {
+ print TEMP "<br><b>\n$title\n</b><br>\n";
+ }
+ }
elsif (/^\.SS\s*("?)(.*)\1/)
{
&end_para();
- my($title) = &do_line($2);
- print TEMP "<br><b>\n$title\n</b><br>\n";
- }
+ my($title) = &do_line($2);
+ print TEMP "<br><b>\n$title\n</b><br>\n";
+ }
elsif (/^\.B\s*(.*)/)
{
&new_para() if (!$inpara);
- $_ = &do_line($1);
+ $_ = &do_line($1);
s/"(.*?)"/$1/g;
print TEMP "<b>$_</b>\n";
- $wrotetext = 1;
+ $wrotetext = 1;
}
elsif (/^\.I\s*(.*)/)
{
&new_para() if (!$inpara);
- $_ = &do_line($1);
+ $_ = &do_line($1);
s/"(.*?)"/$1/g;
print TEMP "<i>$_</i>\n";
- $wrotetext = 1;
+ $wrotetext = 1;
}
-
+
# A comment that starts "HREF" takes the next line as a name that
# is turned into a hyperlink, using the text given, which might be
# in a special font. If it ends in () or (digits) or punctuation, they
# aren't part of the link.
-
+
elsif (/^\.\\"\s*HREF/)
{
$_=<STDIN>;
- chomp;
+ chomp;
$_ = &do_line($_);
- $_ =~ s/\s+$//;
+ $_ =~ s/\s+$//;
$_ =~ /^(?:<.>)?([^<(]+)(?:\(\))?(?:<\/.>)?(?:\(\d+\))?[.,;:]?$/;
- print TEMP "<a href=\"$1.html\">$_</a>\n";
- }
-
+ print TEMP "<a href=\"$1.html\">$_</a>\n";
+ }
+
# A comment that starts "HTML" inserts literal HTML
-
+
elsif (/^\.\\"\s*HTML\s*(.*)/)
{
- print TEMP $1;
- }
-
+ print TEMP $1;
+ }
+
# A comment that starts < inserts that HTML at the end of the
# *next* input line - so as not to get a newline between them.
-
+
elsif (/^\.\\"\s*(<.*>)/)
{
- my($markup) = $1;
+ my($markup) = $1;
$_=<STDIN>;
chomp;
$_ = &do_line($_);
- $_ =~ s/\s+$//;
+ $_ =~ s/\s+$//;
print TEMP "$_$markup\n";
- }
-
+ }
+
# A comment that starts JOIN joins the next two lines together, with one
- # space between them. Then that line is processed. This is used in some
+ # space between them. Then that line is processed. This is used in some
# displays where two lines are needed for the "man" version. JOINSH works
# the same, except that it assumes this is a shell command, so removes
- # continuation backslashes.
-
+ # continuation backslashes.
+
elsif (/^\.\\"\s*JOIN(SH)?/)
{
my($one,$two);
@@ -230,49 +230,49 @@ while (<STDIN>)
$two =~ s/^\s+//;
$_ = "$one $two";
redo; # Process the joined lines
- }
+ }
# Ignore anything not recognized
-
+
next;
- }
+ }
# Line does not begin with a dot. Replace blank lines with new paragraphs
-
+
if (/^\s*$/)
{
&end_para() if ($wrotetext);
- next;
- }
-
+ next;
+ }
+
# Convert fonts changes and output an ordinary line. Ensure that indented
- # lines are marked as literal.
+ # lines are marked as literal.
- $_ = &do_line($_);
+ $_ = &do_line($_);
&new_para() if (!$inpara);
-
+
if (/^\s/)
{
if (!$inpre)
{
print TEMP "<pre>\n";
$inpre = 1;
- }
+ }
}
elsif ($inpre)
{
- print TEMP "</pre>\n";
- $inpre = 0;
- }
-
+ print TEMP "</pre>\n";
+ $inpre = 0;
+ }
+
# Add <br> to the end of a non-literal line if we are within .nf/.fi
-
- $_ .= "<br>\n" if (!$inpre && $innf);
-
- print TEMP;
- $wrotetext = 1;
- }
-
+
+ $_ .= "<br>\n" if (!$inpre && $innf);
+
+ print TEMP;
+ $wrotetext = 1;
+ }
+
# The TOC, if present, will have been written - terminate it
print "</ul>\n" if ($toc);
@@ -281,7 +281,7 @@ print "</ul>\n" if ($toc);
close(TEMP);
open(TEMP, "/tmp/$$") || die "Can't open /tmp/$$ for input\n";
-
+
print while (<TEMP>);
print <<End ;
diff --git a/ChangeLog b/ChangeLog
index 105b5ce..3d1f9c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,65 +4,73 @@ ChangeLog for PCRE
Version 7.1 05-Mar-07
---------------------
- 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one
- that is more "standard", making use of automake and other autotools. There
+ 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one
+ that is more "standard", making use of automake and other autotools. There
is some re-arrangement of the files and adjustment of comments consequent
on this.
-
- 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r
- for recursive directory scanning broke on some systems because the files
- are not scanned in any specific order and on different systems the order
- was different. A call to "sort" has been inserted into RunGrepTest for the
- approprate test as a short-term fix. In the longer term there may be an
+
+ 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r
+ for recursive directory scanning broke on some systems because the files
+ are not scanned in any specific order and on different systems the order
+ was different. A call to "sort" has been inserted into RunGrepTest for the
+ approprate test as a short-term fix. In the longer term there may be an
alternative.
-
+
3. I had an email from Eric Raymond about problems translating some of PCRE's
- man pages to HTML (despite the fact that I distribute HTML pages, some
- people do their own conversions for various reasons). The problems
- concerned the use of low-level troff macros .br and .in. I have therefore
- removed all such uses from the man pages (some were redundant, some could
- be replaced by .nf/.fi pairs). The maintain/132html script that I use to
- generate HTML has been updated to handle .nf/.fi and to complain if it
+ man pages to HTML (despite the fact that I distribute HTML pages, some
+ people do their own conversions for various reasons). The problems
+ concerned the use of low-level troff macros .br and .in. I have therefore
+ removed all such uses from the man pages (some were redundant, some could
+ be replaced by .nf/.fi pairs). The maintain/132html script that I use to
+ generate HTML has been updated to handle .nf/.fi and to complain if it
encounters .br or .in.
-
+
4. Updated comments in configure.ac that get placed in config.h.in and also
- arranged for config.h to be included in the distribution, for the benefit
- of those who have to compile without Autotools (compare pcre.h).
-
- 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan
- Weber: (1) pcre_internal.h was missing some function renames; (2) updated
- makevp.bat for the current PCRE, using the additional files !compile.txt,
+ arranged for config.h to be included in the distribution, with the name
+ config.h.generic, for the benefit of those who have to compile without
+ Autotools (compare pcre.h, which is now distributed as pcre.h.generic).
+
+ 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan
+ Weber: (1) pcre_internal.h was missing some function renames; (2) updated
+ makevp.bat for the current PCRE, using the additional files !compile.txt,
!linklib.txt, and pcregexp.pas.
-
- 6. A Windows user reported a minor discrepancy with test 2, which turned out
- to be caused by a trailing space on an input line that had got lost in his
+
+ 6. A Windows user reported a minor discrepancy with test 2, which turned out
+ to be caused by a trailing space on an input line that had got lost in his
copy. The trailing space was an accident, so I've just removed it.
-
+
7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told
- that is needed.
-
+ that is needed.
+
8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c)
as "const" (a) because they are and (b) because it helps the PHP
maintainers who have recently made a script to detect big data structures
- in the php code that should be moved to the .rodata section. I remembered
- to update Builducptable as well, so it won't revert if ucptable.h is ever
+ in the php code that should be moved to the .rodata section. I remembered
+ to update Builducptable as well, so it won't revert if ucptable.h is ever
re-created.
-
- 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c,
+
+ 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c,
pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in
- order to be able to cut out the UTF-8 tables in the latter when UTF-8
- support is not required. This saves 1.5-2K of code, which is important in
+ order to be able to cut out the UTF-8 tables in the latter when UTF-8
+ support is not required. This saves 1.5-2K of code, which is important in
some applications.
-
+
Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c
- so as not to refer to the tables, even though these functions will never be
- called when UTF-8 support is disabled. Otherwise there are problems with a
- shared library.
-
-10. The emulated memmove() function in pcre_internal.h (provided for those
- environments that have neither memmove() nor bcopy()) was defining its
+ so as not to refer to the tables, even though these functions will never be
+ called when UTF-8 support is disabled. Otherwise there are problems with a
+ shared library.
+
+10. The emulated memmove() function in pcre_internal.h (provided for those
+ environments that have neither memmove() nor bcopy()) was defining its
arguments as char * instead of void *.
+11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt,
+ and Detrail to create the HTML documentation, the .txt form of the man
+ pages, and it removes trailing spaces from listed files. It also creates
+ pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter
+ case, it wraps all the #defines with #ifndefs. This script should be run
+ before "make dist".
+
Version 7.0 19-Dec-06
---------------------
diff --git a/maintain/CleanTxt b/CleanTxt
index 1f42519..1f42519 100755
--- a/maintain/CleanTxt
+++ b/CleanTxt
diff --git a/maintain/Detrail b/Detrail
index cdfb985..1c5c7e9 100755
--- a/maintain/Detrail
+++ b/Detrail
@@ -6,26 +6,26 @@
# This subroutine does the work for one file.
sub detrail {
-my($file) = $_[0];
-my($changed) = 0;
+my($file) = $_[0];
+my($changed) = 0;
open(IN, "$file") || die "Can't open $file for input";
@lines = <IN>;
close(IN);
-foreach (@lines)
- {
- if (/\s+\n$/)
- {
- s/\s+\n$/\n/;
+foreach (@lines)
+ {
+ if (/\s+\n$/)
+ {
+ s/\s+\n$/\n/;
$changed = 1;
- }
+ }
}
if ($changed)
- {
+ {
open(OUT, ">$file") || die "Can't open $file for output";
print OUT @lines;
close(OUT);
- }
-}
+ }
+}
# This is the main program
diff --git a/maintain/Index.html b/Index.html
index 29d3b01..29d3b01 100644
--- a/maintain/Index.html
+++ b/Index.html
diff --git a/Makefile.am b/Makefile.am
index 557b79c..7dcf101 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,14 +4,11 @@ dist_doc_DATA = \
doc/pcre.txt \
doc/pcregrep.txt \
doc/pcretest.txt \
- doc/perltest.txt \
AUTHORS \
COPYING \
ChangeLog \
- INSTALL \
LICENCE \
NEWS \
- NON-UNIX-USE \
README
dist_html_DATA = \
@@ -80,25 +77,46 @@ MAINTAINERCLEANFILES =
# Additional files to bundle with the distribution.
EXTRA_DIST =
+# These files contain maintenance information
+EXTRA_DIST += \
+ doc/perltest.txt \
+ NON-UNIX-USE \
+ INSTALL
+
+# These files are used in the preparation of a release
+EXTRA_DIST += \
+ PrepareRelease \
+ CleanTxt \
+ Detrail \
+ 132html \
+ Index.html
+
# These files are to do with building for Virtual Pascal
EXTRA_DIST += \
makevp.bat \
!compile.txt \
!linklib.txt \
- pcregexp.pas
+ pcregexp.pas
+
+# These files are usable versions of pcre.h and config.h that are distributed
+# for the benefit of people who are building PCRE manually, without the
+# Autotools support.
+EXTRA_DIST += \
+ pcre.h.generic \
+ config.h.generic
-# These are the header files we'll install. Note that while pcre.h is
-# generated from pcre.h.in, we want to include it in the distribution so
-# that users building without Autotools support have an easier time of it.
+# These are the header files we'll install. We do not distribute pcre.h because
+# it is generated from pcre.h.in.
+nodist_include_HEADERS = \
+ pcre.h
include_HEADERS = \
- pcre.h \
pcreposix.h
-# These will be installed too, if C++ support is enabled. We don't
-# distribute pcrecpparg.h nor pcre_stringpiece.h, as these are generated
+# These additional headers will be be installed if C++ support is enabled. We
+# do not distribute pcrecpparg.h or pcre_stringpiece.h, as these are generated
# from corresponding .h.in files (which we do distribute).
if WITH_PCRE_CPP
-nodist_include_HEADERS = \
+nodist_include_HEADERS += \
pcrecpparg.h \
pcre_stringpiece.h
include_HEADERS += \
@@ -142,16 +160,14 @@ libpcre_la_SOURCES = \
ucp.h \
ucpinternal.h \
ucptable.h
-
+
## This file is generated as part of the building process, so don't distribute.
nodist_libpcre_la_SOURCES = \
pcre_chartables.c
-
+
# The pcre_printint.src file is #included by some source files, so it must be
-# distributed. In an Autotools world, config.h is generated from config.h.in,
-# but, like pcre.h, we want to include it in the distribution so that users
-# building without Autotools support have an easier time of it.
-EXTRA_DIST += pcre_printint.src config.h
+# distributed.
+EXTRA_DIST += pcre_printint.src
libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS)
diff --git a/Makefile.in b/Makefile.in
index c409945..fcec7c5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -39,18 +39,26 @@ host_triplet = @host@
TESTS = $(am__EXEEXT_1) RunTest RunGrepTest
bin_PROGRAMS = pcretest$(EXEEXT) pcregrep$(EXEEXT)
noinst_PROGRAMS = dftables$(EXEEXT) $(am__EXEEXT_1) pcredemo$(EXEEXT)
+
+# These additional headers will be be installed if C++ support is enabled. We
+# do not distribute pcrecpparg.h or pcre_stringpiece.h, as these are generated
+# from corresponding .h.in files (which we do distribute).
@WITH_PCRE_CPP_TRUE@am__append_1 = \
+@WITH_PCRE_CPP_TRUE@ pcrecpparg.h \
+@WITH_PCRE_CPP_TRUE@ pcre_stringpiece.h
+
+@WITH_PCRE_CPP_TRUE@am__append_2 = \
@WITH_PCRE_CPP_TRUE@ pcrecpp.h \
@WITH_PCRE_CPP_TRUE@ pcre_scanner.h
-@WITH_PCRE_CPP_TRUE@am__append_2 = libpcrecpp.la
-@WITH_PCRE_CPP_TRUE@am__append_3 = pcrecpp_unittest \
+@WITH_PCRE_CPP_TRUE@am__append_3 = libpcrecpp.la
+@WITH_PCRE_CPP_TRUE@am__append_4 = pcrecpp_unittest \
@WITH_PCRE_CPP_TRUE@ pcre_scanner_unittest \
@WITH_PCRE_CPP_TRUE@ pcre_stringpiece_unittest
-@WITH_PCRE_CPP_TRUE@am__append_4 = pcrecpp_unittest \
+@WITH_PCRE_CPP_TRUE@am__append_5 = pcrecpp_unittest \
@WITH_PCRE_CPP_TRUE@ pcre_scanner_unittest \
@WITH_PCRE_CPP_TRUE@ pcre_stringpiece_unittest
-@WITH_PCRE_CPP_TRUE@am__append_5 = libpcrecpp.pc
+@WITH_PCRE_CPP_TRUE@am__append_6 = libpcrecpp.pc
subdir = .
DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \
$(dist_doc_DATA) $(dist_html_DATA) $(dist_man_MANS) \
@@ -198,7 +206,7 @@ htmlDATA_INSTALL = $(INSTALL_DATA)
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dist_doc_DATA) $(dist_html_DATA) $(dist_noinst_DATA) \
$(html_DATA) $(pkgconfig_DATA)
-am__include_HEADERS_DIST = pcre.h pcreposix.h pcrecpp.h pcre_scanner.h
+am__include_HEADERS_DIST = pcreposix.h pcrecpp.h pcre_scanner.h
includeHEADERS_INSTALL = $(INSTALL_HEADER)
nodist_includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS) $(nodist_include_HEADERS)
@@ -342,14 +350,11 @@ dist_doc_DATA = \
doc/pcre.txt \
doc/pcregrep.txt \
doc/pcretest.txt \
- doc/perltest.txt \
AUTHORS \
COPYING \
ChangeLog \
- INSTALL \
LICENCE \
NEWS \
- NON-UNIX-USE \
README
dist_html_DATA = \
@@ -395,7 +400,7 @@ dist_noinst_DATA = $(pcrecpp_html)
@WITH_PCRE_CPP_TRUE@html_DATA = $(pcrecpp_html)
# The Libtool libraries to install. We'll add to this later.
-lib_LTLIBRARIES = libpcre.la libpcreposix.la $(am__append_2)
+lib_LTLIBRARIES = libpcre.la libpcreposix.la $(am__append_3)
check_SCRIPTS =
noinst_SCRIPTS = RunTest RunGrepTest
@@ -405,14 +410,22 @@ MAINTAINERCLEANFILES = config-cmake.h.in
# Additional files to bundle with the distribution.
+# These files contain maintenance information
+
+# These files are used in the preparation of a release
+
# These files are to do with building for Virtual Pascal
+# These files are usable versions of pcre.h and config.h that are distributed
+# for the benefit of people who are building PCRE manually, without the
+# Autotools support.
+
# The pcre_printint.src file is #included by some source files, so it must be
-# distributed. In an Autotools world, config.h is generated from config.h.in,
-# but, like pcre.h, we want to include it in the distribution so that users
-# building without Autotools support have an easier time of it.
-EXTRA_DIST = makevp.bat !compile.txt !linklib.txt pcregexp.pas \
- pcre_printint.src config.h RunTest.bat testdata/grepinput \
+# distributed.
+EXTRA_DIST = doc/perltest.txt NON-UNIX-USE INSTALL PrepareRelease \
+ CleanTxt Detrail 132html Index.html makevp.bat !compile.txt \
+ !linklib.txt pcregexp.pas pcre.h.generic config.h.generic \
+ pcre_printint.src RunTest.bat testdata/grepinput \
testdata/grepinput8 testdata/grepinputx testdata/greplist \
testdata/grepoutput testdata/grepoutput8 testdata/testinput1 \
testdata/testinput2 testdata/testinput3 testdata/testinput4 \
@@ -423,18 +436,10 @@ EXTRA_DIST = makevp.bat !compile.txt !linklib.txt pcregexp.pas \
testdata/testoutput8 testdata/testoutput9 perltest.pl \
$(pcrecpp_man) CMakeLists.txt config-cmake.h.in
-# These are the header files we'll install. Note that while pcre.h is
-# generated from pcre.h.in, we want to include it in the distribution so
-# that users building without Autotools support have an easier time of it.
-include_HEADERS = pcre.h pcreposix.h $(am__append_1)
-
-# These will be installed too, if C++ support is enabled. We don't
-# distribute pcrecpparg.h nor pcre_stringpiece.h, as these are generated
-# from corresponding .h.in files (which we do distribute).
-@WITH_PCRE_CPP_TRUE@nodist_include_HEADERS = \
-@WITH_PCRE_CPP_TRUE@ pcrecpparg.h \
-@WITH_PCRE_CPP_TRUE@ pcre_stringpiece.h
-
+# These are the header files we'll install. We do not distribute pcre.h because
+# it is generated from pcre.h.in.
+nodist_include_HEADERS = pcre.h $(am__append_1)
+include_HEADERS = pcreposix.h $(am__append_2)
bin_SCRIPTS = pcre-config
dftables_SOURCES = dftables.c
libpcre_la_SOURCES = \
@@ -493,7 +498,7 @@ pcredemo_LDADD = libpcre.la
# We have .pc files for pkg-config users.
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libpcre.pc $(am__append_5)
+pkgconfig_DATA = libpcre.pc $(am__append_6)
dist_man_MANS = \
doc/pcre.3 \
doc/pcre_compile.3 \
diff --git a/NON-UNIX-USE b/NON-UNIX-USE
index 6ac4ce8..df0b255 100644
--- a/NON-UNIX-USE
+++ b/NON-UNIX-USE
@@ -3,11 +3,11 @@ Compiling PCRE on non-Unix systems
I (Philip Hazel) have no knowledge of Windows or VMS sytems and how their
libraries work. The items in the PCRE distribution and Makefile that relate to
-anything other than Unix-like systems have been contributed by PCRE users and
-are untested by me.
+anything other than Unix-like systems have been contributed by PCRE users and
+are untested by me.
There are some other comments and files in the Contrib directory on the ftp
-site that you may find useful. See
+site that you may find useful, although a lot of them are now out-of-date. See
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib
@@ -20,111 +20,69 @@ library. The C++ wrapper functions are a separate issue (see below).
GENERIC INSTRUCTIONS FOR THE C LIBRARY
-The following are generic comments about building PCRE. The interspersed
-indented commands are suggestions from Mark Tetrode as to which commands you
-might use on a Windows system to build a static library.
-
-(1) Copy or rename the file config.h.in as config.h, and change the macros that
-define HAVE_STRERROR and HAVE_MEMMOVE to define them as 1 rather than 0.
-Unfortunately, because of the way Unix autoconf works, the default setting has
-to be 0. You may also want to make changes to other macros in config.h. In
-particular, if you want to force a specific value for newline, you can define
-the NEWLINE macro. The default is to use '\n', thereby using whatever value
-your compiler gives to '\n'.
-
- rem Mark Tetrode's commands
- copy config.h.in config.h
- rem Use write, because notepad cannot handle UNIX files. Change values.
- write config.h
-
-(2) Compile dftables.c as a stand-alone program, and then run it with
-the single argument "pcre_chartables.c". This generates a set of standard
-character tables and writes them to that file.
-
- rem Mark Tetrode's commands
- rem Compile & run
- cl -DSUPPORT_UTF8 -DSUPPORT_UCP dftables.c
- dftables.exe pcre_chartables.c
-
-(3) Compile the following source files:
-
- pcre_chartables.c
- pcre_compile.c
- pcre_config.c
- pcre_dfa_exec.c
- pcre_exec.c
- pcre_fullinfo.c
- pcre_get.c
- pcre_globals.c
- pcre_info.c
- pcre_maketables.c
- pcre_newline.c
- pcre_ord2utf8.c
- pcre_refcount.c
- pcre_study.c
- pcre_tables.c
- pcre_try_flipped.c
- pcre_ucp_searchfuncs.c
- pcre_valid_utf8.c
- pcre_version.c
- pcre_xclass.c
-
-and link them all together into an object library in whichever form your system
-keeps such libraries. This is the pcre C library. If your system has static and
-shared libraries, you may have to do this once for each type.
-
- rem These comments are out-of-date, referring to a previous release which
- rem had fewer source files. Replace with the file names from above.
- rem Mark Tetrode's commands, for a static library
- rem Compile & lib
- cl -DSUPPORT_UTF8 -DSUPPORT_UCP -DPOSIX_MALLOC_THRESHOLD=10 /c maketables.c get.c study.c pcre.c
- lib /OUT:pcre.lib maketables.obj get.obj study.obj pcre.obj
-
-(4) Similarly, compile pcreposix.c and link it (on its own) as the pcreposix
-library.
-
- rem Mark Tetrode's commands, for a static library
- rem Compile & lib
- cl -DSUPPORT_UTF8 -DSUPPORT_UCP -DPOSIX_MALLOC_THRESHOLD=10 /c pcreposix.c
- lib /OUT:pcreposix.lib pcreposix.obj
-
-(5) Compile the test program pcretest.c. This needs the functions in the
-pcre and pcreposix libraries when linking.
-
- rem Mark Tetrode's commands
- rem compile & link
- cl /F0x400000 pcretest.c pcre.lib pcreposix.lib
-
-(6) Run pcretest on the testinput files in the testdata directory, and check
-that the output matches the corresponding testoutput files. Note that the
-supplied files are in Unix format, with just LF characters as line terminators.
-You may need to edit them to change this if your system uses a different
-convention.
-
- rem Mark Tetrode's commands
- pcretest testdata\testinput1 testdata\myoutput1
- windiff testdata\testoutput1 testdata\myoutput1
- pcretest -i testdata\testinput2 testdata\myoutput2
- windiff testdata\testoutput2 testdata\myoutput2
- pcretest testdata\testinput3 testdata\myoutput3
- windiff testdata\testoutput3 testdata\myoutput3
- pcretest testdata\testinput4 testdata\myoutput4
- windiff testdata\testoutput4 testdata\myoutput4
- pcretest testdata\testinput5 testdata\myoutput5
- windiff testdata\testoutput5 testdata\myoutput5
- pcretest testdata\testinput6 testdata\myoutput6
- windiff testdata\testoutput6 testdata\myoutput6
-
-Note that there are now three more tests (7, 8, 9) that did not exist when Mark
-wrote those comments. The test the new pcre_dfa_exec() function.
-
-(7) If you want to use the pcregrep command, compile and link pcregrep.c; it
-uses only the basic PCRE library.
+The following are generic comments about building the PCRE C library "by hand".
+
+(1) Copy or rename the file config.h.generic as config.h, and edit the macro
+ settings that it contains to whatever is appropriate for your environment.
+ In particular, if you want to force a specific value for newline, you can
+ define the NEWLINE macro.
+
+ An alternative approach is not to edit config.h, but to use -D on the
+ compiler command line to make any changes that you need.
+
+(2) Copy or rename the file pcre.h.generic to pcre.h.
+
+(3) Compile dftables.c as a stand-alone program, and then run it with
+ the single argument "pcre_chartables.c". This generates a set of standard
+ character tables and writes them to that file.
+
+(4) Compile the following source files:
+
+ pcre_chartables.c
+ pcre_compile.c
+ pcre_config.c
+ pcre_dfa_exec.c
+ pcre_exec.c
+ pcre_fullinfo.c
+ pcre_get.c
+ pcre_globals.c
+ pcre_info.c
+ pcre_maketables.c
+ pcre_newline.c
+ pcre_ord2utf8.c
+ pcre_refcount.c
+ pcre_study.c
+ pcre_tables.c
+ pcre_try_flipped.c
+ pcre_ucp_searchfuncs.c
+ pcre_valid_utf8.c
+ pcre_version.c
+ pcre_xclass.c
+
+ Now link them all together into an object library in whichever form your
+ system keeps such libraries. This is the basic PCRE C library. If your
+ system has static and shared libraries, you may have to do this once for
+ each type.
+
+(5) Similarly, compile pcreposix.c and link it (on its own) as the pcreposix
+ library.
+
+(6) Compile the test program pcretest.c. This needs the functions in the
+ pcre and pcreposix libraries when linking.
+
+(7) Run pcretest on the testinput files in the testdata directory, and check
+ that the output matches the corresponding testoutput files. Note that the
+ supplied files are in Unix format, with just LF characters as line
+ terminators. You may need to edit them to change this if your system uses a
+ different convention.
+
+(8) If you want to use the pcregrep command, compile and link pcregrep.c; it
+ uses only the basic PCRE library (it does not need the pcreposix library).
THE C++ WRAPPER FUNCTIONS
-The PCRE distribution now contains some C++ wrapper functions and tests,
+The PCRE distribution also contains some C++ wrapper functions and tests,
contributed by Google Inc. On a system that can use "configure" and "make",
the functions are automatically built into a library called pcrecpp. It should
be straightforward to compile the .cc files manually on other systems. The
@@ -132,16 +90,15 @@ files called xxx_unittest.cc are test programs for each of the corresponding
xxx.cc files.
-FURTHER REMARKS
+BUILDING FOR VIRTUAL PASCAL
-If you have a system without "configure" but where you can use a Makefile, edit
-Makefile.in to create Makefile, substituting suitable values for the variables
-at the head of the file.
-
-Stefan Weber contributed the following files in the distribution for building
-PCRE for use with VP/Borland: !compile.txt, !linklib.txt, makevp.bat,
+Stefan Weber contributed the following files in the distribution for building
+PCRE for use with VP/Borland: !compile.txt, !linklib.txt, makevp.bat,
pcregexp.pas.
+
+BUILDING UNDER WINDOWS WITH BCC5.5
+
Michael Roy sent these comments about building PCRE under Windows with BCC5.5:
Some of the core BCC libraries have a version of PCRE from 1998 built in,
@@ -153,6 +110,11 @@ Michael Roy sent these comments about building PCRE under Windows with BCC5.5:
the libraries cw32.lib, cw32i.lib, cw32mt.lib, and cw32mti.lib on the command
line.
+
+OUT-OF-DATE COMMENTS ABOUT WIN32 BUILDS
+
+[These comments need looking at by someone who knows about Windows.]
+
Some help in building a Win32 DLL of PCRE in GnuWin32 environments was
contributed by Paul Sokolovsky. These environments are Mingw32
(http://www.xraylith.wisc.edu/~khan/software/gnu-win32/) and CygWin
diff --git a/maintain/MakeRelease b/PrepareRelease
index 981b3dd..40c5f6c 100755
--- a/maintain/MakeRelease
+++ b/PrepareRelease
@@ -1,21 +1,25 @@
#/bin/sh
-# Script to make a PCRE release
+# Script to prepare the files for building a PCRE release. It does some
+# processing of the documentation, detrails files, and creates pcre.h.generic
+# and config.h.generic (for use by builders who can't run ./configure).
-if [ ! "$1" ]; then
- echo "*** Version number missing ***"
- exit 1
-fi
+# You must run this script before runnning "make dist". It makes use of the
+# following files:
-# The name of the release directory
+# 132html A Perl script that converts a .1 or .3 man page into HTML. It
+# is called from MakeRelease. It "knows" the relevant troff
+# constructs that are used in the PCRE man pages.
-dir=pcre-$1
+# CleanTxt A Perl script that cleans up the output of "nroff -man" by
+# removing backspaces and other redundant text so as to produce
+# a readable .txt file.
-# But sometimes we just want to process the documentation
+# Detrail A Perl script that removes trailing spaces from files.
-if [ "$1" = "doconly" ] ; then
- doconly=yes
-fi
+# Index.html A file that is copied as index.html into the doc/html
+# directory when the HTML documentation is built. It works like
+# this so that doc/html can be deleted and re-created from scratch.
# First, sort out the documentation
@@ -45,7 +49,7 @@ for file in pcre pcrebuild pcrematching pcreapi pcrecallout pcrecompat \
pcreperform pcreposix pcrecpp pcresample pcrestack ; do
echo " Processing $file.3"
nroff -c -man $file.3 >$file.rawtxt
- ../maintain/CleanTxt <$file.rawtxt >>pcre.txt
+ ../CleanTxt <$file.rawtxt >>pcre.txt
/bin/rm $file.rawtxt
echo "------------------------------------------------------------------------------" >>pcre.txt
if [ "$file" != "pcresample" ] ; then
@@ -58,20 +62,21 @@ done
for file in pcretest pcregrep ; do
echo Making $file.txt
nroff -c -man $file.1 >$file.rawtxt
- ../maintain/CleanTxt <$file.rawtxt >$file.txt
+ ../CleanTxt <$file.rawtxt >$file.txt
/bin/rm $file.rawtxt
done
# Make HTML form of the documentation.
+echo "Making HTML documentation"
/bin/rm html/*
-cp ../maintain/Index.html html/index.html
+cp ../Index.html html/index.html
for file in *.1 ; do
base=`basename $file .1`
- echo Making $base.html
- ../maintain/132html -toc $base <$file >html/$base.html
+ echo " Making $base.html"
+ ../132html -toc $base <$file >html/$base.html
done
# Exclude table of contents for function summaries. It seems that expr
@@ -87,9 +92,9 @@ for file in *.3 ; do
[ "$base" = "pcreperform" ] ; then
toc=""
fi
- echo Making $base.html
- ../maintain/132html $toc $base <$file >html/$base.html
- if [ $? != 0 ] ; then exit 1; fi
+ echo " Making $base.html"
+ ../132html $toc $base <$file >html/$base.html
+ if [ $? != 0 ] ; then exit 1; fi
done
# End of documentation processing
@@ -97,19 +102,34 @@ done
cd ..
echo Documentation done
-if [ "$doconly" = "yes" ] ; then
- exit 0
-fi
-
-# These files are detrailed and copied; do not detrail the test data
-# because there may be significant trailing spaces. The configure files
-# are also omitted from the detrailing.
-
-files="Makefile.in configure.ac config.h.in \
- README LICENCE COPYING AUTHORS NEWS NON-UNIX-USE INSTALL ChangeLog \
+# These files are detrailed; do not detrail the test data because there may be
+# significant trailing spaces. The configure files are also omitted from the
+# detrailing.
+
+files="\
+ Makefile.am \
+ Makefile.in \
+ configure.ac \
+ README \
+ LICENCE \
+ COPYING \
+ AUTHORS \
+ NEWS \
+ NON-UNIX-USE \
+ INSTALL \
+ 132html \
+ CleanTxt \
+ Detrail \
+ ChangeLog \
+ CMakeLists.txt \
+ RunGrepTest.in \
+ RunTest.in \
+ RunTest.bat \
pcre-config.in \
libpcre.pc.in \
libpcrecpp.pc.in \
+ config.h \
+ config.h.in \
pcre_printint.src \
pcredemo.c \
pcregrep.c \
@@ -118,6 +138,7 @@ files="Makefile.in configure.ac config.h.in \
pcreposix.c \
pcreposix.h \
pcre.h \
+ pcre.h.in \
pcre_internal.h
pcre_compile.c \
pcre_config.c \
@@ -153,54 +174,34 @@ files="Makefile.in configure.ac config.h.in \
ucpinternal.h \
ucptable.h \
makevp.bat \
- RunTest.bat \
pcre.def \
libpcre.def \
libpcreposix.def"
-docfiles="doc/Tech.Notes doc/p*"
-
echo Detrailing
-./maintain/Detrail $files doc/p* doc/html/*
-
-echo Building release
-echo " "
-
-mkdir Releases/$dir
-mkdir Releases/$dir/doc
-mkdir Releases/$dir/testdata
-
-cp $files RunTest.in RunGrepTest.in configure install-sh mkinstalldirs \
- config.guess config.sub libpcre.a.dev ltmain.sh Releases/$dir
-cp -r doc/* Releases/$dir/doc
-
-cp testdata/testinput1 testdata/testoutput1 \
- testdata/testinput2 testdata/testoutput2 \
- testdata/testinput3 testdata/testoutput3 \
- testdata/testinput4 testdata/testoutput4 \
- testdata/testinput5 testdata/testoutput5 \
- testdata/testinput6 testdata/testoutput6 \
- testdata/testinput7 testdata/testoutput7 \
- testdata/testinput8 testdata/testoutput8 \
- testdata/testinput9 testdata/testoutput9 \
- testdata/grepinput testdata/grepinputx \
- testdata/greplist testdata/grepoutput \
- testdata/grepinput8 testdata/grepoutput8 \
- Releases/$dir/testdata
-
-# Change the comparison command for testing to the standard one
-
-ne Releases/$dir/RunTest.in -with /dev/null -opt "ge/cf=cf//cf=diff/"
-ne Releases/$dir/RunGrepTest.in -with /dev/null -opt "ge/cf=cf//cf=diff/"
-
-cd Releases
-
-tar cf $dir.tar $dir
-gzip -v --best $dir.tar
-gpg -sb $dir.tar.gz
-
-tar cf $dir.tar $dir
-bzip2 -v -9 $dir.tar
-gpg -sb $dir.tar.bz2
+./Detrail $files doc/p* doc/html/*
+
+echo Converting pcre.h and config.h to generic forms
+cp -f pcre.h pcre.h.generic
+
+perl <<'END'
+ open(IN, "<config.h") || die "Can't open config.h: $!\n";
+ open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n";
+ while (<IN>)
+ {
+ if (/^#define\s(?!PACKAGE)(\w+)/)
+ {
+ print OUT "#ifndef $1\n";
+ print OUT;
+ print OUT "#endif\n";
+ }
+ else
+ {
+ print OUT;
+ }
+ }
+ close IN;
+ close OUT;
+END
#End
diff --git a/README b/README
index 0b68f18..f0ce818 100644
--- a/README
+++ b/README
@@ -4,6 +4,10 @@ README file for PCRE (Perl-compatible regular expression library)
The latest release of PCRE is always available from
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz
+
+There is a mailing list for discussion about the development of PCRE at
+
+ pcre-dev@exim.org
Please read the NEWS file if you are upgrading from a previous release.
The contents of this README file are:
@@ -17,6 +21,7 @@ The contents of this README file are:
Shared libraries on Unix-like systems
Cross-compiling on a Unix-like system
Using HP's ANSI C++ compiler (aCC)
+ Making new tarballs
Testing PCRE
Character tables
File manifest
@@ -69,12 +74,12 @@ supplied in two other forms:
those that summarize individual functions. The other two are the text
forms of the section 1 man pages for the pcregrep and pcretest commands.
These text forms are provided for ease of scanning with text editors or
- similar tools.
+ similar tools. They are installed in <prefix>/share/doc/pcre, where
+ <prefix> is the installation prefix (defaulting to /usr/local).
2. A set of files containing all the documentation in HTML form, hyperlinked
in various ways, and rooted in a file called index.html, is installed in
- the directory <prefix>/share/doc/pcre/html, where <prefix> is the
- installation prefix (defaulting to /usr/local).
+ the directory <prefix>/share/doc/pcre/html.
Contributions by users of PCRE
@@ -262,7 +267,7 @@ system. The following are installed (file names are all relative to the
Commands (bin):
pcretest
pcregrep
- pcre-config
+ pcre-config
Libraries (lib):
libpcre
@@ -295,17 +300,14 @@ system. The following are installed (file names are all relative to the
AUTHORS
COPYING
ChangeLog
- INSTALL
LICENCE
- NON-UNIX-USE
NEWS
README
pcre.txt (a concatenation of the man(3) pages)
pcretest.txt the pcretest man page
pcregrep.txt the pcregrep man page
- perltest.txt some information about the perltest.pl script
-Note that the pcredemo program that is built by "configure" is *not* installed
+Note that the pcredemo program that is built by "configure" is *not* installed
anywhere. It is a demonstration for programmers wanting to use PCRE.
If you want to remove PCRE from your system, you can run "make uninstall".
@@ -393,6 +395,15 @@ use the workaround of specifying the following environment variable prior to
running the "configure" script:
CXXLDFLAGS="-lstd_v2 -lCsup_v2"
+
+
+Making new tarballs
+-------------------
+
+The command "make dist" creates three PCRE tarballs, in tar.gz, tar.bz2, and
+zip formats. However, if you have modified any of the man page sources in the
+doc directory, you should first run the PrepareRelease script. This re-creates
+the .txt and HTML forms of the documentation from the man pages.
Testing PCRE
@@ -492,7 +503,7 @@ re-generated.
The first two 256-byte tables provide lower casing and case flipping functions,
respectively. The next table consists of three 32-byte bit maps which identify
digits, "word" characters, and white space, respectively. These are used when
-building 32-byte bit maps that represent character classes for code points less
+building 32-byte bit maps that represent character classes for code points less
than 256.
The final 256-byte table has bits indicating various character types, as
@@ -517,7 +528,7 @@ The distribution should contain the following files:
(A) Source files of the PCRE library functions and their headers:
dftables.c auxiliary program for building chartables.c
-
+
pcreposix.c )
pcre_compile.c )
pcre_config.c )
@@ -540,48 +551,49 @@ The distribution should contain the following files:
pcre_xclass.c )
pcre_printint.src ) debugging function that is #included in pcretest,
) and can also be #included in pcre_compile()
- pcre.h ) a version of the public PCRE header file
- ) for use in non-"configure" environments
pcre.h.in template for pcre.h when built by "configure"
pcreposix.h header for the external POSIX wrapper API
pcre_internal.h header for internal use
ucp.h ) headers concerned with
ucpinternal.h ) Unicode property handling
ucptable.h ) (this one is the data table)
-
- config.h ) a version of config.h for use in non-"configure"
- ) environments
- config.h.in template for config.h when built by "configure"
-
+
+ config.h.in template for config.h, which is built by "configure"
+
pcrecpp.h public header file for the C++ wrapper
pcrecpparg.h.in template for another C++ header file
- pcre_scanner.h public header file for C++ scanner functions
+ pcre_scanner.h public header file for C++ scanner functions
pcrecpp.cc )
pcre_scanner.cc ) source for the C++ wrapper library
-
+
pcre_stringpiece.h.in template for pcre_stringpiece.h, the header for the
C++ stringpiece functions
pcre_stringpiece.cc source for the C++ stringpiece functions
-
+
(B) Source files for programs that use PCRE:
pcredemo.c simple demonstration of coding calls to PCRE
pcregrep.c source of a grep utility that uses PCRE
pcretest.c comprehensive test program
-
-(C) Auxiliary files:
-
+
+(C) Auxiliary files:
+
+ 132html script to turn "man" pages into HTML
AUTHORS information about the author of PCRE
ChangeLog log of changes to the code
+ CleanTxt script to clean nroff output for txt man pages
+ Detrail script to remove trailing spaces
+ Index.html the base HTML page
INSTALL generic installation instructions
LICENCE conditions for the use of PCRE
COPYING the same, using GNU's standard name
- Makefile.in ) template for Unix Makefile, which is built by
+ Makefile.in ) template for Unix Makefile, which is built by
) "configure"
Makefile.am ) the automake input that was used to create
- ) Makefile.in
+ ) Makefile.in
NEWS important changes in this release
NON-UNIX-USE notes on building PCRE on non-Unix systems
+ PrepareRelease script to make preparations for "make dist"
README this file
RunTest.in template for a Unix shell script for running tests
RunGrepTest.in template for a Unix shell script for pcregrep tests
@@ -589,10 +601,10 @@ The distribution should contain the following files:
config.guess ) files used by libtool,
config.sub ) used only when building a shared library
configure a configuring shell script (built by autoconf)
- configure.ac ) the autoconf input that was used to build
+ configure.ac ) the autoconf input that was used to build
) "configure" and config.h
depcomp ) script to find program dependencies, generated by
- ) automake
+ ) automake
doc/*.3 man page sources for the PCRE functions
doc/*.1 man page sources for pcregrep and pcretest
doc/html/* HTML documentation
@@ -601,32 +613,39 @@ The distribution should contain the following files:
doc/perltest.txt plain text documentation of Perl test program
install-sh a shell script for installing files
libpcre.pc.in template for libpcre.pc for pkg-config
- libpcrecpp.pc.in template for libpcrecpp.pc for pkg-config
+ libpcrecpp.pc.in template for libpcrecpp.pc for pkg-config
ltmain.sh file used to build a libtool script
- missing ) common stub for a few missing GNU programs while
+ missing ) common stub for a few missing GNU programs while
) installing, generated by automake
mkinstalldirs script for making install directories
perltest.pl Perl test program
pcre-config.in source of script which retains PCRE information
- pcrecpp_unittest.c )
- pcre_scanner_unittest.c ) test programs for the C++ wrapper
- pcre_stringpiece_unittest.c )
+ pcrecpp_unittest.cc )
+ pcre_scanner_unittest.cc ) test programs for the C++ wrapper
+ pcre_stringpiece_unittest.cc )
testdata/testinput* test data for main library tests
testdata/testoutput* expected test results
testdata/grep* input and output for pcregrep tests
-
+
(D) Auxiliary files for cmake support
CMakeLists.txt
- config-cmake.h.in
+ config-cmake.h.in
(E) Auxiliary files for VPASCAL
makevp.bat
!compile.txt
!linklib.txt
- pcregexp.pas
-
+ pcregexp.pas
+
+(F) Auxiliary files for building PCRE "by hand"
+
+ pcre.h.generic ) a version of the public PCRE header file
+ ) for use in non-"configure" environments
+ config.h.generic ) a version of config.h for use in non-"configure"
+ ) environments
+
(F) Miscellaneous
RunTest.bat a script for running tests under Windows
diff --git a/config.h.in b/config.h.in
deleted file mode 100644
index a602602..0000000
--- a/config.h.in
+++ /dev/null
@@ -1,208 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-
-/* On Unix-like systems config.h.in is converted by "configure" into config.h.
-Some other environments also support the use of "configure". 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 system without "configure" you should use the distributed config.h, and
-set up the macros the way you need them.
-
-If your system has bcopy() and not memmove(), change the definitions of
-HAVE_BCOPY and HAVE_MEMMOVE. If your system has neither bcopy() nor memmove(),
-leave them both undefined; 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. */
-#undef EBCDIC
-
-/* Define to 1 if you have the `bcopy' function. */
-#undef HAVE_BCOPY
-
-/* Define to 1 if you have the <bits/type_traits.h> header file. */
-#undef HAVE_BITS_TYPE_TRAITS_H
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if the system has the type `long long'. */
-#undef HAVE_LONG_LONG
-
-/* Define to 1 if you have the `memmove' function. */
-#undef HAVE_MEMMOVE
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <string> header file. */
-#undef HAVE_STRING
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strtoll' function. */
-#undef HAVE_STRTOLL
-
-/* Define to 1 if you have the `strtoq' function. */
-#undef HAVE_STRTOQ
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <type_traits.h> header file. */
-#undef HAVE_TYPE_TRAITS_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if the system has the type `unsigned long long'. */
-#undef HAVE_UNSIGNED_LONG_LONG
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
-/* 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 systems that support it,
- "configure" can be used to override this default. */
-#undef LINK_SIZE
-
-/* The value of MATCH_LIMIT determines the default number of times the
- internal match() function can be called during a single execution of
- pcre_exec(). There is a runtime interface for 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 systems that
- support it, "configure" can be used to override this default default. */
-#undef MATCH_LIMIT
-
-/* The above limit applies to all calls of match(), whether or not they
- increase the recursion depth. In some environments it is desirable to limit
- the depth of recursive calls of match() more strictly, in order to restrict
- the maximum amount of stack (or heap, if NO_RECURSE is defined) that is
- used. The value of MATCH_LIMIT_RECURSION applies only to recursive calls of
- match(). To have any useful effect, it must be less than the value of
- MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT. There is
- a runtime method for setting a different limit. On systems that support it,
- "configure" can be used to override the default. */
-#undef MATCH_LIMIT_RECURSION
-
-/* This limit is parameterized just in case anybody ever wants to change it.
- Care must be taken if it is increased, because it guards against integer
- overflow caused by enormously large patterns. */
-#undef MAX_DUPLENGTH
-
-/* This limit is parameterized just in case anybody ever wants to change it.
- Care must be taken if it is increased, because it guards against integer
- overflow caused by enormously large patterns. */
-#undef MAX_NAME_COUNT
-
-/* This limit is parameterized just in case anybody ever wants to change it.
- Care must be taken if it is increased, because it guards against integer
- overflow caused by enormously large patterns. */
-#undef MAX_NAME_SIZE
-
-/* The value of NEWLINE determines the newline character sequence. On
- Unix-like systems, "configure" can be used to override the default, which
- is 10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF), or -1 (ANY).
- */
-#undef NEWLINE
-
-/* 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 obtain memory from the heap. For more detail, see
- the comments and other stuff just above the match() function. On systems
- that support it, "configure" can be used to set this in the Makefile (use
- --disable-stack-for-recursion). */
-#undef NO_RECURSE
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-
-/* If you are compiling for a system other than a Unix-like system or
- Win32, and it needs some magic to be inserted before the definition
- of a function that is exported by the library, define this macro to
- contain the relevant magic. If you do not define this macro, it
- defaults to "extern" for a C compiler and "extern C" for a C++
- compiler on non-Win32 systems. This macro apears at the start of
- every exported function that is part of the external API. It does
- not appear on functions that are "external" in the C sense, but
- which are internal to the library. */
-#undef PCRE_DATA_SCOPE
-
-/* Define if linking statically (TODO: make nice with Libtool) */
-#undef PCRE_STATIC
-
-/* 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
- used is defined by POSIX_MALLOC_THRESHOLD. On systems that support it,
- "configure" can be used to override this default. */
-#undef POSIX_MALLOC_THRESHOLD
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to enable support for Unicode properties */
-#undef SUPPORT_UCP
-
-/* Define to enable support for the UTF-8 Unicode encoding. */
-#undef SUPPORT_UTF8
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
diff --git a/configure.ac b/configure.ac
index e4c609e..9f6870b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -172,12 +172,14 @@ Some other environments also support the use of "configure". 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 system without "configure" you should use the distributed config.h, and
-set up the macros the way you need them.
+If you are going to build PCRE "by hand" on a system without "configure" you
+should copy the distributed config.h.generic to config.h, and then set up the
+macros the way you need them. Alternatively, you can avoid editing by using -D
+on the compiler command line to set the macro values.
-If your system has bcopy() and not memmove(), change the definitions of
-HAVE_BCOPY and HAVE_MEMMOVE. If your system has neither bcopy() nor memmove(),
-leave them both undefined; an emulation function will be used. */])
+PCRE uses memmove() if HAVE_MEMMOVE is set to 1; otherwise it uses bcopy() if
+HAVE_BCOPY is set to 1. If your system has neither bcopy() nor memmove(), set
+them both to 0; an emulation function will be used. */])
# Checks for header files.
AC_HEADER_STDC
@@ -260,9 +262,9 @@ if test "$enable_stack_for_recursion" = "no"; then
fi
AC_DEFINE_UNQUOTED([NEWLINE], [$ac_pcre_newline_value], [
- The value of NEWLINE determines the newline character sequence. On
+ The value of NEWLINE determines the newline character sequence. On
Unix-like systems, "configure" can be used to override the default,
- which is 10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF),
+ which is 10. The possible values are 10 (LF), 13 (CR), 3338 (CRLF),
or -1 (ANY).])
AC_DEFINE_UNQUOTED([LINK_SIZE], [$with_link_size], [
@@ -302,8 +304,8 @@ AC_DEFINE_UNQUOTED([MATCH_LIMIT_RECURSION], [$with_match_limit_recursion], [
NO_RECURSE is defined) that is used. The value of
MATCH_LIMIT_RECURSION applies only to recursive calls of match(). To
have any useful effect, it must be less than the value of
- MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
- There is a runtime method for setting a different limit. On systems
+ MATCH_LIMIT. The default is to use the same value as MATCH_LIMIT.
+ There is a runtime method for setting a different limit. On systems
that support it, "configure" can be used to override the default.])
AC_DEFINE([MAX_NAME_SIZE], [32], [
diff --git a/doc/html/index.html b/doc/html/index.html
index 29d3b01..68932e8 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -59,11 +59,11 @@ The HTML documentation for PCRE comprises the following pages:
</table>
<p>
-There are also individual pages that summarize the interface for each function
+There are also individual pages that summarize the interface for each function
in the library:
</p>
-<table>
+<table>
<tr><td><a href="pcre_compile.html">pcre_compile</a></td>
<td>&nbsp;&nbsp;Compile a regular expression</td></tr>
@@ -114,7 +114,7 @@ in the library:
<tr><td><a href="pcre_maketables.html">pcre_maketables</a></td>
<td>&nbsp;&nbsp;Build character tables in current locale</td></tr>
-
+
<tr><td><a href="pcre_refcount.html">pcre_refcount</a></td>
<td>&nbsp;&nbsp;Maintain reference count in compiled pattern</td></tr>
diff --git a/doc/html/pcre.html b/doc/html/pcre.html
index 03dd886..b6ff2c7 100644
--- a/doc/html/pcre.html
+++ b/doc/html/pcre.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">INTRODUCTION</a>
<li><a name="TOC2" href="#SEC2">USER DOCUMENTATION</a>
diff --git a/doc/html/pcre_compile.html b/doc/html/pcre_compile.html
index 13e49b1..e69078c 100644
--- a/doc/html/pcre_compile.html
+++ b/doc/html/pcre_compile.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_compile2.html b/doc/html/pcre_compile2.html
index e6d9b0c..e17a698 100644
--- a/doc/html/pcre_compile2.html
+++ b/doc/html/pcre_compile2.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_config.html b/doc/html/pcre_config.html
index 0146251..d362cd6 100644
--- a/doc/html/pcre_config.html
+++ b/doc/html/pcre_config.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_copy_named_substring.html b/doc/html/pcre_copy_named_substring.html
index f5e1f09..2185518 100644
--- a/doc/html/pcre_copy_named_substring.html
+++ b/doc/html/pcre_copy_named_substring.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_copy_substring.html b/doc/html/pcre_copy_substring.html
index cc0f221..b7d2341 100644
--- a/doc/html/pcre_copy_substring.html
+++ b/doc/html/pcre_copy_substring.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_dfa_exec.html b/doc/html/pcre_dfa_exec.html
index 6ca364c..92b444f 100644
--- a/doc/html/pcre_dfa_exec.html
+++ b/doc/html/pcre_dfa_exec.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_exec.html b/doc/html/pcre_exec.html
index 10c14a1..9da31a1 100644
--- a/doc/html/pcre_exec.html
+++ b/doc/html/pcre_exec.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_free_substring.html b/doc/html/pcre_free_substring.html
index f55d529..fe62614 100644
--- a/doc/html/pcre_free_substring.html
+++ b/doc/html/pcre_free_substring.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_free_substring_list.html b/doc/html/pcre_free_substring_list.html
index 26a5480..a92c960 100644
--- a/doc/html/pcre_free_substring_list.html
+++ b/doc/html/pcre_free_substring_list.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_fullinfo.html b/doc/html/pcre_fullinfo.html
index 7ebb29d..ac24f8e 100644
--- a/doc/html/pcre_fullinfo.html
+++ b/doc/html/pcre_fullinfo.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_get_named_substring.html b/doc/html/pcre_get_named_substring.html
index 53e6052..24dc058 100644
--- a/doc/html/pcre_get_named_substring.html
+++ b/doc/html/pcre_get_named_substring.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_get_stringnumber.html b/doc/html/pcre_get_stringnumber.html
index 3d05c87..43af3aa 100644
--- a/doc/html/pcre_get_stringnumber.html
+++ b/doc/html/pcre_get_stringnumber.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_get_stringtable_entries.html b/doc/html/pcre_get_stringtable_entries.html
index 8d68696..dc20ffd 100644
--- a/doc/html/pcre_get_stringtable_entries.html
+++ b/doc/html/pcre_get_stringtable_entries.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_get_substring.html b/doc/html/pcre_get_substring.html
index c394e18..9b40e4d 100644
--- a/doc/html/pcre_get_substring.html
+++ b/doc/html/pcre_get_substring.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_get_substring_list.html b/doc/html/pcre_get_substring_list.html
index a508250..617a315 100644
--- a/doc/html/pcre_get_substring_list.html
+++ b/doc/html/pcre_get_substring_list.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_info.html b/doc/html/pcre_info.html
index 103b060..6693ffe 100644
--- a/doc/html/pcre_info.html
+++ b/doc/html/pcre_info.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_maketables.html b/doc/html/pcre_maketables.html
index 9c644d2..cf8d69e 100644
--- a/doc/html/pcre_maketables.html
+++ b/doc/html/pcre_maketables.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_refcount.html b/doc/html/pcre_refcount.html
index 3f6f3e6..b748df2 100644
--- a/doc/html/pcre_refcount.html
+++ b/doc/html/pcre_refcount.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_study.html b/doc/html/pcre_study.html
index 85583e8..d290420 100644
--- a/doc/html/pcre_study.html
+++ b/doc/html/pcre_study.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcre_version.html b/doc/html/pcre_version.html
index 56d978e..7bc8f86 100644
--- a/doc/html/pcre_version.html
+++ b/doc/html/pcre_version.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
SYNOPSIS
</b><br>
diff --git a/doc/html/pcreapi.html b/doc/html/pcreapi.html
index 3b17b25..c69dfa2 100644
--- a/doc/html/pcreapi.html
+++ b/doc/html/pcreapi.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE NATIVE API</a>
<li><a name="TOC2" href="#SEC2">PCRE API OVERVIEW</a>
diff --git a/doc/html/pcrebuild.html b/doc/html/pcrebuild.html
index 3c4776b..cf650e5 100644
--- a/doc/html/pcrebuild.html
+++ b/doc/html/pcrebuild.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE BUILD-TIME OPTIONS</a>
<li><a name="TOC2" href="#SEC2">C++ SUPPORT</a>
diff --git a/doc/html/pcrecallout.html b/doc/html/pcrecallout.html
index 2e661a5..19e457a 100644
--- a/doc/html/pcrecallout.html
+++ b/doc/html/pcrecallout.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE CALLOUTS</a>
<li><a name="TOC2" href="#SEC2">MISSING CALLOUTS</a>
diff --git a/doc/html/pcrecompat.html b/doc/html/pcrecompat.html
index 1a30271..638658a 100644
--- a/doc/html/pcrecompat.html
+++ b/doc/html/pcrecompat.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
DIFFERENCES BETWEEN PCRE AND PERL
</b><br>
diff --git a/doc/html/pcrecpp.html b/doc/html/pcrecpp.html
index e641633..7b07f49 100644
--- a/doc/html/pcrecpp.html
+++ b/doc/html/pcrecpp.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS OF C++ WRAPPER</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
diff --git a/doc/html/pcregrep.html b/doc/html/pcregrep.html
index 3a4f4ed..428c4b3 100644
--- a/doc/html/pcregrep.html
+++ b/doc/html/pcregrep.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
diff --git a/doc/html/pcrematching.html b/doc/html/pcrematching.html
index 1e565bf..fdac718 100644
--- a/doc/html/pcrematching.html
+++ b/doc/html/pcrematching.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE MATCHING ALGORITHMS</a>
<li><a name="TOC2" href="#SEC2">REGULAR EXPRESSIONS AS TREES</a>
diff --git a/doc/html/pcrepartial.html b/doc/html/pcrepartial.html
index 14721ff..449c36c 100644
--- a/doc/html/pcrepartial.html
+++ b/doc/html/pcrepartial.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PARTIAL MATCHING IN PCRE</a>
<li><a name="TOC2" href="#SEC2">RESTRICTED PATTERNS FOR PCRE_PARTIAL</a>
diff --git a/doc/html/pcrepattern.html b/doc/html/pcrepattern.html
index ad07a93..6846df0 100644
--- a/doc/html/pcrepattern.html
+++ b/doc/html/pcrepattern.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">PCRE REGULAR EXPRESSION DETAILS</a>
<li><a name="TOC2" href="#SEC2">CHARACTERS AND METACHARACTERS</a>
diff --git a/doc/html/pcreperform.html b/doc/html/pcreperform.html
index 67e5316..41d893d 100644
--- a/doc/html/pcreperform.html
+++ b/doc/html/pcreperform.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
PCRE PERFORMANCE
</b><br>
diff --git a/doc/html/pcreposix.html b/doc/html/pcreposix.html
index 9595038..81e43df 100644
--- a/doc/html/pcreposix.html
+++ b/doc/html/pcreposix.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS OF POSIX API</a>
<li><a name="TOC2" href="#SEC2">DESCRIPTION</a>
diff --git a/doc/html/pcreprecompile.html b/doc/html/pcreprecompile.html
index c801006..97619b0 100644
--- a/doc/html/pcreprecompile.html
+++ b/doc/html/pcreprecompile.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">SAVING AND RE-USING PRECOMPILED PCRE PATTERNS</a>
<li><a name="TOC2" href="#SEC2">SAVING A COMPILED PATTERN</a>
diff --git a/doc/html/pcresample.html b/doc/html/pcresample.html
index 9bdf375..b3c924d 100644
--- a/doc/html/pcresample.html
+++ b/doc/html/pcresample.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
PCRE SAMPLE PROGRAM
</b><br>
diff --git a/doc/html/pcrestack.html b/doc/html/pcrestack.html
index a7484f7..525cc99 100644
--- a/doc/html/pcrestack.html
+++ b/doc/html/pcrestack.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<br><b>
PCRE DISCUSSION OF STACK USAGE
</b><br>
diff --git a/doc/html/pcretest.html b/doc/html/pcretest.html
index d7965af..f46d139 100644
--- a/doc/html/pcretest.html
+++ b/doc/html/pcretest.html
@@ -7,11 +7,11 @@
<p>
Return to the <a href="index.html">PCRE index page</a>.
</p>
-<p>
+<p>
This page is part of the PCRE HTML documentation. It was generated automatically
from the original man page. If there is any nonsense in it, please consult the
man page, in case the conversion went wrong.
-<br>
+<br>
<ul>
<li><a name="TOC1" href="#SEC1">SYNOPSIS</a>
<li><a name="TOC2" href="#SEC2">OPTIONS</a>
diff --git a/doc/pcre.txt b/doc/pcre.txt
index 39c5a04..e733571 100644
--- a/doc/pcre.txt
+++ b/doc/pcre.txt
@@ -224,8 +224,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREBUILD(3) PCREBUILD(3)
@@ -458,8 +458,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREMATCHING(3) PCREMATCHING(3)
@@ -648,8 +648,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREAPI(3) PCREAPI(3)
@@ -2354,8 +2354,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECALLOUT(3) PCRECALLOUT(3)
@@ -2523,8 +2523,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECOMPAT(3) PCRECOMPAT(3)
@@ -2651,8 +2651,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPATTERN(3) PCREPATTERN(3)
@@ -4337,8 +4337,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPARTIAL(3) PCREPARTIAL(3)
@@ -4558,8 +4558,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPRECOMPILE(3) PCREPRECOMPILE(3)
@@ -4690,8 +4690,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPERFORM(3) PCREPERFORM(3)
@@ -4840,8 +4840,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCREPOSIX(3) PCREPOSIX(3)
@@ -5060,8 +5060,8 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
PCRECPP(3) PCRECPP(3)
@@ -5396,8 +5396,8 @@ REVISION
Last updated: 06 March 2007
------------------------------------------------------------------------------
-
-
+
+
PCRESAMPLE(3) PCRESAMPLE(3)
@@ -5590,5 +5590,5 @@ REVISION
Last updated: 06 March 2007
Copyright (c) 1997-2007 University of Cambridge.
------------------------------------------------------------------------------
-
-
+
+
diff --git a/maintain/README b/maintain/README
index 4d97beb..56224f8 100644
--- a/maintain/README
+++ b/maintain/README
@@ -2,31 +2,11 @@ The files in the "maintain" directory of the PCRE source contain data, scripts,
and programs that are used for the maintenance of PCRE, but do not form part of
the PCRE distribution tarballs.
-132html A Perl script that converts a .1 or .3 man page into HTML. It
- is called from MakeRelease. It "knows" the relevant troff
- constructs that are used in the PCRE man pages.
-
Builducptable A Perl script that creates the contents of the ucptable.h file
from two Unicode data files, which themselves are downloaded
from the Unicode web site. Run this script in the "maintain"
directory.
-CleanTxt A Perl script that cleans up the output of "nroff -man" by
- removing backspaces and other redundant text so as to produce
- a readable .txt file. It is called from MakeRelease.
-
-Detrail A Perl script that removes trailing spaces from files. It is
- called from MakeRelease.
-
-Index.html A file that is copied as index.html into the doc/html
- directory when the HTML documentation is being built. It works
- like this so that doc/html can be deleted and re-created from
- scratch.
-
-MakeRelease My script for creating a new release. It processes the
- documentation man pages into .text and HTML formats before
- creating tarballs and putting them in the Releases directory.
-
Tech.Notes Some notes about the internals of the PCRE code.
Unicode.tables The files in this directory, Scripts.txt and UnicodeData.txt,
diff --git a/pcre-config.in b/pcre-config.in
index a95c6bb..3b52101 100644
--- a/pcre-config.in
+++ b/pcre-config.in
@@ -19,7 +19,7 @@ case `uname -s` in
;;
*BSD*)
libR=" -Wl,-R@libdir@"
- ;;
+ ;;
esac
while test $# -gt 0; do
diff --git a/pcre.h b/pcre.h
deleted file mode 100644
index 62b88ea..0000000
--- a/pcre.h
+++ /dev/null
@@ -1,283 +0,0 @@
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* This is the public header file for the PCRE library, to be #included by
-applications that call the PCRE functions.
-
- Copyright (c) 1997-2006 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-#ifndef _PCRE_H
-#define _PCRE_H
-
-/* The current PCRE version information. */
-
-#define PCRE_MAJOR 7
-#define PCRE_MINOR 1
-#define PCRE_PRERELEASE -RC1
-#define PCRE_DATE 2007-03-05
-
-/* Win32 uses DLL by default; it needs special stuff for exported functions
-when building PCRE. */
-
-#ifdef _WIN32
-# ifdef PCRE_DEFINITION
-# ifdef DLL_EXPORT
-# define PCRE_DATA_SCOPE __declspec(dllexport)
-# endif
-# else
-# ifndef PCRE_STATIC
-# define PCRE_DATA_SCOPE extern __declspec(dllimport)
-# endif
-# endif
-#endif
-
-/* Otherwise, we use the standard "extern". */
-
-#ifndef PCRE_DATA_SCOPE
-# ifdef __cplusplus
-# define PCRE_DATA_SCOPE extern "C"
-# else
-# define PCRE_DATA_SCOPE extern
-# endif
-#endif
-
-/* Have to include stdlib.h in order to ensure that size_t is defined;
-it is needed here for malloc. */
-
-#include <stdlib.h>
-
-/* Allow for C++ users */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Options */
-
-#define PCRE_CASELESS 0x00000001
-#define PCRE_MULTILINE 0x00000002
-#define PCRE_DOTALL 0x00000004
-#define PCRE_EXTENDED 0x00000008
-#define PCRE_ANCHORED 0x00000010
-#define PCRE_DOLLAR_ENDONLY 0x00000020
-#define PCRE_EXTRA 0x00000040
-#define PCRE_NOTBOL 0x00000080
-#define PCRE_NOTEOL 0x00000100
-#define PCRE_UNGREEDY 0x00000200
-#define PCRE_NOTEMPTY 0x00000400
-#define PCRE_UTF8 0x00000800
-#define PCRE_NO_AUTO_CAPTURE 0x00001000
-#define PCRE_NO_UTF8_CHECK 0x00002000
-#define PCRE_AUTO_CALLOUT 0x00004000
-#define PCRE_PARTIAL 0x00008000
-#define PCRE_DFA_SHORTEST 0x00010000
-#define PCRE_DFA_RESTART 0x00020000
-#define PCRE_FIRSTLINE 0x00040000
-#define PCRE_DUPNAMES 0x00080000
-#define PCRE_NEWLINE_CR 0x00100000
-#define PCRE_NEWLINE_LF 0x00200000
-#define PCRE_NEWLINE_CRLF 0x00300000
-#define PCRE_NEWLINE_ANY 0x00400000
-
-/* Exec-time and get/set-time error codes */
-
-#define PCRE_ERROR_NOMATCH (-1)
-#define PCRE_ERROR_NULL (-2)
-#define PCRE_ERROR_BADOPTION (-3)
-#define PCRE_ERROR_BADMAGIC (-4)
-#define PCRE_ERROR_UNKNOWN_OPCODE (-5)
-#define PCRE_ERROR_UNKNOWN_NODE (-5) /* For backward compatibility */
-#define PCRE_ERROR_NOMEMORY (-6)
-#define PCRE_ERROR_NOSUBSTRING (-7)
-#define PCRE_ERROR_MATCHLIMIT (-8)
-#define PCRE_ERROR_CALLOUT (-9) /* Never used by PCRE itself */
-#define PCRE_ERROR_BADUTF8 (-10)
-#define PCRE_ERROR_BADUTF8_OFFSET (-11)
-#define PCRE_ERROR_PARTIAL (-12)
-#define PCRE_ERROR_BADPARTIAL (-13)
-#define PCRE_ERROR_INTERNAL (-14)
-#define PCRE_ERROR_BADCOUNT (-15)
-#define PCRE_ERROR_DFA_UITEM (-16)
-#define PCRE_ERROR_DFA_UCOND (-17)
-#define PCRE_ERROR_DFA_UMLIMIT (-18)
-#define PCRE_ERROR_DFA_WSSIZE (-19)
-#define PCRE_ERROR_DFA_RECURSE (-20)
-#define PCRE_ERROR_RECURSIONLIMIT (-21)
-#define PCRE_ERROR_NULLWSLIMIT (-22)
-#define PCRE_ERROR_BADNEWLINE (-23)
-
-/* Request types for pcre_fullinfo() */
-
-#define PCRE_INFO_OPTIONS 0
-#define PCRE_INFO_SIZE 1
-#define PCRE_INFO_CAPTURECOUNT 2
-#define PCRE_INFO_BACKREFMAX 3
-#define PCRE_INFO_FIRSTBYTE 4
-#define PCRE_INFO_FIRSTCHAR 4 /* For backwards compatibility */
-#define PCRE_INFO_FIRSTTABLE 5
-#define PCRE_INFO_LASTLITERAL 6
-#define PCRE_INFO_NAMEENTRYSIZE 7
-#define PCRE_INFO_NAMECOUNT 8
-#define PCRE_INFO_NAMETABLE 9
-#define PCRE_INFO_STUDYSIZE 10
-#define PCRE_INFO_DEFAULT_TABLES 11
-
-/* Request types for pcre_config(). Do not re-arrange, in order to remain
-compatible. */
-
-#define PCRE_CONFIG_UTF8 0
-#define PCRE_CONFIG_NEWLINE 1
-#define PCRE_CONFIG_LINK_SIZE 2
-#define PCRE_CONFIG_POSIX_MALLOC_THRESHOLD 3
-#define PCRE_CONFIG_MATCH_LIMIT 4
-#define PCRE_CONFIG_STACKRECURSE 5
-#define PCRE_CONFIG_UNICODE_PROPERTIES 6
-#define PCRE_CONFIG_MATCH_LIMIT_RECURSION 7
-
-/* Bit flags for the pcre_extra structure. Do not re-arrange or redefine
-these bits, just add new ones on the end, in order to remain compatible. */
-
-#define PCRE_EXTRA_STUDY_DATA 0x0001
-#define PCRE_EXTRA_MATCH_LIMIT 0x0002
-#define PCRE_EXTRA_CALLOUT_DATA 0x0004
-#define PCRE_EXTRA_TABLES 0x0008
-#define PCRE_EXTRA_MATCH_LIMIT_RECURSION 0x0010
-
-/* Types */
-
-struct real_pcre; /* declaration; the definition is private */
-typedef struct real_pcre pcre;
-
-/* When PCRE is compiled as a C++ library, the subject pointer type can be
-replaced with a custom type. For conventional use, the public interface is a
-const char *. */
-
-#ifndef PCRE_SPTR
-#define PCRE_SPTR const char *
-#endif
-
-/* The structure for passing additional data to pcre_exec(). This is defined in
-such as way as to be extensible. Always add new fields at the end, in order to
-remain compatible. */
-
-typedef struct pcre_extra {
- unsigned long int flags; /* Bits for which fields are set */
- void *study_data; /* Opaque data from pcre_study() */
- unsigned long int match_limit; /* Maximum number of calls to match() */
- void *callout_data; /* Data passed back in callouts */
- const unsigned char *tables; /* Pointer to character tables */
- unsigned long int match_limit_recursion; /* Max recursive calls to match() */
-} pcre_extra;
-
-/* The structure for passing out data via the pcre_callout_function. We use a
-structure so that new fields can be added on the end in future versions,
-without changing the API of the function, thereby allowing old clients to work
-without modification. */
-
-typedef struct pcre_callout_block {
- int version; /* Identifies version of block */
- /* ------------------------ Version 0 ------------------------------- */
- int callout_number; /* Number compiled into pattern */
- int *offset_vector; /* The offset vector */
- PCRE_SPTR subject; /* The subject being matched */
- int subject_length; /* The length of the subject */
- int start_match; /* Offset to start of this match attempt */
- int current_position; /* Where we currently are in the subject */
- int capture_top; /* Max current capture */
- int capture_last; /* Most recently closed capture */
- void *callout_data; /* Data passed in with the call */
- /* ------------------- Added for Version 1 -------------------------- */
- int pattern_position; /* Offset to next item in the pattern */
- int next_item_length; /* Length of next item in the pattern */
- /* ------------------------------------------------------------------ */
-} pcre_callout_block;
-
-/* Indirection for store get and free functions. These can be set to
-alternative malloc/free functions if required. Special ones are used in the
-non-recursive case for "frames". There is also an optional callout function
-that is triggered by the (?) regex item. For Virtual Pascal, these definitions
-have to take another form. */
-
-#ifndef VPCOMPAT
-PCRE_DATA_SCOPE void *(*pcre_malloc)(size_t);
-PCRE_DATA_SCOPE void (*pcre_free)(void *);
-PCRE_DATA_SCOPE void *(*pcre_stack_malloc)(size_t);
-PCRE_DATA_SCOPE void (*pcre_stack_free)(void *);
-PCRE_DATA_SCOPE int (*pcre_callout)(pcre_callout_block *);
-#else /* VPCOMPAT */
-PCRE_DATA_SCOPE void *pcre_malloc(size_t);
-PCRE_DATA_SCOPE void pcre_free(void *);
-PCRE_DATA_SCOPE void *pcre_stack_malloc(size_t);
-PCRE_DATA_SCOPE void pcre_stack_free(void *);
-PCRE_DATA_SCOPE int pcre_callout(pcre_callout_block *);
-#endif /* VPCOMPAT */
-
-/* Exported PCRE functions */
-
-PCRE_DATA_SCOPE pcre *pcre_compile(const char *, int, const char **, int *,
- const unsigned char *);
-PCRE_DATA_SCOPE pcre *pcre_compile2(const char *, int, int *, const char **,
- int *, const unsigned char *);
-PCRE_DATA_SCOPE int pcre_config(int, void *);
-PCRE_DATA_SCOPE int pcre_copy_named_substring(const pcre *, const char *,
- int *, int, const char *, char *, int);
-PCRE_DATA_SCOPE int pcre_copy_substring(const char *, int *, int, int, char *,
- int);
-PCRE_DATA_SCOPE int pcre_dfa_exec(const pcre *, const pcre_extra *,
- const char *, int, int, int, int *, int , int *, int);
-PCRE_DATA_SCOPE int pcre_exec(const pcre *, const pcre_extra *, PCRE_SPTR,
- int, int, int, int *, int);
-PCRE_DATA_SCOPE void pcre_free_substring(const char *);
-PCRE_DATA_SCOPE void pcre_free_substring_list(const char **);
-PCRE_DATA_SCOPE int pcre_fullinfo(const pcre *, const pcre_extra *, int,
- void *);
-PCRE_DATA_SCOPE int pcre_get_named_substring(const pcre *, const char *,
- int *, int, const char *, const char **);
-PCRE_DATA_SCOPE int pcre_get_stringnumber(const pcre *, const char *);
-PCRE_DATA_SCOPE int pcre_get_stringtable_entries(const pcre *, const char *,
- char **, char **);
-PCRE_DATA_SCOPE int pcre_get_substring(const char *, int *, int, int,
- const char **);
-PCRE_DATA_SCOPE int pcre_get_substring_list(const char *, int *, int,
- const char ***);
-PCRE_DATA_SCOPE int pcre_info(const pcre *, int *, int *);
-PCRE_DATA_SCOPE const unsigned char *pcre_maketables(void);
-PCRE_DATA_SCOPE int pcre_refcount(pcre *, int);
-PCRE_DATA_SCOPE pcre_extra *pcre_study(const pcre *, int, const char **);
-PCRE_DATA_SCOPE const char *pcre_version(void);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* End of pcre.h */
diff --git a/pcre_compile.c b/pcre_compile.c
index 20e0f80..404fc94 100644
--- a/pcre_compile.c
+++ b/pcre_compile.c
@@ -1267,7 +1267,7 @@ for (;;)
if (code[-1] >= 0xc0) code += _pcre_utf8_table4[code[-1] & 0x3f];
break;
}
-#endif
+#endif
}
}
}
@@ -1332,7 +1332,7 @@ for (;;)
if (code[-1] >= 0xc0) code += _pcre_utf8_table4[code[-1] & 0x3f];
break;
}
-#endif
+#endif
}
}
}
diff --git a/pcre_printint.src b/pcre_printint.src
index ecbf7a0..a0a293d 100644
--- a/pcre_printint.src
+++ b/pcre_printint.src
@@ -108,7 +108,7 @@ else
if (c < 128) fprintf(f, "\\x%02x", c); else fprintf(f, "\\x{%x}", c);
return a;
}
-#endif
+#endif
}
diff --git a/pcre_study.c b/pcre_study.c
index b23a3fb..3bb871b 100644
--- a/pcre_study.c
+++ b/pcre_study.c
@@ -394,13 +394,13 @@ do
character with a value > 255. */
case OP_NCLASS:
-#ifdef SUPPORT_UTF8
+#ifdef SUPPORT_UTF8
if (utf8)
{
start_bits[24] |= 0xf0; /* Bits for 0xc4 - 0xc8 */
memset(start_bits+25, 0xff, 7); /* Bits for 0xc9 - 0xff */
}
-#endif
+#endif
/* Fall through */
case OP_CLASS:
@@ -431,7 +431,7 @@ do
/* In non-UTF-8 mode, the two bit maps are completely compatible. */
else
-#endif
+#endif
{
for (c = 0; c < 32; c++) start_bits[c] |= tcode[c];
}