Messages in this thread Patch in this message | | | From | Anshul Garg <> | Subject | [PATCH] lib/kstrtox.c clean kstrtoll function | Date | Thu, 22 Jan 2015 05:54:10 -0800 |
| |
From: Anshul Garg <aksgarg1989@gmail.com>
Instead of having same code for negative and postive integer, use sign variable for integer parsing.
Signed-off-by: Anshul Garg <aksgarg1989@gmail.com> --- lib/kstrtox.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/lib/kstrtox.c b/lib/kstrtox.c index ec8da78..744cbb0 100644 --- a/lib/kstrtox.c +++ b/lib/kstrtox.c @@ -146,23 +146,19 @@ EXPORT_SYMBOL(kstrtoull); int kstrtoll(const char *s, unsigned int base, long long *res) { unsigned long long tmp; - int rv; + int rv, sign = 1; if (s[0] == '-') { - rv = _kstrtoull(s + 1, base, &tmp); - if (rv < 0) - return rv; - if ((long long)(-tmp) >= 0) - return -ERANGE; - *res = -tmp; - } else { - rv = kstrtoull(s, base, &tmp); - if (rv < 0) - return rv; - if ((long long)tmp < 0) - return -ERANGE; - *res = tmp; + sign = -1; + s++; } + + rv = kstrtoull(s, base, &tmp); + if (rv < 0) + return rv; + if ((long long)tmp < 0) + return -ERANGE; + *res = sign * tmp; return 0; } EXPORT_SYMBOL(kstrtoll); -- 1.7.9.5
--- This email has been checked for viruses by Avast antivirus software. http://www.avast.com
| |