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,