+ entry = &ctx->itmf_table[ctx->num_tags++];
+ memset(entry, 0, sizeof(m4af_itmf_entry_t));
+ entry->fcc = fcc;
+ if (name) {
+ char *name_copy = m4af_realloc(0, strlen(name) + 1);
+ if (!name_copy) {
+ ctx->last_error = M4AF_NO_MEMORY;
+ --ctx->num_tags;
+ return 0;
+ }
+ strcpy(name_copy, name);
+ entry->name = name_copy;
+ }
+ return entry;