libeinfo: add separate variable to suppress eerror messages

Add an EERROR_QUIET environment variable which works like EINFO_QUIET
but for the eerror functions. This will allow library consumers to
choose whether to suppress eerror messages separately from einfo and
ewarn messages.

X-Gentoo-Bug: 482396
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=482396
This commit is contained in:
William Hubbs
2013-09-01 15:06:15 -05:00
parent 4ce3cb90a0
commit 2590bf7a2b
2 changed files with 15 additions and 4 deletions

View File

@ -273,6 +273,12 @@ is_quiet(void)
return yesno(getenv("EINFO_QUIET"));
}
static bool
is_really_quiet(void)
{
return yesno(getenv("EERROR_QUIET"));
}
static bool
is_verbose(void)
{
@ -674,7 +680,7 @@ eerrorn(const char *EINFO_RESTRICT fmt, ...)
int retval;
va_list ap;
if (!fmt || is_quiet())
if (!fmt || is_really_quiet())
return 0;
va_start(ap, fmt);
retval = _eerrorvn(fmt, ap);
@ -742,7 +748,7 @@ eerror(const char *EINFO_RESTRICT fmt, ...)
int retval;
va_list ap;
if (!fmt || is_quiet())
if (!fmt || is_really_quiet())
return 0;
va_start(ap, fmt);
elogv(LOG_ERR, fmt, ap);
@ -759,7 +765,7 @@ eerrorx(const char *EINFO_RESTRICT fmt, ...)
{
va_list ap;
if (fmt && !is_quiet()) {
if (fmt && !is_really_quiet()) {
va_start(ap, fmt);
elogv(LOG_ERR, fmt, ap);
_eerrorvn(fmt, ap);