Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions php_simdjson.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,13 @@ static zend_always_inline bool simdjson_validate_depth(zend_long depth, const ch
PHP_FUNCTION (simdjson_is_valid) {
zend_string *json = NULL;
zend_long depth = SIMDJSON_PARSE_DEFAULT_DEPTH;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|l", &json, &depth) == FAILURE) {
RETURN_THROWS();
}

ZEND_PARSE_PARAMETERS_START(1, 2)
Z_PARAM_STR(json)
Z_PARAM_OPTIONAL
Z_PARAM_LONG(depth)
ZEND_PARSE_PARAMETERS_END();

if (!simdjson_validate_depth(depth, "simdjson_is_valid", 2)) {
RETURN_THROWS();
}
Expand All @@ -145,9 +149,14 @@ PHP_FUNCTION (simdjson_decode) {
zend_bool associative = 0;
zend_long depth = SIMDJSON_PARSE_DEFAULT_DEPTH;
zend_string *json = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|bl", &json, &associative, &depth) == FAILURE) {
RETURN_THROWS();
}

ZEND_PARSE_PARAMETERS_START(1, 3)
Z_PARAM_STR(json)
Z_PARAM_OPTIONAL
Z_PARAM_BOOL(associative)
Z_PARAM_LONG(depth)
ZEND_PARSE_PARAMETERS_END();

if (!simdjson_validate_depth(depth, "simdjson_decode", 2)) {
RETURN_THROWS();
}
Expand Down