linux/tools/lib/traceevent/parse-utils.c
<<
>>
Prefs
   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