1/*
2 * Copyright (C) 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
3 *
4 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation;
8 * version 2.1 of the License (not later!)
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not,  see <http://www.gnu.org/licenses>
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