From a5e95907fbf6921668abc4a61641d28a16a88c81 Mon Sep 17 00:00:00 2001
From: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Fri, 6 Jan 2023 10:09:20 +0800
Subject: [PATCH 1/2] cmocka.c: Reduce the call stack consumption of printf

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Idf179ad5eb81bbc63eea4f71980857831668e7a8
---
 src/cmocka.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/cmocka.c cmocka/src/cmocka.c
index ef8fbd9..ff59b53 100644
--- a/src/cmocka.c
+++ cmocka/src/cmocka.c
@@ -2086,7 +2086,7 @@ static void vcmocka_print_error(const char* const format,
  */
 static void vcmocka_print_error(const char* const format, va_list args)
 {
-    char buffer[1024];
+    char buffer[256];
     size_t msg_len = 0;
     va_list ap;
     int len;
@@ -2427,12 +2427,12 @@ void cmocka_print_error(const char * const format, ...)
 /* Standard output and error print methods. */
 void vprint_message(const char* const format, va_list args)
 {
+    vprintf(format, args);
+    fflush(stdout);
+#ifdef _WIN32
     char buffer[4096];
 
     vsnprintf(buffer, sizeof(buffer), format, args);
-    printf("%s", buffer);
-    fflush(stdout);
-#ifdef _WIN32
     OutputDebugString(buffer);
 #endif /* _WIN32 */
 }
@@ -2440,12 +2440,12 @@ void vprint_message(const char* const format, va_list args)
 
 void vprint_error(const char* const format, va_list args)
 {
+    vfprintf(stderr, format, args);
+    fflush(stderr);
+#ifdef _WIN32
     char buffer[4096];
 
     vsnprintf(buffer, sizeof(buffer), format, args);
-    fprintf(stderr, "%s", buffer);
-    fflush(stderr);
-#ifdef _WIN32
     OutputDebugString(buffer);
 #endif /* _WIN32 */
 }
-- 
2.25.1

