Fix return value in trailing_strtoln()

This function should return -1 if there is no trailing integer in the
string. Instead it returns 0. Fix it by checking for this condition at the
start.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass
2016-10-05 20:42:11 -06:00
committed by Bin Meng
parent a5b8722532
commit b91c6a1209

View File

@ -160,10 +160,12 @@ long trailing_strtoln(const char *str, const char *end)
if (!end) if (!end)
end = str + strlen(str); end = str + strlen(str);
if (isdigit(end[-1])) {
for (p = end - 1; p > str; p--) { for (p = end - 1; p > str; p--) {
if (!isdigit(*p)) if (!isdigit(*p))
return simple_strtoul(p + 1, NULL, 10); return simple_strtoul(p + 1, NULL, 10);
} }
}
return -1; return -1;
} }