[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 14/25] tools/xenstore: change talloc_free() to take a const pointer
On 27.07.23 23:21, Julien Grall wrote: Hi Juergen, On 24/07/2023 12:02, Juergen Gross wrote:With talloc_free() and related functions not taking a ponter to consttypo: s/ponter/pointer/it is tedious to use the const attribute for talloc()-ed memory in many cases. Change the related prototypes to use "const void *" instead of "void *". Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- V3: - new patch --- tools/xenstore/talloc.c | 8 ++++---- tools/xenstore/talloc.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/xenstore/talloc.c b/tools/xenstore/talloc.c index 23c3a23b19..4f08dbec59 100644 --- a/tools/xenstore/talloc.c +++ b/tools/xenstore/talloc.c@@ -319,7 +319,7 @@ static int talloc_unreference(const void *context, const void *ptr)remove a specific parent context from a pointer. This is a more controlled varient of talloc_free() */ -int talloc_unlink(const void *context, void *ptr) +int talloc_unlink(const void *context, const void *ptr) { struct talloc_chunk *tc_p, *new_p; void *new_parent; @@ -499,7 +499,7 @@ void *talloc_init(const char *fmt, ...) should probably not be used in new code. It's in here to keep the talloc code consistent across Samba 3 and 4. */ -static void talloc_free_children(void *ptr) +static void talloc_free_children(const void *ptr) { struct talloc_chunk *tc; @@ -539,7 +539,7 @@ static void talloc_free_children(void *ptr) 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; struct talloc_chunk *tc; @@ -571,7 +571,7 @@ int talloc_free(void *ptr) goto err; } tc->destructor = (talloc_destructor_t)-1; - if (d(ptr) == -1) { + if (d((void *)ptr) == -1) {AFAICT, you can't propagate the const because the destructor may need to modify the content. I guess this is a necessary evil here but it would be good to document it. Okay, will add a comment. Juergen Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |