[PATCH] Upstream: fix warning when building with BoringSSL
Maxim Dounin
mdounin at mdounin.ru
Wed Oct 19 16:31:48 UTC 2016
Hello!
On Wed, Oct 19, 2016 at 12:51:30AM -0700, Piotr Sikora wrote:
> Hey Maxim,
>
> > I have no strong objections, but the patch as you've submitted
> > casts to "const char *", while just "char *" should be enough.
>
> While cast to "char *" also works, I must admit that I'm confused as
> to why do you prefer to cast to a type that "should be enough" instead
> of a type that's expected by the function.
The "const char *" function argument essentially says: the
argument is of type "char *", and this function will not modify
it. So casting to "char *" just casts to an appropriate type, while
casting to "const char *" additionally adds a guard that the
function used still promises not to modify arguments. Certainly
there is no need for such a guard here.
Or, from more practical point of view, "char *" works with "const
char *" argument, but the opposite is not true. And any change of
the function arguments, perhaps unintentional, e.g., if the macro
promoted to a function in another library, but without "const"
added, will break things.
> Anyway, either one is an improvement over current situation, so please commit.
Committed, thank you for prodding this.
--
Maxim Dounin
http://nginx.org/
More information about the nginx-devel
mailing list