Skip to content
Snippets Groups Projects
Commit 08ae6639 authored by Colin Walters's avatar Colin Walters
Browse files

console: Add an API to just emit text

We had this internally, just need to expose it.
parent 8a7943fe
No related branches found
No related tags found
No related merge requests found
...@@ -177,22 +177,9 @@ printpad (const char *padbuf, ...@@ -177,22 +177,9 @@ printpad (const char *padbuf,
fwrite (padbuf, 1, r, stdout); fwrite (padbuf, 1, r, stdout);
} }
/** static void
* glnx_console_progress_text_percent: text_percent_internal (const char *text,
* @text: Show this text before the progress bar int percentage)
* @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 const char equals[] = "===================="; static const char equals[] = "====================";
const guint n_equals = sizeof (equals) - 1; const guint n_equals = sizeof (equals) - 1;
...@@ -204,8 +191,6 @@ glnx_console_progress_text_percent (const char *text, ...@@ -204,8 +191,6 @@ glnx_console_progress_text_percent (const char *text,
guint textlen; guint textlen;
guint barlen; guint barlen;
g_return_if_fail (percentage >= 0 && percentage <= 100);
if (text && !*text) if (text && !*text)
text = NULL; text = NULL;
...@@ -266,6 +251,34 @@ glnx_console_progress_text_percent (const char *text, ...@@ -266,6 +251,34 @@ glnx_console_progress_text_percent (const char *text,
fflush (stdout); 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: * glnx_console_unlock:
* *
......
...@@ -33,6 +33,8 @@ typedef struct GLnxConsoleRef GLnxConsoleRef; ...@@ -33,6 +33,8 @@ typedef struct GLnxConsoleRef GLnxConsoleRef;
void glnx_console_lock (GLnxConsoleRef *ref); void glnx_console_lock (GLnxConsoleRef *ref);
void glnx_console_text (const char *text);
void glnx_console_progress_text_percent (const char *text, void glnx_console_progress_text_percent (const char *text,
guint percentage); guint percentage);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment