diff options
author | waker <wakeroid@gmail.com> | 2012-10-17 17:47:42 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2012-10-17 17:47:42 +0200 |
commit | 5c48e32c20267eb92e691ee0dd543dd7b695c655 (patch) | |
tree | f0546fbc2d62c453029584f3c9e20410350fbebf /junklib.c | |
parent | f2b4b35cf168081ecc91ab49b61ff978d175f441 (diff) |
fixed apev2 parser bug which replaces all 0s with \n in binary fields;
added workaround for "cover art" fields, apparently some taggers mark them as text
Diffstat (limited to 'junklib.c')
-rw-r--r-- | junklib.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -1363,13 +1363,15 @@ junk_apev2_read_full (playItem_t *it, DB_apev2_tag_t *tag_store, DB_FILE *fp) { } value[itemsize] = 0; - // replace 0s with \n - uint8_t *p = value; - while (p < value + itemsize - 1) { - if (*p == 0) { - *p = '\n'; + if ((flags&6) == 0 && strncasecmp (key, "cover art ", 10)) { + // replace 0s with \n + uint8_t *p = value; + while (p < value + itemsize - 1) { + if (*p == 0) { + *p = '\n'; + } + p++; } - p++; } junk_apev2_add_frame (it, tag_store, &tail, itemsize, itemflags, key, value); |