Skip to content

Commit 5c70c18

Browse files
authored
[lldb] Sync OpenBSD GetOSVersion() closer to NetBSD function (#74396)
Also eliminate an unused variable while here.
1 parent 8cfdd37 commit 5c70c18

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

lldb/source/Host/openbsd/HostInfoOpenBSD.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,23 @@ using namespace lldb_private;
2020
llvm::VersionTuple HostInfoOpenBSD::GetOSVersion() {
2121
struct utsname un;
2222

23-
::memset(&un, 0, sizeof(utsname));
24-
if (uname(&un) < 0)
23+
::memset(&un, 0, sizeof(un));
24+
if (::uname(&un) < 0)
2525
return llvm::VersionTuple();
2626

27-
unsigned major, minor;
28-
if (2 == sscanf(un.release, "%u.%u", &major, &minor))
27+
uint32_t major, minor;
28+
int status = ::sscanf(un.release, "%" PRIu32 ".%" PRIu32, &major, &minor);
29+
switch (status) {
30+
case 1:
31+
return llvm::VersionTuple(major);
32+
case 2:
2933
return llvm::VersionTuple(major, minor);
34+
}
3035
return llvm::VersionTuple();
3136
}
3237

3338
std::optional<std::string> HostInfoOpenBSD::GetOSBuildString() {
3439
int mib[2] = {CTL_KERN, KERN_OSREV};
35-
char osrev_str[12];
3640
uint32_t osrev = 0;
3741
size_t osrev_len = sizeof(osrev);
3842

0 commit comments

Comments
 (0)