- r = malloc(sizeof(struct cache_record));
- memset(r, 0, sizeof(struct cache_record));
- r->avl.key = r->record = strdup(name);
+ r = calloc_a(sizeof(*r),
+ &name_buf, strlen(name) + 1,
+ &txt_ptr, tlen,
+ &rdata_ptr, dlen);
+
+ r->avl.key = r->record = strcpy(name_buf, name);