[PATCH 1/5] gameux: Add implementation of IGameStatistics::SetCategoryTitle

Nikolay Sivov nsivov at codeweavers.com
Sun Sep 26 08:07:44 CDT 2010


  On 9/26/2010 16:59, Mariusz Pluciński wrote:
> ---
>  dlls/gameux/gamestatistics.c       |   50 
> ++++++++++++++++++++++++++++++++++-
>  dlls/gameux/tests/gamestatistics.c |   14 +++++-----
>  2 files changed, 55 insertions(+), 9 deletions(-)
> @@ -177,8 +201,30 @@ static HRESULT WINAPI GameStatisticsImpl_SetCategoryTitle(
>       WORD categoryIndex,
>       LPCWSTR title)
>   {
> -    FIXME("stub\n");
> -    return E_NOTIMPL;
> +    HRESULT hr = S_OK;
> +    DWORD dwLength;
> +    GameStatisticsImpl *This = impl_from_IGameStatistics(iface);
> +
> +    TRACE("(%p, %d, %s)\n", This, categoryIndex, debugstr_w(title));
> +
> +    if(!title || categoryIndex>= MAX_CATEGORIES)
> +        hr = E_INVALIDARG;
Just return here and be done with it, this will save you hr 
initialization and unnecessary if (SUCCEEDED(hr)) after that.
> +
> +    if(SUCCEEDED(hr))
> +    {
> +        dwLength = lstrlenW(title);
> +
> +        if(dwLength>  MAX_CATEGORY_LENGTH)
> +        {
> +            hr = S_FALSE;
> +            dwLength = MAX_CATEGORY_LENGTH;
> +        }
Does it really copy with hr == S_FALSE ?
> +
> +        lstrcpynW(This->stats.categories[categoryIndex].sName,
> +                  title, dwLength+1);
> +    }
> +

> +    return hr;
>   }
>





More information about the wine-devel mailing list