Coverage Report

Created: 2025-07-12 06:54

/src/avahi/avahi-core/log.c
Line
Count
Source (jump to first uncovered line)
1
/***
2
  This file is part of avahi.
3
4
  avahi is free software; you can redistribute it and/or modify it
5
  under the terms of the GNU Lesser General Public License as
6
  published by the Free Software Foundation; either version 2.1 of the
7
  License, or (at your option) any later version.
8
9
  avahi is distributed in the hope that it will be useful, but WITHOUT
10
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11
  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
12
  Public License for more details.
13
14
  You should have received a copy of the GNU Lesser General Public
15
  License along with avahi; if not, write to the Free Software
16
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17
  USA.
18
***/
19
20
#ifdef HAVE_CONFIG_H
21
#include <config.h>
22
#endif
23
24
#include <stdio.h>
25
#include <stdarg.h>
26
27
#include "log.h"
28
29
static AvahiLogFunction log_function = NULL;
30
31
2.54k
void avahi_set_log_function(AvahiLogFunction function) {
32
2.54k
    log_function = function;
33
2.54k
}
34
35
111
void avahi_log_ap(AvahiLogLevel level, const char*format, va_list ap) {
36
111
    char txt[256];
37
38
111
    vsnprintf(txt, sizeof(txt), format, ap);
39
40
111
    if (log_function)
41
111
        log_function(level, txt);
42
0
    else
43
0
        fprintf(stderr, "%s\n", txt);
44
111
}
45
46
0
void avahi_log(AvahiLogLevel level, const char*format, ...) {
47
0
    va_list ap;
48
0
    va_start(ap, format);
49
0
    avahi_log_ap(level, format, ap);
50
0
    va_end(ap);
51
0
}
52
53
111
void avahi_log_error(const char*format, ...) {
54
111
    va_list ap;
55
111
    va_start(ap, format);
56
111
    avahi_log_ap(AVAHI_LOG_ERROR, format, ap);
57
111
    va_end(ap);
58
111
}
59
60
0
void avahi_log_warn(const char*format, ...) {
61
0
    va_list ap;
62
0
    va_start(ap, format);
63
0
    avahi_log_ap(AVAHI_LOG_WARN, format, ap);
64
0
    va_end(ap);
65
0
}
66
67
0
void avahi_log_notice(const char*format, ...) {
68
0
    va_list ap;
69
0
    va_start(ap, format);
70
0
    avahi_log_ap(AVAHI_LOG_NOTICE, format, ap);
71
0
    va_end(ap);
72
0
}
73
74
0
void avahi_log_info(const char*format, ...) {
75
0
    va_list ap;
76
0
    va_start(ap, format);
77
0
    avahi_log_ap(AVAHI_LOG_INFO, format, ap);
78
0
    va_end(ap);
79
0
}
80
81
0
void avahi_log_debug(const char*format, ...) {
82
0
    va_list ap;
83
0
    va_start(ap, format);
84
0
    avahi_log_ap(AVAHI_LOG_DEBUG, format, ap);
85
0
    va_end(ap);
86
0
}