@@ -84,6 +84,9 @@ SIMDJSON_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(simdjson_key_count_arginfo, 0,
84
84
ZEND_ARG_TYPE_INFO(0 , throw_if_uncountable, _IS_BOOL, 0 )
85
85
ZEND_END_ARG_INFO()
86
86
87
+ SIMDJSON_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(simdjson_cleanup_arginfo, 0 , 0 , _IS_BOOL, 0 )
88
+ ZEND_END_ARG_INFO()
89
+
87
90
#define SIMDJSON_G (v ) ZEND_MODULE_GLOBALS_ACCESSOR(simdjson, v)
88
91
static simdjson_php_parser *simdjson_get_parser () {
89
92
simdjson_php_parser *parser = SIMDJSON_G (parser);
@@ -221,6 +224,17 @@ PHP_FUNCTION (simdjson_key_exists) {
221
224
}
222
225
}
223
226
227
+ PHP_FUNCTION (simdjson_cleanup) {
228
+ ZEND_PARSE_PARAMETERS_NONE ();
229
+
230
+ simdjson_php_parser *parser = SIMDJSON_G (parser);
231
+ if (EXPECTED (parser != NULL )) {
232
+ php_simdjson_free_parser (parser);
233
+ SIMDJSON_G (parser) = NULL ;
234
+ }
235
+ RETURN_TRUE;
236
+ }
237
+
224
238
/* {{{ simdjson_functions[]
225
239
*/
226
240
zend_function_entry simdjson_functions[] = {
@@ -229,6 +243,7 @@ zend_function_entry simdjson_functions[] = {
229
243
PHP_FE (simdjson_key_value, simdjson_key_value_arginfo)
230
244
PHP_FE (simdjson_key_exists, simdjson_key_exists_arginfo)
231
245
PHP_FE (simdjson_key_count, simdjson_key_count_arginfo)
246
+ PHP_FE (simdjson_cleanup, simdjson_cleanup_arginfo)
232
247
{NULL , NULL , NULL }
233
248
};
234
249
/* }}} */
0 commit comments