On 7/26/07, Vadim Gritsenko <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> >          public void characters(char ch[], int start, int length) {
> > -            String val = new String(ch).trim();
> ...
> > +            String val = new String(ch);
> >              info.sb.append(val);
>
> Now, after I had a look at this piece, I realized that it was wrong then and 
> it
> is still wrong now :)

Damn :)

> String must be constructed only from the relevant part of the character 
> buffer:
>
>      String val = new String(ch, start, length);
>
> Otherwise it can contain junk / extra data. It is a pure coincidence that it
> worked at all. :)
>
> Even better would be to forgo string construction completely and use append 
> method:
>
>      info.sb.append(ch, start, length);
>
> This would save one extra characters copying.

Thanks for spotting the problem.

Natalia

Reply via email to