model3d: use std.c.free to free save result

std.heap.c_allocator has a small wrapper on non-posix targets. the
library uses libc malloc directly by default so we can use libc free
to release memory.
This commit is contained in:
pablo 2023-04-10 13:54:48 +02:00 committed by Stephen Gutekanst
parent 3a0948098f
commit ddc3da583c

View file

@ -58,7 +58,7 @@ pub fn deinit(self: M3d) void {
c.m3d_free(self.handle); c.m3d_free(self.handle);
} }
/// return value must be freed with c_allocator /// return value must be freed with std.c.free
pub fn save(self: M3d, quality: Quality, flags: Flags) Error![]u8 { pub fn save(self: M3d, quality: Quality, flags: Flags) Error![]u8 {
var size: u32 = 0; var size: u32 = 0;
return if (c.m3d_save( return if (c.m3d_save(
@ -226,7 +226,7 @@ test {
try testing.expectEqualStrings(model.name(), "cube.obj"); try testing.expectEqualStrings(model.name(), "cube.obj");
var out = try model.save(.float, .{}); var out = try model.save(.float, .{});
defer std.heap.c_allocator.free(out); defer std.c.free(out.ptr);
try testing.expect(out.len >= 119); try testing.expect(out.len >= 119);
} }