diff
10   start = (k - 1) * (file_size / n);
11+  start = (start < bufsize) ? start : bufsize - 1;
13   if (initial_read != SIZE_MAX || start < initial_read)
15       memmove (buf, buf + start, initial_read - start);
