Lines Matching refs:buffer

71 void __kmp_str_buf_clear(kmp_str_buf_t *buffer) {  in __kmp_str_buf_clear()  argument
72 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_clear()
73 if (buffer->used > 0) { in __kmp_str_buf_clear()
74 buffer->used = 0; in __kmp_str_buf_clear()
75 buffer->str[0] = 0; in __kmp_str_buf_clear()
77 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_clear()
80 void __kmp_str_buf_reserve(kmp_str_buf_t *buffer, size_t size) { in __kmp_str_buf_reserve() argument
81 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_reserve()
84 if (buffer->size < (unsigned int)size) { in __kmp_str_buf_reserve()
87 buffer->size *= 2; in __kmp_str_buf_reserve()
88 } while (buffer->size < (unsigned int)size); in __kmp_str_buf_reserve()
91 if (buffer->str == &buffer->bulk[0]) { in __kmp_str_buf_reserve()
92 buffer->str = (char *)KMP_INTERNAL_MALLOC(buffer->size); in __kmp_str_buf_reserve()
93 if (buffer->str == NULL) { in __kmp_str_buf_reserve()
96 KMP_MEMCPY_S(buffer->str, buffer->size, buffer->bulk, buffer->used + 1); in __kmp_str_buf_reserve()
98 buffer->str = (char *)KMP_INTERNAL_REALLOC(buffer->str, buffer->size); in __kmp_str_buf_reserve()
99 if (buffer->str == NULL) { in __kmp_str_buf_reserve()
105 KMP_DEBUG_ASSERT(buffer->size > 0); in __kmp_str_buf_reserve()
106 KMP_DEBUG_ASSERT(buffer->size >= (unsigned)size); in __kmp_str_buf_reserve()
107 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_reserve()
110 void __kmp_str_buf_detach(kmp_str_buf_t *buffer) { in __kmp_str_buf_detach() argument
111 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_detach()
114 if (buffer->size <= sizeof(buffer->bulk)) { in __kmp_str_buf_detach()
115 buffer->str = (char *)KMP_INTERNAL_MALLOC(buffer->size); in __kmp_str_buf_detach()
116 if (buffer->str == NULL) { in __kmp_str_buf_detach()
119 KMP_MEMCPY_S(buffer->str, buffer->size, buffer->bulk, buffer->used + 1); in __kmp_str_buf_detach()
123 void __kmp_str_buf_free(kmp_str_buf_t *buffer) { in __kmp_str_buf_free() argument
124 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_free()
125 if (buffer->size > sizeof(buffer->bulk)) { in __kmp_str_buf_free()
126 KMP_INTERNAL_FREE(buffer->str); in __kmp_str_buf_free()
128 buffer->str = buffer->bulk; in __kmp_str_buf_free()
129 buffer->size = sizeof(buffer->bulk); in __kmp_str_buf_free()
130 buffer->used = 0; in __kmp_str_buf_free()
131 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_free()
134 void __kmp_str_buf_cat(kmp_str_buf_t *buffer, char const *str, size_t len) { in __kmp_str_buf_cat() argument
135 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 buffer->str[buffer->used] = '\0'; in __kmp_str_buf_cat()
141 KMP_STRNCAT_S(buffer->str + buffer->used, len + 1, str, len); in __kmp_str_buf_cat()
142 __kmp_type_convert(buffer->used + len, &(buffer->used)); 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()
187 rc = KMP_VSNPRINTF(buffer->str + buffer->used, free, format, args); in __kmp_str_buf_vprint()
196 buffer->used += rc; in __kmp_str_buf_vprint()
203 size = buffer->used + rc + 1; in __kmp_str_buf_vprint()
206 size = buffer->size * 2; in __kmp_str_buf_vprint()
210 __kmp_str_buf_reserve(buffer, size); in __kmp_str_buf_vprint()
215 KMP_DEBUG_ASSERT(buffer->size > 0); in __kmp_str_buf_vprint()
216 KMP_STR_BUF_INVARIANT(buffer); in __kmp_str_buf_vprint()
221 int __kmp_str_buf_print(kmp_str_buf_t *buffer, char const *format, ...) { in __kmp_str_buf_print() argument
225 rc = __kmp_str_buf_vprint(buffer, format, args); in __kmp_str_buf_print()
454 char *buffer = NULL; in __kmp_str_format() local
458 buffer = (char *)KMP_INTERNAL_MALLOC(size); in __kmp_str_format()
459 if (buffer == NULL) { in __kmp_str_format()
466 rc = KMP_VSNPRINTF(buffer, size, format, args); in __kmp_str_format()
485 buffer = (char *)KMP_INTERNAL_REALLOC(buffer, size); in __kmp_str_format()
486 if (buffer == NULL) { in __kmp_str_format()
491 return buffer; in __kmp_str_format()