diff options
author | waker <wakeroid@gmail.com> | 2012-06-11 22:44:47 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2012-06-11 22:44:47 +0200 |
commit | 647d7db8a8b9f11fdcb15437a0b258f95d6f4cd2 (patch) | |
tree | 3540bca98d1b091225b992ca8cd386bdb4968a12 /junklib.c | |
parent | daeec56c588b0c39fc6db161ed727bd0e25a15ed (diff) |
junklib: fixed apev2 parser to read multiline fields correctly
Diffstat (limited to 'junklib.c')
-rw-r--r-- | junklib.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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); } |