summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2016-03-10 13:51:13 -0500
committerColin Walters <walters@verbum.org>2016-03-10 13:51:13 -0500
commit08ae6639e522e9b11765245fbecdbbe474ccde98 (patch)
tree65566e24e09d6b1e97a06fd49e762feb7e82d626
parent8a7943fef6061a4e9ca368e0042a8a3924affb99 (diff)
downloadlibglnx-08ae6639e522e9b11765245fbecdbbe474ccde98.tar.gz
console: Add an API to just emit text
We had this internally, just need to expose it.
-rw-r--r--glnx-console.c49
-rw-r--r--glnx-console.h2
2 files changed, 33 insertions, 18 deletions
diff --git a/glnx-console.c b/glnx-console.c
index f9d8baa..016f62c 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;
@@ -267,6 +252,34 @@ glnx_console_progress_text_percent (const char *text,
}
/**
+ * 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:
*
* Print a newline, and reset all cached console progress state.
diff --git a/glnx-console.h b/glnx-console.h
index 8fc3865..8c1d811 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);