return -EIO; // past EOF
}
struct Source *source = &sources.array[ index ];
- off_t from = off - source->start;
- off_t max = source->to - source->from - from;
+ off_t from = off - source->start + source->from;
+ off_t max = source->to - from;
if ( lseek( source->fd, from, SEEK_SET ) < 0 ) {
return -EIO;
}