From: Willy Tarreau Date: Thu, 21 Nov 2024 14:16:37 +0000 (+0100) Subject: MINOR: activity/memprofile: use resolve_dso_name() for the DSO summary X-Git-Tag: v3.1-dev14~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ead0b0154bea548ffe0304d5133307c0e0aee97c;p=thirdparty%2Fhaproxy.git MINOR: activity/memprofile: use resolve_dso_name() for the DSO summary Let's simplify the code by making use of this simpler and sometimes more efficient variant. --- diff --git a/src/activity.c b/src/activity.c index 72e58a0226..0aa1027e86 100644 --- a/src/activity.c +++ b/src/activity.c @@ -1146,29 +1146,19 @@ static int cli_io_handler_show_profiling(struct appctx *appctx) */ for (i = max = 0; i < max_lines; i++) { struct memprof_stats *entry = &tmp_memstats[i]; - char *p; if (!entry->alloc_calls && !entry->free_calls) continue; chunk_reset(name_buffer); if (!entry->caller) - chunk_printf(name_buffer, "other:"); - else - resolve_sym_name(name_buffer, "", entry->caller); - - /* figure the DSO name (before colon) otherwise "*program*" */ - p = strchr(name_buffer->area, ':'); - if (p) { - *p = 0; - p = name_buffer->area; - } + chunk_printf(name_buffer, "other"); else - p = "*program*"; + resolve_dso_name(name_buffer, "", entry->caller); /* look it up among known names (0..max) */ for (j = 0; j < max; j++) { - if (tmp_memstats[j].info && strcmp(p, tmp_memstats[j].info) == 0) + if (tmp_memstats[j].info && strcmp(name_buffer->area, tmp_memstats[j].info) == 0) break; } @@ -1181,7 +1171,7 @@ static int cli_io_handler_show_profiling(struct appctx *appctx) if (j != i) // set max to keep min caller's address tmp_memstats[j].caller = (void*)-1; - tmp_memstats[j].info = strdup(p); // may fail, but checked when used + tmp_memstats[j].info = strdup(name_buffer->area); // may fail, but checked when used tmp_memstats[j].alloc_calls = entry->alloc_calls; tmp_memstats[j].alloc_tot = entry->alloc_tot; if ((1UL << entry->method) & MEMPROF_FREE_MASK) {