console: Add an API to just emit text

We had this internally, just need to expose it.
This commit is contained in:
Colin Walters
2016-03-10 13:51:13 -05:00
parent 8a7943fef6
commit 08ae6639e5
2 changed files with 33 additions and 18 deletions

View File

@@ -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:
*

View File

@@ -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);