Commit d81cbc4a authored by louiz’'s avatar louiz’

Use uname() instead of CMAKE_SYSTEM

fix #3235
parent 9f978cda
#define SYSTEM_NAME "${CMAKE_SYSTEM}"
#cmakedefine ICONV_SECOND_ARGUMENT_IS_CONST
#cmakedefine LIBIDN_FOUND
#cmakedefine SYSTEMD_FOUND
......
#include <logger/logger.hpp>
#include <utils/system.hpp>
#include <sys/utsname.h>
#include <cstring>
using namespace std::string_literals;
namespace utils
{
std::string get_system_name()
{
struct utsname uts;
const int res = ::uname(&uts);
if (res == -1)
{
log_error("uname failed: ", std::strerror(errno));
return "Unknown";
}
return uts.sysname + " "s + uts.release;
}
}
\ No newline at end of file
#pragma once
#include <string>
namespace utils
{
std::string get_system_name();
}
\ No newline at end of file
......@@ -5,6 +5,7 @@
#include <xmpp/xmpp_component.hpp>
#include <config/config.hpp>
#include <utils/system.hpp>
#include <utils/time.hpp>
#include <xmpp/auth.hpp>
#include <xmpp/jid.hpp>
......@@ -585,7 +586,7 @@ void XmppComponent::send_version(const std::string& id, const std::string& jid_t
}
{
XmlSubNode os(query, "os");
os.set_inner(SYSTEM_NAME);
os.set_inner(utils::get_system_name());
}
}
else
......
......@@ -8,6 +8,7 @@
#include <utils/empty_if_fixed_server.hpp>
#include <utils/get_first_non_empty.hpp>
#include <utils/time.hpp>
#include <utils/system.hpp>
#include <utils/scopeguard.hpp>
using namespace std::string_literals;
......@@ -151,3 +152,9 @@ TEST_CASE("scope_guard")
}
CHECK(res);
}
TEST_CASE("system_name")
{
CHECK(utils::get_system_name() != "Unknown");
CHECK(!utils::get_system_name().empty());
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment