8 sb_add(StringBuf *b, char *s, int length)
13 if ( b->strlen + length + 1 >= b->length ) {
14 if ( b->str == NULL || b->length == 0 ) {
15 b->length = (length + 1)*4;
16 b->str = (char*)malloc( sizeof(char) * b->length );
20 while( b->strlen + length + 1 >= b->length );
21 b->str = (char*)realloc( b->str, sizeof(char) * b->length );
25 fprintf(stderr,"Not enough memory (%d bytes)\n", b->length);
30 memcpy(b->str + b->strlen, s, length);
32 b->str[ b->strlen ] = '\0';