[PATCH] msxml3: Add missing const keyword to cache_copy and cache_free (GCC)

Nikolay Sivov nsivov at codeweavers.com
Thu Jul 12 08:15:57 CDT 2018


On 07/12/2018 03:30 PM, Alex Henrie wrote:

> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
> This resolves several warnings when compiling with GCC 8.1.
> ---
>   dlls/msxml3/schema.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c
> index 8087985204..faf9cd0aa2 100644
> --- a/dlls/msxml3/schema.c
> +++ b/dlls/msxml3/schema.c
> @@ -980,7 +980,7 @@ static cache_entry* cache_entry_from_url(VARIANT url, xmlChar const* nsURI, MSXM
>       return entry;
>   }
>   
> -static void cache_free(void* data, xmlChar* name /* ignored */)
> +static void cache_free(void* data, const xmlChar* name /* ignored */)
>   {
>       cache_entry_release((cache_entry*)data);
>   }
> @@ -1397,7 +1397,7 @@ static HRESULT WINAPI schema_cache_get_namespaceURI(IXMLDOMSchemaCollection2* if
>       return S_OK;
>   }
>   
> -static void cache_copy(void* data, void* dest, xmlChar* name)
> +static void cache_copy(void* data, void* dest, const xmlChar* name)
>   {
>       schema_cache* This = (schema_cache*) dest;
>       cache_entry* entry = (cache_entry*) data;

Unfortunately it's not about gcc, it's a libxml2 change [1], looks like 
first affected version is 2.9.8.
This commit is good in a sense that it removes pointer casts, and uses 
correct prototypes everywhere.
Why did they have to change public prototype signature, for argument 
that wasn't used in a first place,
that I don't understand. I wonder if Daniel would be open to revert this 
back to what it was, otherwise we'll
need a version check around those helpers to suppress the warning.

[1] 
https://gitlab.gnome.org/GNOME/libxml2/commit/e03f0a199a67017b2f8052354cf732b2b4cae787



More information about the wine-devel mailing list