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/