Index: trunk/src/shlwapi/ordinal.c
===================================================================
--- trunk/src/shlwapi/ordinal.c	(revision 5751)
+++ trunk/src/shlwapi/ordinal.c	(revision 5753)
@@ -32,4 +32,10 @@
 extern HMODULE SHLWAPI_hmpr = 0;
 extern HMODULE SHLWAPI_hmlang = 0;
+#undef FIXME
+#ifdef DEBUG
+#define FIXME WriteLog("FIXME %s", __FUNCTION__); WriteLog
+#else
+#define FIXME 1 ? (void)0 : (void)((int (*)(char *, ...)) NULL)
+#endif
 #else
 extern HINSTANCE shlwapi_hInstance;
@@ -195,19 +201,11 @@
   return 0;
 }
-
 /*************************************************************************
  *      SHLWAPI_151	[SHLWAPI.151]
  */
-DWORD WINAPI SHLWAPI_151(void)
-{
-  FIXME(": stub\n");
-  return 0;
-}
-
-/*************************************************************************
- *      SHLWAPI_152	[SHLWAPI.152]
- */
-DWORD WINAPI SHLWAPI_152(LPWSTR str1, LPWSTR str2, INT len)
-{
+#ifdef __WIN32OS2__
+DWORD WINAPI SHLWAPI_151(LPSTR str1, LPSTR str2, INT len)
+{
+  dprintf(("SHLWAPI_151 (strcmpn) %s %s %d", str1, str2, len));
   if (!len)
     return 0;
@@ -219,4 +217,28 @@
   }
   return *str1 - *str2;
+
+}
+#else
+DWORD WINAPI SHLWAPI_151(void)
+{
+  FIXME(": stub\n");
+  return 0;
+}
+#endif
+
+/*************************************************************************
+ *      SHLWAPI_152	[SHLWAPI.152]
+ */
+DWORD WINAPI SHLWAPI_152(LPWSTR str1, LPWSTR str2, INT len)
+{
+  if (!len)
+    return 0;
+
+  while (--len && *str1 && *str1 == *str2)
+  {
+    str1++;
+    str2++;
+  }
+  return *str1 - *str2;
 }
 
@@ -224,4 +246,24 @@
  *      SHLWAPI_153	[SHLWAPI.153]
  */
+#ifdef __WIN32OS2__
+//case insensitive string compare with length (ascii)
+DWORD WINAPI SHLWAPI_153(LPSTR str1, LPSTR str2, DWORD len)
+{
+  if (!len)
+    return 0;
+
+  return lstrncmpiA(str1, str2, len);
+}
+
+//case insensitive string compare with length (unicode)
+DWORD WINAPI SHLWAPI_154(LPWSTR str1, LPWSTR str2, DWORD len)
+{
+  if (!len)
+    return 0;
+
+  return lstrncmpiW(str1, str2, len);
+}
+
+#else
 DWORD WINAPI SHLWAPI_153(DWORD dw1, DWORD dw2, DWORD dw3)
 {
@@ -229,4 +271,5 @@
     return 0;
 }
+#endif
 
 /*************************************************************************
Index: trunk/src/shlwapi/path.c
===================================================================
--- trunk/src/shlwapi/path.c	(revision 5751)
+++ trunk/src/shlwapi/path.c	(revision 5753)
@@ -28,4 +28,13 @@
 #include "debugtools.h"
 
+
+#ifdef __WIN32OS2__
+#undef FIXME
+#ifdef DEBUG
+#define FIXME WriteLog("FIXME %s", __FUNCTION__); WriteLog
+#else
+#define FIXME 1 ? (void)0 : (void)((int (*)(char *, ...)) NULL)
+#endif
+#endif
 
 DEFAULT_DEBUG_CHANNEL(shell);
Index: trunk/src/shlwapi/reg.c
===================================================================
--- trunk/src/shlwapi/reg.c	(revision 5751)
+++ trunk/src/shlwapi/reg.c	(revision 5753)
@@ -13,4 +13,13 @@
 #include "shlwapi.h"
 #include "wine/unicode.h"
+
+#ifdef __WIN32OS2__
+#undef FIXME
+#ifdef DEBUG
+#define FIXME WriteLog("FIXME %s", __FUNCTION__); WriteLog
+#else
+#define FIXME 1 ? (void)0 : (void)((int (*)(char *, ...)) NULL)
+#endif
+#endif
 
 DEFAULT_DEBUG_CHANNEL(shell);
Index: trunk/src/shlwapi/shlwapi.def
===================================================================
--- trunk/src/shlwapi/shlwapi.def	(revision 5751)
+++ trunk/src/shlwapi/shlwapi.def	(revision 5753)
@@ -1,3 +1,3 @@
-; $Id: shlwapi.def,v 1.23 2001-05-19 11:14:01 sandervl Exp $
+; $Id: shlwapi.def,v 1.24 2001-05-19 13:17:33 sandervl Exp $
 
 ; updated export ordinals to NT4 SP6 version of SHLWAPI.DLL
@@ -160,7 +160,8 @@
                              _WinHelpW@16                         @149 NONAME
                              _wvsprintfW@12                       @150 NONAME
-                             _SHLWAPI_151@0                       @151 NONAME
+                             _SHLWAPI_151@12                      @151 NONAME
                              _SHLWAPI_152@12                      @152 NONAME
                              _SHLWAPI_153@12                      @153 NONAME
+                             _SHLWAPI_154@12                      @154 NONAME
 
                              _SHLWAPI_156@8                       @156 NONAME
Index: trunk/src/shlwapi/string.c
===================================================================
--- trunk/src/shlwapi/string.c	(revision 5751)
+++ trunk/src/shlwapi/string.c	(revision 5753)
@@ -28,4 +28,13 @@
 #include "wine/unicode.h"
 #include "debugtools.h"
+
+#ifdef __WIN32OS2__
+#undef FIXME
+#ifdef DEBUG
+#define FIXME WriteLog("FIXME %s", __FUNCTION__); WriteLog
+#else
+#define FIXME 1 ? (void)0 : (void)((int (*)(char *, ...)) NULL)
+#endif
+#endif
 
 DEFAULT_DEBUG_CHANNEL(shell);
Index: trunk/src/shlwapi/url.c
===================================================================
--- trunk/src/shlwapi/url.c	(revision 5751)
+++ trunk/src/shlwapi/url.c	(revision 5753)
@@ -11,4 +11,13 @@
 #include "shlwapi.h"
 #include "debugtools.h"
+
+#ifdef __WIN32OS2__
+#undef FIXME
+#ifdef DEBUG
+#define FIXME WriteLog("FIXME %s", __FUNCTION__); WriteLog
+#else
+#define FIXME 1 ? (void)0 : (void)((int (*)(char *, ...)) NULL)
+#endif
+#endif
 
 DEFAULT_DEBUG_CHANNEL(shell);
