diff options
author | Tor Andersson <tor@ghostscript.com> | 2009-11-20 21:29:56 +0100 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2009-11-20 21:29:56 +0100 |
commit | a16d9e0c25ed986c57c521aa87d87f6c343218a7 (patch) | |
tree | 9b0a38819ce69b9f1f9a187504224411d2dd8074 /fitz/stm_buffer.c | |
parent | 549dbe8e5563f9a228c8de35f07d0108e3adf74c (diff) | |
download | mupdf-a16d9e0c25ed986c57c521aa87d87f6c343218a7.tar.xz |
Malloc cannot return null. Clean up streams and filters.
Diffstat (limited to 'fitz/stm_buffer.c')
-rw-r--r-- | fitz/stm_buffer.c | 52 |
1 files changed, 19 insertions, 33 deletions
diff --git a/fitz/stm_buffer.c b/fitz/stm_buffer.c index 102d7327..024dbea9 100644 --- a/fitz/stm_buffer.c +++ b/fitz/stm_buffer.c @@ -1,51 +1,38 @@ #include "fitz_base.h" #include "fitz_stream.h" -fz_error -fz_newbuffer(fz_buffer **bp, int size) +fz_buffer * +fz_newbuffer(int size) { fz_buffer *b; - b = *bp = fz_malloc(sizeof(fz_buffer)); - if (!b) - return fz_rethrow(-1, "out of memory: buffer struct"); - + b = fz_malloc(sizeof(fz_buffer)); b->refs = 1; b->ownsdata = 1; b->bp = fz_malloc(size); - if (!b->bp) - { - fz_free(b); - return fz_rethrow(-1, "out of memory: buffer memory"); - } - b->rp = b->bp; b->wp = b->bp; b->ep = b->bp + size; b->eof = 0; - return fz_okay; + return b; } -fz_error -fz_newbufferwithmemory(fz_buffer **bp, unsigned char *data, int size) +fz_buffer * +fz_newbufferwithmemory(unsigned char *data, int size) { fz_buffer *b; - b = *bp = fz_malloc(sizeof(fz_buffer)); - if (!b) - return fz_rethrow(-1, "out of memory: buffer struct"); - + b = fz_malloc(sizeof(fz_buffer)); b->refs = 1; b->ownsdata = 0; b->bp = data; - b->rp = b->bp; b->wp = b->bp + size; b->ep = b->bp + size; b->eof = 0; - return fz_okay; + return b; } fz_buffer * @@ -66,7 +53,7 @@ fz_dropbuffer(fz_buffer *buf) } } -fz_error +void fz_growbuffer(fz_buffer *buf) { unsigned char *newbp; @@ -76,30 +63,29 @@ fz_growbuffer(fz_buffer *buf) int ep = buf->ep - buf->bp; if (!buf->ownsdata) - return fz_throw("assert: grow borrowed memory"); - + { + fz_warn("assert: grow borrowed memory"); + return; + } + newbp = fz_realloc(buf->bp, ep * 2); - if (!newbp) - return fz_rethrow(-1, "out of memory: resize buffer memory"); - buf->bp = newbp; buf->rp = buf->bp + rp; buf->wp = buf->bp + wp; buf->ep = buf->bp + ep * 2; - - return fz_okay; } -fz_error +void fz_rewindbuffer(fz_buffer *buf) { if (!buf->ownsdata) - return fz_throw("assert: rewind borrowed memory"); + { + fz_warn("assert: rewind borrowed memory"); + return; + } memmove(buf->bp, buf->rp, buf->wp - buf->rp); buf->wp = buf->bp + (buf->wp - buf->rp); buf->rp = buf->bp; - - return fz_okay; } |