hello!
I was just browsing your code to get a look-see of using vcedit, and I
noticed what appears to be a memory leak in VorbisComment.cpp:
in VorbisComments::store(vorbis_comment *vc)
...
for (unsigned int i = 0; i < count; i++)
{
if (tags[i].utf8_value == NULL)
{
// Convert the value to a UTF-8 string.
len = WideCharToUTF8(NULL, tags[i].value, 0);
tags[i].utf8_value = new CHAR[len];
WideCharToUTF8(tags[i].utf8_value, tags[i].value, len);
}
vorbis_comment_add_tag(vc, tags[i].name, tags[i].utf8_value);
}
...
the value is a "new"'d CHAR string. This string is never freed. Granted,
it's not a huge memory leak and not going to bring your system to its
knees, but it does appear to be a leak nonetheless.
Nice job on the extension!
marc.