summaryrefslogtreecommitdiff
path: root/alsactl/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'alsactl/utils.c')
-rw-r--r--alsactl/utils.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/alsactl/utils.c b/alsactl/utils.c
index a8c3a84..fb59e0e 100644
--- a/alsactl/utils.c
+++ b/alsactl/utils.c
@@ -177,3 +177,19 @@ void dbg_(const char *fcn, long line, const char *fmt, ...)
}
va_end(ap);
}
+
+void error_handler(const char *file, int line, const char *function, int err, const char *fmt, ...)
+{
+ char buf[2048];
+ va_list arg;
+
+ va_start(arg, fmt);
+ vsnprintf(buf, sizeof(buf), fmt, arg);
+ va_end(arg);
+ if (use_syslog)
+ syslog(LOG_ERR, "alsa-lib %s:%i:(%s) %s%s%s\n", file, line, function,
+ buf, err ? ": " : "", err ? snd_strerror(err) : "");
+ else
+ fprintf(stderr, "alsa-lib %s:%i:(%s) %s%s%s\n", file, line, function,
+ buf, err ? ": " : "", err ? snd_strerror(err) : "");
+}