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
