in their prototypes. Presumably it is supposed to mean that that the
pointed-to memory will _not_ be modified through that pointer.
Unfortunately, the above declaration doesn't do that. It just means
that the variable `mem' will not be assigned to in the function body.
In fact, `const' is ignored in the prototype of the function.
This patch fixes that by
1. Introducing a new `const pointer' type
typedef const void *g_const_pointer;
2. Replacing occurances of `const gpointer' with `g_const_pointer'.
I just used a simple grep for `const gpointer', and may have
missed usage with more whitespace &c.
3. Fixed a few unsafe conversions, using a couple of compile
passes. Note that this analysis is _very_ incomplete,
but should satisfy `gcc' for now.
Other compilers could identify more of these, which can be handled on
demand. In the meantime, someone should do a `const-correctness' audit
(I'll do it once I have more time, and if nobody else does it before).