Skip to content

Commit

Permalink
Try to fix... again
Browse files Browse the repository at this point in the history
  • Loading branch information
morrisonlevi committed Sep 13, 2019
1 parent b0a0289 commit ba071c2
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/ext/dispatch_setup.c
Expand Up @@ -92,22 +92,26 @@ void ddtrace_dispatch_inject(TSRMLS_D) {
zend_bool ddtrace_trace(zval *class_name, zval *function_name, zval *callable, zend_bool run_as_postprocess TSRMLS_DC) {
HashTable *overridable_lookup = NULL;
if (class_name && DDTRACE_G(class_lookup)) {
#if PHP_VERSION_ID < 70000
// downcase the class name before lookup as class names are case insensitive.
zval *class_name_prev = class_name;
MAKE_STD_ZVAL(class_name);
ZVAL_STRING(class_name, Z_STRVAL_P(class_name_prev), 1);
ddtrace_downcase_zval(class_name);
#if PHP_VERSION_ID < 70000
overridable_lookup =
zend_hash_str_find_ptr(DDTRACE_G(class_lookup), Z_STRVAL_P(class_name), Z_STRLEN_P(class_name));
#else
overridable_lookup = zend_hash_find_ptr(DDTRACE_G(class_lookup), Z_STR_P(class_name));
#endif
if (!overridable_lookup) {
overridable_lookup = ddtrace_new_class_lookup(class_name TSRMLS_CC);
}
zval_ptr_dtor(&class_name);
class_name = class_name_prev;
#else
ddtrace_downcase_zval(class_name);
overridable_lookup = zend_hash_find_ptr(DDTRACE_G(class_lookup), Z_STR_P(class_name));
if (!overridable_lookup) {
overridable_lookup = ddtrace_new_class_lookup(class_name TSRMLS_CC);
}
#endif
} else {
if (DDTRACE_G(strict_mode)) {
zend_function *function = NULL;
Expand Down

0 comments on commit ba071c2

Please sign in to comment.