[shell32tests/shelllink.c] Use aliases for ordinals (resend/rediff)

Francois Gouget fgouget at codeweavers.com
Wed Feb 16 16:25:13 CST 2005

Paul Vriens wrote:
> That will leave us (for a unknown period) with a non-working 
> winetest.

The patch is available already. I attached it to this email so it's easy
to find, credits go to Filip Navara. So winetest surely cannot remain 
broken for a long time.

> And as Paul Millar stated that will be the case numerous times. So 
> maybe we should use the patch and as soon as MingW is fixed put the 
> calls to the names back? For now calling ordinals doesn't seem that 
> bad as the compiled versions (as you've stated) will do the same.
> I thought that the main purpose of conformance tests was to check the
>  behavior on windows. If a windows program calls (somehow directly) 
> SHSimpleIDListFromPath and friends, it will fail.

This just won't happen.

> The fact that the compiler 'translates' the call into a ordinal 
> shouldn't matter then for conformance testing.

It does. If a Windows application contains the following code:

    pidl=SHILCreateFromPath(pathW, &pidl, NULL);

That program with compile, link and run just fine with Visual C++ on 
Windows. If you take those sources and try to compile them with WineLib 
then they should compile just fine too. In particular, if it fails du to 
the above line then it means there is a bug in Winelib and we want to 
know about that.

As it stands the shelllink conformance test makes sure that we handle 
this correctly. If we modify it to use GetProcAddress() we lose this check.

Modifying the test one way and back would be a lot of work especially 
when it is much simpler to just use the attached patch. Also it supposes 
that someone actually restores the test to its current state... who? 
when? Finally it's just not the Wine way.

Francois Gouget
fgouget at codeweavers.com

-------------- next part --------------
Index: lib/shell32.def
RCS file: /cvs/src/src/winsup/w32api/lib/shell32.def,v
retrieving revision 1.7
diff -u -r1.7 shell32.def
--- lib/shell32.def	1 Jan 2004 11:00:43 -0000	1.7
+++ lib/shell32.def	16 Feb 2005 12:30:28 -0000
@@ -32,6 +32,7 @@
 SHUpdateRecycleBinIcon at 0
 SHSetUnreadMailCountW at 12
 SHSetLocalizedName at 12
+SHSimpleIDListFromPath at 4 @162
 SHQueryRecycleBinW at 8
 SHQueryRecycleBinA at 8
 SHPathPrepareForWriteW at 16
@@ -43,6 +44,7 @@
 SHIsFileAvailableOffline at 8
 SHInvokePrinterCommandW at 20
 SHInvokePrinterCommandA at 20
+SHILCreateFromPath at 12 @28
 SHHelpShortcuts_RunDLL at 16
 SHGetUnreadMailCountW at 24
 SHGetSpecialFolderPathW at 16
@@ -172,11 +174,11 @@
 ILCloneFirst at 4
 ILCombine at 8
 ILFindChild at 8
-ILFree at 4
+ILFree at 4 @155
 ILGetNext at 4
 ILGetSize at 4
-ILIsEqual at 8
+ILIsEqual at 8 @21
 ILIsParent at 12
 ILLoadFromStream at 8
 ILRemoveLastID at 4

More information about the wine-devel mailing list