From c2cda95ce662b7bfffbfa45191ccee9fda7a009a Mon Sep 17 00:00:00 2001 From: Jan Date: Mon, 12 Mar 2018 17:15:36 +0100 Subject: [PATCH] fix file permissions for VERSION file (#4823) --- arangod/VocBase/Methods/Version.cpp | 4 ++-- lib/Basics/FileUtils.cpp | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/arangod/VocBase/Methods/Version.cpp b/arangod/VocBase/Methods/Version.cpp index f67e2283ba..77e1ad102f 100644 --- a/arangod/VocBase/Methods/Version.cpp +++ b/arangod/VocBase/Methods/Version.cpp @@ -23,6 +23,7 @@ #include "Version.h" #include "Basics/Common.h" #include "Basics/FileUtils.h" +#include "Basics/VelocyPackHelper.h" #include "Basics/files.h" #include "Logger/Logger.h" #include "Rest/Version.h" @@ -163,6 +164,5 @@ void Version::write(TRI_vocbase_t* vocbase, builder.close(); builder.close(); - std::string json = builder.slice().toJson(); - basics::FileUtils::spit(versionFile, json.c_str(), json.length()); + basics::VelocyPackHelper::velocyPackToFile(versionFile, builder.slice(), true); } diff --git a/lib/Basics/FileUtils.cpp b/lib/Basics/FileUtils.cpp index 6d85da78d9..f9108232f7 100644 --- a/lib/Basics/FileUtils.cpp +++ b/lib/Basics/FileUtils.cpp @@ -187,13 +187,12 @@ void slurp(std::string const& filename, StringBuffer& result) { static void throwFileWriteError(std::string const& filename) { TRI_set_errno(TRI_ERROR_SYS_ERROR); - int res = TRI_errno(); + /*int res = */ TRI_errno(); - std::string message("write failed for file '" + filename + "': " + - strerror(res)); + std::string message("write failed for file '" + filename + "': " + TRI_last_error()); LOG_TOPIC(TRACE, arangodb::Logger::FIXME) << "" << message; - THROW_ARANGO_EXCEPTION(TRI_ERROR_SYS_ERROR); + THROW_ARANGO_EXCEPTION_MESSAGE(TRI_ERROR_SYS_ERROR, message); } void spit(std::string const& filename, char const* ptr, size_t len, bool sync) {