- if( fstr ) {
- filter_escape_value( value, &escaped );
- *fstr = ch_realloc( *fstr,
- strlen( *fstr ) + escaped.bv_len + 2 );
- strcat( *fstr, "*" );
- strcat( *fstr, escaped.bv_val );
+ if( fstr->bv_val ) {
+ int i = fstr->bv_len;
+ filter_escape_value( &value, &escaped );
+ fstr->bv_len += escaped.bv_len + 2;
+ fstr->bv_val = ch_realloc( fstr->bv_val,
+ fstr->bv_len + 1 );
+ strcpy( fstr->bv_val+i, "*" );
+ strcpy( fstr->bv_val+i+1, escaped.bv_val );