From 10bed2f901130a08badc17f2de356b41afb931ab Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Wed, 21 Aug 2024 11:05:57 +0800
Subject: [PATCH] Add buffer dump print code
---
booster/testcase/logger.c | 4 +-
booster/testcase/dump.c | 75 +++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+), 2 deletions(-)
diff --git a/booster/testcase/dump.c b/booster/testcase/dump.c
new file mode 100644
index 0000000..5f70b6f
--- /dev/null
+++ b/booster/testcase/dump.c
@@ -0,0 +1,75 @@
+/*********************************************************************************
+ * Copyright: (C) 2012 Guo Wenxue <guowenxue@gmail.com>
+ * All rights reserved.
+ *
+ * Filename: dump.c
+ * Description: This is the buffer dump print code.
+ *
+ * Version: 1.0.0(08/08/2012~)
+ * Author: Guo Wenxue <guowenxue@gmail.com>
+ * ChangeLog: 1, Release initial version on "08/08/2012 06:51:40 PM"
+ *
+ ********************************************************************************/
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+
+void dump_buf(const char *prompt, const unsigned char *buf, size_t len)
+{
+ char line[256];
+ size_t i, j;
+ int offset;
+
+ if( prompt )
+ {
+ printf("%s", prompt);
+ }
+
+ for(i = 0; i < len; i += 16)
+ {
+ offset = snprintf(line, sizeof(line), "%08zx: ", i);
+
+ /* Print hex representation */
+ for (j = 0; j < 16; j++)
+ {
+ if (i + j < len)
+ offset += snprintf(line + offset, sizeof(line) - offset, "%02x ", buf[i + j]);
+ else
+ offset += snprintf(line + offset, sizeof(line) - offset, " ");
+ }
+
+ offset += snprintf(line + offset, sizeof(line) - offset, " ");
+
+ /* Print ASCII representation */
+ for (j = 0; j < 16; j++)
+ {
+ if (i + j < len)
+ {
+ unsigned char c = buf[i + j];
+ offset += snprintf(line + offset, sizeof(line) - offset, "%c", (c >= 32 && c <= 126) ? c : '.');
+ }
+ else
+ {
+ offset += snprintf(line + offset, sizeof(line) - offset, " ");
+ }
+ }
+
+ /* Print the line */
+ printf("%s\n", line);
+ }
+}
+
+int main (int argc, char **argv)
+{
+ char buf[256];
+ int i;
+
+ for(i=0; i<sizeof(buf); i++)
+ buf[i] = i;
+
+ dump_buf("Hex dump buffer content:\n", buf, sizeof(buf));
+
+ return 0;
+}
+
diff --git a/booster/testcase/logger.c b/booster/testcase/logger.c
index e6ee293..86c2414 100644
--- a/booster/testcase/logger.c
+++ b/booster/testcase/logger.c
@@ -2,8 +2,8 @@
* Copyright: (C) 2012 Guo Wenxue <guowenxue@gmail.com>
* All rights reserved.
*
- * Filename: test_logger.c
- * Description: This is the linux logger system test code.
+ * Filename: logger.c
+ * Description: This is the logger system test code.
*
* Version: 1.0.0(08/08/2012~)
* Author: Guo Wenxue <guowenxue@gmail.com>
--
Gitblit v1.9.1