]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.1'
authorNikita Popov <nikic@php.net>
Mon, 2 Jan 2017 22:44:07 +0000 (23:44 +0100)
committerNikita Popov <nikic@php.net>
Mon, 2 Jan 2017 22:44:07 +0000 (23:44 +0100)
1  2 
ext/standard/browscap.c

index 722a7fd91e32d79708dd6fbeea23cd7f236f10ac,c913cc8c978888b4bb68c288778fbf5fd3183ba5..9912e96676c9cc68e120fcbdb0d16642512ee828
@@@ -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;
                }