diff options
-rw-r--r-- | SystemInformation.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/SystemInformation.cxx b/SystemInformation.cxx index 5e07e80..428d649 100644 --- a/SystemInformation.cxx +++ b/SystemInformation.cxx @@ -4646,7 +4646,7 @@ bool SystemInformationImplementation::ParseSysCtl() err = sysctlbyname("hw.machine", &tempBuff, &len, nullptr, 0); if (err == 0) { std::string machineBuf(tempBuff); - if (machineBuf.find_first_of("Power") != std::string::npos) { + if (machineBuf.find("Power") != std::string::npos) { this->ChipID.Vendor = "IBM"; err = kw_sysctlbyname_int32("hw.cputype", &tempInt32); @@ -4660,10 +4660,15 @@ bool SystemInformationImplementation::ParseSysCtl() } this->FindManufacturer(); - } else if (machineBuf.find_first_of("arm64") != std::string::npos) { + } else if (machineBuf.find("arm64") != std::string::npos) { this->ChipID.Vendor = "Apple"; this->FindManufacturer(); + + err = kw_sysctlbyname_int32("hw.optional.floatingpoint", &tempInt32); + if (err == 0) { + this->Features.HasFPU = static_cast<bool>(tempInt32); + } } } } else { |