mempool: use backtrace_format

There's no need to manually format the backtrace any more.

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
This commit is contained in:
Neo Xu
2024-10-16 15:03:11 +08:00
committed by Xiang Xiao
parent 62850f3163
commit 9c6c56c255
+5 -12
View File
@@ -197,20 +197,13 @@ static void mempool_memdump_callback(FAR struct mempool_s *pool,
if ((MM_DUMP_ASSIGN(dump, buf) || MM_DUMP_ALLOC(dump, buf) || if ((MM_DUMP_ASSIGN(dump, buf) || MM_DUMP_ALLOC(dump, buf) ||
MM_DUMP_LEAK(dump, buf)) && MM_DUMP_SEQNO(dump, buf)) MM_DUMP_LEAK(dump, buf)) && MM_DUMP_SEQNO(dump, buf))
{ {
# if CONFIG_MM_BACKTRACE > 0
char tmp[BACKTRACE_BUFFER_SIZE(CONFIG_MM_BACKTRACE)]; char tmp[BACKTRACE_BUFFER_SIZE(CONFIG_MM_BACKTRACE)];
# if CONFIG_MM_BACKTRACE > 0 backtrace_format(tmp, sizeof(tmp), buf->backtrace,
FAR const char *format = " %0*p"; CONFIG_MM_BACKTRACE);
int i; # else
FAR const char *tmp = "";
for (i = 0; i < CONFIG_MM_BACKTRACE &&
buf->backtrace[i]; i++)
{
snprintf(tmp + i * BACKTRACE_PTR_FMT_WIDTH,
sizeof(tmp) - i * BACKTRACE_PTR_FMT_WIDTH,
format, BACKTRACE_PTR_FMT_WIDTH - 1,
buf->backtrace[i]);
}
# endif # endif
syslog(LOG_INFO, "%6d%12zu%12lu%*p%s\n", syslog(LOG_INFO, "%6d%12zu%12lu%*p%s\n",