fix one TODO
This commit is contained in:
parent
4962c7286b
commit
325c01b341
@ -327,7 +327,6 @@ pub fn groupMembersIter(members_slice: []const u8) GroupMembersIter {
|
|||||||
pub fn packCGroup(self: *const DB, group: *const PackedGroup, buf: []u8) error{BufferTooSmall}!CGroup {
|
pub fn packCGroup(self: *const DB, group: *const PackedGroup, buf: []u8) error{BufferTooSmall}!CGroup {
|
||||||
const members_slice = self.groupmembers[group.members_offset..];
|
const members_slice = self.groupmembers[group.members_offset..];
|
||||||
var it = groupMembersIter(members_slice);
|
var it = groupMembersIter(members_slice);
|
||||||
|
|
||||||
const num_members = it.total;
|
const num_members = it.total;
|
||||||
|
|
||||||
const ptr_end = @sizeOf(?[*:0]const u8) * (num_members + 1);
|
const ptr_end = @sizeOf(?[*:0]const u8) * (num_members + 1);
|
||||||
|
@ -484,11 +484,8 @@ fn initgroups_dyn(
|
|||||||
return c.NSS_STATUS_NOTFOUND;
|
return c.NSS_STATUS_NOTFOUND;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: use db.userGids()
|
var gids = db.userGids(user.additional_gids_offset);
|
||||||
const offset = user.additional_gids_offset;
|
const remaining = gids.vit.remaining;
|
||||||
var vit = compress.varintSliceIteratorMust(db.additional_gids[offset..]);
|
|
||||||
var gids = compress.deltaDecompressionIterator(&vit);
|
|
||||||
const remaining = vit.remaining;
|
|
||||||
|
|
||||||
// the implementation below is ported from glibc's db-initgroups.c
|
// the implementation below is ported from glibc's db-initgroups.c
|
||||||
// even though we know the size of the groups upfront, I found it too difficult
|
// even though we know the size of the groups upfront, I found it too difficult
|
||||||
|
@ -224,10 +224,8 @@ fn splitInt(n: u64) BoundedArray(u8, max_len) {
|
|||||||
var result = BoundedArray(u8, max_len).init(0) catch unreachable;
|
var result = BoundedArray(u8, max_len).init(0) catch unreachable;
|
||||||
var buf: [max_len]u8 = undefined;
|
var buf: [max_len]u8 = undefined;
|
||||||
const str = fmt.bufPrint(buf[0..], "{d}", .{n}) catch unreachable;
|
const str = fmt.bufPrint(buf[0..], "{d}", .{n}) catch unreachable;
|
||||||
var remaining: usize = str.len;
|
for (str, str.len..0) |c, remaining| {
|
||||||
for (str) |c| {
|
|
||||||
result.append(c) catch unreachable;
|
result.append(c) catch unreachable;
|
||||||
remaining -= 1;
|
|
||||||
if (remaining > 0 and remaining % 3 == 0)
|
if (remaining > 0 and remaining % 3 == 0)
|
||||||
result.append(',') catch unreachable;
|
result.append(',') catch unreachable;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user