IShellFolder::CompareIDs undocumented

Vitaliy Margolen wine-patch at kievinfo.com
Tue Aug 3 20:14:06 CDT 2004


I was chasing this bug for quite some time. It looks like when comparing PIDLs by
name, native returns result in lower 16 bits. Tested with several programs (ACDsee,
Delphi VirtualFolder demo) in w2k.

Vitaliy Margolen

changelog:
  Fix IShellFolder::CompareIDs when comparing by name
-------------- next part --------------
Index: dlls/shell32/shlfolder.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shlfolder.c,v
retrieving revision 1.88
diff -u -r1.88 shlfolder.c
--- dlls/shell32/shlfolder.c	15 Apr 2004 04:55:54 -0000	1.88
+++ dlls/shell32/shlfolder.c	4 Aug 2004 01:08:16 -0000
@@ -444,7 +444,8 @@
     /* test for name of pidl */
     _ILSimpleGetText (pidl1, szTemp1, MAX_PATH);
     _ILSimpleGetText (pidl2, szTemp2, MAX_PATH);
-    nReturn = strcasecmp (szTemp1, szTemp2);
+    /* not documented - native returns result in lower 16 bits */
+    nReturn = (WORD)strcasecmp (szTemp1, szTemp2);
     if (nReturn != 0)
 	return nReturn;
 


More information about the wine-patches mailing list