summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2013-09-01 15:06:15 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2013-09-03 13:03:55 -0500
commit2590bf7a2bc40e2fcd5cbe1f4f063d820c2c5438 (patch)
treed8b622d8795dc9367458fa3b9db038ac7d21927c
parent4ce3cb90a035b74f4f6bcce1a0f1bca841e6424f (diff)
downloadopenrc-2590bf7a2bc40e2fcd5cbe1f4f063d820c2c5438.tar.gz
openrc-2590bf7a2bc40e2fcd5cbe1f4f063d820c2c5438.tar.bz2
openrc-2590bf7a2bc40e2fcd5cbe1f4f063d820c2c5438.tar.xz
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
-rw-r--r--man/einfo.37
-rw-r--r--src/libeinfo/libeinfo.c12
2 files changed, 15 insertions, 4 deletions
diff --git a/man/einfo.3 b/man/einfo.3
index 31c4b68..f7b1fd2 100644
--- a/man/einfo.3
+++ b/man/einfo.3
@@ -107,7 +107,6 @@ respectively, but only work when
is true. You can also make the
.Fn einfo ,
.Fn ewarn ,
-.Fn eerror ,
and
.Fn ebegin
functions silent by setting
@@ -186,6 +185,12 @@ when set to true makes the
and
.Fn einfon
family of functions quiet, so nothing is printed.
+.Va EERROR_QUIET
+when set to true makes the
+.Fn eerror
+and
+.Fn eerrorn
+family of functions quiet, so nothing is printed.
.Pp
.Va EINFO_VERBOSE
when set to true makes the
diff --git a/src/libeinfo/libeinfo.c b/src/libeinfo/libeinfo.c
index 7b1f2da..9791051 100644
--- a/src/libeinfo/libeinfo.c
+++ b/src/libeinfo/libeinfo.c
@@ -274,6 +274,12 @@ is_quiet(void)
}
static bool
+is_really_quiet(void)
+{
+ return yesno(getenv("EERROR_QUIET"));
+}
+
+static bool
is_verbose(void)
{
return yesno(getenv ("EINFO_VERBOSE"));
@@ -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);