diff options
| -rw-r--r-- | lib/cdreader.cpp | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/lib/cdreader.cpp b/lib/cdreader.cpp index 5363251..f24e54b 100644 --- a/lib/cdreader.cpp +++ b/lib/cdreader.cpp @@ -78,13 +78,16 @@ 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;  	getsector(sector); -	bcopy(sector, ((char *) buf) + remain, MIN(n, count)); +	bcopy(sector + remain, buf, MIN(n, count));  	count -= n;  	remain = 0;      } @@ -97,8 +100,6 @@ void cdreader::getsector(void *buf, int sec) throw (GeneralException) {      if (sec >= 0)  	sector = sec; -    fprintf(stderr, "Reading sector %i\n", sector); -      sector += 150;      msf->cdmsf_min0  =   sector   /CD_SECS   /CD_FRAMES; | 
