Syscall read() returns ssize_t, not long