diff options
Diffstat (limited to 'alsactl/utils.c')
-rw-r--r-- | alsactl/utils.c | 16 |
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) : ""); +} |