summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nginx/src/pcre/pcre_xclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/nginx/src/pcre/pcre_xclass.c')
-rw-r--r--usr.sbin/nginx/src/pcre/pcre_xclass.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/usr.sbin/nginx/src/pcre/pcre_xclass.c b/usr.sbin/nginx/src/pcre/pcre_xclass.c
index fa73cd8c9d5..d777acb57c9 100644
--- a/usr.sbin/nginx/src/pcre/pcre_xclass.c
+++ b/usr.sbin/nginx/src/pcre/pcre_xclass.c
@@ -6,7 +6,7 @@
and semantics are as close as possible to those of the Perl 5 language.
Written by Philip Hazel
- Copyright (c) 1997-2012 University of Cambridge
+ Copyright (c) 1997-2013 University of Cambridge
-----------------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
@@ -180,6 +180,20 @@ while ((t = *data++) != XCL_END)
return !negated;
break;
+ case PT_UCNC:
+ if (c < 0xa0)
+ {
+ if ((c == CHAR_DOLLAR_SIGN || c == CHAR_COMMERCIAL_AT ||
+ c == CHAR_GRAVE_ACCENT) == (t == XCL_PROP))
+ return !negated;
+ }
+ else
+ {
+ if ((c < 0xd800 || c > 0xdfff) == (t == XCL_PROP))
+ return !negated;
+ }
+ break;
+
/* This should never occur, but compilers may mutter if there is no
default. */