Skip to content

Commit 8b8070e

Browse files
committed
Host::GetOSBuildString
1 parent 49e1753 commit 8b8070e

File tree

12 files changed

+30
-41
lines changed

12 files changed

+30
-41
lines changed

lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace lldb_private {
1818
class HostInfoFreeBSD : public HostInfoPosix {
1919
public:
2020
static llvm::VersionTuple GetOSVersion();
21-
static bool GetOSBuildString(std::string &s);
21+
static llvm::Optional<std::string> GetOSBuildString();
2222
static bool GetOSKernelDescription(std::string &s);
2323
static FileSpec GetProgramFileSpec();
2424
};

lldb/include/lldb/Host/linux/HostInfoLinux.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class HostInfoLinux : public HostInfoPosix {
2626
static void Terminate();
2727

2828
static llvm::VersionTuple GetOSVersion();
29-
static bool GetOSBuildString(std::string &s);
29+
static llvm::Optional<std::string> GetOSBuildString();
3030
static bool GetOSKernelDescription(std::string &s);
3131
static llvm::StringRef GetDistributionId();
3232
static FileSpec GetProgramFileSpec();

lldb/include/lldb/Host/macosx/HostInfoMacOSX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class HostInfoMacOSX : public HostInfoPosix {
2424
public:
2525
static llvm::VersionTuple GetOSVersion();
2626
static llvm::VersionTuple GetMacCatalystVersion();
27-
static bool GetOSBuildString(std::string &s);
27+
static llvm::Optional<std::string> GetOSBuildString();
2828
static bool GetOSKernelDescription(std::string &s);
2929
static FileSpec GetProgramFileSpec();
3030
static FileSpec GetXcodeContentsDirectory();

lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace lldb_private {
1818
class HostInfoNetBSD : public HostInfoPosix {
1919
public:
2020
static llvm::VersionTuple GetOSVersion();
21-
static bool GetOSBuildString(std::string &s);
21+
static llvm::Optional<std::string> GetOSBuildString();
2222
static bool GetOSKernelDescription(std::string &s);
2323
static FileSpec GetProgramFileSpec();
2424
};

lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace lldb_private {
1818
class HostInfoOpenBSD : public HostInfoPosix {
1919
public:
2020
static llvm::VersionTuple GetOSVersion();
21-
static bool GetOSBuildString(std::string &s);
21+
static llvm::Optional<std::string> GetOSBuildString();
2222
static bool GetOSKernelDescription(std::string &s);
2323
static FileSpec GetProgramFileSpec();
2424
};

lldb/include/lldb/Host/windows/HostInfoWindows.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class HostInfoWindows : public HostInfoBase {
2727
static UserIDResolver &GetUserIDResolver();
2828

2929
static llvm::VersionTuple GetOSVersion();
30-
static bool GetOSBuildString(std::string &s);
30+
static llvm::Optional<std::string> GetOSBuildString();
3131
static bool GetOSKernelDescription(std::string &s);
3232
static bool GetHostname(std::string &s);
3333
static FileSpec GetProgramFileSpec();

lldb/source/Host/freebsd/HostInfoFreeBSD.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
#include "lldb/Host/freebsd/HostInfoFreeBSD.h"
10-
10+
#include "llvm/Support/FormatVariadic.h"
1111
#include <cstdio>
1212
#include <cstring>
1313
#include <sys/sysctl.h>
@@ -30,20 +30,16 @@ llvm::VersionTuple HostInfoFreeBSD::GetOSVersion() {
3030
return llvm::VersionTuple();
3131
}
3232

33-
bool HostInfoFreeBSD::GetOSBuildString(std::string &s) {
33+
llvm::Optional<std::string> HostInfoFreeBSD::GetOSBuildString() {
3434
int mib[2] = {CTL_KERN, KERN_OSREV};
3535
char osrev_str[12];
3636
uint32_t osrev = 0;
3737
size_t osrev_len = sizeof(osrev);
3838

39-
if (::sysctl(mib, 2, &osrev, &osrev_len, NULL, 0) == 0) {
40-
::snprintf(osrev_str, sizeof(osrev_str), "%-8.8u", osrev);
41-
s.assign(osrev_str);
42-
return true;
43-
}
39+
if (::sysctl(mib, 2, &osrev, &osrev_len, NULL, 0) == 0)
40+
return llvm::formatv("{0,8:8}", osrev).str();
4441

45-
s.clear();
46-
return false;
42+
return llvm::None;
4743
}
4844

4945
bool HostInfoFreeBSD::GetOSKernelDescription(std::string &s) {

lldb/source/Host/linux/HostInfoLinux.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,14 @@ llvm::VersionTuple HostInfoLinux::GetOSVersion() {
6565
return g_fields->m_os_version;
6666
}
6767

68-
bool HostInfoLinux::GetOSBuildString(std::string &s) {
68+
llvm::Optional<std::string> HostInfoLinux::GetOSBuildString() {
6969
struct utsname un;
7070
::memset(&un, 0, sizeof(utsname));
71-
s.clear();
7271

7372
if (uname(&un) < 0)
74-
return false;
73+
return llvm::None;
7574

76-
s.assign(un.release);
77-
return true;
75+
return std::string(un.release);
7876
}
7977

8078
bool HostInfoLinux::GetOSKernelDescription(std::string &s) {

lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,14 @@
5555

5656
using namespace lldb_private;
5757

58-
bool HostInfoMacOSX::GetOSBuildString(std::string &s) {
58+
llvm::Optional<std::string> HostInfoMacOSX::GetOSBuildString() {
5959
int mib[2] = {CTL_KERN, KERN_OSVERSION};
6060
char cstr[PATH_MAX];
6161
size_t cstr_len = sizeof(cstr);
62-
if (::sysctl(mib, 2, cstr, &cstr_len, NULL, 0) == 0) {
63-
s.assign(cstr, cstr_len);
64-
return true;
65-
}
62+
if (::sysctl(mib, 2, cstr, &cstr_len, NULL, 0) == 0)
63+
return std::string(cstr, cstr_len);
6664

67-
s.clear();
68-
return false;
65+
return llvm::None;
6966
}
7067

7168
bool HostInfoMacOSX::GetOSKernelDescription(std::string &s) {

lldb/source/Host/netbsd/HostInfoNetBSD.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,16 @@ llvm::VersionTuple HostInfoNetBSD::GetOSVersion() {
4242
return llvm::VersionTuple();
4343
}
4444

45-
bool HostInfoNetBSD::GetOSBuildString(std::string &s) {
45+
llvm::Optional<std::string> HostInfoNetBSD::GetOSBuildString() {
4646
int mib[2] = {CTL_KERN, KERN_OSREV};
4747
char osrev_str[12];
4848
int osrev = 0;
4949
size_t osrev_len = sizeof(osrev);
5050

51-
if (::sysctl(mib, 2, &osrev, &osrev_len, NULL, 0) == 0) {
52-
::snprintf(osrev_str, sizeof(osrev_str), "%-10.10d", osrev);
53-
s.assign(osrev_str);
54-
return true;
55-
}
51+
if (::sysctl(mib, 2, &osrev, &osrev_len, NULL, 0) == 0)
52+
return llvm::formatv("{0,10:10}", osrev).str();
5653

57-
s.clear();
58-
return false;
54+
return llvm::None;
5955
}
6056

6157
bool HostInfoNetBSD::GetOSKernelDescription(std::string &s) {

0 commit comments

Comments
 (0)