/* Yes, this is linear. But considering the average number of buckets, it doesn't matter. */
for (b=m->first; b; b=b->next)
{
- if (pos <= b->pos + b->size) /* <=, because we need to be able to seek just after file end */
+ if (pos <= b->pos + (sh_off_t)b->size) /* <=, because we need to be able to seek just after file end */
{
f->buffer = b->data;
f->bptr = b->data + (pos - b->pos);