mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 22:37:45 -04:00
kernel.h: update comment about simple_strto<foo>() functions
There were discussions in the past about use cases for simple_strto<foo>() functions and, in some rare cases, they have a benefit over kstrto<foo>() ones. Update a comment to reduce confusion about special use cases. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Andy Shevchenko <[email protected]> Suggested-by: Miguel Ojeda <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: Mans Rullgard <[email protected]> Cc: Petr Mladek <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
2f5bd34369
commit
885e68e8b7
1 file changed
+14
-5
+14
-5
@@ -348,8 +348,7 @@ int __must_check kstrtoll(const char *s, unsigned int base, long long *res);
|
||||
* @res: Where to write the result of the conversion on success.
|
||||
*
|
||||
* Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
|
||||
* Used as a replacement for the obsolete simple_strtoull. Return code must
|
||||
* be checked.
|
||||
* Used as a replacement for the simple_strtoull. Return code must be checked.
|
||||
*/
|
||||
static inline int __must_check kstrtoul(const char *s, unsigned int base, unsigned long *res)
|
||||
{
|
||||
@@ -377,8 +376,7 @@ static inline int __must_check kstrtoul(const char *s, unsigned int base, unsign
|
||||
* @res: Where to write the result of the conversion on success.
|
||||
*
|
||||
* Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
|
||||
* Used as a replacement for the obsolete simple_strtoull. Return code must
|
||||
* be checked.
|
||||
* Used as a replacement for the simple_strtoull. Return code must be checked.
|
||||
*/
|
||||
static inline int __must_check kstrtol(const char *s, unsigned int base, long *res)
|
||||
{
|
||||
@@ -454,7 +452,18 @@ static inline int __must_check kstrtos32_from_user(const char __user *s, size_t
|
||||
return kstrtoint_from_user(s, count, base, res);
|
||||
}
|
||||
|
||||
/* Obsolete, do not use. Use kstrto<foo> instead */
|
||||
/*
|
||||
* Use kstrto<foo> instead.
|
||||
*
|
||||
* NOTE: simple_strto<foo> does not check for the range overflow and,
|
||||
* depending on the input, may give interesting results.
|
||||
*
|
||||
* Use these functions if and only if you cannot use kstrto<foo>, because
|
||||
* the conversion ends on the first non-digit character, which may be far
|
||||
* beyond the supported range. It might be useful to parse the strings like
|
||||
* 10x50 or 12:21 without altering original string or temporary buffer in use.
|
||||
* Keep in mind above caveat.
|
||||
*/
|
||||
|
||||
extern unsigned long simple_strtoul(const char *,char **,unsigned int);
|
||||
extern long simple_strtol(const char *,char **,unsigned int);
|
||||
|
||||
Reference in new issue
Block a user