mirror of
https://github.com/PixelGuys/Cubyz.git
synced 2025-09-09 12:16:24 -04:00
Make the log function work properly when logging in a defer that comes after the stackAllocator is freed.
This commit is contained in:
parent
d95b19c263
commit
e65928fd09
16
src/main.zig
16
src/main.zig
@ -178,14 +178,22 @@ pub const std_options = struct {
|
|||||||
};
|
};
|
||||||
|
|
||||||
fn logToFile(comptime format: []const u8, args: anytype) void {
|
fn logToFile(comptime format: []const u8, args: anytype) void {
|
||||||
const string = std.fmt.allocPrint(stackAllocator, format, args) catch return;
|
var stackFallbackAllocator: std.heap.StackFallbackAllocator(65536) = undefined;
|
||||||
defer stackAllocator.free(string);
|
stackFallbackAllocator.fallback_allocator = globalAllocator;
|
||||||
|
const allocator = stackFallbackAllocator.get();
|
||||||
|
|
||||||
|
const string = std.fmt.allocPrint(allocator, format, args) catch return;
|
||||||
|
defer allocator.free(string);
|
||||||
logFile.writeAll(string) catch {};
|
logFile.writeAll(string) catch {};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn logToStdErr(comptime format: []const u8, args: anytype) void {
|
fn logToStdErr(comptime format: []const u8, args: anytype) void {
|
||||||
const string = std.fmt.allocPrint(stackAllocator, format, args) catch return;
|
var stackFallbackAllocator: std.heap.StackFallbackAllocator(65536) = undefined;
|
||||||
defer stackAllocator.free(string);
|
stackFallbackAllocator.fallback_allocator = globalAllocator;
|
||||||
|
const allocator = stackFallbackAllocator.get();
|
||||||
|
|
||||||
|
const string = std.fmt.allocPrint(allocator, format, args) catch return;
|
||||||
|
defer allocator.free(string);
|
||||||
nosuspend std.io.getStdErr().writeAll(string) catch {};
|
nosuspend std.io.getStdErr().writeAll(string) catch {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user