Updated webrev as per Dmitrys' comments as well!

http://cr.openjdk.java.net/~nloodin/7148488/webrev.03/

To anser questions:


> 1. It seems to me if array doesn't fit to buf we have spare coma at the
> end. Is it intentional?

No, but it doesn't matter. Test will fail and buffer will have to be adjusted.

> 
> 2. We don't check whether we have enough room for comma in a buf. So we
> can overflow it.
Good catch. Fixed.

> 
> So I would recommend to reformat it something like below:
> 
>       int i = 0;
>       char *cpos = buf,*epos = buf+len;
> 
>       while(i < array_len){
>               const char *next_str = f->array()->at(i);
>               int next_len = strlen(next_str);
> 
>               if (cpos+next_len+1 > epos){
>                       break;
>               }
> 
>               memcpy(cpos,next_str,next_len);
>               *(cpos+next_len) = ',';
>               cpos+=(next_len+1);
>       }
>       
>       epos = (cpos == buf) ? cpos : cpos-1;
>       *epos = 0;
> 
I fixed the issue with the comma, but built it on my code, as I found that
more readable.. hope it doesn't matter!

Regards
Nils Loodin

/Nisse

Reply via email to