Hi,
I've been testing some of these test extensively and can make them pass
on all the windows versions I have running. Doing this however means it
breaks the wine test.
An example is:
/*
* string grows during expanding
* dwSize is larger then the size of part before the backslash but
smaller then the expanded string
* if the unexpanded string fits into the buffer it can get cut when
expanded
*/
strcpy(buf, sEmptyBuffer);
dwSize = sExpLen2 - 4;
dwType = -1;
dwRet = SHQueryValueExA( hKey, "Test3", NULL, &dwType, buf, &dwSize);
ok( (0 == strcmp("", buf)) | (0 == strcmp(sEnvvar2, buf)), "Buffer
should be the first part of the string (win98) or empty otherwise, it's
(%s)\n", buf);
Wine returns a part of the expanded string here:
(ImARatherLongButIndeedNeededString\sub)
So Wine doesn't do what either win98/winnt/win2k/winxp does (all latest
version of the OS's).
What's the best approach in this?
- fix Wine (but what should be the correct returned buffer?)
- extend the ok, by the returned buffer that Wine gives and effectively
ignore the differences.
Cheers,
Paul.