From: Nikita Popov Date: Mon, 2 Jan 2017 22:44:07 +0000 (+0100) Subject: Merge branch 'PHP-7.1' X-Git-Tag: php-7.2.0alpha1~684 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=47669aa784442bad30f86b4854c2757888c7985e;p=php Merge branch 'PHP-7.1' --- 47669aa784442bad30f86b4854c2757888c7985e diff --cc ext/standard/browscap.c index 722a7fd91e,c913cc8c97..9912e96676 --- a/ext/standard/browscap.c +++ b/ext/standard/browscap.c @@@ -457,16 -687,19 +687,21 @@@ PHP_FUNCTION(get_browser bdata = &global_bdata; } - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|S!b", &agent_name, &return_array) == FAILURE) { - return; - } + ZEND_PARSE_PARAMETERS_START(0, 2) + Z_PARAM_OPTIONAL - Z_PARAM_STRING_EX(agent_name, agent_name_len, 1, 0) ++ Z_PARAM_STR_EX(agent_name, 1, 0) + Z_PARAM_BOOL(return_array) + ZEND_PARSE_PARAMETERS_END(); if (agent_name == NULL) { - if ((Z_TYPE(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY || zend_is_auto_global_str(ZEND_STRL("_SERVER"))) && - (http_user_agent = zend_hash_str_find(Z_ARRVAL_P(&PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT")-1)) == NULL - ) { + zval *http_user_agent = NULL; + if (Z_TYPE(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY + || zend_is_auto_global_str(ZEND_STRL("_SERVER"))) { + http_user_agent = zend_hash_str_find( + Z_ARRVAL_P(&PG(http_globals)[TRACK_VARS_SERVER]), + "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT")-1); + } + if (http_user_agent == NULL) { php_error_docref(NULL, E_WARNING, "HTTP_USER_AGENT variable is not set, cannot determine user agent name"); RETURN_FALSE; }