On Thursday 02 August 2012 09:55:24 Lukasz Majewski wrote:
> Dear Mike Frysinger,
> > On Tuesday 31 July 2012 02:36:59 Lukasz Majewski wrote:
> > > +{
> > > + int i = 0;
> > > +
> > > + for (; *s; s++)
> > > +         if (*s == ';')
> > > +                 i++;
> > > +
> > > + return ++i;
> > > +}
> 
> In this function I count how many times the ';' separator appears.

well, to be more specific, i think it's counting the number of elements if you 
were to split on ';'.  so if there was one ';', this would return 2.  but 
you're correct of course that my suggested replacement is not equivalent.

> > > +int dfu_config_entities(char *env, char *interface, int num)
> > > +{
> > > + struct dfu_entity *dfu;
> > > + int i, ret;
> > > + char *s;
> > > +
> > > + dfu_alt_num = dfu_find_alt_num(env);
> > > + debug("%s: dfu_alt_num=%d\n", __func__, dfu_alt_num);
> > > +
> > > + for (i = 0; i < dfu_alt_num; i++) {
> > > +         dfu = calloc(sizeof(struct dfu_entity), 1);
> > 
> > seems like you can do this in a single call outside of the for loop:
> >     dfu = calloc(sizeof(*dfu), dfu_alt_num);
> >     if (!dfu)
> >     
> >             return -1;
> >     
> >     for (i = 0; i < dfu_alt_num; i++) {
> >     
> >             s = strsep(&env, ";");
> >             ret = dfu_fill_entity(&dfu[i], s, i, interface, num);
> >             if (ret)
> >             
> >                     return -1;
> >             
> >             list_add_tail(&dfu[i].list, &dfu_list);
> >     
> >     }
> 
> I'd prefer to leave it as it is (since IMHO is more readable) with the
> addition of following code:

it might be more slightly more readable, but doing a single function call 
results in better runtime performance
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to