2012-04-06 00:47:53 +02:00
/*
* Copyright ( C ) 2010 Red Hat Inc , Steven Rostedt < srostedt @ redhat . com >
*
* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ;
* version 2.1 of the License ( not later ! )
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
2012-09-07 16:32:46 -04:00
* License along with this program ; if not , see < http : //www.gnu.org/licenses>
2012-04-06 00:47:53 +02:00
*
* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
*/
# ifndef __UTIL_H
# define __UTIL_H
# include <ctype.h>
2012-04-06 00:47:55 +02:00
/* Can be overridden */
void warning ( const char * fmt , . . . ) ;
void pr_stat ( const char * fmt , . . . ) ;
void vpr_stat ( const char * fmt , va_list ap ) ;
/* Always available */
void __warning ( const char * fmt , . . . ) ;
void __pr_stat ( const char * fmt , . . . ) ;
void __vwarning ( const char * fmt , . . . ) ;
void __vpr_stat ( const char * fmt , . . . ) ;
2012-08-22 16:00:31 +09:00
# define min(x, y) ({ \
typeof ( x ) _min1 = ( x ) ; \
typeof ( y ) _min2 = ( y ) ; \
( void ) ( & _min1 = = & _min2 ) ; \
_min1 < _min2 ? _min1 : _min2 ; } )
2012-04-06 00:47:53 +02:00
static inline char * strim ( char * string )
{
char * ret ;
if ( ! string )
return NULL ;
while ( * string ) {
if ( ! isspace ( * string ) )
break ;
string + + ;
}
ret = string ;
string = ret + strlen ( ret ) - 1 ;
while ( string > ret ) {
if ( ! isspace ( * string ) )
break ;
string - - ;
}
string [ 1 ] = 0 ;
return ret ;
}
static inline int has_text ( const char * text )
{
if ( ! text )
return 0 ;
while ( * text ) {
if ( ! isspace ( * text ) )
return 1 ;
text + + ;
}
return 0 ;
}
# endif