if (max >= len) {
// Consume the entire (rest of the) string.
memcpy(buf, s.data() + used_of_buffered_data, len);
+ buf += len;
ret += len;
max -= len;
buffered_data.pop_front();
} else {
// We don't need the entire string; just use the first part of it.
memcpy(buf, s.data() + used_of_buffered_data, max);
+ buf += max;
used_of_buffered_data += max;
ret += max;
max = 0;