diff options
Diffstat (limited to 'fitz/res_bitmap.c')
-rw-r--r-- | fitz/res_bitmap.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/fitz/res_bitmap.c b/fitz/res_bitmap.c index 0b852af2..02bb6f44 100644 --- a/fitz/res_bitmap.c +++ b/fitz/res_bitmap.c @@ -1,11 +1,11 @@ #include "fitz.h" fz_bitmap * -fz_new_bitmap(int w, int h, int n) +fz_new_bitmap(fz_context *ctx, int w, int h, int n) { fz_bitmap *bit; - bit = fz_malloc(sizeof(fz_bitmap)); + bit = fz_malloc(ctx, sizeof(fz_bitmap)); bit->refs = 1; bit->w = w; bit->h = h; @@ -14,7 +14,7 @@ fz_new_bitmap(int w, int h, int n) * use SSE2 etc. */ bit->stride = ((n * w + 31) & ~31) >> 3; - bit->samples = fz_calloc(h, bit->stride); + bit->samples = fz_malloc_array(ctx, h, bit->stride); return bit; } @@ -27,12 +27,12 @@ fz_keep_bitmap(fz_bitmap *pix) } void -fz_drop_bitmap(fz_bitmap *bit) +fz_drop_bitmap(fz_context *ctx, fz_bitmap *bit) { if (bit && --bit->refs == 0) { - fz_free(bit->samples); - fz_free(bit); + fz_free(ctx, bit->samples); + fz_free(ctx, bit); } } @@ -46,8 +46,8 @@ fz_clear_bitmap(fz_bitmap *bit) * Write bitmap to PBM file */ -fz_error -fz_write_pbm(fz_bitmap *bitmap, char *filename) +void +fz_write_pbm(fz_context *ctx, fz_bitmap *bitmap, char *filename) { FILE *fp; unsigned char *p; @@ -55,7 +55,7 @@ fz_write_pbm(fz_bitmap *bitmap, char *filename) fp = fopen(filename, "wb"); if (!fp) - return fz_throw("cannot open file '%s': %s", filename, strerror(errno)); + fz_throw(ctx, "cannot open file '%s': %s", filename, strerror(errno)); assert(bitmap->n == 1); @@ -72,5 +72,4 @@ fz_write_pbm(fz_bitmap *bitmap, char *filename) } fclose(fp); - return fz_okay; } |