summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tokenizer.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-03-21 20:10:19 +0100
committerNikita Popov <nikic@php.net>2015-04-02 16:31:17 +0200
commita8bf1c5d8f5755b53492e58040cfe88150eb57b6 (patch)
treec3b94b3c9cb7bdf5964a5428673459a78e12edc5 /ext/tokenizer/tokenizer.c
parent83a15801cc8619a1a83307e573bf1b63f0d4b53c (diff)
downloadphp-git-a8bf1c5d8f5755b53492e58040cfe88150eb57b6.tar.gz
Throw ParseException from lexer
Primarily to avoid getting fatal errors from token_get_all(). Implemented using a magic E_ERROR token, which the lexer emits to force a parser failure.
Diffstat (limited to 'ext/tokenizer/tokenizer.c')
-rw-r--r--ext/tokenizer/tokenizer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c
index 52095d077d..c011894441 100644
--- a/ext/tokenizer/tokenizer.c
+++ b/ext/tokenizer/tokenizer.c
@@ -123,6 +123,8 @@ static void tokenize(zval *return_value)
case T_DOC_COMMENT:
destroy = 0;
break;
+ case T_ERROR:
+ return;
}
if (token_type >= 256) {