Lines Matching refs:conv
51 ct_conv_cbuff_resize(ct_buffer_t *conv, size_t csize) in ct_conv_cbuff_resize() argument
55 if (csize <= conv->csize) in ct_conv_cbuff_resize()
58 conv->csize = csize; in ct_conv_cbuff_resize()
60 p = el_realloc(conv->cbuff, conv->csize * sizeof(*conv->cbuff)); in ct_conv_cbuff_resize()
62 conv->csize = 0; in ct_conv_cbuff_resize()
63 el_free(conv->cbuff); in ct_conv_cbuff_resize()
64 conv->cbuff = NULL; in ct_conv_cbuff_resize()
67 conv->cbuff = p; in ct_conv_cbuff_resize()
72 ct_conv_wbuff_resize(ct_buffer_t *conv, size_t wsize) in ct_conv_wbuff_resize() argument
76 if (wsize <= conv->wsize) in ct_conv_wbuff_resize()
79 conv->wsize = wsize; in ct_conv_wbuff_resize()
81 p = el_realloc(conv->wbuff, conv->wsize * sizeof(*conv->wbuff)); in ct_conv_wbuff_resize()
83 conv->wsize = 0; in ct_conv_wbuff_resize()
84 el_free(conv->wbuff); in ct_conv_wbuff_resize()
85 conv->wbuff = NULL; in ct_conv_wbuff_resize()
88 conv->wbuff = p; in ct_conv_wbuff_resize()
94 ct_encode_string(const wchar_t *s, ct_buffer_t *conv) in ct_encode_string() argument
102 dst = conv->cbuff; in ct_encode_string()
104 used = (ssize_t)(dst - conv->cbuff); in ct_encode_string()
105 if ((conv->csize - (size_t)used) < 5) { in ct_encode_string()
106 if (ct_conv_cbuff_resize(conv, in ct_encode_string()
107 conv->csize + CT_BUFSIZ) == -1) in ct_encode_string()
109 dst = conv->cbuff + used; in ct_encode_string()
120 return conv->cbuff; in ct_encode_string()
124 ct_decode_string(const char *s, ct_buffer_t *conv) in ct_decode_string() argument
135 if (conv->wsize < ++len) in ct_decode_string()
136 if (ct_conv_wbuff_resize(conv, len + CT_BUFSIZ) == -1) in ct_decode_string()
139 mbstowcs(conv->wbuff, s, conv->wsize); in ct_decode_string()
140 return conv->wbuff; in ct_decode_string()
145 ct_decode_argv(int argc, const char *argv[], ct_buffer_t *conv) in ct_decode_argv() argument
157 if (conv->wsize < ++bufspace) in ct_decode_argv()
158 if (ct_conv_wbuff_resize(conv, bufspace + CT_BUFSIZ) == -1) in ct_decode_argv()
165 for (i = 0, p = conv->wbuff; i < argc; ++i) { in ct_decode_argv()
216 ct_visual_string(const wchar_t *s, ct_buffer_t *conv) in ct_visual_string() argument
224 if (ct_conv_wbuff_resize(conv, CT_BUFSIZ) == -1) in ct_visual_string()
228 dst = conv->wbuff; in ct_visual_string()
231 conv->wsize - (size_t)(dst - conv->wbuff), *s); in ct_visual_string()
239 uintptr_t sused = (uintptr_t)dst - (uintptr_t)conv->wbuff; in ct_visual_string()
240 if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) in ct_visual_string()
242 dst = conv->wbuff + sused; in ct_visual_string()
245 if (dst >= (conv->wbuff + conv->wsize)) { /* sigh */ in ct_visual_string()
246 uintptr_t sused = (uintptr_t)dst - (uintptr_t)conv->wbuff; in ct_visual_string()
247 if (ct_conv_wbuff_resize(conv, conv->wsize + CT_BUFSIZ) == -1) in ct_visual_string()
249 dst = conv->wbuff + sused; in ct_visual_string()
253 return conv->wbuff; in ct_visual_string()