summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-07-08 13:46:07 +0300
committerAndrei Karas <akaras@inbox.ru>2013-07-08 13:46:07 +0300
commit9e1c8b7ab5db33f544305c3b160ca65b6972370f (patch)
tree1bd1f627d3d58a874953149de001a770f7d9ea9e /src/utils
parent857da1b7b4e0a2523947b6ec82746a559543f329 (diff)
downloadManaVerse-9e1c8b7ab5db33f544305c3b160ca65b6972370f.tar.gz
ManaVerse-9e1c8b7ab5db33f544305c3b160ca65b6972370f.tar.bz2
ManaVerse-9e1c8b7ab5db33f544305c3b160ca65b6972370f.tar.xz
ManaVerse-9e1c8b7ab5db33f544305c3b160ca65b6972370f.zip
add ability to show stats from items.xml like strings.
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/stringutils.cpp14
-rw-r--r--src/utils/stringutils.h2
-rw-r--r--src/utils/stringutils_unittest.cc13
3 files changed, 29 insertions, 0 deletions
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index da3f8dd06..a54d9d5ab 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -697,3 +697,17 @@ std::string toStringPrint(const unsigned int val)
str[99] = 0;
return str;
}
+
+bool isDigit(const std::string &str)
+{
+ if (str.empty())
+ return false;
+ const size_t sz = str.size();
+ for (size_t f = 0; f < sz; f ++)
+ {
+ const char &chr = str[f];
+ if (chr < '0' || chr > '9')
+ return false;
+ }
+ return true;
+}
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index 737b5c8f3..7f40b3673 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -230,4 +230,6 @@ std::string encodeLinkText(std::string data);
std::string decodeLinkText(std::string data);
+bool isDigit(const std::string &str);
+
#endif // UTILS_STRINGUTILS_H
diff --git a/src/utils/stringutils_unittest.cc b/src/utils/stringutils_unittest.cc
index 75f4f2f35..8f28f5c10 100644
--- a/src/utils/stringutils_unittest.cc
+++ b/src/utils/stringutils_unittest.cc
@@ -551,3 +551,16 @@ TEST(stringuntils, decodeLinkText)
str = decodeLinkText(str);
EXPECT_EQ(str, "test|line");
}
+
+TEST(stringuntils, isDigit)
+{
+ std::string str;
+
+ EXPECT_FALSE(isDigit(""));
+ EXPECT_TRUE(isDigit("1"));
+ EXPECT_TRUE(isDigit("123"));
+ EXPECT_FALSE(isDigit("+123"));
+ EXPECT_FALSE(isDigit("-123"));
+ EXPECT_FALSE(isDigit("1.23"));
+ EXPECT_FALSE(isDigit("12-34"));
+}