First version that works with Debian 9.. kind of
[ais.git] / gpsd.diff
1 diff --git a/gpsd_report.c b/gpsd_report.c
2 index 956b5f0..5870692 100644
3 --- a/gpsd_report.c
4 +++ b/gpsd_report.c
5 @@ -9,16 +9,27 @@
6  
7  
8  # if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
9 -void gpsd_report(int errlevel UNUSED, const char *fmt, ...)
10 +void gpsd_report(int errlevel, const char *fmt, ...)
11      __attribute__ ((weak));
12  #endif
13  
14 -void gpsd_report(int errlevel UNUSED, const char *fmt, ...)
15 +static int verbose = LOG_WARN;
16 +
17 +void gpsd_report(int errlevel, const char *fmt, ...)
18  /* stub logger for clients that don't supply one */
19  {
20 -    va_list ap;
21 +    if (errlevel <= verbose) {
22 +       va_list ap;
23 +       
24 +       va_start(ap, fmt);
25 +       (void)vfprintf(stderr, fmt, ap);
26 +       va_end(ap);
27 +    }
28 +}
29  
30 -    va_start(ap, fmt);
31 -    (void)vfprintf(stderr, fmt, ap);
32 -    va_end(ap);
33 +int gpsd_report_set_level(int errlevel, const char *fmt, ...)
34 +{
35 +    int oldlevel = verbose;
36 +    verbose = errlevel;
37 +    return oldlevel;
38  }