register_ ## TAG ## _data_with_cleanup (void (*save) (struct TAG *, void *), \
void (*free) (struct TAG *, void *)) \
{ \
- struct registry_data_registration **curr; \
- \
return (struct TAG ## _data *) \
register_data_with_cleanup (&TAG ## _data_registry, \
(registry_data_callback) save, \
void *data) \
{ \
struct TAG *tagged_container = (struct TAG *) container; \
- struct registry_fields *rdata \
- = &ACCESS (tagged_container)->registry_data; \
\
registry_ ## TAG ## _callback tagged_func \
= (registry_ ## TAG ## _callback) func; \