197 |
{ |
{ |
198 |
if (sb == NULL) |
if (sb == NULL) |
199 |
die("NULL string buffer. (strbuf_clear)"); |
die("NULL string buffer. (strbuf_clear)"); |
200 |
if (sb->sbufsize == 0) { |
if (strbuf_empty(sb)) { |
201 |
sb->sbufsize = INITIALSIZE; |
sb->sbufsize = INITIALSIZE; |
202 |
if (!(sb->sbuf = (char *)malloc(sb->sbufsize + 1))) { |
if (!(sb->sbuf = (char *)malloc(sb->sbufsize + 1))) { |
203 |
(*strbuf_alloc_failed_handler)(); |
(*strbuf_alloc_failed_handler)(); |
222 |
const char *s; |
const char *s; |
223 |
int len; |
int len; |
224 |
{ |
{ |
225 |
if (!sb->alloc_failed) { |
if (!sb->alloc_failed && len > 0) { |
226 |
if (sb->curp + len > sb->endp) |
if (sb->curp + len > sb->endp) |
227 |
__strbuf_expandbuf(sb, len); |
__strbuf_expandbuf(sb, len); |
228 |
while (len-- > 0) |
while (len-- > 0) |
259 |
STRBUF *sb; |
STRBUF *sb; |
260 |
int n; |
int n; |
261 |
{ |
{ |
262 |
char num[128]; |
if (n == 0) { |
|
int i = 0; |
|
|
|
|
|
while (n) { |
|
|
if (i >= sizeof(num)) |
|
|
die("Too big integer value."); |
|
|
num[i++] = n % 10 + '0'; |
|
|
n = n / 10; |
|
|
} |
|
|
if (i == 0) { |
|
263 |
strbuf_putc(sb, '0'); |
strbuf_putc(sb, '0'); |
264 |
} else { |
} else { |
265 |
|
char num[128]; |
266 |
|
int i = 0; |
267 |
|
|
268 |
|
while (n) { |
269 |
|
if (i >= sizeof(num)) |
270 |
|
die("Too big integer value."); |
271 |
|
num[i++] = n % 10 + '0'; |
272 |
|
n = n / 10; |
273 |
|
} |
274 |
while (--i >= 0) |
while (--i >= 0) |
275 |
strbuf_putc(sb, num[i]); |
strbuf_putc(sb, num[i]); |
276 |
} |
} |