summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/verbose.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/verbose.c b/src/verbose.c
index 53811c00..a91aeb1f 100644
--- a/src/verbose.c
+++ b/src/verbose.c
@@ -48,6 +48,12 @@ void verbose_set_name(const char *name, int authority)
#else
+#include <unistd.h>
+
+static const char *appname;
+
+static int appauthority;
+
static const char *prefixes[] = {
"<0> EMERGENCY",
"<1> ALERT",
@@ -61,9 +67,11 @@ static const char *prefixes[] = {
void vverbose(int level, const char *file, int line, const char *fmt, va_list args)
{
- fprintf(stderr, "%s: ", prefixes[LEVEL(level)]);
+ int tty = isatty(fileno(stderr));
+
+ fprintf(stderr, "%s: ", prefixes[LEVEL(level)] + (tty ? 4 : 0));
vfprintf(stderr, fmt, args);
- if (file != NULL)
+ if (file != NULL && (!tty || verbosity >5))
fprintf(stderr, " [%s:%d]\n", file, line);
else
fprintf(stderr, "\n");
@@ -71,7 +79,8 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar
void verbose_set_name(const char *name, int authority)
{
- fprintf(stderr, "%s: application name is '%s' for '%s'\n", prefixes[5], name, authority ? "AUTHORITY" : "USER");
+ appname = name;
+ appauthority = authority;
}
#endif