authorgravatar for andrea@orru.ioAndrea Orru <andrea@orru.io> 2018-08-06 02:42:12-04:00
committergravatar for andrea@orru.ioAndrea Orru <andrea@orru.io> 2018-08-06 02:42:12-04:00
log79d77faebf4fe667cc4e2d97263df499131620b9
treeaff0e04e9deeb58250e5b02f42e9c57850bd46fc
parent641066d82e1701d34acb81cb4bfed95405c5b506

More type cast fixes


1 files changed, 11 insertions(+), 7 deletions(-)

std/os/zen.zig+11-7
......@@ -13,8 +13,8 @@ sender: MailboxId,
1313 payload: ?[]const u8,
1414
1515 pub fn from(mailbox_id: *const MailboxId) Message {
16 return Message{
17 .sender = MailboxId.Undefined,
16 return Message {
17 .sender = MailboxId.Undefined,
1818 .receiver = mailbox_id.*,
1919 .code = undefined,
2020 .args = undefined,
......@@ -80,11 +80,15 @@ pub const STDOUT_FILENO = 1;
8080pub const STDERR_FILENO = 2;
8181
8282// FIXME: let's borrow Linux's error numbers for now.
83pub const getErrno = @import("linux/index.zig").getErrno;
8483use @import("linux/errno.zig");
84// Get the errno from a syscall return value, or 0 for no error.
85pub fn getErrno(r: usize) usize {
86 const signed_r = @bitCast(isize, r);
87 return if (signed_r > -4096 and signed_r < 0) @intCast(usize, -signed_r) else 0;
88}
8589
8690// TODO: implement this correctly.
87pub fn read(fd: i32, buf: *u8, count: usize) usize {
91pub fn read(fd: i32, buf: [*]u8, count: usize) usize {
8892 switch (fd) {
8993 STDIN_FILENO => {
9094 var i: usize = 0;
......@@ -93,9 +97,9 @@ pub fn read(fd: i32, buf: *u8, count: usize) usize {
9397
9498 // FIXME: we should be certain that we are receiving from Keyboard.
9599 var message = Message.from(MailboxId.This);
96 receive(message.*);
100 receive(&message);
97101
98 buf[i] = u8(message.args[0]);
102 buf[i] = @intCast(u8, message.args[0]);
99103 }
100104 },
101105 else => unreachable,
......@@ -104,7 +108,7 @@ pub fn read(fd: i32, buf: *u8, count: usize) usize {
104108}
105109
106110// TODO: implement this correctly.
107pub fn write(fd: i32, buf: *const u8, count: usize) usize {
111pub fn write(fd: i32, buf: [*]const u8, count: usize) usize {
108112 switch (fd) {
109113 STDOUT_FILENO, STDERR_FILENO => {
110114 send(Message.to(Server.Terminal, 1)