aboutsummaryrefslogtreecommitdiff
path: root/lib/data
diff options
context:
space:
mode:
authorChristian C <cc@localhost>2025-04-01 20:46:17 -0700
committerChristian C <cc@localhost>2025-04-01 20:46:17 -0700
commitec7436a01deb8e28743de47ad98950c914d6da2a (patch)
tree765212b89d5c9740408d3d8bda8e1daacf55890e /lib/data
parenta18cea2fef7aa1545c9a984b60919541b26a6f84 (diff)
Global Allocator Checking
Diffstat (limited to 'lib/data')
-rw-r--r--lib/data/image_types.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/lib/data/image_types.c b/lib/data/image_types.c
index 9a0e0ce..f5c9115 100644
--- a/lib/data/image_types.c
+++ b/lib/data/image_types.c
@@ -1,39 +1,40 @@
#include <lib/data/image_types.h>
+#include <lib/mem/galloc.h>
#include <stdio.h>
#include <stdlib.h>
Image *create_image(size_t width, size_t height, size_t channels) {
- Image *ip = (Image *)malloc(sizeof(Image));
+ Image *ip = (Image *)g_malloc(sizeof(Image));
if (ip == NULL) {
return NULL;
}
ip->width = width;
ip->height = height;
ip->depth = channels;
- ip->image = (ImageData_t ***)malloc(sizeof(ImageData_t **) * ip->height);
+ ip->image = (ImageData_t ***)g_malloc(sizeof(ImageData_t **) * ip->height);
if (ip->image == NULL) {
fprintf(stderr, "Memory allocation error\n");
- free(ip);
+ g_free(ip);
return NULL;
}
ImageData_t *image_data =
- calloc(width * height * channels, sizeof(ImageData_t));
+ g_calloc(width * height * channels, sizeof(ImageData_t));
if (image_data == NULL) {
fprintf(stderr, "Memory allocation error\n");
- free(ip->image);
- free(ip);
+ g_free(ip->image);
+ g_free(ip);
return NULL;
}
for (size_t y = 0; y < height; y++) {
- ip->image[y] = (ImageData_t **)malloc(sizeof(ImageData_t *) * ip->width);
+ ip->image[y] = (ImageData_t **)g_malloc(sizeof(ImageData_t *) * ip->width);
if (ip->image[y] == NULL) {
fprintf(stderr, "Memory allocation error\n");
for (size_t ty = 0; ty < y; ty++) {
- free(ip->image[ty]);
+ g_free(ip->image[ty]);
}
- free(image_data);
- free(ip->image);
- free(ip);
+ g_free(image_data);
+ g_free(ip->image);
+ g_free(ip);
}
for (size_t x = 0; x < width; x++) {
ip->image[y][x] = &image_data[(y * width + x) * channels];
@@ -43,21 +44,21 @@ Image *create_image(size_t width, size_t height, size_t channels) {
}
Mask *create_image_mask(size_t width, size_t height) {
- Mask *ip = (Mask *)malloc(sizeof(Mask));
+ Mask *ip = (Mask *)g_malloc(sizeof(Mask));
if (ip == NULL) {
return NULL;
}
ip->width = width;
ip->height = height;
- ip->image = (MaskData_t **)malloc(sizeof(MaskData_t *) * ip->height);
+ ip->image = (MaskData_t **)g_malloc(sizeof(MaskData_t *) * ip->height);
if (ip->image == NULL) {
- free(ip);
+ g_free(ip);
return NULL;
}
- MaskData_t *image_data = calloc(width * height, sizeof(MaskData_t));
+ MaskData_t *image_data = g_calloc(width * height, sizeof(MaskData_t));
if (image_data == NULL) {
- free(ip->image);
- free(ip);
+ g_free(ip->image);
+ g_free(ip);
return NULL;
}
for (size_t y = 0; y < height; y++) {
@@ -68,28 +69,28 @@ Mask *create_image_mask(size_t width, size_t height) {
void free_image(Image *image) {
if (image->image[0] != NULL) {
- free(image->image[0]);
+ g_free(image->image[0]);
image->image[0] = NULL;
}
if (image->image != NULL) {
- free(image->image);
+ g_free(image->image);
image->image = NULL;
}
if (image != NULL) {
- free(image);
+ g_free(image);
}
}
void free_image_mask(Mask *image_mask) {
if (image_mask->image[0] != NULL) {
- free(image_mask->image[0]);
+ g_free(image_mask->image[0]);
image_mask->image[0] = NULL;
}
if (image_mask->image != NULL) {
- free(image_mask->image);
+ g_free(image_mask->image);
image_mask->image = NULL;
}
if (image_mask != NULL) {
- free(image_mask);
+ g_free(image_mask);
}
}