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