Revision: 3781
http://svn.sourceforge.net/winmerge/?rev=3781&view=rev
Author: kimmov
Date: 2006-11-07 08:28:04 -0800 (Tue, 07 Nov 2006)
Log Message:
-----------
Add PCRE 6.7 (with windows build files from ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib/)
Modified Paths:
--------------
trunk/Src/Changes.txt
Added Paths:
-----------
trunk/Externals/pcre/
trunk/Externals/pcre/config_pcre/
trunk/Externals/pcre/config_pcre/config_pcre.dsp
trunk/Externals/pcre/config_pcre/configure.mak
trunk/Externals/pcre/dll_pcre/
trunk/Externals/pcre/dll_pcre/pcre.dsp
trunk/Externals/pcre/lib_pcre/
trunk/Externals/pcre/lib_pcre/lib_pcre.dsp
trunk/Externals/pcre/lib_pcreposix/
trunk/Externals/pcre/lib_pcreposix/lib_pcreposix.dsp
trunk/Externals/pcre/pcre-6.7/
trunk/Externals/pcre/pcre-6.7/AUTHORS
trunk/Externals/pcre/pcre-6.7/COPYING
trunk/Externals/pcre/pcre-6.7/ChangeLog
trunk/Externals/pcre/pcre-6.7/INSTALL
trunk/Externals/pcre/pcre-6.7/LICENCE
trunk/Externals/pcre/pcre-6.7/Makefile.in
trunk/Externals/pcre/pcre-6.7/NEWS
trunk/Externals/pcre/pcre-6.7/NON-UNIX-USE
trunk/Externals/pcre/pcre-6.7/README
trunk/Externals/pcre/pcre-6.7/RunGrepTest.in
trunk/Externals/pcre/pcre-6.7/RunTest.in
trunk/Externals/pcre/pcre-6.7/config.guess
trunk/Externals/pcre/pcre-6.7/config.h.in
trunk/Externals/pcre/pcre-6.7/config.sub
trunk/Externals/pcre/pcre-6.7/configure
trunk/Externals/pcre/pcre-6.7/configure.ac
trunk/Externals/pcre/pcre-6.7/dftables.c
trunk/Externals/pcre/pcre-6.7/doc/
trunk/Externals/pcre/pcre-6.7/doc/Tech.Notes
trunk/Externals/pcre/pcre-6.7/doc/html/
trunk/Externals/pcre/pcre-6.7/doc/html/index.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_compile.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_compile2.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_config.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_copy_named_substring.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_copy_substring.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_dfa_exec.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_exec.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_free_substring.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_free_substring_list.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_fullinfo.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_get_named_substring.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_get_stringnumber.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_get_stringtable_entries.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_get_substring.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_get_substring_list.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_info.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_maketables.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_refcount.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_study.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcre_version.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcreapi.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrebuild.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrecallout.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrecompat.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrecpp.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcregrep.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrematching.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrepartial.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrepattern.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcreperform.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcreposix.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcreprecompile.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcresample.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcrestack.html
trunk/Externals/pcre/pcre-6.7/doc/html/pcretest.html
trunk/Externals/pcre/pcre-6.7/doc/pcre.3
trunk/Externals/pcre/pcre-6.7/doc/pcre.txt
trunk/Externals/pcre/pcre-6.7/doc/pcre_compile.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_compile2.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_config.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_copy_named_substring.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_copy_substring.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_dfa_exec.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_exec.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_free_substring.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_free_substring_list.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_fullinfo.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_get_named_substring.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_get_stringnumber.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_get_stringtable_entries.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_get_substring.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_get_substring_list.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_info.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_maketables.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_refcount.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_study.3
trunk/Externals/pcre/pcre-6.7/doc/pcre_version.3
trunk/Externals/pcre/pcre-6.7/doc/pcreapi.3
trunk/Externals/pcre/pcre-6.7/doc/pcrebuild.3
trunk/Externals/pcre/pcre-6.7/doc/pcrecallout.3
trunk/Externals/pcre/pcre-6.7/doc/pcrecompat.3
trunk/Externals/pcre/pcre-6.7/doc/pcrecpp.3
trunk/Externals/pcre/pcre-6.7/doc/pcregrep.1
trunk/Externals/pcre/pcre-6.7/doc/pcregrep.txt
trunk/Externals/pcre/pcre-6.7/doc/pcrematching.3
trunk/Externals/pcre/pcre-6.7/doc/pcrepartial.3
trunk/Externals/pcre/pcre-6.7/doc/pcrepattern.3
trunk/Externals/pcre/pcre-6.7/doc/pcreperform.3
trunk/Externals/pcre/pcre-6.7/doc/pcreposix.3
trunk/Externals/pcre/pcre-6.7/doc/pcreprecompile.3
trunk/Externals/pcre/pcre-6.7/doc/pcresample.3
trunk/Externals/pcre/pcre-6.7/doc/pcrestack.3
trunk/Externals/pcre/pcre-6.7/doc/pcretest.1
trunk/Externals/pcre/pcre-6.7/doc/pcretest.txt
trunk/Externals/pcre/pcre-6.7/doc/perltest.txt
trunk/Externals/pcre/pcre-6.7/install-sh
trunk/Externals/pcre/pcre-6.7/libpcre.def
trunk/Externals/pcre/pcre-6.7/libpcre.pc.in
trunk/Externals/pcre/pcre-6.7/libpcreposix.def
trunk/Externals/pcre/pcre-6.7/ltmain.sh
trunk/Externals/pcre/pcre-6.7/makevp.bat
trunk/Externals/pcre/pcre-6.7/mkinstalldirs
trunk/Externals/pcre/pcre-6.7/pcre-config.in
trunk/Externals/pcre/pcre-6.7/pcre.def
trunk/Externals/pcre/pcre-6.7/pcre.h
trunk/Externals/pcre/pcre-6.7/pcre_compile.c
trunk/Externals/pcre/pcre-6.7/pcre_config.c
trunk/Externals/pcre/pcre-6.7/pcre_dfa_exec.c
trunk/Externals/pcre/pcre-6.7/pcre_exec.c
trunk/Externals/pcre/pcre-6.7/pcre_fullinfo.c
trunk/Externals/pcre/pcre-6.7/pcre_get.c
trunk/Externals/pcre/pcre-6.7/pcre_globals.c
trunk/Externals/pcre/pcre-6.7/pcre_info.c
trunk/Externals/pcre/pcre-6.7/pcre_internal.h
trunk/Externals/pcre/pcre-6.7/pcre_maketables.c
trunk/Externals/pcre/pcre-6.7/pcre_ord2utf8.c
trunk/Externals/pcre/pcre-6.7/pcre_printint.src
trunk/Externals/pcre/pcre-6.7/pcre_refcount.c
trunk/Externals/pcre/pcre-6.7/pcre_scanner.cc
trunk/Externals/pcre/pcre-6.7/pcre_scanner.h
trunk/Externals/pcre/pcre-6.7/pcre_scanner_unittest.cc
trunk/Externals/pcre/pcre-6.7/pcre_stringpiece.cc
trunk/Externals/pcre/pcre-6.7/pcre_stringpiece.h.in
trunk/Externals/pcre/pcre-6.7/pcre_stringpiece_unittest.cc
trunk/Externals/pcre/pcre-6.7/pcre_study.c
trunk/Externals/pcre/pcre-6.7/pcre_tables.c
trunk/Externals/pcre/pcre-6.7/pcre_try_flipped.c
trunk/Externals/pcre/pcre-6.7/pcre_ucp_searchfuncs.c
trunk/Externals/pcre/pcre-6.7/pcre_valid_utf8.c
trunk/Externals/pcre/pcre-6.7/pcre_version.c
trunk/Externals/pcre/pcre-6.7/pcre_xclass.c
trunk/Externals/pcre/pcre-6.7/pcrecpp.cc
trunk/Externals/pcre/pcre-6.7/pcrecpp.h
trunk/Externals/pcre/pcre-6.7/pcrecpp_unittest.cc
trunk/Externals/pcre/pcre-6.7/pcrecpparg.h.in
trunk/Externals/pcre/pcre-6.7/pcredemo.c
trunk/Externals/pcre/pcre-6.7/pcregrep.c
trunk/Externals/pcre/pcre-6.7/pcreposix.c
trunk/Externals/pcre/pcre-6.7/pcreposix.h
trunk/Externals/pcre/pcre-6.7/pcretest.c
trunk/Externals/pcre/pcre-6.7/perltest
trunk/Externals/pcre/pcre-6.7/testdata/
trunk/Externals/pcre/pcre-6.7/testdata/grepinput
trunk/Externals/pcre/pcre-6.7/testdata/grepinputx
trunk/Externals/pcre/pcre-6.7/testdata/greplist
trunk/Externals/pcre/pcre-6.7/testdata/grepoutput
trunk/Externals/pcre/pcre-6.7/testdata/testinput1
trunk/Externals/pcre/pcre-6.7/testdata/testinput2
trunk/Externals/pcre/pcre-6.7/testdata/testinput3
trunk/Externals/pcre/pcre-6.7/testdata/testinput4
trunk/Externals/pcre/pcre-6.7/testdata/testinput5
trunk/Externals/pcre/pcre-6.7/testdata/testinput6
trunk/Externals/pcre/pcre-6.7/testdata/testinput7
trunk/Externals/pcre/pcre-6.7/testdata/testinput8
trunk/Externals/pcre/pcre-6.7/testdata/testinput9
trunk/Externals/pcre/pcre-6.7/testdata/testoutput1
trunk/Externals/pcre/pcre-6.7/testdata/testoutput2
trunk/Externals/pcre/pcre-6.7/testdata/testoutput3
trunk/Externals/pcre/pcre-6.7/testdata/testoutput4
trunk/Externals/pcre/pcre-6.7/testdata/testoutput5
trunk/Externals/pcre/pcre-6.7/testdata/testoutput6
trunk/Externals/pcre/pcre-6.7/testdata/testoutput7
trunk/Externals/pcre/pcre-6.7/testdata/testoutput8
trunk/Externals/pcre/pcre-6.7/testdata/testoutput9
trunk/Externals/pcre/pcre-6.7/ucp.h
trunk/Externals/pcre/pcre-6.7/ucpinternal.h
trunk/Externals/pcre/pcre-6.7/ucptable.c
trunk/Externals/pcre/pcre.dsw
trunk/Externals/pcre/pcretest/
trunk/Externals/pcre/pcretest/pcretest.dsp
Added: trunk/Externals/pcre/config_pcre/config_pcre.dsp
===================================================================
--- trunk/Externals/pcre/config_pcre/config_pcre.dsp (rev 0)
+++ trunk/Externals/pcre/config_pcre/config_pcre.dsp 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,58 @@
+# Microsoft Developer Studio Project File - Name="config_pcre" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) External Target" 0x0106
+
+CFG=config_pcre - Win32 Configure
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "config_pcre.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "config_pcre.mak" CFG="config_pcre - Win32 Configure"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "config_pcre - Win32 Configure" (based on "Win32 (x86) External Target")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Configure"
+# PROP BASE Intermediate_Dir "Configure"
+# PROP BASE Cmd_Line "nmake /f "configure.mak""
+# PROP BASE Rebuild_Opt "/a rebuild"
+# PROP BASE Target_File "..\bin\pcre_chartables.c"
+# PROP BASE Bsc_Name ""
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\bin"
+# PROP Intermediate_Dir "."
+# PROP Cmd_Line "nmake /f "configure.mak""
+# PROP Rebuild_Opt "/a rebuild"
+# PROP Target_File "..\bin\pcre_chartables.c"
+# PROP Bsc_Name ""
+# PROP Target_Dir ""
+# Begin Target
+
+# Name "config_pcre - Win32 Configure"
+
+!IF "$(CFG)" == "config_pcre - Win32 Configure"
+
+!ENDIF
+
+# Begin Source File
+
+SOURCE=.\configure.mak
+# End Source File
+# End Target
+# End Project
Added: trunk/Externals/pcre/config_pcre/configure.mak
===================================================================
--- trunk/Externals/pcre/config_pcre/configure.mak (rev 0)
+++ trunk/Externals/pcre/config_pcre/configure.mak 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,55 @@
+#
+# Initial configuration for Win32
+#
+
+BIN = ..\bin
+SOURCES = ..\pcre-6.7
+
+H_config = $(BIN)\config.h
+I_config = $(SOURCES)\config.h.in
+
+C_dftables = $(SOURCES)\dftables.c
+X_dftables = $(BIN)\dftables.exe
+
+C_chartables = $(BIN)\pcre_chartables.c
+
+TARGETS = $(H_config) $(C_chartables)
+
+all : $(TARGETS)
+
+clean : ; -del $(TARGETS)
+
+rebuild : clean all
+
+#
+# Generate config.h for Win32
+#
+
+$(H_config) : $(I_config) configure.mak
+ if not exist $(BIN) mkdir $(BIN)
+ copy $(I_config) + << $@
+
+/* Automatically added for Win32 compilation */
+#define SUPPORT_UCP
+#define SUPPORT_UTF8
+
+<<
+ edlin $@ < <<
+1S#define HAVE_MEMMOVE
+.
+#define HAVE_MEMMOVE 1
+1S#define HAVE_STRERROR
+.
+#define HAVE_STRERROR 1
+E
+<<
+
+#
+# Generate pcre_chartables.c by a compile and run of dftables
+#
+
+$(X_dftables) : $(C_dftables) $(H_config)
+ cl /nologo /I$(BIN) /Fe$@ $(C_dftables)
+
+$(C_chartables) : $(X_dftables)
+ $(X_dftables) $@
Added: trunk/Externals/pcre/dll_pcre/pcre.dsp
===================================================================
--- trunk/Externals/pcre/dll_pcre/pcre.dsp (rev 0)
+++ trunk/Externals/pcre/dll_pcre/pcre.dsp 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,169 @@
+# Microsoft Developer Studio Project File - Name="pcre" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=pcre - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "pcre.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pcre.mak" CFG="pcre - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pcre - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "pcre - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pcre - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "..\bin\release"
+# PROP Intermediate_Dir "o\release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PCRE_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\bin" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PCRE_EXPORTS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "pcre - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\bin\debug"
+# PROP Intermediate_Dir "o\debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PCRE_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\bin" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PCRE_EXPORTS" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pcre - Win32 Release"
+# Name "pcre - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\bin\pcre_chartables.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_compile.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_config.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_dfa_exec.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_exec.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_fullinfo.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_get.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_globals.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_info.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_maketables.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_ord2utf8.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_refcount.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_study.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_tables.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_try_flipped.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_ucp_searchfuncs.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_valid_utf8.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_version.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_xclass.c"
+# End Source File
+# End Target
+# End Project
Added: trunk/Externals/pcre/lib_pcre/lib_pcre.dsp
===================================================================
--- trunk/Externals/pcre/lib_pcre/lib_pcre.dsp (rev 0)
+++ trunk/Externals/pcre/lib_pcre/lib_pcre.dsp 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,162 @@
+# Microsoft Developer Studio Project File - Name="lib_pcre" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=lib_pcre - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "lib_pcre.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "lib_pcre.mak" CFG="lib_pcre - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "lib_pcre - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "lib_pcre - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "lib_pcre - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "..\bin\release"
+# PROP Intermediate_Dir "o\release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\bin" /D "NDEBUG" /D "_LIB" /D "PCRE_STATIC" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF "$(CFG)" == "lib_pcre - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\bin\debug"
+# PROP Intermediate_Dir "o\debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\bin" /D "_DEBUG" /D "_LIB" /D "PCRE_STATIC" /FR /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF
+
+# Begin Target
+
+# Name "lib_pcre - Win32 Release"
+# Name "lib_pcre - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\bin\pcre_chartables.c
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_compile.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_config.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_dfa_exec.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_exec.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_fullinfo.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_get.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_globals.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_info.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_maketables.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_ord2utf8.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_refcount.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_study.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_tables.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_try_flipped.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_ucp_searchfuncs.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_valid_utf8.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_version.c"
+# End Source File
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcre_xclass.c"
+# End Source File
+# End Target
+# End Project
Added: trunk/Externals/pcre/lib_pcreposix/lib_pcreposix.dsp
===================================================================
--- trunk/Externals/pcre/lib_pcreposix/lib_pcreposix.dsp (rev 0)
+++ trunk/Externals/pcre/lib_pcreposix/lib_pcreposix.dsp 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,90 @@
+# Microsoft Developer Studio Project File - Name="lib_pcreposix" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=lib_pcreposix - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "lib_pcreposix.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "lib_pcreposix.mak" CFG="lib_pcreposix - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "lib_pcreposix - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "lib_pcreposix - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "lib_pcreposix - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "..\bin\release"
+# PROP Intermediate_Dir "o\release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\bin" /D "NDEBUG" /D "_LIB" /D "PCRE_STATIC" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF "$(CFG)" == "lib_pcreposix - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "..\bin\debug"
+# PROP Intermediate_Dir "o\debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\bin" /D "_DEBUG" /D "_LIB" /D "PCRE_STATIC" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF
+
+# Begin Target
+
+# Name "lib_pcreposix - Win32 Release"
+# Name "lib_pcreposix - Win32 Debug"
+# Begin Source File
+
+SOURCE="..\pcre-6.7\pcreposix.c"
+# End Source File
+# End Target
+# End Project
Added: trunk/Externals/pcre/pcre-6.7/AUTHORS
===================================================================
--- trunk/Externals/pcre/pcre-6.7/AUTHORS (rev 0)
+++ trunk/Externals/pcre/pcre-6.7/AUTHORS 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,23 @@
+THE MAIN PCRE LIBRARY
+---------------------
+
+Written by: Philip Hazel
+Email local part: ph10
+Email domain: cam.ac.uk
+
+University of Cambridge Computing Service,
+Cambridge, England. Phone: +44 1223 334714.
+
+Copyright (c) 1997-2006 University of Cambridge
+All rights reserved
+
+
+THE C++ WRAPPER LIBRARY
+-----------------------
+
+Written by: Google Inc.
+
+Copyright (c) 2006 Google Inc
+All rights reserved
+
+####
Added: trunk/Externals/pcre/pcre-6.7/COPYING
===================================================================
--- trunk/Externals/pcre/pcre-6.7/COPYING (rev 0)
+++ trunk/Externals/pcre/pcre-6.7/COPYING 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,68 @@
+PCRE LICENCE
+------------
+
+PCRE is a library of functions to support regular expressions whose syntax
+and semantics are as close as possible to those of the Perl 5 language.
+
+Release 6 of PCRE is distributed under the terms of the "BSD" licence, as
+specified below. The documentation for PCRE, supplied in the "doc"
+directory, is distributed under the same terms as the software itself.
+
+The basic library functions are written in C and are freestanding. Also
+included in the distribution is a set of C++ wrapper functions.
+
+
+THE BASIC LIBRARY FUNCTIONS
+---------------------------
+
+Written by: Philip Hazel
+Email local part: ph10
+Email domain: cam.ac.uk
+
+University of Cambridge Computing Service,
+Cambridge, England. Phone: +44 1223 334714.
+
+Copyright (c) 1997-2006 University of Cambridge
+All rights reserved.
+
+
+THE C++ WRAPPER FUNCTIONS
+-------------------------
+
+Contributed by: Google Inc.
+
+Copyright (c) 2006, Google Inc.
+All rights reserved.
+
+
+THE "BSD" LICENCE
+-----------------
+
+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 name of Google
+ Inc. nor the names of their 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.
+
+End
Added: trunk/Externals/pcre/pcre-6.7/ChangeLog
===================================================================
--- trunk/Externals/pcre/pcre-6.7/ChangeLog (rev 0)
+++ trunk/Externals/pcre/pcre-6.7/ChangeLog 2006-11-07 16:28:04 UTC (rev 3781)
@@ -0,0 +1,2279 @@
+ChangeLog for PCRE
+------------------
+
+Version 6.7 04-Jul-06
+---------------------
+
+ 1. In order to handle tests when input lines are enormously long, pcretest has
+ been re-factored so that it automatically extends its buffers when
+ necessary. The code is crude, but this _is_ just a test program. The
+ default size has been increased from 32K to 50K.
+
+ 2. The code in pcre_study() was using the value of the re argument before
+ testing it for NULL. (Of course, in any sensible call of the function, it
+ won't be NULL.)
+
+ 3. The memmove() emulation function in pcre_internal.h, which is used on
+ systems that lack both memmove() and bcopy() - that is, hardly ever -
+ was missing a "static" storage class specifier.
+
+ 4. When UTF-8 mode was not set, PCRE looped when compiling certain patterns
+ containing an extended class (one that cannot be represented by a bitmap
+ because it contains high-valued characters or Unicode property items, e.g.
+ [\pZ]). Almost always one would set UTF-8 mode when processing such a
+ pattern, but PCRE should not loop if you do not (it no longer does).
+ [Detail: two cases were found: (a) a repeated subpattern containing an
+ extended class; (b) a recursive reference to a subpattern that followed a
+ previous extended class. It wasn't skipping over the extended class
+ correctly when UTF-8 mode was not set.]
+
+ 5. A negated single-character class was not being recognized as fixed-length
+ in lookbehind assertions such as (?<=[^f]), leading to an incorrect
+ compile error "lookbehind assertion is not fixed length".
+
+ 6. The RunPerlTest auxiliary script was showing an unexpected difference
+ between PCRE and Perl for UTF-8 tests. It turns out that it is hard to
+ write a Perl script that can interpret lines of an input file either as
+ byte characters or as UTF-8, which is what "perltest" was being required to
+ do for the non-UTF-8 and UTF-8 tests, respectively. Essentially what you
+ can't do is switch easily at run time between having the "use utf8;" pragma
+ or not. In the end, I fudged it by using the RunPerlTest script to insert
+ "use utf8;" explicitly for the UTF-8 tests.
+
+ 7. In multiline (/m) mode, PCRE was matching ^ after a terminating newline at
+ the end of the subject string, contrary to the documentation and to what
+ Perl does. This was true of both matching functions. Now it matches only at
+ the start of the subject and immediately after *internal* newlines.
+
+ 8. A call of pcre_fullinfo() from pcretest to get the option bits was passing
+ a pointer to an int instead of a pointer to an unsigned long int. This
+ caused problems on 64-bit systems.
+
+ 9. Applied a patch from the folks at Google to pcrecpp.cc, to fix "another
+ instance of the 'standard' template library not being so standard".
+
+10. There was no check on the number of named subpatterns nor the maximum
+ length of a subpattern name. The product of these values is used to compute
+ the size of the memory block for a compiled pattern. By supplying a very
+ long subpattern name and a large number of named subpatterns, the size
+ computation could be caused to overflow. This is now prevented by limiting
+ the length of names to 32 characters, and the number of named subpatterns
+ to 10,000.
+
+11. Subpatterns that are repeated with specific counts have to be replicated in
+ the compiled pattern. The size of memory for this was computed from the
+ length of the subpattern and the repeat count. The latter is limited to
+ 65535, but there was no limit on the former, meaning that integer overflow
+ could in principle occur. The compiled length of a repeated subpattern is
+ now limited to 30,000 bytes in order to prevent this.
+
+12. Added the optional facility to have named substrings with the same name.
+
+13. Added the ability to use a named substring as a condition, using the
+ Python syntax: (?(name)yes|no). This overloads (?(R)... and names that
+ are numbers (not recommended). Forward references are permitted.
+
+14. Added forward references in named backreferences (if you see what I mean).
+
+15. In UTF-8 mode, with the PCRE_DOTALL option set, a quantified dot in the
+ pattern could run off the end of the subject. For example, the pattern
+ "(?s)(.{1,5})"8 did this with the subject "ab".
+
+16. If PCRE_DOTALL or PCRE_MULTILINE were set, pcre_dfa_exec() behaved as if
+ PCRE_CASELESS was set when matching characters that were quantified with ?
+ or *.
+
+17. A character class other than a single negated character that had a minimum
+ but no maximum quantifier - for example [ab]{6,} - was not handled
+ correctly by pce_dfa_exec(). It would match only one character.
+
+18. A valid (though odd) pattern that looked like a POSIX character
+ class but used an invalid character after [ (for example [[,abc,]]) caused
+ pcre_compile() to give the error "Failed: internal error: code overflow" or
+ in some cases to crash with a glibc free() error. This could even happen if
+ the pattern terminated after [[ but there just happened to be a sequence of
+ letters, a binary zero, and a closing ] in the memory that followed.
+
+19. Perl's treatment of octal escapes in the range \400 to \777 has changed
+ over the years. Originally (before any Unicode support), just the bottom 8
+ bits were taken. Thus, for example, \500 really meant \100. Nowadays the
+ output from "man perlunicode" includes this:
+
+ The regular expression compiler produces polymorphic opcodes. That
+ is, the pattern adapts to the data and automatically switches to
+ the Unicode character scheme when presented with Unicode data--or
+ instead uses a traditional byte scheme when presented with byte
+ data.
+
+ Sadly, a wide octal escape does not cause a switch, and in a string with
+ no other multibyte characters, these octal escapes are treated as before.
+ Thus, in Perl, the pattern /\500/ actually matches \100 but the pattern
+ /\500|\x{1ff}/ matches \500 or \777 because the whole thing is treated as a
+ Unicode string.
+
+ I have not perpetrated such confusion in PCRE. Up till now, it took just
+ the bottom 8 bits, as in old Perl. I have now made octal escapes with
+ values greater than \377 illegal in non-UTF-8 mode. In UTF-8 mode they
+ translate to the appropriate multibyte character.
+
+29. Applied some refactoring to reduce the number of warnings from Microsoft
+ and Borland compilers. This has included removing the fudge introduced
+ seven years ago for the OS/2 compiler (see 2.02/2 below) because it caused
+ a warning about an unused variable.
+
+21. PCRE has not included VT (character 0x0b) in the set of whitespace
+ characters since release 4.0, because Perl (from release 5.004) does not.
+ [Or at least, is documented not to: some releases seem to be in conflict
+ with the documentation.] However, when a pattern was studied with
+ pcre_study() and all its branches started with \s, PCRE still included VT
+ as a possible starting character. Of course, this did no harm; it just
+ caused an unnecessary match attempt.
+
+22. Removed a now-redundant internal flag bit that recorded the fact that case
+ dependency changed within the pattern. This was once needed for "required
+ byte" processing, but is no longer used. This recovers a now-scarce options
+ bit. Also moved the least significant internal flag bit to the most-
+ significant bit of the word, which was not previously used (hangover from
+ the days when it was an int rather than a uint) to free up another bit for
+ the future.
+
+23. Added support for CRLF line endings as well as CR and LF. As well as the
+ default being selectable at build time, it can now be changed at runtime
+ via the PCRE_NEWLINE_xxx flags. There are now options for pcregrep to
+ specify that it is scanning data with non-default line endings.
+
+24. Changed the definition of CXXLINK to make it agree with the definition of
+ LINK in the Makefile, by replacing LDFLAGS to CXXFLAGS.
+
+25. Applied Ian Taylor's patches to avoid using another stack frame for tail
+ recursions. This makes a big different to stack usage for some patterns.
+
+26. If a subpattern containing a named recursion or subroutine reference such
+ as (?P>B) was quantified, for example (xxx(?P>B)){3}, the calculation of
+ the space required for the compiled pattern went wrong and gave too small a
+ value. Depending on the environment, this could lead to "Failed: internal
+ error: code overflow at offset 49" or "glibc detected double free or
+ corruption" errors.
+
+27. Applied patches from Google (a) to support the new newline modes and (b) to
+ advance over multibyte UTF-8 characters in GlobalReplace.
+
+28. Change free() to pcre_free() in pcredemo.c. Apparently this makes a
+ difference for some implementation of PCRE in some Windows version.
+
+29. Added some extra testing facilities to pcretest:
+
+ \q<number> in a data line sets the "match limit" value
+ \Q<number> in a data line sets the "match recursion limt" value
+ -S <number> sets the stack size, where <number> is in megabytes
+
+ The -S option isn't available for Windows.
+
+
+Version 6.6 06-Feb-06
+---------------------
+
+ 1. Change 16(a) for 6.5 broke things, because PCRE_DATA_SCOPE was not defined
+ in pcreposix.h. I have copied the definition from pcre.h.
+
+ 2. Change 25 for 6.5 broke compilation in a build directory out-of-tree
+ because pcre.h is no longer a built file.
+
+ 3. Added Jeff Friedl's additional debugging patches to pcregrep. These are
+ not normally included in the compiled code.
+
+
+Version 6.5 01-Feb-06
+---------------------
+
+ 1. When using the partial match feature with pcre_dfa_exec(), it was not
+ anchoring the second and subsequent partial matches at the new starting
+ point. This could lead to incorrect results. For example, with the pattern
+ /1234/, partially matching against "123" and then "a4" gave a match.
+
+ 2. Changes to pcregrep:
+
+ (a) All non-match returns from pcre_exec() were being treated as failures
+ to match the line. Now, unless the error is PCRE_ERROR_NOMATCH, an
+ error message is output. Some extra information is given for the
+ PCRE_ERROR_MATCHLIMIT and PCRE_ERROR_RECURSIONLIMIT errors, which are
+ probably the only errors that are likely to be caused by users (by
+ specifying a regex that has nested indefinite repeats, for instance).
+ If there are more than 20 of these errors, pcregrep is abandoned.
+
+ (b) A binary zero was treated as data while matching, but terminated the
+ output line if it was written out. This has been fixed: binary zeroes
+ are now no different to any other data bytes.
+
+ (c) Whichever of the LC_ALL or LC_CTYPE environment variables is set is
+ used to set a locale for matching. The --locale=xxxx long option has
+ been added (no short equivalent) to specify a locale explicitly on the
+ pcregrep command, overriding the environment variables.
+
+ (d) When -B was used with -n, some line numbers in the output were one less
+ than they should have been.
+
+ (e) Added the -o (--only-matching) option.
+
+ (f) If -A or -C was used with -c (count only), some lines of context were
+ accidentally printed for the final match.
+
+ (g) Added the -H (--with-filename) option.
+
+ (h) The combination of options -rh failed to suppress file names for files
+ that were found from directory arguments.
+
+ (i) Added the -D (--devices) and -d (--directories) options.
+
+ (j) Added the -F (--fixed-strings) option.
+
+ (k) Allow "-" to be used as a file name for -f as well as for a data file.
+
+ (l) Added the --colo(u)r option.
+
+ (m) Added Jeffrey Friedl's -S testing option, but within #ifdefs so that it
+ is not present by default.
+
+ 3. A nasty bug was discovered in the handling of recursive patterns, that is,
+ items such as (?R) or (?1), when the recursion could match a number of
+ alternatives. If it matched one of the alternatives, but subsequently,
+ outside the recursion, there was a failure, the code tried to back up into
+ the recursion. However, because of the way PCRE is implemented, this is not
+ possible, and the result was an incorrect result from the match.
+
+ In order to prevent this happening, the specification of recursion has
+ been changed so that all such subpatterns are automatically treated as
+ atomic groups. Thus, for example, (?R) is treated as if it were (?>(?R)).
+
+ 4. I had overlooked the fact that, in some locales, there are characters for
+ which isalpha() is true but neither isupper() nor islower() are true. In
+ the fr_FR locale, for instance, the \xAA and \xBA characters (ordmasculine
+ and ordfeminine) are like this. This affected the treatment of \w and \W
+ when they appeared in character classes, but not when they appeared outside
+ a character class. The bit map for "word" characters is now created
+ separately from the results of isalnum() instead of just taking it from the
+ upper, lower, and digit maps. (Plus the underscore character, of course.)
+
+ 5. The above bug also affected the handling of POSIX character classes such as
+ [[:alpha:]] and [[:alnum:]]. These do not have their own bit maps in PCRE's
+ permanent tables. Instead, the bit maps for such a class were previously
+ created as the appropriate unions of the upper, lower, and digit bitmaps.
+ Now they are created by subtraction from the [[:word:]] class, which has
+ its own bitmap.
+
+ 6. The [[:blank:]] character class matches horizontal, but not vertical space.
+ It is created by subtracting the vertical space characters (\x09, \x0a,
+ \x0b, \x0c) from the [[:space:]] bitmap. Previously, however, the
+ subtraction was done in the overall bitmap for a character class, meaning
+ that a class such as [\x0c[:blank:]] was incorrect because \x0c would not
+ be recognized. This bug has been fixed.
+
+ 7. Patches from the folks at Google:
+
+ (a) pcrecpp.cc: "to handle a corner case that may or may not happen in
+ real life, but is still worth protecting against".
+
+ (b) pcrecpp.cc: "corrects a bug when negative radixes are used with
+ regular expressions".
+
+ (c) pcre_scanner.cc: avoid use of std::count() because not all systems
+ have it.
+
+ (d) Split off pcrecpparg.h from pcrecpp.h and had the former built by
+ "configure" and the latter not, in order to fix a problem somebody had
+ with compiling the Arg class on HP-UX.
+
+ (e) Improve the error-handling of the C++ wrapper a little bit.
+
+ (f) New tests for checking recursion limiting.
+
+ 8. The pcre_memmove() function, which is used only if the environment does not
+ have a standard memmove() function (and is therefore rarely compiled),
+ contained two bugs: (a) use of int instead of size_t, and (b) it was not
+ returning a result (though PCRE never actually uses the result).
+
+ 9. In the POSIX regexec() interface, if nmatch is specified as a ridiculously
+ large number - greater than INT_MAX/(3*sizeof(int)) - REG_ESPACE is
+ returned instead of calling malloc() with an overflowing number that would
+ most likely cause subsequent chaos.
+
+10. The debugging option of pcretest was not showing the NO_AUTO_CAPTURE flag.
+
+11. The POSIX flag REG_NOSUB is now supported. When a pattern that was compiled
+ with this option is matched, the nmatch and pmatch options of regexec() are
+ ignored.
+
+12. Added REG_UTF8 to the POSIX interface. This is not defined by POSIX, but is
+ provided in case anyone wants to the the POSIX interface with UTF-8
+ strings.
+
+13. Added CXXLDFLAGS to the Makefile parameters to provide settings only on the
+ C++ linking (needed for some HP-UX environments).
+
+14. Avoid compiler warnings in get_ucpname() when compiled without UCP support
+ (unused parameter) and in the pcre_printint() function (omitted "default"
+ switch label when the default is to do nothing).
+
+15. Added some code to make it possible, when PCRE is compiled as a C++
+ library, to replace subject pointers for pcre_exec() with a smart pointer
+ class, thus making it possible to process discontinuous strings.
+
+16. The two macros PCRE_EXPORT and PCRE_DATA_SCOPE are confusing, and perform
+ much the same function. They were added by different people who were trying
+ to make PCRE easy to compile on non-Unix systems. It has been suggested
+ that PCRE_EXPORT be abolished now that there is more automatic apparatus
+ for compiling on Windows systems. I have therefore replaced it with
+ PCRE_DATA_SCOPE. This is set automatically for Windows; if not set it
+ defaults to "extern" for C or "extern C" for C++, which works fine on
+ Unix-like systems. It is now possible to override the value of PCRE_DATA_
+ SCOPE with something explicit in config.h. In addition:
+
+ (a) pcreposix.h still had just "extern" instead of either of these macros;
+ I have replaced it with PCRE_DATA_SCOPE.
+
+ (b) Functions such as _pcre_xclass(), which are internal to the library,
+ but external in the C sense, all had PCRE_EXPORT in their definitions.
+ This is apparently wrong for the Windows case, so I have removed it.
+ (It makes no difference on Unix-like systems.)
+
+17. Added a new limit, MATCH_LIMIT_RECURSION, which limits the depth of nesting
+ of recursive calls to match(). This is different to MATCH_LIMIT because
+ that limits the total number of calls to match(), not all of which increase
+ the depth of recursion. Limiting the recursion depth limits the amount of
+ stack (or heap if NO_RECURSE is set) that is used. The default can be set
+ when PCRE is compiled, and changed at run time. A patch from Google adds
+ this functionality to the C++ interface.
+
+18. Changes to the handling of Unicode character properties:
+
+ (a) Updated the table to Unicode 4.1.0.
+
+ (b) Recognize characters that are not in the table as "Cn" (undefined).
+
+ (c) I revised the way the table is implemented to a much improved format
+ which includes recognition of ranges. It now supports the ranges that
+ are defined in UnicodeData.txt, and it also amalgamates other
+ characters into ranges. This has reduced the number of entries in the
+ table from around 16,000 to around 3,000, thus reducing its size
+ considerably. I realized I did not need to use a tree structure after
+ all - a binary chop search is just as efficient. Having reduced the
+ number of entries, I extended their size from 6 bytes to 8 bytes to
+ allow for more data.
+
+ (d) Added support for Unicode script names via properties such as \p{Han}.
+
+19. In UTF-8 mode, a backslash followed by a non-Ascii character was not
+ matching that character.
+
+20. When matching a repeated Unicode property with a minimum greater than zero,
+ (for example \pL{2,}), PCRE could look past the end of the subject if it
+ reached it while seeking the minimum number of characters. This could
+ happen only if some of the characters were more than one byte long, because
+ there is a check for at least the minimum number of bytes.
+
+21. Refactored the implementation of \p and \P so as to be more general, to
+ allow for more different types of property in future. This has changed the
+ compiled form incompatibly. Anybody with saved compiled patterns that use
+ \p or \P will have to recompile them.
+
+22. Added "Any" and "L&" to the supported property types.
+
+23. Recognize \x{...} as a code point specifier, even when not in UTF-8 mode,
+ but give a compile time error if the value is greater than 0xff.
+
+24. The man pages for pcrepartial, pcreprecompile, and pcre_compile2 were
+ accidentally not being installed or uninstalled.
+
+25. The pcre.h file was built from pcre.h.in, but the only changes that were
+ made were to insert the current release number. This seemed silly, because
+ it made things harder for people building PCRE on systems that don't run
+ "configure". I have turned pcre.h into a distributed file, no longer built
+ by "configure", with the version identification directly included. There is
+ no longer a pcre.h.in file.
+
+ However, this change necessitated a change to the pcre-config script as
+ well. It is built from pcre-config.in, and one of the substitutions was the
+ release number. I have updated configure.ac so that ./configure now finds
+ the release number by grepping pcre.h.
+
+26. Added the ability to run the tests under valgrind.
+
+
+Version 6.4 05-Sep-05
+---------------------
+
+ 1. Change 6.0/10/(l) to pcregrep introduced a bug that caused separator lines
+ "--" to be printed when multiple files were scanned, even when none of the
+ -A, -B, or -C options were used. This is not compatible with Gnu grep, so I
+ consider it to be a bug, and have restored the previous behaviour.
+
+ 2. A couple of code tidies to get rid of compiler warnings.
+
+ 3. The pcretest program used to cheat by referring to symbols in the library
+ whose names begin with _pcre_. These are internal symbols that are not
+ really supposed to be visible externally, and in some environments it is
+ possible to suppress them. The cheating is now confined to including
+ certain files from the library's source, which is a bit cleaner.
+
+ 4. Renamed pcre.in as pcre.h.in to go with pcrecpp.h.in; it also makes the
+ file's purpose clearer.
+
+ 5. Reorganized pcre_ucp_findchar().
+
+
+Version 6.3 15-Aug-05
+---------------------
+
+ 1. The file libpcre.pc.in did not have general read permission in the tarball.
+
+ 2. There were some problems when building without C++ support:
+
+ (a) If C++ support was not built, "make install" and "make test" still
+ tried to test it.
+
+ (b) There were problems when the value of CXX was explicitly set. Some
+ changes have been made to try to fix these, and ...
+
+ (c) --disable-cpp can now be used to explicitly disable C++ support.
+
+ (d) The use of @CPP_OBJ@ directly caused a blank line preceded by a
+ backslash in a target when C++ was disabled. This confuses some
+ versions of "make", apparently. Using an intermediate variable solves
+ this. (Same for CPP_LOBJ.)
+
+ 3. $(LINK_FOR_BUILD) now includes $(CFLAGS_FOR_BUILD) and $(LINK)
+ (non-Windows) now includes $(CFLAGS) because these flags are sometimes
+ necessary on certain architectures.
+
+ 4. Added a setting of -export-symbols-regex to the link command to remove
+ those symbols that are exported in the C sense, but actually are local
+ within the library, and not documented. Their names all begin with
+ "_pcre_". This is not a perfect job, because (a) we have to except some
+ symbols that pcretest ("illegally") uses, and (b) the facility isn't always
+ available (and never for static libraries). I have made a note to try to
+ find a way round (a) in the future.
+
+
+Version 6.2 01-Aug-05
+---------------------
+
+ 1. There was no test for integer overflow of quantifier values. A construction
+ such as {1111111111111111} would give undefined results. What is worse, if
+ a minimum quantifier for a parenthesized subpattern overflowed and became
+ negative, the calculation of the memory size went wrong. This could have
+ led to memory overwriting.
+
+ 2. Building PCRE using VPATH was broken. Hopefully it is now fixed.
+
+ 3. Added "b" to the 2nd argument of fopen() in dftables.c, for non-Unix-like
+ operating environments where this matters.
+
+ 4. Applied Giuseppe Maxia's patch to add additional features for controlling
+ PCRE options from within the C++ wrapper.
+
+ 5. Named capturing subpatterns were not being correctly counted when a pattern
+ was compiled. This caused two problems: (a) If there were more than 100
+ such subpatterns, the calculation of the memory needed for the whole
+ compiled pattern went wrong, leading to an overflow error. (b) Numerical
+ back references of the form \12, where the number was greater than 9, were
+ not recognized as back references, even though there were sufficient
+ previous subpatterns.
+
+ 6. Two minor patches to pcrecpp.cc in order to allow it to compile on older
+ versions of gcc, e.g. 2.95.4.
+
+
+Version 6.1 21-Jun-05
+---------------------
+
+ 1. There was one reference to the variable "posix" in pcretest.c that was not
+ surrounded by "#if !defined NOPOSIX".
+
+ 2. Make it possible to compile pcretest without DFA support, UTF8 support, or
+ the cross-check on the old pcre_info() function, for the benefit of the
+ cut-down version of PCRE that is currently imported into Exim.
+
+ 3. A (silly) pattern starting with (?i)(?-i) caused an internal space
+ allocation error. I've done the easy fix, which wastes 2 bytes for sensible
+ patterns that start (?i) but I don't think that matters. The use of (?i) is
+ just an example; this all applies to the other options as well.
+
+ 4. Since libtool seems to echo the compile commands it is issuing, the output
+ from "make" can be reduced a bit by putting "@" in front of each libtool
+ compile command.
+
+ 5. Patch from the folks at Google for configure.in to be a bit more thorough
+ in checking for a suitable C++ installation before trying to compile the
+ C++ stuff. This should fix a reported problem when a compiler was present,
+ but no suitable headers.
+
+ 6. The man pages all had just "PCRE" as their title. I have changed them to
+ be the relevant file name. I have also arranged that these names are
+ retained in the file doc/pcre.txt, which is a concatenation in text format
+ of all the man pages except the little individual ones for each function.
+
+ 7. The NON-UNIX-USE file had not been updated for the different set of source
+ files that come with release 6. I also added a few comments about the C++
+ wrapper.
+
+
+Version 6.0 07-Jun-05
+---------------------
+
+ 1. Some minor internal re-organization to help with my DFA experiments.
+
+ 2. Some missing #ifdef SUPPORT_UCP conditionals in pcretest and printint that
+ didn't matter for the library itself when fully configured, but did matter
+ when compiling without UCP support, or within Exim, where the ucp files are
+ not imported.
+
+ 3. Refactoring of the library code to split up the various functions into
+ different source modules. The addition of the new DFA matching code (see
+ below) to a single monolithic source would have made it really too
+ unwieldy, quite apart from causing all the code to be include in a
+ statically linked application, when only some functions are used. This is
+ relevant even without the DFA addition now that patterns can be compiled in
+ one application and matched in another.
+
+ The downside of splitting up is that there have to be some external
+ functions and data tables that are used internally in different modules of
+ the library but which are not part of the API. These have all had their
+ names changed to start with "_pcre_" so that they are unlikely to clash
+ with other external names.
+
+ 4. Added an alternate matching function, pcre_dfa_exec(), which matches using
+ a different (DFA) algorithm. Although it is slower than the original
+ function, it does have some advantages for certain types of matching
+ problem.
+
+ 5. Upgrades to pcretest in order to test the features of pcre_dfa_exec(),
+ including restarting after a partial match.
+
+ 6. A patch for pcregrep that defines INVALID_FILE_ATTRIBUTES if it is not
+ defined when compiling for Windows was sent to me. I have put it into the
+ code, though I have no means of testing or verifying it.
+
+ 7. Added the pcre_refcount() auxiliary function.
+
+ 8. Added the PCRE_FIRSTLINE option. This constrains an unanchored pattern to
+ match before or at the first newline in the subject string. In pcretest,
+ the /f option on a pattern can be used to set this.
+
+ 9. A repeated \w when used in UTF-8 mode with characters greater than 256
+ would behave wrongly. This has been present in PCRE since release 4.0.
+
+10. A number of changes to the pcregrep command:
+
+ (a) Refactored how -x works; insert ^(...)$ instead of setting
+ PCRE_ANCHORED and checking the length, in preparation for adding
+ something similar for -w.
+
+ (b) Added the -w (match as a word) option.
+
+ (c) Refactored the way lines are read and buffered so as to have more
+ than one at a time available.
+
+ (d) Implemented a pcregrep test script.
+
+ (e) Added the -M (multiline match) option. This allows patterns to match
+ over several lines of the subject. The buffering ensures that at least
+ 8K, or the rest of the document (whichever is the shorter) is available
+ for matching (and similarly the previous 8K for lookbehind assertions).
+
+ (f) Changed the --help output so that it now says
+
+ -w, --word-regex(p)
+
+ instead of two lines, one with "regex" and the other with "regexp"
+ because that confused at least one person since the short forms are the
+ same. (This required a bit of code, as the output is generated
+ automatically from a table. It wasn't just a text change.)
+
+ (g) -- can be used to terminate pcregrep options if the next thing isn't an
+ option but starts with a hyphen. Could be a pattern or a path name
+ starting with a hyphen, for instance.
+
+ (h) "-" can be given as a file name to represent stdin.
+
+ (i) When file names are being printed, "(standard input)" is used for
+ the standard input, for compatibility with GNU grep. Previously
+ "<stdin>" was used.
+
+ (j) The option --label=xxx can be used to supply a name to be used for
+ stdin when file names are being printed. There is no ...
[truncated message content] |