You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2023/06/19 08:37:44 UTC
[nuttx] 04/05: mm: Simplify memdump_handler logic a little bit
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 07b0cd1cbabb876e37031035fa36240cfc651b78
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Mon May 29 00:44:04 2023 +0800
mm: Simplify memdump_handler logic a little bit
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
mm/mempool/mempool.c | 18 ++++++++----------
mm/mm_heap/mm_memdump.c | 8 +++-----
mm/tlsf/mm_tlsf.c | 8 +++-----
3 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/mm/mempool/mempool.c b/mm/mempool/mempool.c
index 6aad183e96..2bdeb64545 100644
--- a/mm/mempool/mempool.c
+++ b/mm/mempool/mempool.c
@@ -485,31 +485,29 @@ void mempool_memdump(FAR struct mempool_s *pool,
{
FAR struct mempool_backtrace_s *buf;
- list_for_every_entry(&pool->alist, buf, struct mempool_backtrace_s,
- node)
+ list_for_every_entry(&pool->alist, buf,
+ struct mempool_backtrace_s, node)
{
if ((dump->pid == PID_MM_ALLOC || dump->pid == buf->pid) &&
buf->seqno >= dump->seqmin && buf->seqno <= dump->seqmax)
{
+ char tmp[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1] = "";
+
# if CONFIG_MM_BACKTRACE > 0
- int i;
FAR const char *format = " %0*p";
-# endif
- char bt[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1];
+ int i;
- bt[0] = '\0';
-# if CONFIG_MM_BACKTRACE > 0
for (i = 0; i < CONFIG_MM_BACKTRACE && buf->backtrace[i]; i++)
{
- snprintf(bt + i * MM_PTR_FMT_WIDTH,
- sizeof(bt) - i * MM_PTR_FMT_WIDTH,
+ snprintf(tmp + i * MM_PTR_FMT_WIDTH,
+ sizeof(tmp) - i * MM_PTR_FMT_WIDTH,
format, MM_PTR_FMT_WIDTH - 1, buf->backtrace[i]);
}
# endif
syslog(LOG_INFO, "%6d%12zu%12lu%*p%s\n",
(int)buf->pid, blocksize, buf->seqno,
- MM_PTR_FMT_WIDTH, ((FAR char *)buf - blocksize), bt);
+ MM_PTR_FMT_WIDTH, ((FAR char *)buf - blocksize), tmp);
}
}
}
diff --git a/mm/mm_heap/mm_memdump.c b/mm/mm_heap/mm_memdump.c
index 1406a76c3a..fdac302c46 100644
--- a/mm/mm_heap/mm_memdump.c
+++ b/mm/mm_heap/mm_memdump.c
@@ -70,14 +70,12 @@ static void memdump_handler(FAR struct mm_allocnode_s *node, FAR void *arg)
nodesize, MM_PTR_FMT_WIDTH,
((FAR char *)node + SIZEOF_MM_ALLOCNODE));
#else
+ char buf[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1] = "";
+
# if CONFIG_MM_BACKTRACE > 0
- int i;
FAR const char *format = " %0*p";
-# endif
- char buf[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1];
+ int i;
- buf[0] = '\0';
-# if CONFIG_MM_BACKTRACE > 0
for (i = 0; i < CONFIG_MM_BACKTRACE && node->backtrace[i]; i++)
{
snprintf(buf + i * MM_PTR_FMT_WIDTH,
diff --git a/mm/tlsf/mm_tlsf.c b/mm/tlsf/mm_tlsf.c
index a978027326..b4bb8ad947 100644
--- a/mm/tlsf/mm_tlsf.c
+++ b/mm/tlsf/mm_tlsf.c
@@ -415,14 +415,12 @@ static void memdump_handler(FAR void *ptr, size_t size, int used,
#if CONFIG_MM_BACKTRACE < 0
syslog(LOG_INFO, "%12zu%*p\n", size, MM_PTR_FMT_WIDTH, ptr);
#else
+ char tmp[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1] = "";
+
# if CONFIG_MM_BACKTRACE > 0
- int i;
FAR const char *format = " %0*p";
-# endif
- char tmp[CONFIG_MM_BACKTRACE * MM_PTR_FMT_WIDTH + 1];
+ int i;
- tmp[0] = '\0';
-# if CONFIG_MM_BACKTRACE > 0
for (i = 0; i < CONFIG_MM_BACKTRACE && buf->backtrace[i]; i++)
{
snprintf(tmp + i * MM_PTR_FMT_WIDTH,