diff options
-rw-r--r-- | libid3tag/frame.c | 5 | ||||
-rw-r--r-- | libid3tag/tag.c | 17 |
2 files changed, 11 insertions, 11 deletions
diff --git a/libid3tag/frame.c b/libid3tag/frame.c index 21f987a..4b24a7d 100644 --- a/libid3tag/frame.c +++ b/libid3tag/frame.c | |||
@@ -256,9 +256,8 @@ parse_data(struct id3_frame *frame, | |||
256 | end = data + length; | 256 | end = data + length; |
257 | 257 | ||
258 | for (i = 0; i < frame->nfields; ++i) { | 258 | for (i = 0; i < frame->nfields; ++i) { |
259 | if (id3_field_parse | 259 | if (id3_field_parse(&frame->fields[i], &data, end - data, |
260 | (&frame->fields[i], &data, end - data, | 260 | &encoding) == -1) |
261 | &encoding) == -1) | ||
262 | return -1; | 261 | return -1; |
263 | } | 262 | } |
264 | 263 | ||
diff --git a/libid3tag/tag.c b/libid3tag/tag.c index 4473bcc..80e59b8 100644 --- a/libid3tag/tag.c +++ b/libid3tag/tag.c | |||
@@ -779,14 +779,15 @@ v1_render(struct id3_tag const *tag, id3_byte_t * buffer) | |||
779 | 779 | ||
780 | frame = id3_tag_findframe(tag, ID3_FRAME_TRACK, 0); | 780 | frame = id3_tag_findframe(tag, ID3_FRAME_TRACK, 0); |
781 | if (frame) { | 781 | if (frame) { |
782 | unsigned int track; | 782 | id3_ucs4_t const *s; |
783 | 783 | ||
784 | track = | 784 | s = id3_field_getstrings(&frame->fields[1], 0); |
785 | id3_ucs4_getnumber(id3_field_getstrings | 785 | if (s) { |
786 | (&frame->fields[1], 0)); | 786 | unsigned int track = id3_ucs4_getnumber(s); |
787 | if (track > 0 && track <= 0xff) { | 787 | if (track > 0 && track <= 0xff) { |
788 | ptr[-2] = 0; | 788 | ptr[-2] = 0; |
789 | ptr[-1] = track; | 789 | ptr[-1] = track; |
790 | } | ||
790 | } | 791 | } |
791 | } | 792 | } |
792 | 793 | ||