From ec32c08a357bde454c11a41375230461509f2fe2 Mon Sep 17 00:00:00 2001 From: Magnus Holmgren Date: Wed, 7 Dec 2005 22:59:09 +0000 Subject: 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 --- firmware/id3.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/firmware/id3.c b/firmware/id3.c index ad7c8280d0..89864a659b 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; -- cgit v1.2.3