<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>reactos/lib/shlwapi</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">ordinal.c</a></tt></td><td align="right" id="added">+5</td><td align="right" id="removed">-5</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c.diff?r1=text&amp;tr1=1.7&amp;r2=text&amp;tr2=1.8&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a></td></tr>
<tr class="alt"><td><tt><a href="#file2">path.c</a></tt></td><td align="right" id="added">+2</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c?rev=1.5&amp;content-type=text/x-cvsweb-markup">1.5</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c.diff?r1=text&amp;tr1=1.5&amp;r2=text&amp;tr2=1.6&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a></td></tr>
<tr><td><tt><a href="#file3">reg.c</a></tt></td><td align="right" id="added">+2</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c.diff?r1=text&amp;tr1=1.8&amp;r2=text&amp;tr2=1.9&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c?rev=1.9&amp;content-type=text/x-cvsweb-markup">1.9</a></td></tr>
<tr class="alt"><td><tt><a href="#file4">string.c</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c.diff?r1=text&amp;tr1=1.7&amp;r2=text&amp;tr2=1.8&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a></td></tr>
<tr><td><tt><a href="#file5">thread.c</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c?rev=1.2&amp;content-type=text/x-cvsweb-markup">1.2</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c.diff?r1=text&amp;tr1=1.2&amp;r2=text&amp;tr2=1.3&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c?rev=1.3&amp;content-type=text/x-cvsweb-markup">1.3</a></td></tr>
<tr class="alt"><td><tt><a href="#file6">url.c</a></tt></td><td align="right" id="added">+13</td><td align="right" id="removed">-53</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c.diff?r1=text&amp;tr1=1.6&amp;r2=text&amp;tr2=1.7&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a></td></tr>
<tr><td><tt><a href="#file7">winehq2ros.patch</a></tt></td><td align="right" id="added">+17</td><td align="right" id="removed">-17</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch?rev=1.5&amp;content-type=text/x-cvsweb-markup">1.5</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch.diff?r1=text&amp;tr1=1.5&amp;r2=text&amp;tr2=1.6&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a></td></tr>
<tr><td></td><td align="right" id="added">+41</td><td align="right" id="removed">-81</td><td></td></tr>
</table>
<small id="info">7 modified files</small><br />
<pre class="comment">
Sync to Wine-20040505:
Francois Gouget &lt;<a href="mailto:fgouget@free.fr">fgouget@free.fr</a>&gt;
- Make Unicode strings 'static const'.
- Assorted spelling fixes.
- Make our ascii strings static const.
- Remove a couple string variables that were used only once and use the
  string literal directly.
- Use named constants instead of magic numbers.
- Remove wszRegSeparator from devenum_private.h since it's neither
  exported by createdevenum.c nor used by anyone else.
Kevin Koltzau &lt;<a href="mailto:kevin@plop.org">kevin@plop.org</a>&gt;
- Allow UrlCombine to calculate size of required buffer.
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>ordinal.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c.diff?r1=text&amp;tr1=1.7&amp;r2=text&amp;tr2=1.8&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/ordinal.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.7 -r1.8
--- ordinal.c        16 Apr 2004 08:47:55 -0000        1.7
+++ ordinal.c        8 May 2004 13:49:05 -0000        1.8
@@ -2437,7 +2437,7 @@
</small></pre><pre class="diff" id="context"> #define SHELL_NO_POLICY 0xffffffff
 
 /* default shell policy registry key */
