summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--Makefile.am2
-rwxr-xr-xRunTest6
-rw-r--r--pcre_exec.c18
4 files changed, 19 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 292aea5..ab7be93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,15 +11,15 @@ Version 7.2 01-May-07
to make them independent of the local environment's newline setting.
3. Add code to configure.ac to remove -g from the CFLAGS default settings.
-
+
4. Some of the "internals" tests were previously cut out when the link size
was not 2, because the output contained actual offsets. The recent new
- "Z" feature of pcretest means that these can be cut out, making the tests
- usable with all link sizes.
-
+ "Z" feature of pcretest means that these can be cut out, making the tests
+ usable with all link sizes.
+
5. Implemented Stan Switzer's goto replacement for longjmp() when not using
stack recursion. This gives a massive performance boost under BSD, but just
- a small improvement under Linux. However, it saves one field in the frame
+ a small improvement under Linux. However, it saves one field in the frame
in all cases.
diff --git a/Makefile.am b/Makefile.am
index e8cfc5e..4fe1655 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -268,6 +268,7 @@ EXTRA_DIST += \
testdata/testinput7 \
testdata/testinput8 \
testdata/testinput9 \
+ testdata/testinput10 \
testdata/testoutput1 \
testdata/testoutput2 \
testdata/testoutput3 \
@@ -277,6 +278,7 @@ EXTRA_DIST += \
testdata/testoutput7 \
testdata/testoutput8 \
testdata/testoutput9 \
+ testdata/testoutput10 \
perltest.pl
CLEANFILES += \
diff --git a/RunTest b/RunTest
index a05d35f..9445a67 100755
--- a/RunTest
+++ b/RunTest
@@ -50,7 +50,7 @@ while [ $# -gt 0 ] ; do
7) do7=yes;;
8) do8=yes;;
9) do9=yes;;
- 10) do10=yes;;
+ 10) do10=yes;;
valgrind) valgrind="valgrind -q";;
*) echo "Unknown test number $1"; exit 1;;
esac
@@ -100,7 +100,7 @@ if [ $link_size -ne 2 ] ; then
echo "Can't run test 10 because the link size ($link_size) is not 2"
exit 1
fi
-fi
+fi
# If no specific tests were requested, select all that are relevant.
@@ -116,7 +116,7 @@ if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a \
do7=yes
if [ $utf8 -ne 0 ] ; then do8=yes; fi
if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do9=yes; fi
- if [ $link_size -eq 2 ] ; then do10=yes; fi
+ if [ $link_size -eq 2 ] ; then do10=yes; fi
fi
# Show which release
diff --git a/pcre_exec.c b/pcre_exec.c
index 23351bc..6862082 100644
--- a/pcre_exec.c
+++ b/pcre_exec.c
@@ -189,7 +189,7 @@ obtained from malloc() instead instead of on the stack. Macros are used to
achieve this so that the actual code doesn't look very different to what it
always used to.
-The original heap-recursive code used longjmp(). However, it seems that this
+The original heap-recursive code used longjmp(). However, it seems that this
can be very slow on some operating systems. Following a suggestion from Stan
Switzer, the use of longjmp() has been abolished, at the cost of having to
provide a unique number for each call to RMATCH. There is no way of generating
@@ -198,8 +198,8 @@ them stand out more clearly.
Crude tests on x86 Linux show a small speedup of around 5-8%. However, on
FreeBSD, avoiding longjmp() more than halves the time taken to run the standard
-tests. Furthermore, not using longjmp() means that local dynamic variables
-don't have indeterminate values; this has meant that the frame size can be
+tests. Furthermore, not using longjmp() means that local dynamic variables
+don't have indeterminate values; this has meant that the frame size can be
reduced because the result can be "passed back" by straight setting of the
variable instead of being passed in the frame.
****************************************************************************
@@ -213,10 +213,10 @@ enum { RM1=1, RM2, RM3, RM4, RM5, RM6, RM7, RM8, RM9, RM10,
RM21, RM22, RM23, RM24, RM25, RM26, RM27, RM28, RM29, RM30,
RM31, RM32, RM33, RM34, RM35, RM36, RM37, RM38, RM39, RM40,
RM41, RM42, RM43, RM44, RM45, RM46, RM47 };
-
+
/* These versions of the macros use the stack, as normal. There are debugging
-versions and production versions. Note that the "rw" argument of RMATCH isn't
+versions and production versions. Note that the "rw" argument of RMATCH isn't
actuall used in this definition. */
#ifndef NO_RECURSE
@@ -344,7 +344,7 @@ typedef struct heapframe {
/* Where to jump back to */
int Xwhere;
-
+
} heapframe;
#endif
@@ -3651,8 +3651,8 @@ for (;;)
/* Control never reaches here */
-/* When compiling to use the heap rather than the stack for recursive calls to
-match(), the RRETURN() macro jumps here. The number that is saved in
+/* When compiling to use the heap rather than the stack for recursive calls to
+match(), the RRETURN() macro jumps here. The number that is saved in
frame->Xwhere indicates which label we actually want to return to. */
#ifdef NO_RECURSE
@@ -3670,7 +3670,7 @@ switch (frame->Xwhere)
DPRINTF(("jump error in pcre match: label %d non-existent\n", frame->Xwhere));
return PCRE_ERROR_INTERNAL;
}
-#undef LBL
+#undef LBL
#endif /* NO_RECURSE */
}