mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-12-02 20:49:00 +00:00
color: add new COLOR_NONE and disable_color function
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
parent
0439990238
commit
959f142863
@ -2,6 +2,7 @@
|
|||||||
#define __COLOR_H__ 1
|
#define __COLOR_H__ 1
|
||||||
|
|
||||||
enum color_attr {
|
enum color_attr {
|
||||||
|
COLOR_NONE,
|
||||||
COLOR_IFNAME,
|
COLOR_IFNAME,
|
||||||
COLOR_MAC,
|
COLOR_MAC,
|
||||||
COLOR_INET,
|
COLOR_INET,
|
||||||
@ -12,6 +13,7 @@ enum color_attr {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void enable_color(void);
|
void enable_color(void);
|
||||||
|
void check_if_color_enabled(void);
|
||||||
void set_color_palette(void);
|
void set_color_palette(void);
|
||||||
int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...);
|
int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...);
|
||||||
enum color_attr ifa_family_color(__u8 ifa_family);
|
enum color_attr ifa_family_color(__u8 ifa_family);
|
||||||
|
|||||||
12
lib/color.c
12
lib/color.c
@ -89,6 +89,14 @@ void set_color_palette(void)
|
|||||||
is_dark_bg = 1;
|
is_dark_bg = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void check_if_color_enabled(void)
|
||||||
|
{
|
||||||
|
if (color_is_enabled) {
|
||||||
|
fprintf(stderr, "Option \"-json\" conflicts with \"-color\".\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...)
|
int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -96,13 +104,13 @@ int color_fprintf(FILE *fp, enum color_attr attr, const char *fmt, ...)
|
|||||||
|
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
|
|
||||||
if (!color_is_enabled) {
|
if (!color_is_enabled || attr == COLOR_NONE) {
|
||||||
ret = vfprintf(fp, fmt, args);
|
ret = vfprintf(fp, fmt, args);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret += fprintf(fp, "%s",
|
ret += fprintf(fp, "%s",
|
||||||
color_codes[attr_colors[is_dark_bg ? attr + 7 : attr]]);
|
color_codes[attr_colors[is_dark_bg ? attr + 8 : attr]]);
|
||||||
ret += vfprintf(fp, fmt, args);
|
ret += vfprintf(fp, fmt, args);
|
||||||
ret += fprintf(fp, "%s", color_codes[C_CLEAR]);
|
ret += fprintf(fp, "%s", color_codes[C_CLEAR]);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user