From d93eda88048d2bcefe4be3ea0aaa6ca0289eabbf Mon Sep 17 00:00:00 2001 From: Vikhyat Umrao Date: Thu, 26 May 2016 23:30:25 +0530 Subject: [PATCH] common: add int64_t template for strict_si_cast() Signed-off-by: Vikhyat Umrao (cherry picked from commit 8e429d05370fbe7935212d0ae9608e7547f39860) --- src/common/strtol.cc | 1 + src/test/strtol.cc | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/common/strtol.cc b/src/common/strtol.cc index bc5ccc74cb115..0e7ea7d301147 100644 --- a/src/common/strtol.cc +++ b/src/common/strtol.cc @@ -187,6 +187,7 @@ T strict_si_cast(const char *str, std::string *err) template int strict_si_cast(const char *str, std::string *err); template long long strict_si_cast(const char *str, std::string *err); +template int64_t strict_si_cast(const char *str, std::string *err); template uint64_t strict_si_cast(const char *str, std::string *err); template uint32_t strict_si_cast(const char *str, std::string *err); diff --git a/src/test/strtol.cc b/src/test/strtol.cc index 646c055fb5d89..3946736b91572 100644 --- a/src/test/strtol.cc +++ b/src/test/strtol.cc @@ -234,6 +234,21 @@ TEST(StrictSICast, Error) { (void)strict_si_cast("1T", &err); ASSERT_NE(err, ""); } + { + std::string err; + (void)strict_si_cast("2E", &err); + ASSERT_EQ(err, ""); + } + { + std::string err; + (void)strict_si_cast("-2E", &err); + ASSERT_EQ(err, ""); + } + { + std::string err; + (void)strict_si_cast("1T", &err); + ASSERT_EQ(err, ""); + } } /* -- 2.39.5