I happened to see that MHD doesn't allow to use different
malloc/calloc/free functions than the one provided by libc.

This would be useful if the underlying app using MHD uses different
allocating functions like Hoard: http://www.hoard.org/
More specifically, when using MHD_RESPMEM_MUST_FREE in a response
allocated with a different malloc() function, there would be problems.

I can submit a patch for it.
Basically, I'd do it by adding functions like this:

void MHD_set_alloc_funcs(MHD_malloc_t malloc_fn, MHD_calloc_t calloc_fn,
MHD_free_t free_fn);
void MHD_get_alloc_funcs(MHD_malloc_t * malloc_fn, MHD_calloc_t *
calloc_fn, MHD_free_t * free_fn);

I didn't see any use of realloc() in the source code, so I wouldn't
allow to change it.

Then, all internal call to malloc()/calloc()/free() would be replaced by
MHD_malloc()/MHD_calloc()/MHD_free()

How about that? Any feedback?

/Nicolas

Reply via email to