From: Rusty Russell Date: Mon, 3 Dec 2012 08:59:38 +0000 (+1030) Subject: tal: adding or removing a notifier/destructor can be const. X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=9a1441141e6fdb84e9c067b6d6808e65e0da3627 tal: adding or removing a notifier/destructor can be const. You don't need write access to the context to attach a destructor; it's meta. Signed-off-by: Rusty Russell --- diff --git a/ccan/tal/tal.c b/ccan/tal/tal.c index c9006857..d8a15f45 100644 --- a/ccan/tal/tal.c +++ b/ccan/tal/tal.c @@ -455,14 +455,14 @@ void *tal_steal_(const tal_t *new_parent, const tal_t *ctx) return (void *)ctx; } -bool tal_add_destructor_(tal_t *ctx, void (*destroy)(void *me)) +bool tal_add_destructor_(const tal_t *ctx, void (*destroy)(void *me)) { tal_t *t = debug_tal(to_tal_hdr(ctx)); return add_notifier_property(t, TAL_NOTIFY_FREE|NOTIFY_IS_DESTRUCTOR, (void *)destroy); } -bool tal_add_notifier_(tal_t *ctx, enum tal_notify_type types, +bool tal_add_notifier_(const tal_t *ctx, enum tal_notify_type types, void (*callback)(tal_t *, enum tal_notify_type, void *)) { tal_t *t = debug_tal(to_tal_hdr(ctx)); @@ -489,7 +489,7 @@ bool tal_add_notifier_(tal_t *ctx, enum tal_notify_type types, return true; } -bool tal_del_notifier_(tal_t *ctx, +bool tal_del_notifier_(const tal_t *ctx, void (*callback)(tal_t *, enum tal_notify_type, void *)) { struct tal_hdr *t = debug_tal(to_tal_hdr(ctx)); @@ -505,7 +505,7 @@ bool tal_del_notifier_(tal_t *ctx, return false; } -bool tal_del_destructor_(tal_t *ctx, void (*destroy)(void *me)) +bool tal_del_destructor_(const tal_t *ctx, void (*destroy)(void *me)) { return tal_del_notifier_(ctx, (void *)destroy); } diff --git a/ccan/tal/tal.h b/ccan/tal/tal.h index 4e862cd6..10ee4608 100644 --- a/ccan/tal/tal.h +++ b/ccan/tal/tal.h @@ -405,13 +405,13 @@ tal_t *tal_steal_(const tal_t *new_parent, const tal_t *t); bool tal_resize_(tal_t **ctxp, size_t size); -bool tal_add_destructor_(tal_t *ctx, void (*destroy)(void *me)); -bool tal_del_destructor_(tal_t *ctx, void (*destroy)(void *me)); +bool tal_add_destructor_(const tal_t *ctx, void (*destroy)(void *me)); +bool tal_del_destructor_(const tal_t *ctx, void (*destroy)(void *me)); -bool tal_add_notifier_(tal_t *ctx, enum tal_notify_type types, +bool tal_add_notifier_(const tal_t *ctx, enum tal_notify_type types, void (*notify)(tal_t *ctx, enum tal_notify_type, void *info)); -bool tal_del_notifier_(tal_t *ctx, +bool tal_del_notifier_(const tal_t *ctx, void (*notify)(tal_t *ctx, enum tal_notify_type, void *info)); #endif /* CCAN_TAL_H */