[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTinbq+NPHBQ=zqVNjUDL+G3fKdC6S9gYB5e4isNR@mail.gmail.com>
Date: Mon, 6 Dec 2010 17:16:36 +0200
From: Alexey Dobriyan <adobriyan@...il.com>
To: Jesper Juhl <jj@...osbits.net>
Cc: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 01/45] kstrtox: converting strings to integers done
(hopefully) right
On Mon, Dec 6, 2010 at 2:25 AM, Jesper Juhl <jj@...osbits.net> wrote:
> On Sun, 5 Dec 2010, Alexey Dobriyan wrote:
>> Note: sizeof and __alignof__ trick is done to save function call
>> where types aren't distinguishable.
>>
>> Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>
>> ---
> <snip>
>> +/* Internal, do not use. */
>> +int _kstrtol(const char *s, unsigned int base, long *res)
>> +{
>> + long long tmp;
>> + int rv;
>> +
>> + rv = kstrtoll(s, base, &tmp);
>> + if (rv < 0)
>> + return rv;
>> + if (tmp != (long long)(long)tmp)
>> + return -EINVAL;
>> + *res = tmp;
>> + return 0;
>> +}
>> +EXPORT_SYMBOL(_kstrtol);
>
> Ok, probably I'm just being dense, but the "_" prefix tells me I probably
> shouldn't use this function. The comment clearly tells me I shouldn't use
> this function.
> So, why is this exported? And if it is not/should not be exported, then
> why is it not static?
> (goes for other functions in this patch as well).
It is used by kstrtol() if "long" and "long long" aren't the same type.
I can't ifdef it because gcc doesn't allow "#if sizeof(long long) == ".
"Do not use" hints "use kstrtol()".
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists