lib/colors: force to "never" mode on non-terminal output
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
167a2b520a
commit
5db5962339
|
@ -38,6 +38,9 @@ extern int colors_init(int mode, const char *util_name);
|
||||||
/* Returns 1 or 0 */
|
/* Returns 1 or 0 */
|
||||||
extern int colors_wanted(void);
|
extern int colors_wanted(void);
|
||||||
|
|
||||||
|
/* Returns UL_COLORMODE_* */
|
||||||
|
extern int colors_mode(void);
|
||||||
|
|
||||||
/* temporary enable/disable colors */
|
/* temporary enable/disable colors */
|
||||||
extern void colors_off(void);
|
extern void colors_off(void);
|
||||||
extern void colors_on(void);
|
extern void colors_on(void);
|
||||||
|
|
20
lib/colors.c
20
lib/colors.c
|
@ -653,9 +653,6 @@ static int colors_terminal_is_ready(void)
|
||||||
{
|
{
|
||||||
int ncolors = -1;
|
int ncolors = -1;
|
||||||
|
|
||||||
if (isatty(STDOUT_FILENO) != 1)
|
|
||||||
goto none;
|
|
||||||
|
|
||||||
#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW)
|
#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -692,11 +689,16 @@ int colors_init(int mode, const char *name)
|
||||||
struct ul_color_ctl *cc = &ul_colors;
|
struct ul_color_ctl *cc = &ul_colors;
|
||||||
|
|
||||||
cc->utilname = name;
|
cc->utilname = name;
|
||||||
cc->mode = mode;
|
|
||||||
|
|
||||||
termcolors_init_debug();
|
termcolors_init_debug();
|
||||||
|
|
||||||
if (mode == UL_COLORMODE_UNDEF && (ready = colors_terminal_is_ready())) {
|
if (mode != UL_COLORMODE_ALWAYS && !isatty(STDOUT_FILENO))
|
||||||
|
cc->mode = UL_COLORMODE_NEVER;
|
||||||
|
else
|
||||||
|
cc->mode = mode;
|
||||||
|
|
||||||
|
if (cc->mode == UL_COLORMODE_UNDEF
|
||||||
|
&& (ready = colors_terminal_is_ready())) {
|
||||||
int rc = colors_read_configuration(cc);
|
int rc = colors_read_configuration(cc);
|
||||||
if (rc)
|
if (rc)
|
||||||
cc->mode = UL_COLORMODE_DEFAULT;
|
cc->mode = UL_COLORMODE_DEFAULT;
|
||||||
|
@ -754,6 +756,14 @@ int colors_wanted(void)
|
||||||
return ul_colors.has_colors;
|
return ul_colors.has_colors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns mode
|
||||||
|
*/
|
||||||
|
int colors_mode(void)
|
||||||
|
{
|
||||||
|
return ul_colors.mode;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enable @seq color
|
* Enable @seq color
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue