Re: [PATCH 1/3] Add a kstrtobool function matching semantics ofexisting in kernel equivalents.

From: David Sterba
Date: Wed Mar 23 2011 - 09:55:18 EST


Hi,

you've missed a few breaks :)

On Wed, Mar 23, 2011 at 01:39:12PM +0000, Jonathan Cameron wrote:
> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxx>
> ---
> include/linux/kernel.h | 1 +
> lib/kstrtox.c | 18 ++++++++++++++++++
> 2 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 00cec4d..0babad3 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -247,6 +247,7 @@ int __must_check kstrtou16(const char *s, unsigned int base, u16 *res);
> int __must_check kstrtos16(const char *s, unsigned int base, s16 *res);
> int __must_check kstrtou8(const char *s, unsigned int base, u8 *res);
> int __must_check kstrtos8(const char *s, unsigned int base, s8 *res);
> +int __must_check kstrtobool(const char *s, bool *res);
>
> extern unsigned long simple_strtoul(const char *,char **,unsigned int);
> extern long simple_strtol(const char *,char **,unsigned int);
> diff --git a/lib/kstrtox.c b/lib/kstrtox.c
> index 05672e8..84cf08f 100644
> --- a/lib/kstrtox.c
> +++ b/lib/kstrtox.c
> @@ -225,4 +225,21 @@ int kstrtos8(const char *s, unsigned int base, s8 *res)
> return 0;
> }
> EXPORT_SYMBOL(kstrtos8);
> +
> +int kstrtobool(const char *s, bool *res)
> +{
> + switch (s[0]) {
> + case 'y':
> + case 'Y':
> + case '1':
> + *res = true;
break;

> + case 'n':
> + case 'N':
> + case '0':
> + *res = false;
break;

> + default:
> + return -EINVAL;
> + }
> + return 0;
> +}
> +EXPORT_SYMBOL(kstrtobool);
> --
> 1.7.3.4
>
> --
> 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/
--
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/