Messages in this thread | | | Date | Fri, 7 Sep 2012 11:28:31 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH 09/12] perf diff: Add weighted diff computation way to compare hist entries |
| |
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
| |