<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/rpcrt4</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">cproxy.c</a></tt></td><td align="right" id="added">+7</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></td></tr>
<tr class="alt"><td><tt><a href="#file2">cpsf.c</a></tt></td><td align="right" id="added">+21</td><td align="right" id="removed">-15</td><td nowrap="nowrap" align="center"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></td></tr>
<tr><td><tt><a href="#file3">rpc_binding.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/rpcrt4/rpc_binding.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/rpc_binding.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/rpc_binding.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></td></tr>
<tr><td></td><td align="right" id="added">+30</td><td align="right" id="removed">-18</td><td></td></tr>
</table>
<small id="info">3 modified files</small><br />
<pre class="comment">
Sync to Wine-20040615:
Robert Shearman <<a href="mailto:R.J.Shearman@warwick.ac.uk">R.J.Shearman@warwick.ac.uk</a>>
- Fix ref count on standard proxy creation.
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
longer use it and the proxy should have taken a reference on it.
- Add a few comments.
Eric Pouech <<a href="mailto:pouech-eric@wanadoo.fr">pouech-eric@wanadoo.fr</a>>
- GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
Patrik Stridvall <<a href="mailto:ps@leissner.se">ps@leissner.se</a>>
- Fixed some issues found by winapi_check.
</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/rpcrt4">rpcrt4</a><br /></span>
<div class="fileheader"><big><b>cproxy.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cproxy.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.1 -r1.2
--- cproxy.c        4 May 2004 20:06:26 -0000        1.1
+++ cproxy.c        16 Jun 2004 18:21:24 -0000        1.2
@@ -172,7 +172,8 @@
</small></pre><pre class="diff" id="context"> This->PVtbl = vtbl->Vtbl;
This->lpVtbl = &StdProxy_Vtbl;
</pre><pre class="diff" id="removed">- This->RefCount = 1;
</pre><pre class="diff" id="added">+ /* 1 reference for the proxy and 1 for the object */
+ This->RefCount = 2;
</pre><pre class="diff" id="context"> This->stubless = stubless;
This->piid = vtbl->header.piid;
This->pUnkOuter = pUnkOuter;
</pre><pre class="diff"><small id="info">@@ -190,6 +191,9 @@
</small></pre><pre class="diff" id="context"> {
ICOM_THIS_MULTI(StdProxyImpl,lpVtbl,iface);
</pre><pre class="diff" id="added">+ if (This->pChannel)
+ IRpcProxyBuffer_Disconnect(iface);
+
</pre><pre class="diff" id="context"> IPSFactoryBuffer_Release(This->pPSFactory);
if (This->thunks) {
HeapFree(GetProcessHeap(),0,This->PVtbl);
</pre><pre class="diff"><small id="info">@@ -248,6 +252,7 @@
</small></pre><pre class="diff" id="context"> TRACE("(%p)->Connect(%p)\n",This,pChannel);
This->pChannel = pChannel;
</pre><pre class="diff" id="added">+ IRpcChannelBuffer_AddRef(pChannel);
</pre><pre class="diff" id="context"> return S_OK;
}
</pre><pre class="diff"><small id="info">@@ -256,6 +261,7 @@
</small></pre><pre class="diff" id="context"> ICOM_THIS_MULTI(StdProxyImpl,lpVtbl,iface);
TRACE("(%p)->Disconnect()\n",This);
</pre><pre class="diff" id="added">+ IRpcChannelBuffer_Release(This->pChannel);
</pre><pre class="diff" id="context"> This->pChannel = NULL;
}
</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/rpcrt4">rpcrt4</a><br /></span>
<div class="fileheader"><big><b>cpsf.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/cpsf.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.1 -r1.2
--- cpsf.c        4 May 2004 20:06:26 -0000        1.1
+++ cpsf.c        16 Jun 2004 18:21:24 -0000        1.2
@@ -159,8 +159,9 @@
</small></pre><pre class="diff" id="context"> const CLSID *pclsid)
{
LPSTR clsid;
</pre><pre class="diff" id="removed">- char keyname[120], module[<span id="removedchars">120</span>];
</pre><pre class="diff" id="added">+ char keyname[120], module[<span id="addedchars">MAX_PATH</span>];
</pre><pre class="diff" id="context"> HKEY key, subkey;
</pre><pre class="diff" id="added">+ DWORD len;
</pre><pre class="diff" id="context">
TRACE("(%p,%p,%s)\n", hDll, pProxyFileList, debugstr_guid(pclsid));
UuidToStringA((UUID*)pclsid, (unsigned char**)&clsid);
</pre><pre class="diff"><small id="info">@@ -196,16 +197,18 @@
</small></pre><pre class="diff" id="context">
/* register clsid to point to module */
snprintf(keyname, sizeof(keyname), "CLSID\\{%s}", clsid);
</pre><pre class="diff" id="removed">- GetModuleFileNameA(hDll, module, sizeof(module));
- TRACE("registering CLSID %s => %s\n", clsid, module);
- if (RegCreateKeyExA(HKEY_CLASSES_ROOT, keyname, 0, NULL, 0,
- KEY_WRITE, NULL, &key, NULL) == ERROR_SUCCESS) {
- if (RegCreateKeyExA(key, "InProcServer32", 0, NULL, 0,
- KEY_WRITE, NULL, &subkey, NULL) == ERROR_SUCCESS) {
- RegSetValueExA(subkey, NULL, 0, REG_SZ, module, strlen(module));
- RegCloseKey(subkey);
- }
- RegCloseKey(key);
</pre><pre class="diff" id="added">+ len = GetModuleFileNameA(hDll, module, sizeof(module));
+ if (len && len < sizeof(module)) {
+ TRACE("registering CLSID %s => %s\n", clsid, module);
+ if (RegCreateKeyExA(HKEY_CLASSES_ROOT, keyname, 0, NULL, 0,
+ KEY_WRITE, NULL, &key, NULL) == ERROR_SUCCESS) {
+ if (RegCreateKeyExA(key, "InProcServer32", 0, NULL, 0,
+ KEY_WRITE, NULL, &subkey, NULL) == ERROR_SUCCESS) {
+ RegSetValueExA(subkey, NULL, 0, REG_SZ, module, strlen(module));
+ RegCloseKey(subkey);
+ }
+ RegCloseKey(key);
+ }
</pre><pre class="diff" id="context"> }
/* done */
</pre><pre class="diff"><small id="info">@@ -221,7 +224,8 @@
</small></pre><pre class="diff" id="context"> const CLSID *pclsid)
{
LPSTR clsid;
</pre><pre class="diff" id="removed">- char keyname[120], module[<span id="removedchars">120</span>];
</pre><pre class="diff" id="added">+ char keyname[120], module[<span id="addedchars">MAX_PATH</span>];
+ DWORD len;
</pre><pre class="diff" id="context">
TRACE("(%p,%p,%s)\n", hDll, pProxyFileList, debugstr_guid(pclsid));
UuidToStringA((UUID*)pclsid, (unsigned char**)&clsid);
</pre><pre class="diff"><small id="info">@@ -246,9 +250,11 @@
</small></pre><pre class="diff" id="context">
/* unregister clsid */
snprintf(keyname, sizeof(keyname), "CLSID\\{%s}", clsid);
</pre><pre class="diff" id="removed">- GetModuleFileNameA(hDll, module, sizeof(module));
- TRACE("unregistering CLSID %s <= %s\n", clsid, module);
- RegDeleteKeyA(HKEY_CLASSES_ROOT, keyname);
</pre><pre class="diff" id="added">+ len = GetModuleFileNameA(hDll, module, sizeof(module));
+ if (len && len < sizeof(module)) {
+ TRACE("unregistering CLSID %s <= %s\n", clsid, module);
+ RegDeleteKeyA(HKEY_CLASSES_ROOT, keyname);
+ }
</pre><pre class="diff" id="context">
/* done */
RpcStringFreeA((unsigned char**)&clsid);
</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/rpcrt4">rpcrt4</a><br /></span>
<div class="fileheader"><big><b>rpc_binding.c</b></big> <small id="info"><a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/rpc_binding.c?rev=1.1&content-type=text/x-cvsweb-markup">1.1</a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/rpc_binding.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&f=h">-></a> <a href="http://cvs.reactos.com/cgi-bin/cvsweb/reactos/lib/rpcrt4/rpc_binding.c?rev=1.2&content-type=text/x-cvsweb-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.1 -r1.2
--- rpc_binding.c        4 May 2004 20:06:26 -0000        1.1
+++ rpc_binding.c        16 Jun 2004 18:21:24 -0000        1.2
@@ -1121,7 +1121,7 @@
</small></pre><pre class="diff" id="context"> /***********************************************************************
* RpcNetworkIsProtseqValidA (RPCRT4.@)
*/
</pre><pre class="diff" id="removed">-RPC_STATUS <span id="removedchars">RPC_ENTRY</span> RpcNetworkIsProtseqValidA(unsigned char *protseq) {
</pre><pre class="diff" id="added">+RPC_STATUS <span id="addedchars">WINAPI</span> RpcNetworkIsProtseqValidA(unsigned char *protseq) {
</pre><pre class="diff" id="context"> UNICODE_STRING protseqW;
if (!protseq) return RPC_S_INVALID_RPC_PROTSEQ; /* ? */
</pre><pre class="diff"><small id="info">@@ -1143,7 +1143,7 @@
</small></pre><pre class="diff" id="context"> * ncalrpc local-only rpc over LPC (LPC is not really used)
* ncacn_np rpc over named pipes
*/
</pre><pre class="diff" id="removed">-RPC_STATUS <span id="removedchars">RPC_ENTRY</span> RpcNetworkIsProtseqValidW(LPWSTR protseq) {
</pre><pre class="diff" id="added">+RPC_STATUS <span id="addedchars">WINAPI</span> RpcNetworkIsProtseqValidW(LPWSTR protseq) {
</pre><pre class="diff" id="context"> static const WCHAR protseqsW[][15] = {
{'n','c','a','l','r','p','c',0},
{'n','c','a','c','n','_','n','p',0}
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.8</small></center>
</body></html>