On Fri, Sep 07, 2012 at 02:58:19PM +0900, Namhyung Kim wrote:
> On Thu,  6 Sep 2012 17:47:03 +0200, Jiri Olsa wrote:
> > Adding 'wdiff' as new computation way to compare hist entries.

SNIP

> > +static int setup_compute_opt_wdiff(char *opt)
> > +{
> > +   char *w1_str = opt;
> > +   char *w2_str;
> > +
> > +   int ret = -EINVAL;
> > +
> > +   do {
> > +           if (!opt)
> > +                   break;
> > +
> > +           w2_str = strchr(opt, ',');
> > +           if (!w2_str)
> > +                   break;
> > +
> > +           *w2_str++ = 0x0;
> > +           if (!*w2_str)
> > +                   break;
> > +
> > +           compute_wdiff_w1 = strtol(w1_str, NULL, 10);
> > +           compute_wdiff_w2 = strtol(w2_str, NULL, 10);
> > +
> > +           if (!compute_wdiff_w1 || !compute_wdiff_w2)
> > +                   break;
> > +
> > +           pr_debug("compute wdiff w1(%" PRId64 ") w2(%" PRId64 ")\n",
> > +                     compute_wdiff_w1, compute_wdiff_w2);
> > +           ret = 0;
> > +
> > +   } while (0);
> 
> I don't see why this do { } while(0) loop is necessary.
> How about this?
> 
>       w1 = strtol(opt, &tmp, 10);
>       if (*tmp != ',')
>               goto error;
> 
>       opt = tmp + 1;
>       w2 = strtol(opt, &tmp, 10);
>       if (*tmp != '\0')
>               goto error;
> 
>       if (!w1 || !w2)
>               goto error;

I do this not to use labels & goto ;)

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to