Function posixGetUserInfo [src]
TODO this reads /etc/passwd. But sometimes the user/id mapping is in something else
like NIS, AD, etc. See man nss or look at an strace for id myuser.
Prototype
pub fn posixGetUserInfo(name: []const u8) !UserInfo
Parameters
name: []const u8
Source
pub fn posixGetUserInfo(name: []const u8) !UserInfo {
const file = try std.fs.openFileAbsolute("/etc/passwd", .{});
defer file.close();
var buffer: [4096]u8 = undefined;
var file_reader = file.reader(&buffer);
return posixGetUserInfoPasswdStream(name, &file_reader.interface) catch |err| switch (err) {
error.ReadFailed => return file_reader.err.?,
error.EndOfStream => return error.UserNotFound,
error.CorruptPasswordFile => return error.CorruptPasswordFile,
};
}