dlls/msi/streams.c -- simplify and constify
James Hawkins
truiken at gmail.com
Sat Nov 3 16:15:46 CDT 2007
On Nov 3, 2007 1:10 PM, Gerald Pfeifer <gerald at pfeifer.com> wrote:
> While removing the dead code I noticed that we can actually also
> strengthen the const-ness of this function.
>
> Gerald
>
> ChangeLog:
> Remove a check which never could trigger (due to the domain of the
> variable in question) and increase const-ness of STREAMS_CreateView().
>
> Index: dlls/msi/streams.c
> ===================================================================
> RCS file: /home/wine/wine/dlls/msi/streams.c,v
> retrieving revision 1.7
> diff -u -3 -p -r1.7 streams.c
> --- dlls/msi/streams.c 18 Oct 2007 13:00:57 -0000 1.7
> +++ dlls/msi/streams.c 3 Nov 2007 18:06:27 -0000
> @@ -430,7 +430,7 @@ static UINT add_streams_to_table(MSISTRE
> return count;
> }
>
> -UINT STREAMS_CreateView(MSIDATABASE *db, MSIVIEW **view)
> +UINT STREAMS_CreateView(const MSIDATABASE *db, MSIVIEW **view)
> {
> MSISTREAMSVIEW *sv;
>
> @@ -444,9 +444,6 @@ UINT STREAMS_CreateView(MSIDATABASE *db,
> sv->db = db;
> sv->num_rows = add_streams_to_table(sv);
>
> - if (sv->num_rows < 0)
> - return ERROR_FUNCTION_FAILED;
> -
> *view = (MSIVIEW *)sv;
>
> return ERROR_SUCCESS;
>
This change is wrong. If you'd actually read what the code intended
to do instead of just fixing warnings, you'd see that
add_streams_to_table returns -1 on error. While the check for < 0 is
not correct, removing the check entirely is wrong. The check should
be if (sv->num_rows == -1) return ERROR_FUNCTION_FAILED.
--
James Hawkins
More information about the wine-devel
mailing list