Lines Matching defs:as

51 __archive_string_append(struct archive_string *as, const char *p, size_t s)
53 if (__archive_string_ensure(as, as->length + s + 1) == NULL)
55 memcpy(as->s + as->length, p, s);
56 as->s[as->length + s] = 0;
57 as->length += s;
58 return (as);
88 __archive_string_free(struct archive_string *as)
90 as->length = 0;
91 as->buffer_length = 0;
92 if (as->s != NULL) {
93 free(as->s);
94 as->s = NULL;
100 __archive_string_ensure(struct archive_string *as, size_t s)
103 if (as->s && (s <= as->buffer_length))
104 return (as);
113 if (as->buffer_length < 32)
115 as->buffer_length = 32;
116 else if (as->buffer_length < 8192)
118 as->buffer_length += as->buffer_length;
121 size_t old_length = as->buffer_length;
122 as->buffer_length += as->buffer_length / 4;
124 if (as->buffer_length < old_length) {
125 free(as->s);
126 as->s = NULL;
135 if (as->buffer_length < s)
136 as->buffer_length = s;
138 as->s = (char *)realloc(as->s, as->buffer_length);
139 if (as->s == NULL)
141 return (as);
145 __archive_strncat(struct archive_string *as, const void *_p, size_t n)
159 return (__archive_string_append(as, p, s));
163 __archive_strappend_char(struct archive_string *as, char c)
165 return (__archive_string_append(as, &c, 1));
171 * but still leaves a best-effort conversion in the argument as.
174 __archive_strappend_w_utf8(struct archive_string *as, const wchar_t *w)
179 struct archive_string *return_val = as;
191 archive_strcat(as, buff);
229 archive_strcat(as, buff);
288 __archive_string_utf8_w(struct archive_string *as)
295 ws = (wchar_t *)malloc((as->length + 1) * sizeof(wchar_t));
299 src = as->s;
362 __archive_strappend_w_mbs(struct archive_string *as, const wchar_t *w)
384 __archive_string_append(as, p, l);
386 return (as);
401 __archive_strappend_w_mbs(struct archive_string *as, const wchar_t *w)
405 return __archive_strappend_w_utf8(as, w);
410 * converts a character at a time and resizes the string as
435 archive_strcat(as, buff);
448 archive_strcat(as, buff);
449 return (as);