Patch to fix bug 892

Juan Lang juan_lang at
Mon Mar 26 12:19:00 CDT 2007

Hi Patrick, thanks for the patch.  Unfortunately it's rather large, and
doesn't just do what it says, so it's unlikely to get accepted as-is.

For example:
+	For use in GetSystemInfo(), these are the offsets into the register
array. Original version
+	isn't very clear what is meant by regs[0].

That may be, but this change isn't strictly necessary to fix bug 892.  You
may send that change as a separate patch if you like.

As another example:
+	#if defined(_SC_PAGESIZE)
+	cachedsi.dwPageSize = (DWORD)sysconf(_SC_PAGESIZE);

Using sysconf is another change you may wish to make, but doesn't address
bug 892.  Please send this change separately as well.

-	cachedsi.lpMinimumApplicationAddress	= (void *)0x00010000;
-	cachedsi.lpMaximumApplicationAddress	= (void *)0x7FFEFFFF;
-	cachedsi.dwActiveProcessorMask		= 1;
-	cachedsi.dwNumberOfProcessors		= 1;
+	cachedsi.lpMinimumApplicationAddress	= (void *)0x00010000; /* Lower 64kb
of memory... */
+	cachedsi.lpMaximumApplicationAddress	= (void *)0x7FFFFFFF; /* Lower 2GB
 	cachedsi.dwProcessorType		= PROCESSOR_INTEL_PENTIUM;
-	cachedsi.dwAllocationGranularity	= 0x10000;
+	cachedsi.dwAllocationGranularity	= 0x10000; /* */

Besides some of these changes being unnecessary (what's the meaning of an
empty comment?) one is incorrect.  The value 0x7ffeffff is not the same as
0x7fffffff.  The former value was chosen for some braindead app, and
changing it back would break it.

As a general rule, patches should be:
1) independent - they should be able to be applied in one go, without
depending on others.
2) correct - they shouldn't cause compile- or run-time breakages or
regression test failures.
3) minimal - they should contain the least change necessary to accomplish
what they set out to do, and they should set out to do just one thing.

So, please have a go at separating your patch into multiple smaller ones
and see where they go.  Good luck!

Get your own web address.  
Have a HUGE year through Yahoo! Small Business.

More information about the wine-devel mailing list