1 /* SPDX-License-Identifier: LGPL-2.1 */ 2 /* 3 * Copyright (C) 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com> 4 * 5 */ 6 #ifndef __UTIL_H 7 #define __UTIL_H 8 9 #include <ctype.h> 10 11 /* Can be overridden */ 12 void warning(const char *fmt, ...); 13 void pr_stat(const char *fmt, ...); 14 void vpr_stat(const char *fmt, va_list ap); 15 16 /* Always available */ 17 void __warning(const char *fmt, ...); 18 void __pr_stat(const char *fmt, ...); 19 20 void __vwarning(const char *fmt, ...); 21 void __vpr_stat(const char *fmt, ...); 22 23 #define min(x, y) ({ \ 24 typeof(x) _min1 = (x); \ 25 typeof(y) _min2 = (y); \ 26 (void) (&_min1 == &_min2); \ 27 _min1 < _min2 ? _min1 : _min2; }) 28 strim(char * string)29static inline char *strim(char *string) 30 { 31 char *ret; 32 33 if (!string) 34 return NULL; 35 while (*string) { 36 if (!isspace(*string)) 37 break; 38 string++; 39 } 40 ret = string; 41 42 string = ret + strlen(ret) - 1; 43 while (string > ret) { 44 if (!isspace(*string)) 45 break; 46 string--; 47 } 48 string[1] = 0; 49 50 return ret; 51 } 52 has_text(const char * text)53static inline int has_text(const char *text) 54 { 55 if (!text) 56 return 0; 57 58 while (*text) { 59 if (!isspace(*text)) 60 return 1; 61 text++; 62 } 63 64 return 0; 65 } 66 67 #endif 68