| 58 | } |
| 59 | |
| 60 | void FileWriter::flush(const char* data, size_t len) { |
| 61 | while (len > 0) { |
| 62 | ssize_t bytes = ::write(_fd, data, len); |
| 63 | if (bytes < 0) { |
| 64 | _err = errno; |
| 65 | break; |
| 66 | } |
| 67 | data += bytes; |
| 68 | len -= (size_t)bytes; |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | void FileWriter::write(const char* data, size_t len) { |
| 73 | if (_size + len > BUF_SIZE) { |