Alexandre Julliard <julliard@winehq.org>
- Added rules for building import libraries in the individual dll
  makefiles, and added support for building a .def.a static import
  library too.
Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
- Test cases for URL_UNESCAPE and small fix.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
Modified: trunk/reactos/lib/shlwapi/Makefile.in
Modified: trunk/reactos/lib/shlwapi/reg.c
Modified: trunk/reactos/lib/shlwapi/url.c

Modified: trunk/reactos/lib/shlwapi/Makefile.in
--- trunk/reactos/lib/shlwapi/Makefile.in	2005-05-28 21:38:59 UTC (rev 15622)
+++ trunk/reactos/lib/shlwapi/Makefile.in	2005-05-28 21:39:03 UTC (rev 15623)
@@ -4,6 +4,7 @@
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = shlwapi.dll
+IMPORTLIB = libshlwapi.$(IMPLIBEXT)
 IMPORTS   = ole32 user32 gdi32 advapi32 kernel32 ntdll
 DELAYIMPORTS = oleaut32
 EXTRALIBS = -luuid $(LIBUNICODE)

Modified: trunk/reactos/lib/shlwapi/reg.c
--- trunk/reactos/lib/shlwapi/reg.c	2005-05-28 21:38:59 UTC (rev 15622)
+++ trunk/reactos/lib/shlwapi/reg.c	2005-05-28 21:39:03 UTC (rev 15623)
@@ -1300,10 +1300,10 @@
  *
  *   REG_EXPAND_SZ:
  *     case-1: the unexpanded string is smaller than the expanded one
- *       subcase-1: the buffer is to small to hold the unexpanded string:
+ *       subcase-1: the buffer is too small to hold the unexpanded string:
  *          function fails and returns the size of the unexpanded string.
  *
- *       subcase-2: buffer is to small to hold the expanded string:
+ *       subcase-2: buffer is too small to hold the expanded string:
  *          the function return success (!!) and the result is truncated
  *	    *** This is clearly an error in the native implementation. ***
  *
@@ -1332,7 +1332,7 @@
     /* Expand type REG_EXPAND_SZ into REG_SZ */
     LPSTR szData;
 
-    /* If the caller didn't supply a buffer or the buffer is to small we have
+    /* If the caller didn't supply a buffer or the buffer is too small we have
      * to allocate our own
      */
     if ((!pvData) || (dwRet == ERROR_MORE_DATA) )

Modified: trunk/reactos/lib/shlwapi/url.c
--- trunk/reactos/lib/shlwapi/url.c	2005-05-28 21:38:59 UTC (rev 15622)
+++ trunk/reactos/lib/shlwapi/url.c	2005-05-28 21:39:03 UTC (rev 15623)
@@ -459,7 +459,7 @@
         lpszUrlCpy[--nLen]=0;
 
     if(dwFlags & URL_UNESCAPE)
-        UrlUnescapeW(lpszUrlCpy, NULL, NULL, URL_UNESCAPE_INPLACE);
+        UrlUnescapeW(lpszUrlCpy, NULL, &nLen, URL_UNESCAPE_INPLACE);
 
     if((EscapeFlags = dwFlags & (URL_ESCAPE_UNSAFE |
                                  URL_ESCAPE_SPACES_ONLY |
@@ -1160,7 +1160,7 @@
     TRACE("(%s, %p, %p, 0x%08lx)\n", debugstr_w(pszUrl), pszUnescaped,
 	  pcchUnescaped, dwFlags);
 
-    if(!pszUrl || !pszUnescaped || !pcchUnescaped)
+    if(!pszUrl || (!pszUnescaped && !(dwFlags & URL_UNESCAPE_INPLACE))|| !pcchUnescaped)
 	return E_INVALIDARG;
 
     if(dwFlags & URL_UNESCAPE_INPLACE)