advapi32: RegCreateKeyEx fix.
On Win9x,ME RegCreateKeyEx ignores the backslash character if the
subkey begins with one. With a regression test.
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index 9399c1e..4cb6add 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -206,7 +206,11 @@
NTSTATUS status;
if (reserved) return ERROR_INVALID_PARAMETER;
- if (!is_version_nt()) access = KEY_ALL_ACCESS; /* Win95 ignores the access mask */
+ if (!is_version_nt())
+ {
+ access = KEY_ALL_ACCESS; /* Win95 ignores the access mask */
+ if (name && *name == '\\') name++; /* win9x,ME ignores one (and only one) beginning backslash */
+ }
else if (!(access & KEY_ACCESS_MASK) || (access & ~KEY_ACCESS_MASK)) return ERROR_ACCESS_DENIED;
if (!(hkey = get_special_root_hkey( hkey ))) return ERROR_INVALID_HANDLE;