Messages in this thread | | | Date | Mon, 6 Dec 2010 17:16:36 +0200 | Subject | Re: [PATCH 01/45] kstrtox: converting strings to integers done (hopefully) right | From | Alexey Dobriyan <> |
| |
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/
| |