summaryrefslogtreecommitdiff
path: root/fitz/stm_buffer.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-11-20 21:29:56 +0100
committerTor Andersson <tor@ghostscript.com>2009-11-20 21:29:56 +0100
commita16d9e0c25ed986c57c521aa87d87f6c343218a7 (patch)
tree9b0a38819ce69b9f1f9a187504224411d2dd8074 /fitz/stm_buffer.c
parent549dbe8e5563f9a228c8de35f07d0108e3adf74c (diff)
downloadmupdf-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.c52
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;
}