Fix build with BOOST_FILESYSTEM_NO_DEPRECATED
Change-Id: Ibdd3e7c4de0e8a0a4d6ae08c26386ea780f97f57
diff --git a/src/conf-file-processor.cpp b/src/conf-file-processor.cpp
index 1d3b781..ec1718b 100644
--- a/src/conf-file-processor.cpp
+++ b/src/conf-file-processor.cpp
@@ -27,8 +27,13 @@
#include <ndn-cxx/name.hpp>
#include <ndn-cxx/net/face-uri.hpp>
-#include <iostream>
+#include <boost/filesystem.hpp>
+#include <boost/property_tree/info_parser.hpp>
+
#include <fstream>
+#include <iostream>
+
+namespace bf = boost::filesystem;
namespace nlsr {
@@ -331,9 +336,8 @@
std::string stateDir = section.get<std::string>("state-dir");
if (bf::exists(stateDir)) {
if (bf::is_directory(stateDir)) {
-
- // copying nlsr.conf file to a user define directory for possible modification
- std::string conFileDynamic = (bf::path(stateDir) / "nlsr.conf").c_str();
+ // copying nlsr.conf file to a user-defined directory for possible modification
+ std::string conFileDynamic = (bf::path(stateDir) / "nlsr.conf").string();
if (m_confFileName == conFileDynamic) {
std::cerr << "Please use nlsr.conf stored at another location "
@@ -347,32 +351,38 @@
m_confParam.setConfFileNameDynamic(conFileDynamic);
try {
- bf::copy_file(m_confFileName, conFileDynamic, bf::copy_option::overwrite_if_exists);
+ bf::copy_file(m_confFileName, conFileDynamic,
+#if BOOST_VERSION >= 107400
+ bf::copy_options::overwrite_existing
+#else
+ bf::copy_option::overwrite_if_exists
+#endif
+ );
}
catch (const bf::filesystem_error& e) {
std::cerr << "Error copying conf file to the state directory: " << e.what() << std::endl;
+ return false;
}
- std::string testFileName = (bf::path(stateDir) / "test.seq").c_str();
+ std::string testFileName = (bf::path(stateDir) / "test.seq").string();
std::ofstream testOutFile(testFileName);
if (testOutFile) {
m_confParam.setStateFileDir(stateDir);
}
else {
- std::cerr << "User does not have read and write permission on the state directory";
- std::cerr << std::endl;
+ std::cerr << "NLSR does not have read/write permission on the state directory" << std::endl;
return false;
}
testOutFile.close();
remove(testFileName.c_str());
}
else {
- std::cerr << "Provided: " << stateDir << "is not a directory" << std::endl;
+ std::cerr << "Provided path '" << stateDir << "' is not a directory" << std::endl;
return false;
}
}
else {
- std::cerr << "Provided state directory <" << stateDir << "> does not exist" << std::endl;
+ std::cerr << "Provided state directory '" << stateDir << "' does not exist" << std::endl;
return false;
}
}
diff --git a/src/conf-file-processor.hpp b/src/conf-file-processor.hpp
index f7270ba..735a0c1 100644
--- a/src/conf-file-processor.hpp
+++ b/src/conf-file-processor.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2014-2020, The University of Memphis,
+ * Copyright (c) 2014-2021, The University of Memphis,
* Regents of the University of California,
* Arizona Board of Regents.
*
@@ -26,12 +26,10 @@
#include "conf-parameter.hpp"
#include <boost/algorithm/string.hpp>
-#include <boost/property_tree/info_parser.hpp>
-#include <boost/filesystem.hpp>
+#include <boost/property_tree/ptree.hpp>
namespace nlsr {
-namespace bf = boost::filesystem;
using ConfigSection = boost::property_tree::ptree;
/*! \brief A class containing methods to parse an NLSR configuration file
@@ -125,4 +123,5 @@
};
} // namespace nlsr
+
#endif // NLSR_CONF_FILE_PROCESSOR_HPP