void dispatch_rpc() returns a value

Bill Medland billmedland at mercuryspeed.com
Sat May 27 18:31:45 CDT 2006


On May 27, 2006 03:51 pm, Robert Shearman wrote:
> Bang Jun-Young wrote:
> > Hi,
> >
> > I wonder how this has been possible so far:
snip
> >    if (!params) return RpcRaiseException(E_OUTOFMEMORY);
snip
> > debugstr_guid(&ipid)); return RpcRaiseException(hr);
snip
> >
> > dispatch_rpc() shouldn't return anything since it's a void
> > function, but it actually does.
>
> Thank you for reviewing the code.
>
> RpcRaiseException is also a void function.
>
> Rather than write:
> RpcRaiseException(hr);
> return;
>
> I chose to write:
> return RpcRaiseException(hr);
>
> I didn't think the latter would be confusing as I assumed
> everyone would know that C compilers would warn if you tried
> to return a vale from a void function. Also, even if it did
> return something when it shouldn't, it wouldn't affect the
> calling function on x86 since the eax register would have been
> assumed to be trashed anyway.

I find it confusing and the C standard (1999) explicitly states 
that it is not permitted.

-- 
Bill Medland
mailto:billmedland at mercuryspeed.com
http://webhome.idirect.com/~kbmed



More information about the wine-devel mailing list