From 68c31dd0f98784d6b755d9f89e5b2a51d85eeddf Mon Sep 17 00:00:00 2001 From: Pixel Date: Mon, 26 Aug 2002 14:41:57 +0000 Subject: CD Reader working under linux!!! --- lib/cdreader.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/cdreader.cpp b/lib/cdreader.cpp index f24e54b..cdb2671 100644 --- a/lib/cdreader.cpp +++ b/lib/cdreader.cpp @@ -78,16 +78,15 @@ ssize_t cdreader::read(void *buf, size_t count) throw (GeneralException) { char sector[CD_FRAMESIZE_RAW]; size_t r = count; - fprintf(stderr, "Asked to cd-read %i bytes at %i\n", count, (int) itell); - size_t remain = itell % CD_FRAMESIZE_RAW; - fprintf(stderr, "Seeking to sector %li, to read at %i\n", itell / CD_FRAMESIZE_RAW, (int) remain); sectorseek(itell / CD_FRAMESIZE_RAW); while (count > 0) { - size_t n = CD_FRAMESIZE_RAW - remain; + size_t n = MIN(CD_FRAMESIZE_RAW - remain, count); getsector(sector); - bcopy(sector + remain, buf, MIN(n, count)); + bcopy(sector + remain, buf, n); + buf = ((char *) buf) + n; + itell += n; count -= n; remain = 0; } -- cgit v1.2.3