0001
0002
0003
0004
0005
0006 #include <stdio.h>
0007 #include <stdlib.h>
0008 #include <string.h>
0009 #include <stdarg.h>
0010 #include <errno.h>
0011
0012 #define __weak __attribute__((weak))
0013
0014 void __vwarning(const char *fmt, va_list ap)
0015 {
0016 if (errno)
0017 perror("libtraceevent");
0018 errno = 0;
0019
0020 fprintf(stderr, " ");
0021 vfprintf(stderr, fmt, ap);
0022
0023 fprintf(stderr, "\n");
0024 }
0025
0026 void __warning(const char *fmt, ...)
0027 {
0028 va_list ap;
0029
0030 va_start(ap, fmt);
0031 __vwarning(fmt, ap);
0032 va_end(ap);
0033 }
0034
0035 void __weak warning(const char *fmt, ...)
0036 {
0037 va_list ap;
0038
0039 va_start(ap, fmt);
0040 __vwarning(fmt, ap);
0041 va_end(ap);
0042 }
0043
0044 void __vpr_stat(const char *fmt, va_list ap)
0045 {
0046 vprintf(fmt, ap);
0047 printf("\n");
0048 }
0049
0050 void __pr_stat(const char *fmt, ...)
0051 {
0052 va_list ap;
0053
0054 va_start(ap, fmt);
0055 __vpr_stat(fmt, ap);
0056 va_end(ap);
0057 }
0058
0059 void __weak vpr_stat(const char *fmt, va_list ap)
0060 {
0061 __vpr_stat(fmt, ap);
0062 }
0063
0064 void __weak pr_stat(const char *fmt, ...)
0065 {
0066 va_list ap;
0067
0068 va_start(ap, fmt);
0069 __vpr_stat(fmt, ap);
0070 va_end(ap);
0071 }