lkml.org 
[lkml]   [2010]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 01/45] kstrtox: converting strings to integers done (hopefully) right
    From
    On Mon, Dec 6, 2010 at 2:25 AM, Jesper Juhl <jj@chaosbits.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@gmail.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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-12-06 16:19    [W:4.172 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site