Lines Matching refs:cus
79 custr_reset(custr_t *cus) in custr_reset() argument
81 if (cus->cus_data == NULL) in custr_reset()
84 cus->cus_strlen = 0; in custr_reset()
85 cus->cus_data[0] = '\0'; in custr_reset()
89 custr_remove(custr_t *cus, size_t idx, size_t len) in custr_remove() argument
102 if (idx >= cus->cus_strlen || endidx > cus->cus_strlen) { in custr_remove()
111 (void) memmove(cus->cus_data + idx, cus->cus_data + endidx, in custr_remove()
112 cus->cus_strlen - endidx + 1); in custr_remove()
113 cus->cus_strlen -= len; in custr_remove()
116 VERIFY0(cus->cus_data[cus->cus_strlen]); in custr_remove()
121 custr_rremove(custr_t *cus, size_t ridx, size_t len) in custr_rremove() argument
125 if (ridx >= cus->cus_strlen) { in custr_rremove()
130 idx = cus->cus_strlen - ridx - 1; in custr_rremove()
131 return (custr_remove(cus, idx, len)); in custr_rremove()
135 custr_trunc(custr_t *cus, size_t idx) in custr_trunc() argument
137 if (idx >= cus->cus_strlen) { in custr_trunc()
142 cus->cus_data[idx] = '\0'; in custr_trunc()
143 cus->cus_strlen = idx; in custr_trunc()
148 custr_rtrunc(custr_t *cus, size_t ridx) in custr_rtrunc() argument
152 if (ridx >= cus->cus_strlen) { in custr_rtrunc()
157 idx = cus->cus_strlen - ridx - 1; in custr_rtrunc()
158 cus->cus_data[idx] = '\0'; in custr_rtrunc()
159 cus->cus_strlen = idx; in custr_rtrunc()
164 custr_len(custr_t *cus) in custr_len() argument
166 return (cus->cus_strlen); in custr_len()
170 custr_cstr(custr_t *cus) in custr_cstr() argument
172 if (cus->cus_data == NULL) { in custr_cstr()
173 VERIFY(cus->cus_strlen == 0); in custr_cstr()
174 VERIFY(cus->cus_datalen == 0); in custr_cstr()
182 return (cus->cus_data); in custr_cstr()
186 custr_append_vprintf(custr_t *cus, const char *fmt, va_list ap) in custr_append_vprintf() argument
199 if (len + cus->cus_strlen + 1 >= cus->cus_datalen) { in custr_append_vprintf()
201 size_t new_datalen = cus->cus_datalen + chunksz; in custr_append_vprintf()
203 if (cus->cus_flags & CUSTR_FIXEDBUF) { in custr_append_vprintf()
211 if ((new_data = CUSTR_ALLOC(cus, new_datalen)) == NULL) { in custr_append_vprintf()
219 if (cus->cus_data != NULL) { in custr_append_vprintf()
220 (void) memcpy(new_data, cus->cus_data, in custr_append_vprintf()
221 cus->cus_strlen + 1); in custr_append_vprintf()
222 CUSTR_FREE(cus, cus->cus_data, cus->cus_datalen); in custr_append_vprintf()
228 cus->cus_data = new_data; in custr_append_vprintf()
229 cus->cus_datalen = new_datalen; in custr_append_vprintf()
234 if ((len = vsnprintf(cus->cus_data + cus->cus_strlen, in custr_append_vprintf()
235 cus->cus_datalen - cus->cus_strlen, fmt, ap)) < 0) { in custr_append_vprintf()
238 cus->cus_strlen += len; in custr_append_vprintf()
244 custr_appendc(custr_t *cus, char newc) in custr_appendc() argument
246 return (custr_append_printf(cus, "%c", newc)); in custr_appendc()
250 custr_append_printf(custr_t *cus, const char *fmt, ...) in custr_append_printf() argument
256 ret = custr_append_vprintf(cus, fmt, ap); in custr_append_printf()
263 custr_append(custr_t *cus, const char *name) in custr_append() argument
265 return (custr_append_printf(cus, "%s", name)); in custr_append()
301 custr_xalloc(custr_t **cus, custr_alloc_t *cao) in custr_xalloc() argument
309 *cus = NULL; in custr_xalloc()
315 *cus = t; in custr_xalloc()
320 custr_alloc(custr_t **cus) in custr_alloc() argument
322 return (custr_xalloc(cus, NULL)); in custr_alloc()
326 custr_xalloc_buf(custr_t **cus, void *buf, size_t buflen, custr_alloc_t *cao) in custr_xalloc_buf() argument
335 if ((ret = custr_xalloc(cus, cao)) != 0) in custr_xalloc_buf()
338 (*cus)->cus_data = buf; in custr_xalloc_buf()
339 (*cus)->cus_datalen = buflen; in custr_xalloc_buf()
340 (*cus)->cus_strlen = 0; in custr_xalloc_buf()
341 (*cus)->cus_flags = CUSTR_FIXEDBUF; in custr_xalloc_buf()
342 (*cus)->cus_data[0] = '\0'; in custr_xalloc_buf()
348 custr_alloc_buf(custr_t **cus, void *buf, size_t buflen) in custr_alloc_buf() argument
350 return (custr_xalloc_buf(cus, buf, buflen, NULL)); in custr_alloc_buf()
354 custr_free(custr_t *cus) in custr_free() argument
358 if (cus == NULL) in custr_free()
361 if ((cus->cus_flags & CUSTR_FIXEDBUF) == 0) in custr_free()
362 CUSTR_FREE(cus, cus->cus_data, cus->cus_datalen); in custr_free()
364 cao = cus->cus_alloc; in custr_free()
365 cao->cua_ops->custr_ao_free(cao, cus, sizeof (*cus)); in custr_free()