</pre><pre class="diff" id="removed">-static WCHAR strRegistryPolicyW[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o',
</pre><pre class="diff" id="added">+static <span id="addedchars">const&nbsp;</span>WCHAR strRegistryPolicyW[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o',
</pre><pre class="diff" id="context">                                       's','o','f','t','\\','W','i','n','d','o','w','s','\\',
                                       'C','u','r','r','e','n','t','V','e','r','s','i','o','n',
                                       '\\','P','o','l','i','c','i','e','s',0};
</pre><pre class="diff"><small id="info">@@ -2461,7 +2461,7 @@
</small></pre><pre class="diff" id="context">         HKEY hKey;
 
         if (!lpSubKey)
</pre><pre class="diff" id="removed">-          lpSubKey = <span id="removedchars">(LPCWSTR)</span>strRegistryPolicyW;
</pre><pre class="diff" id="added">+          lpSubKey = strRegistryPolicyW;
</pre><pre class="diff" id="context"> 
         retval = RegOpenKeyW(HKEY_LOCAL_MACHINE, lpSubKey, &amp;hKey);
     if (retval != ERROR_SUCCESS)
</pre><pre class="diff"><small id="info">@@ -2641,7 +2641,7 @@
</small></pre><pre class="diff" id="context">   GET_FUNC(pDllGetVersion, shell32, "DllGetVersion", 1);
   dwState = pDllGetVersion ? 2 : 1;
 
</pre><pre class="diff" id="removed">-  /* Set or delete the key accordinly */
</pre><pre class="diff" id="added">+  /* Set or delete the key accordin<span id="addedchars">g</span>ly */
</pre><pre class="diff" id="context">   dwRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE,
                         "Software\\Microsoft\\Internet Explorer", 0,
                          KEY_ALL_ACCESS, &amp;hKey);
