summaryrefslogtreecommitdiff
path: root/src/OptionHandlerImpl.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2016-04-15 22:48:11 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2016-04-15 23:09:54 +0900
commit437d4aa7762646c9d167a7200ed72247f8b1203c (patch)
treedacc30ae6d0d470dbf632fde68de42b8e56d1f8e /src/OptionHandlerImpl.cc
parent6e6d0e315a368e3d45254bc71d0d5567fba59d06 (diff)
Fix compile error with Android NDKrelease-1.22.0
Diffstat (limited to 'src/OptionHandlerImpl.cc')
-rw-r--r--src/OptionHandlerImpl.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/OptionHandlerImpl.cc b/src/OptionHandlerImpl.cc
index 6dec8503..af17c176 100644
--- a/src/OptionHandlerImpl.cc
+++ b/src/OptionHandlerImpl.cc
@@ -623,10 +623,10 @@ void OptimizeConcurrentDownloadsOptionHandler::parseArg(
PrefPtr pref = PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFA;
std::string* sptr = &coeff_a;
for (;;) {
- try {
- double dbl = std::stod(*sptr);
- }
- catch (std::invalid_argument& ex) {
+ char *end;
+ errno = 0;
+ auto dbl = strtod(sptr->c_str(), &end);
+ if (errno != 0 || sptr->c_str() + sptr->size() != end) {
throw DL_ABORT_EX(fmt("Bad number '%s'", sptr->c_str()));
}
option.put(pref, *sptr);