lib: strto: parse all lowercase metric prefixes in ustrtoul[l]
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 6 Sep 2018 07:08:43 +0000 (09:08 +0200)
committerJagan Teki <jagan@amarulasolutions.com>
Thu, 20 Sep 2018 14:41:01 +0000 (20:11 +0530)
commita353e6aa8ec8f0aa101cc7e9543fe7843ddc6d98
treebb911ce09452ffdcb55da32756fa237db9e54eea
parent2b9ace5527d33539844fa831e12ad8357a25246e
lib: strto: parse all lowercase metric prefixes in ustrtoul[l]

Both ustrtoul and ustrtoull interpret 1k but not 1m or 1g. Even if the
SI symbols for Mega and Giga are 'M' and 'G', certain entries of
eg. mtdparts also use (wrongly) the metric prefix 'm' and 'g'.

I do not see how parsing lowercase prefixes could break anything, so
parse them like their uppercase counterpart.

Also, even though kiB is not equal to kB in general, lets not change
U-Boot behavior and always use kiB and kB (same applies for MiB vs. MB
and GiB vs. GB) as a representation for 1024 instead of 1000.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Stefan Roese <sr@denx.de>
lib/strto.c