diff --git a/README.md b/README.md index 7df9838..d80fb19 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ const User = struct { additional_gids_offset: u29, // shell is a different story, documented elsewhere. shell_here: u1, - shell_len_or_place: u6, + shell_len_or_idx: u6, homedir_len: u6, username_is_a_suffix: u1, username_offset_or_len: u5, @@ -279,7 +279,7 @@ const ShellIndex = struct { In the user's struct the `shell_here=true` bit signifies that the shell is stored with userdata. `false` means it is stored in the `Shells` section. If the shell is stored "here", it is the first element in `stringdata`, and it's -length is `shell_len_or_place`. If it is stored externally, the latter variable +length is `shell_len_or_idx`. If it is stored externally, the latter variable points to it's index in the ShellIndex area. Shells in the external storage are sorted by their weight, which is diff --git a/src/user.zig b/src/user.zig index 9cbc6e6..d4f264f 100644 --- a/src/user.zig +++ b/src/user.zig @@ -8,7 +8,7 @@ pub const PackedUser = packed struct { gid: u32, additional_gids_offset: u29, shell_here: u1, - shell_len_or_place: u6, + shell_len_or_idx: u6, homedir_len: u6, username_is_a_suffix: u1, username_offset_or_len: u5, @@ -44,13 +44,13 @@ pub const UserWriter = struct { pub fn fromUser(self: *UserWriter, user: User) !PackedUser { var shell_here: u1 = undefined; - var shell_len_or_place: u6 = undefined; + var shell_len_or_idx: u6 = undefined; if (self.shellIndexFn(user.shell)) |idx| { shell_here = false; - shell_len_or_place = idx; + shell_len_or_idx = idx; } else { shell_here = true; - shell_len_or_place = user.shell.len; + shell_len_or_idx = user.shell.len; } var puser = PackedUser{ @@ -58,7 +58,7 @@ pub const UserWriter = struct { .gid = user.gid, .additional_gids_offset = 0, // second pass .shell_here = shell_here, - .shell_len_or_place = shell_len_or_place, + .shell_len_or_idx = shell_len_or_idx, .homedir_len = undefined, .username_is_a_suffix = undefined, .username_offset_or_len = undefined,