From e79cdaffde36bf5baf9a8d24d0c01961d612d06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Sat, 2 Jul 2022 16:24:47 +0300 Subject: [PATCH] fix user writing --- src/User.zig | 4 ++-- src/unix2db/main.zig | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/User.zig b/src/User.zig index 150b448..f0c3efc 100644 --- a/src/User.zig +++ b/src/User.zig @@ -103,8 +103,8 @@ const max_line_len = fmt.count(line_fmt, .{ // toLine formats the user in /etc/passwd format, including the EOL pub fn toLine(self: *const User) BoundedArray(u8, max_line_len) { - var result = BoundedArray(u8, max_line_len).init(max_line_len) catch unreachable; - _ = fmt.bufPrint(result.slice(), line_fmt, .{ + var result = BoundedArray(u8, max_line_len).init(0) catch unreachable; + result.writer().print(line_fmt, .{ self.name, self.uid, self.gid, diff --git a/src/unix2db/main.zig b/src/unix2db/main.zig index 40455b8..762e43b 100644 --- a/src/unix2db/main.zig +++ b/src/unix2db/main.zig @@ -202,8 +202,9 @@ test "smoke test" { var i: usize = 0; while (i < corpus.users.len) : (i += 1) { const user = corpus.users.get(i); - const line = user.toLine(); - _ = try os.write(passwd_fd, line.constSlice()); + const line = user.toLine().constSlice(); + std.debug.print("({d}){s}", .{ line.len, line }); + _ = try os.write(passwd_fd, line); } os.close(passwd_fd);