Lines Matching refs:buffer

72 void __kmp_str_buf_clear(kmp_str_buf_t *buffer) {  in __kmp_str_buf_clear()  argument
73 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_clear()
74 if (buffer->used > 0) { in __kmp_str_buf_clear()
75 buffer->used = 0; in __kmp_str_buf_clear()
76 buffer->str[0] = 0; in __kmp_str_buf_clear()
78 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_clear()
81 void __kmp_str_buf_reserve(kmp_str_buf_t *buffer, int size) { in __kmp_str_buf_reserve() argument
82 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_reserve()
85 if (buffer->size < (unsigned int)size) { in __kmp_str_buf_reserve()
88 buffer->size *= 2; in __kmp_str_buf_reserve()
89 } while (buffer->size < (unsigned int)size); in __kmp_str_buf_reserve()
92 if (buffer->str == &buffer->bulk[0]) { in __kmp_str_buf_reserve()
93 buffer->str = (char *)KMP_INTERNAL_MALLOC(buffer->size); in __kmp_str_buf_reserve()
94 if (buffer->str == NULL) { in __kmp_str_buf_reserve()
97 KMP_MEMCPY_S(buffer->str, buffer->size, buffer->bulk, buffer->used + 1); in __kmp_str_buf_reserve()
99 buffer->str = (char *)KMP_INTERNAL_REALLOC(buffer->str, buffer->size); in __kmp_str_buf_reserve()
100 if (buffer->str == NULL) { in __kmp_str_buf_reserve()
106 KMP_DEBUG_ASSERT(buffer->size > 0); in __kmp_str_buf_reserve()
107 KMP_DEBUG_ASSERT(buffer->size >= (unsigned)size); in __kmp_str_buf_reserve()
108 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_reserve()
111 void __kmp_str_buf_detach(kmp_str_buf_t *buffer) { in __kmp_str_buf_detach() argument
112 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_detach()
115 if (buffer->size <= sizeof(buffer->bulk)) { in __kmp_str_buf_detach()
116 buffer->str = (char *)KMP_INTERNAL_MALLOC(buffer->size); in __kmp_str_buf_detach()
117 if (buffer->str == NULL) { in __kmp_str_buf_detach()
120 KMP_MEMCPY_S(buffer->str, buffer->size, buffer->bulk, buffer->used + 1); in __kmp_str_buf_detach()
124 void __kmp_str_buf_free(kmp_str_buf_t *buffer) { in __kmp_str_buf_free() argument
125 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_free()
126 if (buffer->size > sizeof(buffer->bulk)) { in __kmp_str_buf_free()
127 KMP_INTERNAL_FREE(buffer->str); in __kmp_str_buf_free()
129 buffer->str = buffer->bulk; in __kmp_str_buf_free()
130 buffer->size = sizeof(buffer->bulk); in __kmp_str_buf_free()
131 buffer->used = 0; in __kmp_str_buf_free()
132 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_free()
135 void __kmp_str_buf_cat(kmp_str_buf_t *buffer, char const *str, int len) { in __kmp_str_buf_cat() argument
136 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_cat()
139 __kmp_str_buf_reserve(buffer, buffer->used + len + 1); in __kmp_str_buf_cat()
140 KMP_MEMCPY(buffer->str + buffer->used, str, len); in __kmp_str_buf_cat()
141 buffer->str[buffer->used + len] = 0; in __kmp_str_buf_cat()
142 buffer->used += len; in __kmp_str_buf_cat()
143 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_cat()
161 int __kmp_str_buf_vprint(kmp_str_buf_t *buffer, char const *format, in __kmp_str_buf_vprint() argument
164 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_vprint()
167 int const free = buffer->size - buffer->used; in __kmp_str_buf_vprint()
186 rc = KMP_VSNPRINTF(buffer->str + buffer->used, free, format, args); in __kmp_str_buf_vprint()
195 buffer->used += rc; in __kmp_str_buf_vprint()
202 size = buffer->used + rc + 1; in __kmp_str_buf_vprint()
205 size = buffer->size * 2; in __kmp_str_buf_vprint()
209 __kmp_str_buf_reserve(buffer, size); in __kmp_str_buf_vprint()
214 KMP_DEBUG_ASSERT(buffer->size > 0); in __kmp_str_buf_vprint()
215 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_vprint()
220 int __kmp_str_buf_print(kmp_str_buf_t *buffer, char const *format, ...) { in __kmp_str_buf_print() argument
224 rc = __kmp_str_buf_vprint(buffer, format, args); in __kmp_str_buf_print()
406 char *buffer = NULL; in __kmp_str_format() local
410 buffer = (char *)KMP_INTERNAL_MALLOC(size); in __kmp_str_format()
411 if (buffer == NULL) { in __kmp_str_format()
418 rc = KMP_VSNPRINTF(buffer, size, format, args); in __kmp_str_format()
437 buffer = (char *)KMP_INTERNAL_REALLOC(buffer, size); in __kmp_str_format()
438 if (buffer == NULL) { in __kmp_str_format()
443 return buffer; in __kmp_str_format()