On Tue, 2016-08-16 at 22:31 +0200, Martin Kletzander wrote:
> > > This change means we no longer have to cast arrays of
> > > immutable strings to arrays of mutable strings; we still
> > > have to do the opposite, though, but that's reasonable.
> >
> > Is it? I mean, we are restricting ourselves and compiler fails to see
> > that. To me 'const char **' is more restrictive than 'char **'
therefore
> > there should be no typecast required. But this is the discussion I
> > should have with gcc devels. For some reason, gcc does automatic
> > typecasting to const just for the fist level pointers and not the second
> > one. That's why compilers errors out.
>
> The reason for this behavior is explained in the C FAQ:
>
> http://c-faq.com/ansi/constmismatch.html
Just FYI, so that you know why adding more consts (even to sensible
places) doesn't help in C, I found the answer to my question on stack
overflow [1] very satisfactory and explanatory.
So the solution is simple: rewrite all of libvirt in C++! ;)
--
Andrea Bolognani / Red Hat / Virtualization