Hi,
i don't know why this function was changed when it was moved, but it
breaks
some versions of msvcrt. This puts it back the way it was.
Cheers,
Jon
Changelog:
Jon Griffiths <jon_p_griffiths@yahoo.com>
+dlls/ntdll/version.c
Undo recent breakage in RtlGetVersionNumbers for XP msvcrt
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
--- wine/dlls/ntdll/version.c 2003-09-24 06:26:00.000000000 +0100
+++ wine-develop/dlls/ntdll/version.c 2003-09-27 18:24:16.000000000 +0100
@@ -537,7 +537,14 @@
{
const RTL_OSVERSIONINFOEXW * const current = VERSION_GetVersion();
- if (major) *major = current->dwMajorVersion;
+ if (major)
+ {
+ /* msvcrt.dll as released with XP Home fails in DLLMain() if the
+ * major version is not 5. So, we should never set a version < 5 ...
+ * This makes sense since this call didn't exist before XP anyway.
+ */
+ *major = current->dwMajorVersion < 5 ? 5 : current->dwMajorVersion;
+ }
if (minor) *minor = current->dwMinorVersion;
/* FIXME: Does anybody know the real formula? */
if (build) *build = (0xF0000000 | current->dwBuildNumber);