Re: [PATCH 26/45] kstrtox: convert drivers/isdn/

From: Alexey Dobriyan
Date: Mon Dec 06 2010 - 15:10:23 EST


On Mon, Dec 06, 2010 at 01:10:45AM +0100, Tilman Schmidt wrote:
> I like the patch, but why not go all the way?
>
> Am 05.12.2010 18:49 schrieb Alexey Dobriyan:
> > @@ -566,10 +566,10 @@ void gigaset_handle_modem_response(struct cardstate *cs)
> > case RT_ZCAU:
> > event->parameter = -1;
> > if (curarg + 1 < params) {
> > - unsigned long type, value;
> > + u8 type, value;
> >
> > - i = strict_strtoul(argv[curarg++], 16, &type);
> > - j = strict_strtoul(argv[curarg++], 16, &value);
> > + i = kstrtou8(argv[curarg++], 16, &type);
> > + j = kstrtou8(argv[curarg++], 16, &value);
> >
> > if (i == 0 && type < 256 &&
> > j == 0 && value < 256)
>
> Once type and value are u8, the checks for < 256 are unnecessary.

OK.

> > @@ -583,7 +583,7 @@ void gigaset_handle_modem_response(struct cardstate *cs)
> > unsigned long res;
> > int rc;
> >
> > - rc = strict_strtoul(argv[curarg++], 10, &res);
> > + rc = kstrtoul(argv[curarg++], 10, &res);
> > if (rc == 0)
> > event->parameter = res;
> > }
>
> The new kstrtoul() promises not to touch the result field in the event
> of a conversion error, so &event->parameter can be passed directly to
> it, getting rid of the variables rc and res and the if statement.

What should be done in case of error?
Compiler will warn if kstrto*() result is unused:

kstrtoul(argv[curarg++], 10, &event->parameter);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/