I'm trying to make an application that reads system information (on MacOS) and I've been able to read sysctl STRINGS like so:
func cpu() -> String {
var size = 0
sysctlbyname("machdep.cpu.brand_string", nil, &size, nil, 0)
var machine = [CChar](repeating: 0, count: Int(size))
sysctlbyname("machdep.cpu.brand_string", &machine, &size, nil, 0)
return String(cString: machine)
}
but when I try to read integers like hw.cpufrequency like so:
func cpuFreq() -> String {
var size = 0
sysctlbyname("hw.cpufrequency", nil, &size, nil, 0)
var machine = [CChar](repeating: 0, count: Int(size))
sysctlbyname("hw.cpufrequency", &machine, &size, nil, 0)
return String(cString: machine)
}
It returns absolutely nothing, any clues?