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;
}