| 2307 | } |
| 2308 | |
| 2309 | inline bool stream_line_reader::getline() { |
| 2310 | fixed_buffer_used_size_ = 0; |
| 2311 | glowable_buffer_.clear(); |
| 2312 | |
| 2313 | for (size_t i = 0;; i++) { |
| 2314 | char byte; |
| 2315 | auto n = strm_.read(&byte, 1); |
| 2316 | |
| 2317 | if (n < 0) { |
| 2318 | return false; |
| 2319 | } else if (n == 0) { |
| 2320 | if (i == 0) { |
| 2321 | return false; |
| 2322 | } else { |
| 2323 | break; |
| 2324 | } |
| 2325 | } |
| 2326 | |
| 2327 | append(byte); |
| 2328 | |
| 2329 | if (byte == '\n') { break; } |
| 2330 | } |
| 2331 | |
| 2332 | return true; |
| 2333 | } |
| 2334 | |
| 2335 | inline void stream_line_reader::append(char c) { |
| 2336 | if (fixed_buffer_used_size_ < fixed_buffer_size_ - 1) { |
no test coverage detected