linux/tools/lib/traceevent/event-utils.h
<<
>>
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#ifndef __UTIL_H
  21#define __UTIL_H
  22
  23#include <ctype.h>
  24
  25/* Can be overridden */
  26void warning(const char *fmt, ...);
  27void pr_stat(const char *fmt, ...);
  28void vpr_stat(const char *fmt, va_list ap);
  29
  30/* Always available */
  31void __warning(const char *fmt, ...);
  32void __pr_stat(const char *fmt, ...);
  33
  34void __vwarning(const char *fmt, ...);
  35void __vpr_stat(const char *fmt, ...);
  36
  37#define min(x, y) ({                            \
  38        typeof(x) _min1 = (x);                  \
  39        typeof(y) _min2 = (y);                  \
  40        (void) (&_min1 == &_min2);              \
  41        _min1 < _min2 ? _min1 : _min2; })
  42
  43static inline char *strim(char *string)
  44{
  45        char *ret;
  46
  47        if (!string)
  48                return NULL;
  49        while (*string) {
  50                if (!isspace(*string))
  51                        break;
  52                string++;
  53        }
  54        ret = string;
  55
  56        string = ret + strlen(ret) - 1;
  57        while (string > ret) {
  58                if (!isspace(*string))
  59                        break;
  60                string--;
  61        }
  62        string[1] = 0;
  63
  64        return ret;
  65}
  66
  67static inline int has_text(const char *text)
  68{
  69        if (!text)
  70                return 0;
  71
  72        while (*text) {
  73                if (!isspace(*text))
  74                        return 1;
  75                text++;
  76        }
  77
  78        return 0;
  79}
  80
  81#endif
  82