All of lore.kernel.org
 help / color / mirror / Atom feed
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?





  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.