Switch from using Allocator to Arena
This commit is contained in:
		| @@ -2,10 +2,7 @@ | ||||
| #include "aliases.h" | ||||
| #include "endianness.h" | ||||
| #include "image.h" | ||||
| #include "mem_allocator.h" | ||||
| #include "mem_arena.h" | ||||
| #include "mem_ctx.h" | ||||
| #include "mem_libc.h" | ||||
| #include <math.h> | ||||
| #include <netinet/in.h> | ||||
| #include <stdbool.h> | ||||
| @@ -39,12 +36,11 @@ | ||||
| // clang-format on | ||||
|  | ||||
| TiffHdr read_tiff_header(FILE *fp); | ||||
| TiffIFD read_ifd(FILE *fp, const TiffHdr *header, u32 offset, | ||||
|                  const Allocator *allocator); | ||||
| TiffIFD read_ifd(FILE *fp, const TiffHdr *header, u32 offset, Arena *arena); | ||||
| TiffImage read_fields(FILE *fp, const TiffHdr *header, const TiffIFD *ifd); | ||||
| void read_from_file_with_offset(FILE *fp, void *dst, u64 count, u64 offset); | ||||
|  | ||||
| Image *read_baseline_tiff(const char *file, const Allocator *allocator) { | ||||
| Image *read_baseline_tiff(const char *file, Arena *arena) { | ||||
|   Image *img_out = NULL; | ||||
|  | ||||
|   if (!file) { | ||||
| @@ -79,14 +75,7 @@ Image *read_baseline_tiff(const char *file, const Allocator *allocator) { | ||||
|     goto READ_BASELINE_FILE_CLEANUP; | ||||
|   } | ||||
|  | ||||
|   Allocator alloc; | ||||
|   if (!allocator) { | ||||
|     alloc = wapp_mem_libc_allocator(); | ||||
|   } else { | ||||
|     alloc = *allocator; | ||||
|   } | ||||
|  | ||||
|   TiffIFD ifd = read_ifd(fp, &header, header.first_ifd_offset, &alloc); | ||||
|   TiffIFD ifd = read_ifd(fp, &header, header.first_ifd_offset, arena); | ||||
|  | ||||
|   read_fields(fp, &header, &ifd); | ||||
|  | ||||
| @@ -133,8 +122,7 @@ TiffHdr read_tiff_header(FILE *fp) { | ||||
|   return header; | ||||
| } | ||||
|  | ||||
| TiffIFD read_ifd(FILE *fp, const TiffHdr *header, u32 offset, | ||||
|                  const Allocator *allocator) { | ||||
| TiffIFD read_ifd(FILE *fp, const TiffHdr *header, u32 offset, Arena *arena) { | ||||
|   if (!fp || !header) { | ||||
|     return NULL_TIFF_IFD; | ||||
|   } | ||||
| @@ -161,8 +149,10 @@ TiffIFD read_ifd(FILE *fp, const TiffHdr *header, u32 offset, | ||||
|   } | ||||
|  | ||||
|   u64 field_byte_count = sizeof(TiffField) * ifd.count; | ||||
|   ifd.fields = | ||||
|       (TiffField *)wapp_mem_allocator_alloc(allocator, field_byte_count); | ||||
|   ifd.fields = (TiffField *)wapp_mem_arena_alloc(arena, field_byte_count); | ||||
|   if (!(ifd.fields)) { | ||||
|     return NULL_TIFF_IFD; | ||||
|   } | ||||
|  | ||||
|   fread(ifd.fields, field_byte_count, 1, fp); | ||||
|   fread(&(ifd.next_ifd), sizeof(ifd.next_ifd), 1, fp); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user