From: Jonathan Cameron <jic23@cam.ac.uk>
To: Greg KH <greg@kroah.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>,
linux-kernel@vger.kernel.org, rusty@rustcorp.com.au
Subject: Re: [PATCH 1/3] Add a kstrtobool function matching semantics of existing in kernel equivalents.
Date: Wed, 23 Mar 2011 16:37:40 +0000 [thread overview]
Message-ID: <4D8A21D4.6070102@cam.ac.uk> (raw)
In-Reply-To: <20110323162351.GB9367@kroah.com>
On 03/23/11 16:23, Greg KH wrote:
> On Wed, Mar 23, 2011 at 04:15:51PM +0000, Jonathan Cameron wrote:
>> On 03/23/11 16:01, Greg KH wrote:
>>> On Wed, Mar 23, 2011 at 05:30:11PM +0200, Alexey Dobriyan wrote:
>>>> On Wed, Mar 23, 2011 at 3:39 PM, Jonathan Cameron <jic23@cam.ac.uk> wrote:
>>>>> +int kstrtobool(const char *s, bool *res)
>>>>> +{
>>>>> + switch (s[0]) {
>>>>> + case 'y':
>>>>> + case 'Y':
>>>>> + case '1':
>>>>> + *res = true;
>>>>> + case 'n':
>>>>> + case 'N':
>>>>> + case '0':
>>>>> + *res = false;
>>>>> + default:
>>>>> + return -EINVAL;
>>>>> + }
>>>>> + return 0;
>>>>> +}
>>>>
>>>> sigh... such simple thing and so many bugs
>> Yeah, not by best work.
>>>>
>>>> The only values such function should accept is 0 and 1.
>>>
>>> Why? That's not the way the existing kernel functions that use this
>>> work.
>>>
>>>> Have you read the rest of kstrto*() code?
>>>> Where is newline check?
>> There are plenty of nastier cases that get through than a newline
>> in the middle of the string (ybobsyouruncle -> 1 nyes->0 :)
>>>>
>>>> Anyway, I think it's better do not exist.
>>>
>>> I think it is, as it's already duplicated in at least 2 different places
>>> in the kernel, and probably more. Once we get this implementation
>>> working correctly, we don't need to rewrite it again.
>> Perhaps naming it like this is a bad idea. It manages to imply that it
>> has the same level of strict checking which is seen in the other kstrto*
>> functions - which is self evidently not true!
>
> Ok, perhaps the name might need to be changed a bit, but the idea is
> still good to have. Please try again.
>
Any thoughts on what naming would work? Nothing immediately comes to mind
which is why I ended up pinching the kstrto* naming...
reallysloppy_strtobool?
guessintent_strtobool?
or the old classic underscore prefix to 'encourage' people to check what it does
before using it
__strtobool?
next prev parent reply other threads:[~2011-03-23 16:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 13:39 [RFC PATCH 0/3] Introduce kstrtobool function Jonathan Cameron
2011-03-23 13:39 ` [PATCH 1/3] Add a kstrtobool function matching semantics of existing in kernel equivalents Jonathan Cameron
2011-03-23 13:54 ` David Sterba
2011-03-23 14:00 ` Jonathan Cameron
2011-03-23 15:30 ` Alexey Dobriyan
2011-03-23 16:01 ` Greg KH
2011-03-23 16:15 ` Jonathan Cameron
2011-03-23 16:23 ` Greg KH
2011-03-23 16:37 ` Jonathan Cameron [this message]
2011-03-23 18:44 ` Greg KH
2011-03-23 19:11 ` Jonathan Cameron
2011-03-23 13:39 ` [PATCH 2/3] debugfs: move to new kstrtobool function Jonathan Cameron
2011-03-23 20:20 ` Ryan Mallon
2011-03-24 10:53 ` Jonathan Cameron
2011-03-23 13:39 ` [PATCH 3/3] params.c: Use new kstrtobool implementation to processing boolean inputs Jonathan Cameron
2011-03-23 13:42 ` Jonathan Cameron
2011-03-24 0:34 ` [RFC PATCH 0/3] Introduce kstrtobool function Rusty Russell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D8A21D4.6070102@cam.ac.uk \
--to=jic23@cam.ac.uk \
--cc=adobriyan@gmail.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.