Lines Matching refs:ad

45 resize(atf_dynstr_t *ad, size_t newsize)  in resize()  argument
50 PRE(newsize > ad->m_datasize); in resize()
56 strcpy(newdata, ad->m_data); in resize()
57 free(ad->m_data); in resize()
58 ad->m_data = newdata; in resize()
59 ad->m_datasize = newsize; in resize()
68 prepend_or_append(atf_dynstr_t *ad, const char *fmt, va_list ap, in prepend_or_append() argument
81 newlen = ad->m_length + strlen(aux); in prepend_or_append()
83 if (newlen + sizeof(char) > ad->m_datasize) { in prepend_or_append()
84 err = resize(ad, newlen + sizeof(char)); in prepend_or_append()
90 memmove(ad->m_data + strlen(aux), ad->m_data, ad->m_length + 1); in prepend_or_append()
91 memcpy(ad->m_data, aux, strlen(aux)); in prepend_or_append()
93 strcpy(ad->m_data + ad->m_length, aux); in prepend_or_append()
94 ad->m_length = newlen; in prepend_or_append()
118 atf_dynstr_init(atf_dynstr_t *ad) in atf_dynstr_init() argument
122 ad->m_data = (char *)malloc(sizeof(char)); in atf_dynstr_init()
123 if (ad->m_data == NULL) { in atf_dynstr_init()
128 ad->m_data[0] = '\0'; in atf_dynstr_init()
129 ad->m_datasize = 1; in atf_dynstr_init()
130 ad->m_length = 0; in atf_dynstr_init()
138 atf_dynstr_init_ap(atf_dynstr_t *ad, const char *fmt, va_list ap) in atf_dynstr_init_ap() argument
142 ad->m_datasize = strlen(fmt) + 1; in atf_dynstr_init_ap()
143 ad->m_length = 0; in atf_dynstr_init_ap()
149 ad->m_datasize *= 2; in atf_dynstr_init_ap()
150 ad->m_data = (char *)malloc(ad->m_datasize); in atf_dynstr_init_ap()
151 if (ad->m_data == NULL) { in atf_dynstr_init_ap()
157 ret = vsnprintf(ad->m_data, ad->m_datasize, fmt, ap2); in atf_dynstr_init_ap()
160 free(ad->m_data); in atf_dynstr_init_ap()
166 if ((size_t)ret >= ad->m_datasize) { in atf_dynstr_init_ap()
167 free(ad->m_data); in atf_dynstr_init_ap()
168 ad->m_data = NULL; in atf_dynstr_init_ap()
170 ad->m_length = ret; in atf_dynstr_init_ap()
171 } while (ad->m_length >= ad->m_datasize); in atf_dynstr_init_ap()
175 POST(atf_is_error(err) || ad->m_data != NULL); in atf_dynstr_init_ap()
180 atf_dynstr_init_fmt(atf_dynstr_t *ad, const char *fmt, ...) in atf_dynstr_init_fmt() argument
186 err = atf_dynstr_init_ap(ad, fmt, ap); in atf_dynstr_init_fmt()
193 atf_dynstr_init_raw(atf_dynstr_t *ad, const void *mem, size_t memlen) in atf_dynstr_init_raw() argument
202 ad->m_data = (char *)malloc(memlen + 1); in atf_dynstr_init_raw()
203 if (ad->m_data == NULL) { in atf_dynstr_init_raw()
208 ad->m_datasize = memlen + 1; in atf_dynstr_init_raw()
209 memcpy(ad->m_data, mem, memlen); in atf_dynstr_init_raw()
210 ad->m_data[memlen] = '\0'; in atf_dynstr_init_raw()
211 ad->m_length = strlen(ad->m_data); in atf_dynstr_init_raw()
212 INV(ad->m_length <= memlen); in atf_dynstr_init_raw()
220 atf_dynstr_init_rep(atf_dynstr_t *ad, size_t len, char ch) in atf_dynstr_init_rep() argument
229 ad->m_datasize = (len + 1) * sizeof(char); in atf_dynstr_init_rep()
230 ad->m_data = (char *)malloc(ad->m_datasize); in atf_dynstr_init_rep()
231 if (ad->m_data == NULL) { in atf_dynstr_init_rep()
236 memset(ad->m_data, ch, len); in atf_dynstr_init_rep()
237 ad->m_data[len] = '\0'; in atf_dynstr_init_rep()
238 ad->m_length = len; in atf_dynstr_init_rep()
246 atf_dynstr_init_substr(atf_dynstr_t *ad, const atf_dynstr_t *src, in atf_dynstr_init_substr() argument
255 return atf_dynstr_init_raw(ad, src->m_data + beg, end - beg); in atf_dynstr_init_substr()
277 atf_dynstr_fini(atf_dynstr_t *ad) in atf_dynstr_fini() argument
279 INV(ad->m_data != NULL); in atf_dynstr_fini()
280 free(ad->m_data); in atf_dynstr_fini()
284 atf_dynstr_fini_disown(atf_dynstr_t *ad) in atf_dynstr_fini_disown() argument
286 INV(ad->m_data != NULL); in atf_dynstr_fini_disown()
287 return ad->m_data; in atf_dynstr_fini_disown()
295 atf_dynstr_cstring(const atf_dynstr_t *ad) in atf_dynstr_cstring() argument
297 return ad->m_data; in atf_dynstr_cstring()
301 atf_dynstr_length(const atf_dynstr_t *ad) in atf_dynstr_length() argument
303 return ad->m_length; in atf_dynstr_length()
307 atf_dynstr_rfind_ch(const atf_dynstr_t *ad, char ch) in atf_dynstr_rfind_ch() argument
311 for (pos = ad->m_length; pos > 0 && ad->m_data[pos - 1] != ch; pos--) in atf_dynstr_rfind_ch()
322 atf_dynstr_append_ap(atf_dynstr_t *ad, const char *fmt, va_list ap) in atf_dynstr_append_ap() argument
328 err = prepend_or_append(ad, fmt, ap2, false); in atf_dynstr_append_ap()
335 atf_dynstr_append_fmt(atf_dynstr_t *ad, const char *fmt, ...) in atf_dynstr_append_fmt() argument
341 err = prepend_or_append(ad, fmt, ap, false); in atf_dynstr_append_fmt()
348 atf_dynstr_clear(atf_dynstr_t *ad) in atf_dynstr_clear() argument
350 ad->m_data[0] = '\0'; in atf_dynstr_clear()
351 ad->m_length = 0; in atf_dynstr_clear()
355 atf_dynstr_prepend_ap(atf_dynstr_t *ad, const char *fmt, va_list ap) in atf_dynstr_prepend_ap() argument
361 err = prepend_or_append(ad, fmt, ap2, true); in atf_dynstr_prepend_ap()
368 atf_dynstr_prepend_fmt(atf_dynstr_t *ad, const char *fmt, ...) in atf_dynstr_prepend_fmt() argument
374 err = prepend_or_append(ad, fmt, ap, true); in atf_dynstr_prepend_fmt()
385 atf_equal_dynstr_cstring(const atf_dynstr_t *ad, const char *str) in atf_equal_dynstr_cstring() argument
387 return strcmp(ad->m_data, str) == 0; in atf_equal_dynstr_cstring()