src/libmpg123/readers.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- mpg123-1.12.1.orig/src/libmpg123/readers.c
+++ mpg123-1.12.1/src/libmpg123/readers.c
@@ -120,7 +120,7 @@
if(fr->icy.next > 0)
{
cut_pos = fr->icy.next;
- ret = fr->rdat.fdread(fr,buf,cut_pos);
+ ret = fr->rdat.fdread(fr,buf+cnt,cut_pos);
if(ret < 1)
{
if(ret == 0) break; /* Just EOF. */
@@ -128,7 +128,8 @@
return READER_ERROR;
}
- fr->rdat.filepos += ret;
+
+ if(!(fr->rdat.flags & READER_BUFFERED)) fr->rdat.filepos += ret;
cnt += ret;
fr->icy.next -= ret;
if(fr->icy.next > 0)