diff options
| author | Magnus Holmgren <magnushol@gmail.com> | 2005-12-07 22:59:09 +0000 |
|---|---|---|
| committer | Magnus Holmgren <magnushol@gmail.com> | 2005-12-07 22:59:09 +0000 |
| commit | ec32c08a357bde454c11a41375230461509f2fe2 (patch) | |
| tree | a9d282da069ee7f995233aa63a2e5ce1ef58e778 | |
| parent | 149f31ca66b7db306f70bd1559e2a9162a531963 (diff) | |
| download | rockbox-ec32c08a357bde454c11a41375230461509f2fe2.zip rockbox-ec32c08a357bde454c11a41375230461509f2fe2.tar.gz rockbox-ec32c08a357bde454c11a41375230461509f2fe2.tar.bz2 rockbox-ec32c08a357bde454c11a41375230461509f2fe2.tar.xz | |
Restore full support for id3v2 frames with multiple strings (like TXXX). Makes MP3 ReplayGain work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8196 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/id3.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/firmware/id3.c b/firmware/id3.c index ad7c828..89864a6 100644 --- a/firmware/id3.c +++ b/firmware/id3.c @@ -322,7 +322,6 @@ static int parseuser( struct mp3entry* entry, char* tag, int bufferpos ) /* At least part of the value was read, so we can safely try to * parse it */ - value = tag + desc_len + 1; value_len = parse_replaygain(tag, value, entry, tag, bufferpos - (tag - entry->id3v2buf)); @@ -376,7 +375,7 @@ static int unicode_munge(char* string, char* utf8buf, int *len) { (*len)--; utf8 = iso_decode(str, utf8, -1, *len); *utf8 = 0; - *len = strlen(utf8buf); + *len = utf8 - utf8buf; break; case 0x01: /* Unicode with or without BOM */ @@ -427,13 +426,13 @@ static int unicode_munge(char* string, char* utf8buf, int *len) { case 0x03: /* UTF-8 encoded string */ for(i=0; i < *len; i++) utf8[i] = str[i+1]; - *len = strlen(utf8buf); + (*len)--; break; default: /* Plain old string */ utf8 = iso_decode(str, utf8, -1, *len); *utf8 = 0; - *len = strlen(utf8buf); + *len = utf8 - utf8buf; break; } return 0; |