summaryrefslogtreecommitdiff
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
parent6e6d0e315a368e3d45254bc71d0d5567fba59d06 (diff)
Fix compile error with Android NDKrelease-1.22.0
-rw-r--r--src/OptionHandlerImpl.cc8
-rw-r--r--src/RequestGroupMan.cc10
2 files changed, 10 insertions, 8 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);
diff --git a/src/RequestGroupMan.cc b/src/RequestGroupMan.cc
index 5ca6f2b2..1eaf75e3 100644
--- a/src/RequestGroupMan.cc
+++ b/src/RequestGroupMan.cc
@@ -138,10 +138,12 @@ bool RequestGroupMan::setupOptimizeConcurrentDownloads(void)
option_->getAsBool(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS);
if (optimizeConcurrentDownloads_) {
if (option_->defined(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFA)) {
- optimizeConcurrentDownloadsCoeffA_ =
- std::stod(option_->get(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFA));
- optimizeConcurrentDownloadsCoeffB_ =
- std::stod(option_->get(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFB));
+ optimizeConcurrentDownloadsCoeffA_ = strtod(
+ option_->get(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFA).c_str(),
+ nullptr);
+ optimizeConcurrentDownloadsCoeffB_ = strtod(
+ option_->get(PREF_OPTIMIZE_CONCURRENT_DOWNLOADS_COEFFB).c_str(),
+ nullptr);
}
}
return optimizeConcurrentDownloads_;