diff --git a/src/info.c b/src/info.c index e12c52d2937a6429536223048dfa48b10b12b434..78c0db9b846f0a91fbbd74b87e06839c25f40f83 100644 --- a/src/info.c +++ b/src/info.c @@ -261,10 +261,11 @@ int opus_tags_add(OpusTags *_tags,const char *_tag,const char *_value){ _tags->user_comments[ncomments]=comment= (char *)_ogg_malloc(sizeof(*comment)*(tag_len+value_len+2)); if(OP_UNLIKELY(comment==NULL))return OP_EFAULT; - _tags->comment_lengths[ncomments]=tag_len+value_len+1; memcpy(comment,_tag,sizeof(*comment)*tag_len); comment[tag_len]='='; memcpy(comment+tag_len+1,_value,sizeof(*comment)*(value_len+1)); + _tags->comment_lengths[ncomments]=tag_len+value_len+1; + _tags->comments=ncomments+1; return 0; } @@ -280,6 +281,7 @@ int opus_tags_add_comment(OpusTags *_tags,const char *_comment){ _tags->user_comments[ncomments]=op_strdup_with_len(_comment,comment_len); if(OP_UNLIKELY(_tags->user_comments[ncomments]==NULL))return OP_EFAULT; _tags->comment_lengths[ncomments]=comment_len; + _tags->comments=ncomments+1; return 0; }