From 9bd922a55a956ab9f7dce7c313ab5cbf8c5d843e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Wed, 6 Jul 2022 13:29:36 +0300 Subject: [PATCH] better comptime --- src/DB.zig | 9 ++++++--- src/libnss.zig | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/DB.zig b/src/DB.zig index b016584..9ab8702 100644 --- a/src/DB.zig +++ b/src/DB.zig @@ -248,9 +248,12 @@ pub fn fieldOffsets(lengths: DBNumbers) DBNumbers { var result: DBNumbers = undefined; result.header = 0; var offset = comptime nblocks_n(u64, @sizeOf(Header)); - comptime assert(mem.eql(u8, DB_fields[0].name, "header")); - inline for (DB_fields[1..]) |field, i| { - comptime assert(mem.eql(u8, field.name, meta.fields(DBNumbers)[i + 1].name)); + inline for (DB_fields[0..]) |field, i| { + comptime { + assert(mem.eql(u8, field.name, meta.fields(DBNumbers)[i].name)); + if (mem.eql(u8, field.name, "header")) continue; + } + @field(result, field.name) = offset; offset += @field(lengths, field.name); } diff --git a/src/libnss.zig b/src/libnss.zig index ee2e048..ed9a609 100644 --- a/src/libnss.zig +++ b/src/libnss.zig @@ -37,7 +37,7 @@ const State = struct { // global_state is initialized on first call to an nss function var global_state: State = undefined; -var global_start = once(init); +var global_init = once(init); // assigns State from environment variables et al fn init() void { @@ -80,7 +80,7 @@ export fn _nss_turbo_getpwuid_r( len: usize, errnop: *c_int, ) c.enum_nss_status { - global_start.call(); + global_init.call(); if (global_state.file == null) { errnop.* = @enumToInt(os.E.AGAIN);