The warnings are trying to prevent you from freeing a string constant and
having corrupt memory or double frees or worse. Casts are a *very* bad way
to work around the issue, and I'd highly recommend that if you want to
potentially free something, you use `char *`, not `const char *`.


On Mon, Nov 18, 2013 at 10:42 AM, Keith Packard <[email protected]> wrote:

> Thierry Reding <[email protected]> writes:
>
> > Of course to make proper use of that, quite a bit of code will need to
> > be changed first.
>
> Having miles of compiler warning spam is not helpful though, so we need
> to tailor the warning set to those which are actually useful for a
> particular project. In this case, X uses the same data structures to
> hold both string constants and allocated memory. I can think of lots of
> fixes for this, but simply sticking a cast in the free parameter seems
> the least invasive to me, while preserving most of the checks. Having to
> hack around the -Wcast-qual check with an intermediate cast to
> (uintptr_t) seems silly.
>
> --
> [email protected]
>
> _______________________________________________
> [email protected]: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>



-- 
  Jasper
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to