From 77e7b8a3b6b97be1698aa52b38ca0ab9efa88501 Mon Sep 17 00:00:00 2001 From: heyanlong Date: Tue, 3 Sep 2019 13:16:41 +0800 Subject: [PATCH] spprintf --- skywalking.c | 53 ++++++++++------------------------------------------ 1 file changed, 10 insertions(+), 43 deletions(-) diff --git a/skywalking.c b/skywalking.c index 2f46dcc..39add8b 100644 --- a/skywalking.c +++ b/skywalking.c @@ -685,9 +685,7 @@ void sky_curl_exec_handler(INTERNAL_FUNCTION_PARAMETERS) zval *last_span = NULL; zval *span_id = NULL; char *peer = NULL; - ssize_t operation_name_l = 0; char *operation_name = NULL; - ssize_t full_url_l = 0; char *full_url = NULL; @@ -717,52 +715,21 @@ void sky_curl_exec_handler(INTERNAL_FUNCTION_PARAMETERS) } } - peer = (char *) emalloc(strlen(php_url_scheme) + 3 + strlen(php_url_host) + 7); - bzero(peer, strlen(php_url_scheme) + 3 + strlen(php_url_host) + 7); - if (url_info->query) { if (url_info->path == NULL) { - operation_name_l = snprintf(NULL, 0, "%s", "/"); - operation_name = (char *) emalloc(operation_name_l + 1); - bzero(operation_name, operation_name_l + 1); - sprintf(operation_name, "%s", "/"); - - full_url_l = snprintf(NULL, 0, "%s?%s", "/", php_url_query); - full_url = (char *) emalloc(full_url_l + 1); - bzero(full_url, full_url_l + 1); - sprintf(full_url, "%s?%s", "/", php_url_query); + spprintf(&operation_name, 0, "%s", "/"); + spprintf(&full_url, 0, "%s?%s", "/", php_url_query); } else { - operation_name_l = snprintf(NULL, 0, "%s", php_url_path); - operation_name = (char *) emalloc(operation_name_l + 1); - bzero(operation_name, operation_name_l + 1); - sprintf(operation_name, "%s", php_url_path); - - full_url_l = snprintf(NULL, 0, "%s?%s", php_url_path, php_url_query); - full_url = (char *) emalloc(full_url_l + 1); - bzero(full_url, full_url_l + 1); - sprintf(full_url, "%s?%s", php_url_path, php_url_query); + spprintf(&operation_name, 0, "%s", php_url_path); + spprintf(&full_url, 0, "%s?%s", php_url_path, php_url_query); } } else { if (url_info->path == NULL) { - operation_name_l = snprintf(NULL, 0, "%s", "/"); - operation_name = (char *) emalloc(operation_name_l + 1); - bzero(operation_name, operation_name_l + 1); - sprintf(operation_name, "%s", "/"); - - full_url_l = snprintf(NULL, 0, "%s", "/"); - full_url = (char *) emalloc(full_url_l + 1); - bzero(full_url, full_url_l + 1); - sprintf(full_url, "%s", "/"); + spprintf(&operation_name, 0, "%s", "/"); + spprintf(&full_url, 0, "%s", "/"); } else { - operation_name_l = snprintf(NULL, 0, "%s", php_url_path); - operation_name = (char *) emalloc(operation_name_l + 1); - bzero(operation_name, operation_name_l + 1); - sprintf(operation_name, "%s", php_url_path); - - full_url_l = snprintf(NULL, 0, "%s", php_url_path); - full_url = (char *) emalloc(full_url_l + 1); - bzero(full_url, full_url_l + 1); - sprintf(full_url, "%s", php_url_path); + spprintf(&operation_name, 0, "%s", php_url_path); + spprintf(&full_url, 0, "%s", php_url_path); } } @@ -770,10 +737,10 @@ void sky_curl_exec_handler(INTERNAL_FUNCTION_PARAMETERS) last_span = zend_hash_index_find(Z_ARRVAL_P(spans), zend_hash_num_elements(Z_ARRVAL_P(spans)) - 1); span_id = zend_hash_str_find(Z_ARRVAL_P(last_span), "spanId", sizeof("spanId") - 1); if (SKYWALKING_G(version) == 5) { // skywalking 5.x - sprintf(peer, "%s://%s:%d", php_url_scheme, php_url_host, peer_port); + spprintf(&peer, 0, "%s://%s:%d", php_url_scheme, php_url_host, peer_port); sw = generate_sw3(Z_LVAL_P(span_id) + 1, peer, operation_name); } else if (SKYWALKING_G(version) == 6) { // skywalking 6.x - sprintf(peer, "%s:%d", php_url_host, peer_port); + spprintf(&peer, 0, "%s:%d", php_url_host, peer_port); sw = generate_sw6(Z_LVAL_P(span_id) + 1, peer, operation_name); } } -- GitLab