diff
13   if (initial_read != SIZE_MAX || start < initial_read)
14+      size_t move_size = (initial_read > start) ? (initial_read - start) : 0;
15+      if (move_size > 0 && move_size <= bufsize)
15-      memmove (buf, buf + start, initial_read - start);
16+      memmove (buf, buf + start, move_size);
