/*
internal talloc_free call
*/
-static inline int _talloc_free(void *ptr)
+static inline int _talloc_free(const void *ptr)
{
struct talloc_chunk *tc;
void *oldparent = NULL;
return -1;
}
tc->destructor = (talloc_destructor_t)-1;
- if (d(ptr) == -1) {
+ if (d(discard_const_p(void, ptr)) == -1) {
tc->destructor = d;
return -1;
}
will not be freed if the ref_count is > 1 or the destructor (if
any) returns non-zero
*/
-int talloc_free(void *ptr)
+int talloc_free(const void *ptr)
{
int saved_errno = errno, ret;
lock(ptr);
- ret = _talloc_free(ptr);
+ ret = _talloc_free(discard_const_p(void, ptr));
unlock();
if (ret == 0)
errno = saved_errno;