49 size_t wanted = len+(len>>3)+30;
50 if (wanted<len) wanted = len;
51 if (!sa->
s || sa->
a<len) {
53 if (!(tmp = realloc(sa->
s,wanted)))
64 if (sa->
len + len < len)
return 0;
92 while (q > 9) { ++len; q /= 10; }
98 while (len) { s[--len] =
'0' + (u % 10); u /= 10; }
115 sa->
s[sa->
len] = *in;
123 if (sa->
s) free(sa->
s);
int stralloc_copyb(stralloc *sa, const char *s, unsigned int n)
int stralloc_catb(stralloc *sa, const char *s, unsigned int n)
int stralloc_cat(stralloc *sato, stralloc *safrom)
int stralloc_copys(stralloc *sa, const char *s)
int stralloc_cats(stralloc *sa, const char *s)
int stralloc_append(stralloc *sa, const char *in)
int stralloc_catlong0(stralloc *sa, long l, unsigned int n)
int stralloc_ready(stralloc *sa, size_t len)
int stralloc_copy(stralloc *sato, stralloc *safrom)
int stralloc_catulong0(stralloc *sa, unsigned long u, unsigned int n)
int stralloc_readyplus(stralloc *sa, size_t len)
int stralloc_starts(stralloc *sa, const char *s)
void stralloc_free(stralloc *sa)
void byte_copy(void *, unsigned int, const void *)
#define byte_equal(s, n, t)
unsigned int str_len(const char *)