</pre><pre class="diff"><small id="info">@@ -3887,7 +3887,7 @@
</small></pre><pre class="diff" id="context">  */
 BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
 {
</pre><pre class="diff" id="removed">-  static WCHAR szSkipBinding[] = { 'S','k','i','p',' ',
</pre><pre class="diff" id="added">+  static <span id="addedchars">const&nbsp;</span>WCHAR szSkipBinding[] = { 'S','k','i','p',' ',
</pre><pre class="diff" id="context">     'B','i','n','d','i','n','g',' ','C','L','S','I','D','\0' };
   BOOL bRet = FALSE;
 
</pre><pre class="diff"><small id="info">@@ -3895,7 +3895,7 @@
</small></pre><pre class="diff" id="context">   {
     IUnknown* lpUnk;
 
</pre><pre class="diff" id="removed">-    if (SUCCEEDED(IBindCtx_GetObjectParam(pbc, szSkipBinding, &amp;lpUnk)))
</pre><pre class="diff" id="added">+    if (SUCCEEDED(IBindCtx_GetObjectParam(pbc, <span id="addedchars">(LPOLESTR)</span>szSkipBinding, &amp;lpUnk)))
</pre><pre class="diff" id="context">     {
       CLSID clsid;
 
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>path.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c?rev=1.5&amp;content-type=text/x-cvsweb-markup">1.5</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c.diff?r1=text&amp;tr1=1.5&amp;r2=text&amp;tr2=1.6&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/path.c?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.5 -r1.6
--- path.c        22 Jan 2004 23:52:53 -0000        1.5
+++ path.c        8 May 2004 13:49:05 -0000        1.6
@@ -1141,8 +1141,8 @@
</small></pre><pre class="diff" id="context">  */
 static BOOL WINAPI SHLWAPI_PathFindInOtherDirs(LPWSTR lpszFile, DWORD dwWhich)
 {
</pre><pre class="diff" id="removed">-  static WCHAR szSystem[] = { 'S','y','s','t','e','m','\0'};
-  static WCHAR szPath[] = { 'P','A','T','H','\0'};
</pre><pre class="diff" id="added">+  static const WCHAR szSystem[] = { 'S','y','s','t','e','m','\0'};
+  static const WCHAR szPath[] = { 'P','A','T','H','\0'};
</pre><pre class="diff" id="context">   DWORD dwLenPATH;
   LPCWSTR lpszCurr;
   WCHAR *lpszPATH;
</pre></div>
<hr /><a name="file3" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>reg.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c.diff?r1=text&amp;tr1=1.8&amp;r2=text&amp;tr2=1.9&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/reg.c?rev=1.9&amp;content-type=text/x-cvsweb-markup">1.9</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.8 -r1.9
--- reg.c        16 Apr 2004 08:47:55 -0000        1.8
+++ reg.c        8 May 2004 13:49:05 -0000        1.9
@@ -1047,7 +1047,7 @@
</small></pre><pre class="diff" id="context"> {
   DWORD dwRet = ERROR_SUCCESS, dwDummy;
   HKEY  hSubKey;
</pre><pre class="diff" id="removed">-  char  szEmpty[] = "";
</pre><pre class="diff" id="added">+  static const char  szEmpty[] = { '\0' };
</pre><pre class="diff" id="context"> 
   TRACE("(hkey=%p,%s,%s,%ld,%p,%ld)\n", hKey, debugstr_a(lpszSubKey),
           debugstr_a(lpszValue), dwType, pvData, cbData);
</pre><pre class="diff"><small id="info">@@ -1076,7 +1076,7 @@
</small></pre><pre class="diff" id="context"> {
   DWORD dwRet = ERROR_SUCCESS, dwDummy;
   HKEY  hSubKey;
</pre><pre class="diff" id="removed">-  WCHAR szEmpty[] = { '\0' };
</pre><pre class="diff" id="added">+  <span id="addedchars">static&nbsp;const&nbsp;</span>WCHAR szEmpty[] = { '\0' };
</pre><pre class="diff" id="context"> 
   TRACE("(hkey=%p,%s,%s,%ld,%p,%ld)\n", hKey, debugstr_w(lpszSubKey),
         debugstr_w(lpszValue), dwType, pvData, cbData);
</pre></div>
<hr /><a name="file4" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>string.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c.diff?r1=text&amp;tr1=1.7&amp;r2=text&amp;tr2=1.8&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/string.c?rev=1.8&amp;content-type=text/x-cvsweb-markup">1.8</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.7 -r1.8
--- string.c        16 Apr 2004 08:47:55 -0000        1.7
+++ string.c        8 May 2004 13:49:05 -0000        1.8
@@ -2530,7 +2530,7 @@
</small></pre><pre class="diff" id="context"> INT WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr,
                              LPINT lpiLen)
 {
</pre><pre class="diff" id="removed">-  WCHAR emptyW[] = { '\0' };
</pre><pre class="diff" id="added">+  <span id="addedchars">static&nbsp;const&nbsp;</span>WCHAR emptyW[] = { '\0' };
</pre><pre class="diff" id="context">   int len , reqLen;
   LPSTR mem;
 
</pre></div>
<hr /><a name="file5" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>thread.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c?rev=1.2&amp;content-type=text/x-cvsweb-markup">1.2</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c.diff?r1=text&amp;tr1=1.2&amp;r2=text&amp;tr2=1.3&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/thread.c?rev=1.3&amp;content-type=text/x-cvsweb-markup">1.3</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.2 -r1.3
--- thread.c        28 Jan 2004 21:57:41 -0000        1.2
+++ thread.c        8 May 2004 13:49:05 -0000        1.3
@@ -310,7 +310,7 @@
</small></pre><pre class="diff" id="context">     if(hThread)
     {
       /* Wait for the thread to signal us to continue */
</pre><pre class="diff" id="removed">-      WaitForSingleObject(ti.hEvent, <span id="removedchars">-1</span>);
</pre><pre class="diff" id="added">+      WaitForSingleObject(ti.hEvent, <span id="addedchars">INFINITE</span>);
</pre><pre class="diff" id="context">       CloseHandle(hThread);
       bCalled = TRUE;
     }
</pre></div>
<hr /><a name="file6" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>url.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c.diff?r1=text&amp;tr1=1.6&amp;r2=text&amp;tr2=1.7&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/url.c?rev=1.7&amp;content-type=text/x-cvsweb-markup">1.7</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.6 -r1.7
--- url.c        16 Apr 2004 08:47:55 -0000        1.6
+++ url.c        8 May 2004 13:49:05 -0000        1.7
@@ -643,7 +643,7 @@
</small></pre><pre class="diff" id="context">           debugstr_a(pszBase),debugstr_a(pszRelative),
           pcchCombined?*pcchCombined:0,dwFlags);
 
</pre><pre class="diff" id="removed">-    if(!pszBase || !pszRelative || !p<span id="removedchars">szCombined&nbsp;||&nbsp;!p</span>cchCombined)
</pre><pre class="diff" id="added">+    if(!pszBase || !pszRelative || !pcchCombined)
</pre><pre class="diff" id="context">         return E_INVALIDARG;
 
     base = (LPWSTR) HeapAlloc(GetProcessHeap(), 0,
</pre><pre class="diff"><small id="info">@@ -653,10 +653,11 @@
</small></pre><pre class="diff" id="context"> 
     MultiByteToWideChar(0, 0, pszBase, -1, base, INTERNET_MAX_URL_LENGTH);
     MultiByteToWideChar(0, 0, pszRelative, -1, relative, INTERNET_MAX_URL_LENGTH);
</pre><pre class="diff" id="removed">-    len = INTERNET_MAX_URL_LENGTH;
</pre><pre class="diff" id="added">+    len = *pcchCombined;
</pre><pre class="diff" id="context"> 
</pre><pre class="diff" id="removed">-    ret = UrlCombineW(base, relative, <span id="removedchars">combined</span>, &amp;len, dwFlags);
</pre><pre class="diff" id="added">+    ret = UrlCombineW(base, relative, <span id="addedchars">pszCombined?combined:NULL</span>, &amp;len, dwFlags);
</pre><pre class="diff" id="context">     if (ret != S_OK) {
</pre><pre class="diff" id="added">+        *pcchCombined = len;
</pre><pre class="diff" id="context">         HeapFree(GetProcessHeap(), 0, base);
         return ret;
     }
</pre><pre class="diff"><small id="info">@@ -667,7 +668,7 @@
</small></pre><pre class="diff" id="context">         HeapFree(GetProcessHeap(), 0, base);
         return E_POINTER;
     }
</pre><pre class="diff" id="removed">-    WideCharToMultiByte(0, 0, combined, len+1, pszCombined, <span id="removedchars">*pcchCombined</span>,
</pre><pre class="diff" id="added">+    WideCharToMultiByte(0, 0, combined, len+1, pszCombined, <span id="addedchars">(*pcchCombined)+1</span>,
</pre><pre class="diff" id="context">                         0, 0);
     *pcchCombined = len2;
     HeapFree(GetProcessHeap(), 0, base);
</pre><pre class="diff"><small id="info">@@ -687,15 +688,15 @@
</small></pre><pre class="diff" id="context">     DWORD myflags, sizeloc = 0;
     DWORD len, res1, res2, process_case = 0;
     LPWSTR work, preliminary, mbase, mrelative;
</pre><pre class="diff" id="removed">-    WCHAR myfilestr[] = {'f','i','l','e',':','/','/','/','\0'};
-    WCHAR single_slash[] = {'/','\0'};
</pre><pre class="diff" id="added">+    static const WCHAR myfilestr[] = {'f','i','l','e',':','/','/','/','\0'};
+    static const WCHAR single_slash[] = {'/','\0'};
</pre><pre class="diff" id="context">     HRESULT ret;
 
     TRACE("(base %s, Relative %s, Combine size %ld, flags %08lx)\n",
           debugstr_w(pszBase),debugstr_w(pszRelative),
           pcchCombined?*pcchCombined:0,dwFlags);
 
</pre><pre class="diff" id="removed">-    if(!pszBase || !pszRelative || !p<span id="removedchars">szCombined&nbsp;||&nbsp;!p</span>cchCombined)
</pre><pre class="diff" id="added">+    if(!pszBase || !pszRelative || !pcchCombined)
</pre><pre class="diff" id="context">         return E_INVALIDARG;
 
     base.size = 24;
</pre><pre class="diff"><small id="info">@@ -829,12 +830,6 @@
</small></pre><pre class="diff" id="context">               * Return pszRelative appended to what ever is in pszCombined,
               * (which may the string "file:///"
               */
</pre><pre class="diff" id="removed">-        len = strlenW(mrelative) + strlenW(preliminary);
-        if (len+1 &gt; *pcchCombined) {
-            *pcchCombined = len;
-            ret = E_POINTER;
-            break;
-        }
</pre><pre class="diff" id="context">         strcatW(preliminary, mrelative);
         break;
 
</pre><pre class="diff"><small id="info">@@ -842,12 +837,6 @@
</small></pre><pre class="diff" id="context">               * Same as case 1, but if URL_PLUGGABLE_PROTOCOL was specified
               * and pszRelative starts with "//", then append a "/"
               */
</pre><pre class="diff" id="removed">-        len = strlenW(mrelative) + 1;
-        if (len+1 &gt; *pcchCombined) {
-            *pcchCombined = len;
-            ret = E_POINTER;
-            break;
-        }
</pre><pre class="diff" id="context">         strcpyW(preliminary, mrelative);
         if (!(dwFlags &amp; URL_PLUGGABLE_PROTOCOL) &amp;&amp;
             URL_JustLocation(relative.ap2))
</pre><pre class="diff"><small id="info">@@ -855,15 +844,9 @@
</small></pre><pre class="diff" id="context">         break;
 
     case 3:  /*
</pre><pre class="diff" id="removed">-              * Return the pszBase scheme with pszRelative. Basicly
</pre><pre class="diff" id="added">+              * Return the pszBase scheme with pszRelative. Basic<span id="addedchars">al</span>ly
</pre><pre class="diff" id="context">               * keeps the scheme and replaces the domain and following.
               */
</pre><pre class="diff" id="removed">-        len = base.sizep1 + 1 + relative.sizep2 + 1;
-        if (len+1 &gt; *pcchCombined) {
-            *pcchCombined = len;
-            ret = E_POINTER;
-            break;
-        }
</pre><pre class="diff" id="context">         strncpyW(preliminary, base.ap1, base.sizep1 + 1);
         work = preliminary + base.sizep1 + 1;
         strcpyW(work, relative.ap2);
</pre><pre class="diff"><small id="info">@@ -877,12 +860,6 @@
</small></pre><pre class="diff" id="context">               * after the location is pszRelative. (Replace document
               * from root on.)
               */
</pre><pre class="diff" id="removed">-        len = base.sizep1 + 1 + sizeloc + relative.sizep2 + 1;
-        if (len+1 &gt; *pcchCombined) {
-            *pcchCombined = len;
-            ret = E_POINTER;
-            break;
-        }
</pre><pre class="diff" id="context">         strncpyW(preliminary, base.ap1, base.sizep1+1+sizeloc);
         work = preliminary + base.sizep1 + 1 + sizeloc;
         if (dwFlags &amp; URL_PLUGGABLE_PROTOCOL)
</pre><pre class="diff"><small id="info">@@ -894,12 +871,6 @@
</small></pre><pre class="diff" id="context">               * Return the pszBase without its document (if any) and
               * append pszRelative after its scheme.
               */
</pre><pre class="diff" id="removed">-        len = base.sizep1 + 1 + base.sizep2 + relative.sizep2;
-        if (len+1 &gt; *pcchCombined) {
-            *pcchCombined = len;
-            ret = E_POINTER;
-            break;
-        }
</pre><pre class="diff" id="context">         strncpyW(preliminary, base.ap1, base.sizep1+1+base.sizep2);
         work = preliminary + base.sizep1+1+base.sizep2 - 1;
         if (*work++ != L'/')
</pre><pre class="diff"><small id="info">@@ -913,21 +884,10 @@
</small></pre><pre class="diff" id="context">     }
 
     if (ret == S_OK) {
</pre><pre class="diff" id="removed">-        /*
-         * Now that the combining is done, process the escape options if
-         * necessary, otherwise just copy the string.
-         */
-        myflags = dwFlags &amp; (URL_ESCAPE_PERCENT |
-                             URL_ESCAPE_SPACES_ONLY |
-                             URL_DONT_ESCAPE_EXTRA_INFO |
-                             URL_ESCAPE_SEGMENT_ONLY);
-        if (myflags)
-            ret = UrlEscapeW(preliminary, pszCombined,
-                             pcchCombined, myflags);
-        else {
-            len = (strlenW(preliminary) + 1) * sizeof(WCHAR);
-            memcpy(pszCombined, preliminary, len);
-            *pcchCombined = strlenW(preliminary);
</pre><pre class="diff" id="added">+        /* Reuse mrelative as temp storage as its already allocated and not needed anymore */
+        ret = UrlCanonicalizeW(preliminary, mrelative, pcchCombined, dwFlags);
+        if(SUCCEEDED(ret) &amp;&amp; pszCombined) {
+            lstrcpyW(pszCombined, mrelative);
</pre><pre class="diff" id="context">         }
         TRACE("return-%ld len=%ld, %s\n",
               process_case, *pcchCombined, debugstr_w(pszCombined));
</pre></div>
<hr /><a name="file7" /><div class="file">
<span class="pathname"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos">reactos</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib">lib</a>/<a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi">shlwapi</a><br /></span>
<div class="fileheader"><big><b>winehq2ros.patch</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch?rev=1.5&amp;content-type=text/x-cvsweb-markup">1.5</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch.diff?r1=text&amp;tr1=1.5&amp;r2=text&amp;tr2=1.6&amp;f=h">-&gt;</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/shlwapi/winehq2ros.patch?rev=1.6&amp;content-type=text/x-cvsweb-markup">1.6</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.5 -r1.6
--- winehq2ros.patch        11 Mar 2004 22:30:40 -0000        1.5
+++ winehq2ros.patch        8 May 2004 13:49:05 -0000        1.6
@@ -1,10 +1,10 @@
</small></pre><pre class="diff" id="context"> Index: path.c
 ===================================================================
 RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
</pre><pre class="diff" id="removed">-retrieving revision 1.41
-diff -u -r1.41 path.c
---- path.c        23 Jan 2004 22:45:25 -0000        1.41
-+++ path.c        11 Mar 2004 22:38:00 -0000
</pre><pre class="diff" id="added">+retrieving revision 1.42
+diff -u -r1.42 path.c
+--- path.c        20 Apr 2004 00:34:52 -0000        1.42
++++ path.c        8 May 2004 13:58:39 -0000
</pre><pre class="diff" id="context"> @@ -32,6 +32,7 @@
  #include "wingdi.h"
  #include "winuser.h"
</pre><pre class="diff"><small id="info">@@ -16,10 +16,10 @@
</small></pre><pre class="diff" id="context"> Index: shlwapi.spec
 ===================================================================
 RCS file: /home/wine/wine/dlls/shlwapi/shlwapi.spec,v
</pre><pre class="diff" id="removed">-retrieving revision 1.88
-diff -u -r1.88 shlwapi.spec
---- shlwapi.spec        28 Feb 2004 01:46:56 -0000        1.88
-+++ shlwapi.spec        11 Mar 2004 22:38:00 -0000
</pre><pre class="diff" id="added">+retrieving revision 1.90
+diff -u -r1.90 shlwapi.spec
+--- shlwapi.spec        27 Mar 2004 01:38:26 -0000        1.90
++++ shlwapi.spec        8 May 2004 13:58:39 -0000
</pre><pre class="diff" id="context"> @@ -368,9 +368,9 @@
  368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW
  369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
</pre><pre class="diff"><small id="info">@@ -45,10 +45,10 @@
</small></pre><pre class="diff" id="context"> Index: string.c
 ===================================================================
 RCS file: /home/wine/wine/dlls/shlwapi/string.c,v
</pre><pre class="diff" id="removed">-retrieving revision 1.44
-diff -u -r1.44 string.c
---- string.c        20 Feb 2004 05:16:37 -0000        1.44
-+++ string.c        11 Mar 2004 22:38:01 -0000
</pre><pre class="diff" id="added">+retrieving revision 1.46
+diff -u -r1.46 string.c
+--- string.c        20 Apr 2004 01:12:17 -0000        1.46
++++ string.c        8 May 2004 13:58:40 -0000
</pre><pre class="diff" id="context"> @@ -528,7 +528,7 @@
  {
    TRACE("(%s,%s)\n", debugstr_w(lpszStr), debugstr_w(lpszSearch));
</pre><pre class="diff"><small id="info">@@ -70,11 +70,11 @@
</small></pre><pre class="diff" id="context"> Index: url.c
 ===================================================================
 RCS file: /home/wine/wine/dlls/shlwapi/url.c,v
</pre><pre class="diff" id="removed">-retrieving revision 1.29
-diff -u -r1.29 url.c
---- url.c        3 Mar 2004 20:11:46 -0000        1.29
-+++ url.c        11 Mar 2004 22:38:02 -0000
-@@ -1423,8 +1423,8 @@
</pre><pre class="diff" id="added">+retrieving revision 1.33
+diff -u -r1.33 url.c
+--- url.c        27 Apr 2004 23:29:02 -0000        1.33
++++ url.c        8 May 2004 13:58:41 -0000
+@@ -1386,8 +1386,8 @@
</pre><pre class="diff" id="context">   *  Success: TRUE. lpDest is filled with the computed hash value.
   *  Failure: FALSE, if any argument is invalid.
   */
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.8</small></center>
</body></html>