Mike Schaadt a écrit :
> string.c:
> strtolW and strtoulW - constify the endptr value. This is just an
> output value to indicate where in the array we stoped processing.
> Change causes this to be the same type as the first value. Reduces
> number of cast-qual warnings by 6.
>
> lnk.c:
> dump_pidl
> [line 176] - switched to const. Value is never modified in
> the function. Removes a cast-qual warning.
>
> symbol.c:
> symbol_clean_string - this function is modifying the string. This
> should most definitly *not* be a const parameter. It's not even
> logically const as the the intent of the function is to make the type
> string Wine-friendly. That requires modifications to that string.
>
> ------------------------------------------------------------------------
>
> diff --git a/include/wine/unicode.h b/include/wine/unicode.h
> index 83a7d52..4e2caa5 100644
> --- a/include/wine/unicode.h
> +++ b/include/wine/unicode.h
> @@ -96,8 +96,8 @@ extern int strcmpiW( const WCHAR *str1,
> extern int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n );
> extern int memicmpW( const WCHAR *str1, const WCHAR *str2, int n );
> extern WCHAR *strstrW( const WCHAR *str, const WCHAR *sub );
> -extern long int strtolW( const WCHAR *nptr, WCHAR **endptr, int base );
> -extern unsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base );
> +extern long int strtolW( const WCHAR *nptr, const WCHAR **endptr, int base );
> +extern unsigned long int strtoulW( const WCHAR *nptr, const WCHAR **endptr, int base );
>
this is wrong as you want to be able to write code as:
WCHAR* str;
WCHAR* p;
int val = strtolW(str, &p, 10);
*p = '\0';
which your modification forbids (ANSI strtol doesn't have the const
modifier for endptr)
the rest of the patch looks ok
--
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)