summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2014-09-15 13:56:18 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2014-09-15 13:56:18 +0000
commitedb29d5a2a04f468d75fc4f92333d33c7f3bdccb (patch)
treebd00d060a20432abdd9b07a1ddf44b2c9655b90c
parent551fe7c5a4790a42921b292fc943932e5babf630 (diff)
downloadpcre-edb29d5a2a04f468d75fc4f92333d33c7f3bdccb.tar.gz
Files tidied for 8.36-RC1.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1502 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r--ChangeLog82
-rw-r--r--NEWS7
-rw-r--r--configure.ac12
-rw-r--r--doc/html/pcre_config.html6
-rw-r--r--doc/html/pcre_fullinfo.html16
-rw-r--r--doc/html/pcrepattern.html25
-rw-r--r--doc/html/pcresyntax.html25
-rw-r--r--doc/pcre.txt68
-rw-r--r--pcre_compile.c4
-rw-r--r--pcre_exec.c10
-rw-r--r--pcre_scanner_unittest.cc2
-rw-r--r--pcre_stringpiece_unittest.cc2
-rw-r--r--pcre_study.c36
-rw-r--r--pcrecpp.cc2
-rw-r--r--pcregrep.c10
-rw-r--r--pcreposix.c2
-rwxr-xr-xperltest.pl6
-rw-r--r--ucp.h2
18 files changed, 195 insertions, 122 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d010d4..13e687f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,19 +1,19 @@
ChangeLog for PCRE
------------------
-Version 8.36 xx-xxx-2014
-------------------------
+Version 8.36 15-September-2014
+------------------------------
1. Got rid of some compiler warnings in the C++ modules that were shown up by
-Wmissing-field-initializers and -Wunused-parameter.
-
+
2. The tests for quantifiers being too big (greater than 65535) were being
- applied after reading the number, and stupidly assuming that integer
- overflow would give a negative number. The tests are now applied as the
+ applied after reading the number, and stupidly assuming that integer
+ overflow would give a negative number. The tests are now applied as the
numbers are read.
-
+
3. Tidy code in pcre_exec.c where two branches that used to be different are
- now the same.
+ now the same.
4. The JIT compiler did not generate match limit checks for certain
bracketed expressions with quantifiers. This may lead to exponential
@@ -22,59 +22,59 @@ Version 8.36 xx-xxx-2014
5. Fixed an issue, which occures when nested alternatives are optimized
with table jumps.
-
+
6. Inserted two casts and changed some ints to size_t in the light of some
- reported 64-bit compiler warnings (Bugzilla 1477).
-
-7. Fixed a bug concerned with zero-minimum possessive groups that could match
+ reported 64-bit compiler warnings (Bugzilla 1477).
+
+7. Fixed a bug concerned with zero-minimum possessive groups that could match
an empty string, which sometimes were behaving incorrectly in the
interpreter (though correctly in the JIT matcher). This pcretest input is
an example:
-
+
'\A(?:[^"]++|"(?:[^"]*+|"")*+")++'
NON QUOTED "QUOT""ED" AFTER "NOT MATCHED
-
+
the interpreter was reporting a match of 'NON QUOTED ' only, whereas the
JIT matcher and Perl both matched 'NON QUOTED "QUOT""ED" AFTER '. The test
for an empty string was breaking the inner loop and carrying on at a lower
level, when possessive repeated groups should always return to a higher
level as they have no backtrack points in them. The empty string test now
occurs at the outer level.
-
+
8. Fixed a bug that was incorrectly auto-possessifying \w+ in the pattern
- ^\w+(?>\s*)(?<=\w) which caused it not to match "test test".
-
-9. Give a compile-time error for \o{} (as Perl does) and for \x{} (which Perl
+ ^\w+(?>\s*)(?<=\w) which caused it not to match "test test".
+
+9. Give a compile-time error for \o{} (as Perl does) and for \x{} (which Perl
doesn't).
-
+
10. Change 8.34/15 introduced a bug that caused the amount of memory needed
to hold a pattern to be incorrectly computed (too small) when there were
named back references to duplicated names. This could cause "internal
error: code overflow" or "double free or corruption" or other memory
handling errors.
-
+
11. When named subpatterns had the same prefixes, back references could be
confused. For example, in this pattern:
-
- /(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l/
-
- the reference to 'Name' was incorrectly treated as a reference to a
+
+ /(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l/
+
+ the reference to 'Name' was incorrectly treated as a reference to a
duplicate name.
-
+
12. A pattern such as /^s?c/mi8 where the optional character has more than
- one "other case" was incorrectly compiled such that it would only try to
- match starting at "c".
-
-13. When a pattern starting with \s was studied, VT was not included in the
- list of possible starting characters; this should have been part of the
+ one "other case" was incorrectly compiled such that it would only try to
+ match starting at "c".
+
+13. When a pattern starting with \s was studied, VT was not included in the
+ list of possible starting characters; this should have been part of the
8.34/18 patch.
-
+
14. If a character class started [\Qx]... where x is any character, the class
was incorrectly terminated at the ].
-
-15. If a pattern that started with a caseless match for a character with more
- than one "other case" was studied, PCRE did not set up the starting code
- unit bit map for the list of possible characters. Now it does. This is an
+
+15. If a pattern that started with a caseless match for a character with more
+ than one "other case" was studied, PCRE did not set up the starting code
+ unit bit map for the list of possible characters. Now it does. This is an
optimization improvement, not a bug fix.
16. The Unicode data tables have been updated to Unicode 7.0.0.
@@ -82,15 +82,15 @@ Version 8.36 xx-xxx-2014
17. Fixed a number of memory leaks in pcregrep.
18. Avoid a compiler warning (from some compilers) for a function call with
- a cast that removes "const" from an lvalue by using an intermediate
+ a cast that removes "const" from an lvalue by using an intermediate
variable (to which the compiler does not object).
-
-19. Incorrect code was compiled if a group that contained an internal recursive
+
+19. Incorrect code was compiled if a group that contained an internal recursive
back reference was optional (had quantifier with a minimum of zero). This
- example compiled incorrect code: /(((a\2)|(a*)\g<-1>))*/ and other examples
- caused segmentation faults because of stack overflows at compile time.
-
-20. A pattern such as /((?(R)a|(?1)))+/, which contains a recursion within a
+ example compiled incorrect code: /(((a\2)|(a*)\g<-1>))*/ and other examples
+ caused segmentation faults because of stack overflows at compile time.
+
+20. A pattern such as /((?(R)a|(?1)))+/, which contains a recursion within a
group that is quantified with an indefinite repeat, caused a compile-time
loop which used up all the system stack and provoked a segmentation fault.
This was not the same bug as 19 above.
diff --git a/NEWS b/NEWS
index 6331e99..fddd55a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,13 @@
News about PCRE releases
------------------------
+Release 8.36 15-September-2014
+------------------------------
+
+This is primarily a bug-fix release. However, in addition, the Unicode data
+tables have been updated to Unicode 7.0.0.
+
+
Release 8.35 04-April-2014
--------------------------
diff --git a/configure.ac b/configure.ac
index 142830a..f4e5557 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,17 +11,17 @@ dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre_major, [8])
m4_define(pcre_minor, [36])
m4_define(pcre_prerelease, [-RC1])
-m4_define(pcre_date, [2014-04-21])
+m4_define(pcre_date, [2014-09-15])
# NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved.
# Libtool shared library interface versions (current:revision:age)
-m4_define(libpcre_version, [3:3:2])
-m4_define(libpcre16_version, [2:3:2])
-m4_define(libpcre32_version, [0:3:0])
-m4_define(libpcreposix_version, [0:2:0])
-m4_define(libpcrecpp_version, [0:0:0])
+m4_define(libpcre_version, [3:4:2])
+m4_define(libpcre16_version, [2:4:2])
+m4_define(libpcre32_version, [0:4:0])
+m4_define(libpcreposix_version, [0:3:0])
+m4_define(libpcrecpp_version, [0:1:0])
AC_PREREQ(2.57)
AC_INIT(PCRE, pcre_major.pcre_minor[]pcre_prerelease, , pcre)
diff --git a/doc/html/pcre_config.html b/doc/html/pcre_config.html
index bcdcdde..72fb9ca 100644
--- a/doc/html/pcre_config.html
+++ b/doc/html/pcre_config.html
@@ -39,8 +39,10 @@ arguments are as follows:
<i>where</i> Points to where to put the data
</pre>
The <i>where</i> argument must point to an integer variable, except for
-PCRE_CONFIG_MATCH_LIMIT and PCRE_CONFIG_MATCH_LIMIT_RECURSION, when it must
-point to an unsigned long integer. The available codes are:
+PCRE_CONFIG_MATCH_LIMIT, PCRE_CONFIG_MATCH_LIMIT_RECURSION, and
+PCRE_CONFIG_PARENS_LIMIT, when it must point to an unsigned long integer,
+and for PCRE_CONFIG_JITTARGET, when it must point to a const char*.
+The available codes are:
<pre>
PCRE_CONFIG_JIT Availability of just-in-time compiler
support (1=yes 0=no)
diff --git a/doc/html/pcre_fullinfo.html b/doc/html/pcre_fullinfo.html
index b88fc11..2b7c72b 100644
--- a/doc/html/pcre_fullinfo.html
+++ b/doc/html/pcre_fullinfo.html
@@ -57,6 +57,10 @@ The following information is available:
PCRE_INFO_JITSIZE Size of JIT compiled code
PCRE_INFO_LASTLITERAL Literal last data unit required
PCRE_INFO_MINLENGTH Lower bound length of matching strings
+ PCRE_INFO_MATCHEMPTY Return 1 if the pattern can match an empty string,
+ 0 otherwise
+ PCRE_INFO_MATCHLIMIT Match limit if set, otherwise PCRE_RROR_UNSET
+ PCRE_INFO_MAXLOOKBEHIND Length (in characters) of the longest lookbehind assertion
PCRE_INFO_NAMECOUNT Number of named subpatterns
PCRE_INFO_NAMEENTRYSIZE Size of name table entry
PCRE_INFO_NAMETABLE Pointer to name table
@@ -72,6 +76,7 @@ The following information is available:
2 if the first character is at the start of the data
string or after a newline, and
0 otherwise
+ PCRE_INFO_RECURSIONLIMIT Recursion limit if set, otherwise PCRE_ERROR_UNSET
PCRE_INFO_REQUIREDCHAR Literal last data unit required
PCRE_INFO_REQUIREDCHARFLAGS Returns 1 if the last data character is set (which can then
be retrieved using PCRE_INFO_REQUIREDCHAR); 0 otherwise
@@ -79,14 +84,18 @@ The following information is available:
The <i>where</i> argument must point to an integer variable, except for the
following <i>what</i> values:
<pre>
- PCRE_INFO_DEFAULT_TABLES const unsigned char *
- PCRE_INFO_FIRSTTABLE const unsigned char *
+ PCRE_INFO_DEFAULT_TABLES const uint8_t *
+ PCRE_INFO_FIRSTCHARACTER uint32_t
+ PCRE_INFO_FIRSTTABLE const uint8_t *
+ PCRE_INFO_JITSIZE size_t
+ PCRE_INFO_MATCHLIMIT uint32_t
PCRE_INFO_NAMETABLE PCRE_SPTR16 (16-bit library)
PCRE_INFO_NAMETABLE PCRE_SPTR32 (32-bit library)
PCRE_INFO_NAMETABLE const unsigned char * (8-bit library)
PCRE_INFO_OPTIONS unsigned long int
PCRE_INFO_SIZE size_t
- PCRE_INFO_FIRSTCHARACTER uint32_t
+ PCRE_INFO_STUDYSIZE size_t
+ PCRE_INFO_RECURSIONLIMIT uint32_t
PCRE_INFO_REQUIREDCHAR uint32_t
</pre>
The yield of the function is zero on success or:
@@ -95,6 +104,7 @@ The yield of the function is zero on success or:
the argument <i>where</i> was NULL
PCRE_ERROR_BADMAGIC the "magic number" was not found
PCRE_ERROR_BADOPTION the value of <i>what</i> was invalid
+ PCRE_ERROR_UNSET the option was not set
</PRE>
</P>
<P>
diff --git a/doc/html/pcrepattern.html b/doc/html/pcrepattern.html
index c06d1e0..71fd907 100644
--- a/doc/html/pcrepattern.html
+++ b/doc/html/pcrepattern.html
@@ -703,6 +703,7 @@ Armenian,
Avestan,
Balinese,
Bamum,
+Bassa_Vah,
Batak,
Bengali,
Bopomofo,
@@ -712,6 +713,7 @@ Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
+Caucasian_Albanian,
Chakma,
Cham,
Cherokee,
@@ -722,11 +724,14 @@ Cypriot,
Cyrillic,
Deseret,
Devanagari,
+Duployan,
Egyptian_Hieroglyphs,
+Elbasan,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
+Grantha,
Greek,
Gujarati,
Gurmukhi,
@@ -746,40 +751,56 @@ Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
+Khojki,
+Khudawadi,
Lao,
Latin,
Lepcha,
Limbu,
+Linear_A,
Linear_B,
Lisu,
Lycian,
Lydian,
+Mahajani,
Malayalam,
Mandaic,
+Manichaean,
Meetei_Mayek,
+Mende_Kikakui,
Meroitic_Cursive,
Meroitic_Hieroglyphs,
Miao,
+Modi,
Mongolian,
+Mro,
Myanmar,
+Nabataean,
New_Tai_Lue,
Nko,
Ogham,
+Ol_Chiki,
Old_Italic,
+Old_North_Arabian,
+Old_Permic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
-Ol_Chiki,
Oriya,
Osmanya,
+Pahawh_Hmong,
+Palmyrene,
+Pau_Cin_Hau,
Phags_Pa,
Phoenician,
+Psalter_Pahlavi,
Rejang,
Runic,
Samaritan,
Saurashtra,
Sharada,
Shavian,
+Siddham,
Sinhala,
Sora_Sompeng,
Sundanese,
@@ -797,8 +818,10 @@ Thaana,
Thai,
Tibetan,
Tifinagh,
+Tirhuta,
Ugaritic,
Vai,
+Warang_Citi,
Yi.
</P>
<P>
diff --git a/doc/html/pcresyntax.html b/doc/html/pcresyntax.html
index 89f3573..5896b9e 100644
--- a/doc/html/pcresyntax.html
+++ b/doc/html/pcresyntax.html
@@ -171,6 +171,7 @@ Armenian,
Avestan,
Balinese,
Bamum,
+Bassa_Vah,
Batak,
Bengali,
Bopomofo,
@@ -180,6 +181,7 @@ Buginese,
Buhid,
Canadian_Aboriginal,
Carian,
+Caucasian_Albanian,
Chakma,
Cham,
Cherokee,
@@ -190,11 +192,14 @@ Cypriot,
Cyrillic,
Deseret,
Devanagari,
+Duployan,
Egyptian_Hieroglyphs,
+Elbasan,
Ethiopic,
Georgian,
Glagolitic,
Gothic,
+Grantha,
Greek,
Gujarati,
Gurmukhi,
@@ -214,40 +219,56 @@ Katakana,
Kayah_Li,
Kharoshthi,
Khmer,
+Khojki,
+Khudawadi,
Lao,
Latin,
Lepcha,
Limbu,
+Linear_A,
Linear_B,
Lisu,
Lycian,
Lydian,
+Mahajani,
Malayalam,
Mandaic,
+Manichaean,
Meetei_Mayek,
+Mende_Kikakui,
Meroitic_Cursive,
Meroitic_Hieroglyphs,
Miao,
+Modi,
Mongolian,
+Mro,
Myanmar,
+Nabataean,
New_Tai_Lue,
Nko,
Ogham,
+Ol_Chiki,
Old_Italic,
+Old_North_Arabian,
+Old_Permic,
Old_Persian,
Old_South_Arabian,
Old_Turkic,
-Ol_Chiki,
Oriya,
Osmanya,
+Pahawh_Hmong,
+Palmyrene,
+Pau_Cin_Hau,
Phags_Pa,
Phoenician,
+Psalter_Pahlavi,
Rejang,
Runic,
Samaritan,
Saurashtra,
Sharada,
Shavian,
+Siddham,
Sinhala,
Sora_Sompeng,
Sundanese,
@@ -265,8 +286,10 @@ Thaana,
Thai,
Tibetan,
Tifinagh,
+Tirhuta,
Ugaritic,
Vai,
+Warang_Citi,
Yi.
</P>
<br><a name="SEC8" href="#TOC1">CHARACTER CLASSES</a><br>
diff --git a/doc/pcre.txt b/doc/pcre.txt
index 14cbb8b..ce27f4b 100644
--- a/doc/pcre.txt
+++ b/doc/pcre.txt
@@ -5326,21 +5326,25 @@ BACKSLASH
Those that are not part of an identified script are lumped together as
"Common". The current list of scripts is:
- Arabic, Armenian, Avestan, Balinese, Bamum, Batak, Bengali, Bopomofo,
- Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Chakma,
- Cham, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret,
- Devanagari, Egyptian_Hieroglyphs, Ethiopic, Georgian, Glagolitic,
- Gothic, Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hira-
- gana, Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip-
- tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li,
- Kharoshthi, Khmer, Lao, Latin, Lepcha, Limbu, Linear_B, Lisu, Lycian,
- Lydian, Malayalam, Mandaic, Meetei_Mayek, Meroitic_Cursive,
- Meroitic_Hieroglyphs, Miao, Mongolian, Myanmar, New_Tai_Lue, Nko,
- Ogham, Old_Italic, Old_Persian, Old_South_Arabian, Old_Turkic,
- Ol_Chiki, Oriya, Osmanya, Phags_Pa, Phoenician, Rejang, Runic, Samari-
- tan, Saurashtra, Sharada, Shavian, Sinhala, Sora_Sompeng, Sundanese,
- Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet,
- Takri, Tamil, Telugu, Thaana, Thai, Tibetan, Tifinagh, Ugaritic, Vai,
+ Arabic, Armenian, Avestan, Balinese, Bamum, Bassa_Vah, Batak, Bengali,
+ Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Car-
+ ian, Caucasian_Albanian, Chakma, Cham, Cherokee, Common, Coptic, Cunei-
+ form, Cypriot, Cyrillic, Deseret, Devanagari, Duployan, Egyptian_Hiero-
+ glyphs, Elbasan, Ethiopic, Georgian, Glagolitic, Gothic, Grantha,
+ Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hiragana,
+ Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip-
+ tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li,
+ Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Lin-
+ ear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, Malayalam, Mandaic,
+ Manichaean, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive,
+ Meroitic_Hieroglyphs, Miao, Modi, Mongolian, Mro, Myanmar, Nabataean,
+ New_Tai_Lue, Nko, Ogham, Ol_Chiki, Old_Italic, Old_North_Arabian,
+ Old_Permic, Old_Persian, Old_South_Arabian, Old_Turkic, Oriya, Osmanya,
+ Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician,
+ Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Sha-
+ vian, Siddham, Sinhala, Sora_Sompeng, Sundanese, Syloti_Nagri, Syriac,
+ Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet, Takri, Tamil, Telugu,
+ Thaana, Thai, Tibetan, Tifinagh, Tirhuta, Ugaritic, Vai, Warang_Citi,
Yi.
Each character has exactly one Unicode general category property, spec-
@@ -7777,21 +7781,25 @@ PCRE SPECIAL CATEGORY PROPERTIES FOR \p and \P
SCRIPT NAMES FOR \p AND \P
- Arabic, Armenian, Avestan, Balinese, Bamum, Batak, Bengali, Bopomofo,
- Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Chakma,
- Cham, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret,
- Devanagari, Egyptian_Hieroglyphs, Ethiopic, Georgian, Glagolitic,
- Gothic, Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hira-
- gana, Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip-
- tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li,
- Kharoshthi, Khmer, Lao, Latin, Lepcha, Limbu, Linear_B, Lisu, Lycian,
- Lydian, Malayalam, Mandaic, Meetei_Mayek, Meroitic_Cursive,
- Meroitic_Hieroglyphs, Miao, Mongolian, Myanmar, New_Tai_Lue, Nko,
- Ogham, Old_Italic, Old_Persian, Old_South_Arabian, Old_Turkic,
- Ol_Chiki, Oriya, Osmanya, Phags_Pa, Phoenician, Rejang, Runic, Samari-
- tan, Saurashtra, Sharada, Shavian, Sinhala, Sora_Sompeng, Sundanese,
- Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet,
- Takri, Tamil, Telugu, Thaana, Thai, Tibetan, Tifinagh, Ugaritic, Vai,
+ Arabic, Armenian, Avestan, Balinese, Bamum, Bassa_Vah, Batak, Bengali,
+ Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Car-
+ ian, Caucasian_Albanian, Chakma, Cham, Cherokee, Common, Coptic, Cunei-
+ form, Cypriot, Cyrillic, Deseret, Devanagari, Duployan, Egyptian_Hiero-
+ glyphs, Elbasan, Ethiopic, Georgian, Glagolitic, Gothic, Grantha,
+ Greek, Gujarati, Gurmukhi, Han, Hangul, Hanunoo, Hebrew, Hiragana,
+ Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip-
+ tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li,
+ Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Lin-
+ ear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, Malayalam, Mandaic,
+ Manichaean, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive,
+ Meroitic_Hieroglyphs, Miao, Modi, Mongolian, Mro, Myanmar, Nabataean,
+ New_Tai_Lue, Nko, Ogham, Ol_Chiki, Old_Italic, Old_North_Arabian,
+ Old_Permic, Old_Persian, Old_South_Arabian, Old_Turkic, Oriya, Osmanya,
+ Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician,
+ Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Sha-
+ vian, Siddham, Sinhala, Sora_Sompeng, Sundanese, Syloti_Nagri, Syriac,
+ Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet, Takri, Tamil, Telugu,
+ Thaana, Thai, Tibetan, Tifinagh, Tirhuta, Ugaritic, Vai, Warang_Citi,
Yi.
diff --git a/pcre_compile.c b/pcre_compile.c
index 4bb05b9..efc0b21 100644
--- a/pcre_compile.c
+++ b/pcre_compile.c
@@ -2397,12 +2397,12 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
do endgroup += GET(endgroup, 1); while (*endgroup == OP_ALT);
if (code >= scode && code <= endgroup) continue; /* Simple recursion */
else
- {
+ {
recurse_check *r = recurses;
for (r = recurses; r != NULL; r = r->prev)
if (r->group == scode) break;
if (r != NULL) continue; /* Mutual recursion */
- }
+ }
/* Completed reference; scan the referenced group, remembering it on the
stack chain to detect mutual recursions. */
diff --git a/pcre_exec.c b/pcre_exec.c
index 43b51a6..654eb9e 100644
--- a/pcre_exec.c
+++ b/pcre_exec.c
@@ -1175,7 +1175,7 @@ for (;;)
{
do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
break;
- }
+ }
eptr = md->end_match_ptr;
continue;
}
@@ -1253,7 +1253,7 @@ for (;;)
{
do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
break;
- }
+ }
eptr = md->end_match_ptr;
continue;
}
@@ -1904,7 +1904,7 @@ for (;;)
case OP_KETRMAX:
case OP_KETRPOS:
prev = ecode - GET(ecode, 1);
-
+
/* If this was a group that remembered the subject start, in order to break
infinite repeats of empty string matches, retrieve the subject start from
the chain. Otherwise, set it NULL. */
@@ -1929,7 +1929,7 @@ for (;;)
md->start_match_ptr = mstart;
RRETURN(MATCH_MATCH); /* Sets md->mark */
}
-
+
/* For capturing groups we have to check the group number back at the start
and if necessary complete handling an extraction by setting the offsets and
bumping the high water mark. Whole-pattern recursion is coded as a recurse
@@ -1991,7 +1991,7 @@ for (;;)
/* OP_KETRPOS is a possessive repeating ket. Remember the current position,
and return the MATCH_KETRPOS. This makes it possible to do the repeats one
- at a time from the outer level, thus saving stack. This must precede the
+ at a time from the outer level, thus saving stack. This must precede the
empty string test - in this case that test is done at the outer level. */
if (*ecode == OP_KETRPOS)
diff --git a/pcre_scanner_unittest.cc b/pcre_scanner_unittest.cc
index adc33c1..c00312c 100644
--- a/pcre_scanner_unittest.cc
+++ b/pcre_scanner_unittest.cc
@@ -150,7 +150,7 @@ static void TestBigComment() {
int main(int argc, char** argv) {
(void)argc;
- (void)argv;
+ (void)argv;
TestScanner();
TestBigComment();
diff --git a/pcre_stringpiece_unittest.cc b/pcre_stringpiece_unittest.cc
index f758d63..1c4759d 100644
--- a/pcre_stringpiece_unittest.cc
+++ b/pcre_stringpiece_unittest.cc
@@ -143,7 +143,7 @@ static void CheckComparisonOperators() {
int main(int argc, char** argv) {
(void)argc;
- (void)argv;
+ (void)argv;
CheckComparisonOperators();
CheckSTLComparator();
diff --git a/pcre_study.c b/pcre_study.c
index b3cee4d..f19d9fb 100644
--- a/pcre_study.c
+++ b/pcre_study.c
@@ -879,31 +879,31 @@ do
case OP_THEN:
case OP_THEN_ARG:
return SSB_FAIL;
-
+
/* A "real" property test implies no starting bits, but the fake property
PT_CLIST identifies a list of characters. These lists are short, as they
are used for characters with more than one "other case", so there is no
point in recognizing them for OP_NOTPROP. */
-
- case OP_PROP:
- if (tcode[1] != PT_CLIST) return SSB_FAIL;
- {
- const pcre_uint32 *p = PRIV(ucd_caseless_sets) + tcode[2];
- while ((c = *p++) < NOTACHAR)
- {
-#if defined SUPPORT_UTF && defined COMPILE_PCRE8
- if (utf)
- {
- pcre_uchar buff[6];
+
+ case OP_PROP:
+ if (tcode[1] != PT_CLIST) return SSB_FAIL;
+ {
+ const pcre_uint32 *p = PRIV(ucd_caseless_sets) + tcode[2];
+ while ((c = *p++) < NOTACHAR)
+ {
+#if defined SUPPORT_UTF && defined COMPILE_PCRE8
+ if (utf)
+ {
+ pcre_uchar buff[6];
(void)PRIV(ord2utf)(c, buff);
c = buff[0];
- }
-#endif
+ }
+#endif
if (c > 0xff) SET_BIT(0xff); else SET_BIT(c);
- }
- }
- try_next = FALSE;
- break;
+ }
+ }
+ try_next = FALSE;
+ break;
/* We can ignore word boundary tests. */
diff --git a/pcrecpp.cc b/pcrecpp.cc
index c04a2f1..c595cbc 100644
--- a/pcrecpp.cc
+++ b/pcrecpp.cc
@@ -661,7 +661,7 @@ int RE::NumberOfCapturingGroups() const {
bool Arg::parse_null(const char* str, int n, void* dest) {
(void)str;
- (void)n;
+ (void)n;
// We fail if somebody asked us to store into a non-NULL void* pointer
return (dest == NULL);
}
diff --git a/pcregrep.c b/pcregrep.c
index fc3f3b2..4f7fa38 100644
--- a/pcregrep.c
+++ b/pcregrep.c
@@ -471,7 +471,7 @@ if (strlen(s) > MAXPATLEN)
{
fprintf(stderr, "pcregrep: pattern is too long (limit is %d bytes)\n",
MAXPATLEN);
- free(p);
+ free(p);
return NULL;
}
p->next = NULL;
@@ -2550,11 +2550,11 @@ while (fgets(buffer, PATBUFSIZE, f) != NULL)
afterwards, as a precaution against any later code trying to use it. */
*patlastptr = add_pattern(buffer, *patlastptr);
- if (*patlastptr == NULL)
+ if (*patlastptr == NULL)
{
if (f != stdin) fclose(f);
return FALSE;
- }
+ }
if (*patptr == NULL) *patptr = *patlastptr;
/* This loop is needed because compiling a "pattern" when -F is set may add
@@ -2566,10 +2566,10 @@ while (fgets(buffer, PATBUFSIZE, f) != NULL)
{
if (!compile_pattern(*patlastptr, pcre_options, popts, TRUE, filename,
linenumber))
- {
+ {
if (f != stdin) fclose(f);
return FALSE;
- }
+ }
(*patlastptr)->string = NULL; /* Insurance */
if ((*patlastptr)->next == NULL) break;
*patlastptr = (*patlastptr)->next;
diff --git a/pcreposix.c b/pcreposix.c
index 80281ea..f024423 100644
--- a/pcreposix.c
+++ b/pcreposix.c
@@ -173,7 +173,7 @@ static const int eint[] = {
REG_BADPAT, /* group name must start with a non-digit */
/* 85 */
REG_BADPAT, /* parentheses too deeply nested (stack check) */
- REG_BADPAT /* missing digits in \x{} or \o{} */
+ REG_BADPAT /* missing digits in \x{} or \o{} */
};
/* Table of texts corresponding to POSIX error codes */
diff --git a/perltest.pl b/perltest.pl
index 112de35..29b808b 100755
--- a/perltest.pl
+++ b/perltest.pl
@@ -126,9 +126,9 @@ for (;;)
for (;;)
{
last if ! ($_ = <$infile>);
- last if $_ =~ /^\s*$/;
- }
- }
+ last if $_ =~ /^\s*$/;
+ }
+ }
next NEXT_RE;
}
diff --git a/ucp.h b/ucp.h
index d787814..2fa0029 100644
--- a/ucp.h
+++ b/ucp.h
@@ -195,7 +195,7 @@ enum {
ucp_Takri,
/* New for Unicode 7.0.0: */
ucp_Bassa_Vah,
- ucp_Caucasian_Albanian,
+ ucp_Caucasian_Albanian,
ucp_Duployan,
ucp_Elbasan,
ucp_Grantha,