aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/download.cpp14
-rw-r--r--src/common/updates.cpp2
-rw-r--r--src/common/util.cpp15
3 files changed, 24 insertions, 7 deletions
diff --git a/src/common/download.cpp b/src/common/download.cpp
index f07d6798d..2b6a3f9d3 100644
--- a/src/common/download.cpp
+++ b/src/common/download.cpp
@@ -107,13 +107,17 @@ namespace tools
MINFO("Content-Length: " << length);
content_length = length;
boost::filesystem::path path(control->path);
- boost::filesystem::space_info si = boost::filesystem::space(path);
- if (si.available < (size_t)content_length)
+ try
{
- const uint64_t avail = (si.available + 1023) / 1024, needed = (content_length + 1023) / 1024;
- MERROR("Not enough space to download " << needed << " kB to " << path << " (" << avail << " kB available)");
- return false;
+ boost::filesystem::space_info si = boost::filesystem::space(path);
+ if (si.available < (size_t)content_length)
+ {
+ const uint64_t avail = (si.available + 1023) / 1024, needed = (content_length + 1023) / 1024;
+ MERROR("Not enough space to download " << needed << " kB to " << path << " (" << avail << " kB available)");
+ return false;
+ }
}
+ catch (const std::exception &e) { MWARNING("Failed to check for free space: " << e.what()); }
}
if (offset > 0)
{
diff --git a/src/common/updates.cpp b/src/common/updates.cpp
index 0bc6ff63c..f620bb53a 100644
--- a/src/common/updates.cpp
+++ b/src/common/updates.cpp
@@ -101,7 +101,7 @@ namespace tools
{
const char *base = user ? "https://downloads.getmonero.org/" : "https://updates.getmonero.org/";
#ifdef _WIN32
- static const char *extension = strncmp(buildtag.c_str(), "install-", 8) ? ".zip" : ".exe";
+ static const char *extension = strncmp(buildtag.c_str(), "source", 6) ? (strncmp(buildtag.c_str(), "install-", 8) ? ".zip" : ".exe") : ".tar.bz2";
#else
static const char extension[] = ".tar.bz2";
#endif
diff --git a/src/common/util.cpp b/src/common/util.cpp
index 57e747837..747235646 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -1239,7 +1239,7 @@ std::string get_nix_version_display_string()
return get_string_prefix_by_width(s, 999999999).second;
};
- std::vector<std::pair<std::string, size_t>> split_string_by_width(const std::string &s, size_t columns)
+ std::vector<std::pair<std::string, size_t>> split_line_by_width(const std::string &s, size_t columns)
{
std::vector<std::string> words;
std::vector<std::pair<std::string, size_t>> lines;
@@ -1279,4 +1279,17 @@ std::string get_nix_version_display_string()
return lines;
}
+ std::vector<std::pair<std::string, size_t>> split_string_by_width(const std::string &s, size_t columns)
+ {
+ std::vector<std::string> lines;
+ std::vector<std::pair<std::string, size_t>> all_lines;
+ boost::split(lines, s, boost::is_any_of("\n"), boost::token_compress_on);
+ for (const auto &e: lines)
+ {
+ std::vector<std::pair<std::string, size_t>> new_lines = split_line_by_width(e, columns);
+ for (auto &l: new_lines)
+ all_lines.push_back(std::move(l));
+ }
+ return all_lines;
+ }
}