summaryrefslogtreecommitdiff
path: root/ext/standard/info.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/info.c')
-rw-r--r--ext/standard/info.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 1378512cd7..5a76604241 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -1033,20 +1033,23 @@ PHP_FUNCTION(phpinfo)
PHP_FUNCTION(phpversion)
{
zval **arg;
+ const char *version;
int argc = ZEND_NUM_ARGS();
if (argc == 0) {
RETURN_STRING(PHP_VERSION, 1);
- } else if (argc == 1 && zend_get_parameters_ex(1, &arg) == SUCCESS) {
- const char *version;
+ } else {
+ if (zend_parse_parameters(argc TSRMLS_CC, "Z", &arg) == FAILURE) {
+ return;
+ }
+
convert_to_string_ex(arg);
version = zend_get_module_version(Z_STRVAL_PP(arg));
+
if (version == NULL) {
RETURN_FALSE;
}
RETURN_STRING(version, 1);
- } else {
- WRONG_PARAM_COUNT;
}
}
/* }}} */