50 #define strdup _strdup
51 #define snprintf _snprintf
52 #define vsnprintf _vsnprintf
56 #define TOLOWER(c) ((((c) >= 'A') && ((c) <= 'Z')) ? ((c) + 'a' - 'A') : (c))
64 typedef struct kmp_str_buf kmp_str_buf_t;
66 #define __kmp_str_buf_init( b ) { (b)->str = (b)->bulk; (b)->size = sizeof( (b)->bulk ); (b)->used = 0; (b)->bulk[ 0 ] = 0; }
68 void __kmp_str_buf_clear( kmp_str_buf_t * buffer );
69 void __kmp_str_buf_reserve( kmp_str_buf_t * buffer,
int size );
70 void __kmp_str_buf_detach( kmp_str_buf_t * buffer );
71 void __kmp_str_buf_free( kmp_str_buf_t * buffer );
72 void __kmp_str_buf_cat( kmp_str_buf_t * buffer,
char const * str,
int len );
73 void __kmp_str_buf_vprint( kmp_str_buf_t * buffer,
char const * format, va_list args );
74 void __kmp_str_buf_print( kmp_str_buf_t * buffer,
char const * format, ... );
75 void __kmp_str_buf_print_size( kmp_str_buf_t * buffer,
size_t size );
86 struct kmp_str_fname {
91 typedef struct kmp_str_fname kmp_str_fname_t;
92 void __kmp_str_fname_init( kmp_str_fname_t * fname,
char const * path );
93 void __kmp_str_fname_free( kmp_str_fname_t * fname );
95 int __kmp_str_fname_match( kmp_str_fname_t
const * fname,
char const * pattern );
111 kmp_str_fname_t fname;
117 typedef struct kmp_str_loc kmp_str_loc_t;
118 kmp_str_loc_t __kmp_str_loc_init(
char const * psource,
int init_fname );
119 void __kmp_str_loc_free( kmp_str_loc_t * loc );
121 int __kmp_str_eqf(
char const * lhs,
char const * rhs );
122 char * __kmp_str_format(
char const * format, ... );
123 void __kmp_str_free(
char const * * str );
124 int __kmp_str_match(
char const * target,
int len,
char const * data );
125 int __kmp_str_match_false(
char const * data );
126 int __kmp_str_match_true(
char const * data );
127 void __kmp_str_replace(
char * str,
char search_for,
char replace_with );
128 void __kmp_str_split(
char * str,
char delim,
char ** head,
char ** tail );
129 char * __kmp_str_token(
char * str,
char const * delim,
char ** buf );
130 int __kmp_str_to_int(
char const * str,
char sentinel );
132 void __kmp_str_to_size(
char const * str,
size_t * out,
size_t dfactor,
char const * * error );
133 void __kmp_str_to_uint(
char const * str, kmp_uint64 * out,
char const * * error );
137 #endif // __cplusplus