kernel32: Fix some bad left-over uses of value in the CPU detection code.
Francois Gouget
fgouget at free.fr
Tue Jan 20 02:13:12 CST 2009
---
This fixes my previous patch and the compilation on NetBSD.
dlls/kernel32/cpu.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
index 0898117..bc890c6 100644
--- a/dlls/kernel32/cpu.c
+++ b/dlls/kernel32/cpu.c
@@ -569,7 +569,7 @@ VOID WINAPI GetSystemInfo(
#endif
#ifdef CPU_SSE2
mib[1] = CPU_SSE2; /* this should imply MMX */
- value[1] = sizeof(value);
+ val_len = sizeof(value);
if (sysctl(mib, 2, &value, &val_len, NULL, 0) >= 0)
if (value) PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE;
#endif
@@ -578,7 +578,7 @@ VOID WINAPI GetSystemInfo(
val_len = sizeof(value);
if (sysctl(mib, 2, &value, &val_len, NULL, 0) >= 0)
if (value > cachedsi.dwNumberOfProcessors)
- cachedsi.dwNumberOfProcessors = value[0];
+ cachedsi.dwNumberOfProcessors = value;
mib[1] = HW_MODEL;
val_len = sizeof(model)-1;
if (sysctl(mib, 2, model, &val_len, NULL, 0) >= 0) {
@@ -614,16 +614,17 @@ VOID WINAPI GetSystemInfo(
if (f != NULL)
{
while (fgets(model, 255, f) != NULL) {
- if (sscanf(model,"cpu%d: features %x<", value, value+1) == 2) {
+ int cpu, features;
+ if (sscanf(model,"cpu%d: features %x<", &cpu, &features) == 2) {
/* we could scan the string but it is easier
to test the bits directly */
- if (value[1] & 0x1)
+ if (features & 0x1)
PF[PF_FLOATING_POINT_EMULATED] = TRUE;
- if (value[1] & 0x10)
+ if (features & 0x10)
PF[PF_RDTSC_INSTRUCTION_AVAILABLE] = TRUE;
- if (value[1] & 0x100)
+ if (features & 0x100)
PF[PF_COMPARE_EXCHANGE_DOUBLE] = TRUE;
- if (value[1] & 0x800000)
+ if (features & 0x800000)
PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE;
break;
--
1.5.6.5
More information about the wine-patches
mailing list