}
}
+ ptr = buffer;
+
while (byteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION) <= returnLength) {
- ptr = buffer;
- if (ptr->RelationShip == RelationProcessorCore) {
+ if (ptr->Relationship == RelationProcessorCore) {
numPhysicalCores++;
}
+
+ ptr++;
+ byteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
}
free(buffer);
failed:
/* try to fall back on GetSystemInfo */
- SYSTEM_INFO sysinfo;
- GetSystemInfo(&sysinfo);
- numPhysicalCores = sysinfo.dwNumberOfProcessors;
- if (numPhysicalCores == 0) numPhysicalCores = 1; /* just in case */
+ { SYSTEM_INFO sysinfo;
+ GetSystemInfo(&sysinfo);
+ numPhysicalCores = sysinfo.dwNumberOfProcessors;
+ if (numPhysicalCores == 0) numPhysicalCores = 1; /* just in case */
+ }
return numPhysicalCores;
}