mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
use an arena for the args
This commit is contained in:
15
src/main.zig
15
src/main.zig
@@ -43,15 +43,6 @@ pub const std_options = .{
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
var mem: [4096]u8 = undefined;
|
|
||||||
var fba = std.heap.FixedBufferAllocator.init(&mem);
|
|
||||||
const args = try parseArgs(fba.allocator());
|
|
||||||
|
|
||||||
if (args.mode == .help) {
|
|
||||||
// don't need to create a gpa in this case
|
|
||||||
return args.printUsageAndExit(args.mode.help);
|
|
||||||
}
|
|
||||||
|
|
||||||
// allocator
|
// allocator
|
||||||
// - in Debug mode we use the General Purpose Allocator to detect memory leaks
|
// - in Debug mode we use the General Purpose Allocator to detect memory leaks
|
||||||
// - in Release mode we use the c allocator
|
// - in Release mode we use the c allocator
|
||||||
@@ -62,8 +53,12 @@ pub fn main() !void {
|
|||||||
_ = gpa.detectLeaks();
|
_ = gpa.detectLeaks();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var args_arena = std.heap.ArenaAllocator.init(alloc);
|
||||||
|
defer args_arena.deinit();
|
||||||
|
const args = try parseArgs(args_arena.allocator());
|
||||||
|
|
||||||
switch (args.mode) {
|
switch (args.mode) {
|
||||||
.help => unreachable, // handled above
|
.help => args.printUsageAndExit(args.mode.help),
|
||||||
.serve => |opts| {
|
.serve => |opts| {
|
||||||
const address = std.net.Address.parseIp4(opts.host, opts.port) catch |err| {
|
const address = std.net.Address.parseIp4(opts.host, opts.port) catch |err| {
|
||||||
log.err("address (host:port) {any}\n", .{err});
|
log.err("address (host:port) {any}\n", .{err});
|
||||||
|
|||||||
Reference in New Issue
Block a user