26 #define strdup _strdup 30 #define TOLOWER(c) ((((c) >= 'A') && ((c) <= 'Z')) ? ((c) + 'a' - 'A') : (c)) 38 typedef struct kmp_str_buf kmp_str_buf_t;
40 #define __kmp_str_buf_init(b) \ 42 (b)->str = (b)->bulk; \ 43 (b)->size = sizeof((b)->bulk); \ 48 void __kmp_str_buf_clear(kmp_str_buf_t *buffer);
49 void __kmp_str_buf_reserve(kmp_str_buf_t *buffer,
size_t size);
50 void __kmp_str_buf_detach(kmp_str_buf_t *buffer);
51 void __kmp_str_buf_free(kmp_str_buf_t *buffer);
52 void __kmp_str_buf_cat(kmp_str_buf_t *buffer,
char const *str,
size_t len);
53 void __kmp_str_buf_catbuf(kmp_str_buf_t *dest,
const kmp_str_buf_t *src);
54 int __kmp_str_buf_vprint(kmp_str_buf_t *buffer,
char const *format,
56 int __kmp_str_buf_print(kmp_str_buf_t *buffer,
char const *format, ...);
57 void __kmp_str_buf_print_size(kmp_str_buf_t *buffer,
size_t size);
67 struct kmp_str_fname {
72 typedef struct kmp_str_fname kmp_str_fname_t;
73 void __kmp_str_fname_init(kmp_str_fname_t *fname,
char const *path);
74 void __kmp_str_fname_free(kmp_str_fname_t *fname);
77 int __kmp_str_fname_match(kmp_str_fname_t
const *fname,
char const *pattern);
94 kmp_str_fname_t fname;
100 typedef struct kmp_str_loc kmp_str_loc_t;
101 kmp_str_loc_t __kmp_str_loc_init(
char const *psource,
bool init_fname);
102 void __kmp_str_loc_numbers(
char const *Psource,
int *Line,
int *Col);
103 void __kmp_str_loc_free(kmp_str_loc_t *loc);
105 int __kmp_str_eqf(
char const *lhs,
char const *rhs);
106 char *__kmp_str_format(
char const *format, ...);
107 void __kmp_str_free(
char **str);
108 int __kmp_str_match(
char const *target,
int len,
char const *data);
109 int __kmp_str_match_false(
char const *data);
110 int __kmp_str_match_true(
char const *data);
111 void __kmp_str_replace(
char *str,
char search_for,
char replace_with);
112 void __kmp_str_split(
char *str,
char delim,
char **head,
char **tail);
113 char *__kmp_str_token(
char *str,
char const *delim,
char **buf);
114 int __kmp_str_to_int(
char const *str,
char sentinel);
116 void __kmp_str_to_size(
char const *str,
size_t *out,
size_t dfactor,
118 void __kmp_str_to_uint(
char const *str, kmp_uint64 *out,
char const **error);
122 #endif // __cplusplus