| 1594 | }; |
| 1595 | |
| 1596 | static void stbi__refill_buffer(stbi__context *s) |
| 1597 | { |
| 1598 | int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); |
| 1599 | s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); |
| 1600 | if (n == 0) { |
| 1601 | // at end of file, treat same as if from memory, but need to handle case |
| 1602 | // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file |
| 1603 | s->read_from_callbacks = 0; |
| 1604 | s->img_buffer = s->buffer_start; |
| 1605 | s->img_buffer_end = s->buffer_start+1; |
| 1606 | *s->img_buffer = 0; |
| 1607 | } else { |
| 1608 | s->img_buffer = s->buffer_start; |
| 1609 | s->img_buffer_end = s->buffer_start + n; |
| 1610 | } |
| 1611 | } |
| 1612 | |
| 1613 | stbi_inline static stbi_uc stbi__get8(stbi__context *s) |
| 1614 | { |
no outgoing calls
no test coverage detected