From 647d7db8a8b9f11fdcb15437a0b258f95d6f4cd2 Mon Sep 17 00:00:00 2001 From: waker Date: Mon, 11 Jun 2012 22:44:47 +0200 Subject: junklib: fixed apev2 parser to read multiline fields correctly --- junklib.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'junklib.c') diff --git a/junklib.c b/junklib.c index 60d87556..9989767f 100644 --- a/junklib.c +++ b/junklib.c @@ -1200,6 +1200,15 @@ junk_apev2_read_full_mem (playItem_t *it, DB_apev2_tag_t *tag_store, char *mem, memcpy (value, mem, itemsize); value[itemsize] = 0; + // replace 0s with \n + uint8_t *p = value; + while (p < value + itemsize - 1) { + if (*p == 0) { + *p = '\n'; + } + p++; + } + junk_apev2_add_frame (it, tag_store, &tail, itemsize, itemflags, key, value); free (value); @@ -1305,6 +1314,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'; + } + p++; + } + junk_apev2_add_frame (it, tag_store, &tail, itemsize, itemflags, key, value); free (value); } -- cgit v1.2.3