From 5378abfc55aa7e906034d4878a5c6c4e4f3c275a Mon Sep 17 00:00:00 2001 From: klaus95 Date: Mon, 17 Apr 2017 15:46:44 -0700 Subject: [PATCH] Fix for bug #1738 getTrailingNumber("string") and stripTrailingNumber("string") will now work for single letter cases. For example, getTrailingNumber() will return "11" if the input is "a11" or "t11", and stripTrailingNumber() will return "a" if the input is "a11". --- Engine/source/core/util/str.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/source/core/util/str.cpp b/Engine/source/core/util/str.cpp index cc124a45d..816e1391a 100644 --- a/Engine/source/core/util/str.cpp +++ b/Engine/source/core/util/str.cpp @@ -1620,7 +1620,7 @@ String String::GetTrailingNumber(const char* str, S32& number) if ((*p == '-') || (*p == '_')) number = -dAtoi(p + 1); else - number = ((p == base.c_str()) ? dAtoi(p) : dAtoi(++p)); + number = (isdigit(*p) && (p == base.c_str()) ? dAtoi(p) : dAtoi(++p)); // Remove space between the name and the number while ((p > base.c_str()) && dIsspace(*(p-1)))