Allocating Names in libadr

adr_data_t *adr_data_new_name (adr_name_t *name);

Allocates a new name adr_data_t, initializing it to the value of name. adr_name_t types are reference counted; the reference on the name held by the caller is transferred to the resulting adr_data_t by the call to adr_data_new_name. A caller that needs to continue using name should secure an additional reference to it before calling adr_data_new_name. If adr_data_new_name fails for any reason, the caller's reference to name will be released.