1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#include <stdio.h>
21#include <stdlib.h>
22#include <string.h>
23#include <stdarg.h>
24#include <errno.h>
25
26#define __weak __attribute__((weak))
27
28void __vwarning(const char *fmt, va_list ap)
29{
30 if (errno)
31 perror("trace-cmd");
32 errno = 0;
33
34 fprintf(stderr, " ");
35 vfprintf(stderr, fmt, ap);
36
37 fprintf(stderr, "\n");
38}
39
40void __warning(const char *fmt, ...)
41{
42 va_list ap;
43
44 va_start(ap, fmt);
45 __vwarning(fmt, ap);
46 va_end(ap);
47}
48
49void __weak warning(const char *fmt, ...)
50{
51 va_list ap;
52
53 va_start(ap, fmt);
54 __vwarning(fmt, ap);
55 va_end(ap);
56}
57
58void __vpr_stat(const char *fmt, va_list ap)
59{
60 vprintf(fmt, ap);
61 printf("\n");
62}
63
64void __pr_stat(const char *fmt, ...)
65{
66 va_list ap;
67
68 va_start(ap, fmt);
69 __vpr_stat(fmt, ap);
70 va_end(ap);
71}
72
73void __weak vpr_stat(const char *fmt, va_list ap)
74{
75 __vpr_stat(fmt, ap);
76}
77
78void __weak pr_stat(const char *fmt, ...)
79{
80 va_list ap;
81
82 va_start(ap, fmt);
83 __vpr_stat(fmt, ap);
84 va_end(ap);
85}
86