summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tokenizer.c
diff options
context:
space:
mode:
authorGeorge Peter Banyard <girgias@php.net>2020-08-28 15:41:27 +0200
committerGeorge Peter Banyard <girgias@php.net>2020-08-28 15:41:27 +0200
commitfa8d9b1183f961cb6e0f0ef5a2d1b1d3744fe35b (patch)
treea00044117c3f56969a7b77b466bbdbdd45d66db7 /ext/tokenizer/tokenizer.c
parent7690439edd93bf9dc868cbc34a12fbad6b26e777 (diff)
downloadphp-git-fa8d9b1183f961cb6e0f0ef5a2d1b1d3744fe35b.tar.gz
Improve type declarations for Zend APIs
Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
Diffstat (limited to 'ext/tokenizer/tokenizer.c')
-rw-r--r--ext/tokenizer/tokenizer.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/ext/tokenizer/tokenizer.c b/ext/tokenizer/tokenizer.c
index 2656ce8f73..d12b5edba8 100644
--- a/ext/tokenizer/tokenizer.c
+++ b/ext/tokenizer/tokenizer.c
@@ -358,10 +358,7 @@ static zend_bool tokenize(zval *return_value, zend_string *source, zend_class_en
ZVAL_STR_COPY(&source_zval, source);
zend_save_lexical_state(&original_lex_state);
- if (zend_prepare_string_for_scanning(&source_zval, "") == FAILURE) {
- zend_restore_lexical_state(&original_lex_state);
- return 0;
- }
+ zend_prepare_string_for_scanning(&source_zval, "");
LANG_SCNG(yy_state) = yycINITIAL;
zend_hash_init(&interned_strings, 0, NULL, NULL, 0);
@@ -484,6 +481,8 @@ static zend_bool tokenize_parse(
zval *return_value, zend_string *source, zend_class_entry *token_class)
{
zval source_zval;
+ struct event_context ctx;
+ zval token_stream;
zend_lex_state original_lex_state;
zend_bool original_in_compilation;
zend_bool success;
@@ -494,30 +493,27 @@ static zend_bool tokenize_parse(
CG(in_compilation) = 1;
zend_save_lexical_state(&original_lex_state);
- if ((success = (zend_prepare_string_for_scanning(&source_zval, "") == SUCCESS))) {
- struct event_context ctx;
- zval token_stream;
- array_init(&token_stream);
-
- ctx.tokens = &token_stream;
- ctx.token_class = token_class;
+ zend_prepare_string_for_scanning(&source_zval, "");
+ array_init(&token_stream);
- CG(ast) = NULL;
- CG(ast_arena) = zend_arena_create(1024 * 32);
- LANG_SCNG(yy_state) = yycINITIAL;
- LANG_SCNG(on_event) = on_event;
- LANG_SCNG(on_event_context) = &ctx;
+ ctx.tokens = &token_stream;
+ ctx.token_class = token_class;
- if((success = (zendparse() == SUCCESS))) {
- ZVAL_COPY_VALUE(return_value, &token_stream);
- } else {
- zval_ptr_dtor(&token_stream);
- }
+ CG(ast) = NULL;
+ CG(ast_arena) = zend_arena_create(1024 * 32);
+ LANG_SCNG(yy_state) = yycINITIAL;
+ LANG_SCNG(on_event) = on_event;
+ LANG_SCNG(on_event_context) = &ctx;
- zend_ast_destroy(CG(ast));
- zend_arena_destroy(CG(ast_arena));
+ if((success = (zendparse() == SUCCESS))) {
+ ZVAL_COPY_VALUE(return_value, &token_stream);
+ } else {
+ zval_ptr_dtor(&token_stream);
}
+ zend_ast_destroy(CG(ast));
+ zend_arena_destroy(CG(ast_arena));
+
/* restore compiler and scanner global states */
zend_restore_lexical_state(&original_lex_state);
CG(in_compilation) = original_in_compilation;