diff --git a/CMakeLists.txt b/CMakeLists.txt index 000271a..53233d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,6 +32,11 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") find_package(OpenSSL REQUIRED) +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + list(APPEND COMMON_LIBRARIES "stdc++fs") +endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + + # Usenetsearch common library -------------------------------------------------- add_library(usenetsearch @@ -60,7 +65,7 @@ target_include_directories(usenetsearch ) target_link_libraries(usenetsearch - PUBLIC ${OPENSSL_LIBRARIES} stdc++fs + PUBLIC ${OPENSSL_LIBRARIES} ${COMMON_LIBRARIES} ) # Indexer executable ----------------------------------------------------------- @@ -70,7 +75,7 @@ add_executable(usenetindexd ) target_link_libraries(usenetindexd - PUBLIC ${OPENSSL_LIBRARIES} stdc++fs + PUBLIC ${OPENSSL_LIBRARIES} ${COMMON_LIBRARIES} PRIVATE usenetsearch ) @@ -86,7 +91,7 @@ add_executable(usenetfind ) target_link_libraries(usenetfind - PUBLIC ${OPENSSL_LIBRARIES} stdc++fs + PUBLIC ${OPENSSL_LIBRARIES} ${COMMON_LIBRARIES} PRIVATE usenetsearch ) @@ -102,7 +107,7 @@ add_executable(dbdump ) target_link_libraries(dbdump - PUBLIC ${OPENSSL_LIBRARIES} stdc++fs + PUBLIC ${OPENSSL_LIBRARIES} ${COMMON_LIBRARIES} PRIVATE usenetsearch ) diff --git a/include/usenetsearch/Database.h b/include/usenetsearch/Database.h index 6a8c6b7..993618a 100644 --- a/include/usenetsearch/Database.h +++ b/include/usenetsearch/Database.h @@ -21,6 +21,7 @@ #include "usenetsearch/Serialize.h" #include "usenetsearch/UsenetClient.h" +#include #include #include #include diff --git a/include/usenetsearch/Except.h b/include/usenetsearch/Except.h index 92dac52..515b757 100644 --- a/include/usenetsearch/Except.h +++ b/include/usenetsearch/Except.h @@ -18,6 +18,7 @@ #pragma once #include +#include namespace usenetsearch { diff --git a/include/usenetsearch/StringUtils.h b/include/usenetsearch/StringUtils.h index b7d68d7..8058430 100644 --- a/include/usenetsearch/StringUtils.h +++ b/include/usenetsearch/StringUtils.h @@ -85,8 +85,15 @@ template T StringLeftTrim(const T& str) { T s = str; - s.erase(s.begin(), std::find_if(s.begin(), s.end(), - std::not1(std::ptr_fun(std::isspace)))); + s.erase(s.begin(), + std::find_if( + s.begin(), + s.end(), + [](char c){ + return !std::isspace(c); + } + ) + ); return s; } @@ -105,10 +112,15 @@ T StringRemove(const T& subject, const T& toErase) template T StringRightTrim(const T& str) { - T s = str; - s.erase(std::find_if(s.rbegin(), s.rend(), - std::not1(std::ptr_fun(std::isspace))).base(), - s.end()); + T s(str); + s.erase(std::find_if( + s.rbegin(), + s.rend(), + [](unsigned char c){ + return !std::isspace(c); + } + ).base(), s.end() + ); return s; } diff --git a/src/Dns.cpp b/src/Dns.cpp index 6de4764..4b59e34 100644 --- a/src/Dns.cpp +++ b/src/Dns.cpp @@ -19,6 +19,8 @@ #include "usenetsearch/Logger.h" +#include + #include #include diff --git a/src/Serialize.cpp b/src/Serialize.cpp index 8618ebc..894138e 100644 --- a/src/Serialize.cpp +++ b/src/Serialize.cpp @@ -127,7 +127,11 @@ void SerializableFile::Close() void SerializableFile::Open(const std::string& fileName) { +#ifdef __linux__ const int flags{O_RDWR|O_NOATIME|O_CREAT}; +#else + const int flags{O_RDWR|O_CREAT}; +#endif int ret = open(fileName.c_str(), flags, 0644); if (ret < 0) { diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp index 29cbb03..dc95680 100644 --- a/src/StringUtils.cpp +++ b/src/StringUtils.cpp @@ -22,11 +22,13 @@ #include #include +#include #include #include #include #include #include +#include #include #include diff --git a/src/TcpConnection.cpp b/src/TcpConnection.cpp index 717dec4..419b3d6 100644 --- a/src/TcpConnection.cpp +++ b/src/TcpConnection.cpp @@ -20,6 +20,8 @@ #include "usenetsearch/Dns.h" +#include // sockaddr_in +#include // AF_INET etc... #include // close(), read(), write() #include