From 08ae6639e522e9b11765245fbecdbbe474ccde98 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Thu, 10 Mar 2016 13:51:13 -0500
Subject: [PATCH] console: Add an API to just emit text

We had this internally, just need to expose it.
---
 glnx-console.c | 49 +++++++++++++++++++++++++++++++------------------
 glnx-console.h |  2 ++
 2 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/glnx-console.c b/glnx-console.c
index f9d8baa40..016f62cfc 100644
--- a/glnx-console.c
+++ b/glnx-console.c
@@ -177,22 +177,9 @@ printpad (const char *padbuf,
   fwrite (padbuf, 1, r, stdout);
 }
 
-/**
- * glnx_console_progress_text_percent:
- * @text: Show this text before the progress bar
- * @percentage: An integer in the range of 0 to 100
- *
- * On a tty, print to the console @text followed by an ASCII art
- * progress bar whose percentage is @percentage.  If stdout is not a
- * tty, a more basic line by line change will be printed.
- *
- * You must have called glnx_console_lock() before invoking this
- * function.
- *
- */
-void
-glnx_console_progress_text_percent (const char *text,
-                                    guint percentage)
+static void
+text_percent_internal (const char *text,
+                       int percentage)
 {
   static const char equals[] = "====================";
   const guint n_equals = sizeof (equals) - 1;
@@ -204,8 +191,6 @@ glnx_console_progress_text_percent (const char *text,
   guint textlen;
   guint barlen;
 
-  g_return_if_fail (percentage >= 0 && percentage <= 100);
-
   if (text && !*text)
     text = NULL;
 
@@ -266,6 +251,34 @@ glnx_console_progress_text_percent (const char *text,
   fflush (stdout);
 }
 
+/**
+ * glnx_console_progress_text_percent:
+ * @text: Show this text before the progress bar
+ * @percentage: An integer in the range of 0 to 100
+ *
+ * On a tty, print to the console @text followed by an ASCII art
+ * progress bar whose percentage is @percentage.  If stdout is not a
+ * tty, a more basic line by line change will be printed.
+ *
+ * You must have called glnx_console_lock() before invoking this
+ * function.
+ *
+ */
+void
+glnx_console_progress_text_percent (const char *text,
+                                    guint percentage)
+{
+  g_return_if_fail (percentage >= 0 && percentage <= 100);
+
+  text_percent_internal (text, percentage);
+}
+
+void
+glnx_console_text (const char *text)
+{
+  text_percent_internal (text, -1);
+}
+
 /**
  * glnx_console_unlock:
  *
diff --git a/glnx-console.h b/glnx-console.h
index 8fc386567..8c1d81159 100644
--- a/glnx-console.h
+++ b/glnx-console.h
@@ -33,6 +33,8 @@ typedef struct GLnxConsoleRef GLnxConsoleRef;
 
 void	 glnx_console_lock (GLnxConsoleRef *ref);
 
+void	 glnx_console_text (const char     *text);
+
 void	 glnx_console_progress_text_percent (const char     *text,
                                              guint           percentage);
 
-- 
GitLab