This avoids some issues with InternalWrite returning 0 because
it just cannot write stuff at the moment.
char *data = writebuffer.get();
auto size = writebuffer.size();
char *data = writebuffer.get();
auto size = writebuffer.size();
- while (written <= size) {
+ while (written < size) {
auto written_this_time = wrapped->InternalWrite(data + written, size - written);
if (written_this_time < 0)
return false;
auto written_this_time = wrapped->InternalWrite(data + written, size - written);
if (written_this_time < 0)
return false;
- if (written_this_time == 0)
- break;
written += written_this_time;
}
written += written_this_time;
}