flac/cue: added support for TITLE[n] comments
On 2009/03/17 Max Kellermann<max@duempel.org> wrote: > There doesn't seem to be an "official" standard. I'd say: search for > TITLE[1] first (the most explicit form), then TITLE1, and finally fall > back to TITLE. This makes sure MPD supports every possible standard, > without breaking. I've also added some additional checks to make sure entry is long enough.
This commit is contained in:
parent
2a52d49536
commit
7ba7e67323
@ -103,14 +103,21 @@ flac_comment_value(const FLAC__StreamMetadata_VorbisComment_Entry *entry,
|
||||
const char *name, const char *char_tnum, size_t *length_r)
|
||||
{
|
||||
size_t name_length = strlen(name);
|
||||
size_t char_tnum_length = strlen(char_tnum);
|
||||
size_t char_tnum_length = 0;
|
||||
const char *comment = (const char*)entry->entry;
|
||||
|
||||
if (entry->length > name_length &&
|
||||
g_ascii_strncasecmp(comment, name, name_length) == 0) {
|
||||
if (char_tnum != NULL) {
|
||||
char_tnum_length = strlen(char_tnum);
|
||||
if (g_ascii_strncasecmp(comment + name_length,
|
||||
if (entry->length > name_length + char_tnum_length + 2 &&
|
||||
comment[name_length] == '[' &&
|
||||
g_ascii_strncasecmp(comment + name_length + 1,
|
||||
char_tnum, char_tnum_length) == 0 &&
|
||||
comment[name_length + char_tnum_length + 1] == ']')
|
||||
name_length = name_length + char_tnum_length + 2;
|
||||
else if (entry->length > name_length + char_tnum_length &&
|
||||
g_ascii_strncasecmp(comment + name_length,
|
||||
char_tnum, char_tnum_length) == 0)
|
||||
name_length = name_length + char_tnum_length;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user