From e5123330ce012b5578b6d0804407fa5f5766d712 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 11 Sep 2023 09:17:29 -0700 Subject: [PATCH] config: add ErrorList file --- src/config/ErrorList.zig | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/config/ErrorList.zig diff --git a/src/config/ErrorList.zig b/src/config/ErrorList.zig new file mode 100644 index 000000000..cb98fa5f8 --- /dev/null +++ b/src/config/ErrorList.zig @@ -0,0 +1,23 @@ +const ErrorList = @This(); + +const std = @import("std"); +const Allocator = std.mem.Allocator; + +pub const Error = struct { + message: [:0]const u8, +}; + +/// The list of errors. This will use the arena allocator associated +/// with the config structure (or whatever allocated used to call ErrorList +/// functions). +list: std.ArrayListUnmanaged(Error) = .{}, + +/// True if there are no errors. +pub fn empty(self: ErrorList) bool { + return self.list.items.len == 0; +} + +/// Add a new error to the list. +pub fn add(self: *ErrorList, alloc: Allocator, err: Error) !void { + try self.list.append(alloc, err); +}