From d6fd1a49ca07479d83d1e1fd08ef2816fe008522 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)))