diff options
Diffstat (limited to 'fitz/stm_buffer.c')
-rw-r--r-- | fitz/stm_buffer.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fitz/stm_buffer.c b/fitz/stm_buffer.c index 3879f871..7886bd49 100644 --- a/fitz/stm_buffer.c +++ b/fitz/stm_buffer.c @@ -53,6 +53,24 @@ fz_dropbuffer(fz_buffer *buf) } void +fz_resizebuffer(fz_buffer *buf, int size) +{ + int rp = MIN(buf->rp - buf->bp, size); + int wp = MIN(buf->wp - buf->bp, size); + + if (!buf->ownsdata) + { + fz_warn("assert: resize borrowed memory"); + return; + } + + buf->bp = fz_realloc(buf->bp, size); + buf->rp = buf->bp + rp; + buf->wp = buf->bp + wp; + buf->ep = buf->bp + size; +} + +void fz_growbuffer(fz_buffer *buf) { int rp = buf->rp - buf->bp; |