1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

cgen: fix optional pointers

This commit is contained in:
Enzo Baldisserri
2020-04-22 20:12:30 +02:00
committed by GitHub
parent 54c382f6f1
commit fecf4ddf65
7 changed files with 66 additions and 82 deletions

View File

@@ -363,7 +363,7 @@ pub fn sys_munmap(addr voidptr, len u64) errno {
}
// 22 sys_pipe int *filedes
pub fn sys_pipe(filedes intptr) errno {
pub fn sys_pipe(filedes &int) errno {
return errno(sys_call1(22, u64(filedes)))
}
@@ -415,7 +415,7 @@ pub fn sys_getuid() int {
}
// 247 sys_waitid int which pid_t upid struct siginfo *infop int options struct rusage *ru
pub fn sys_waitid (which wi_which, pid int, infop intptr, options wp_sys, ru voidptr) errno {
pub fn sys_waitid (which wi_which, pid int, infop &int, options wp_sys, ru voidptr) errno {
return errno(sys_call5(247, u64(which), u64(pid), u64(infop), u64(options), u64(ru)))
}

View File

@@ -17,7 +17,7 @@ pub fn mm_alloc(size u64) (byteptr, errno) {
a, e := sys_mmap(0, n_bytes, mem_prot, mem_flags, -1, 0)
if e == .enoerror {
mut ap := intptr(a)
mut ap := &int(a)
*ap = pages
return byteptr(a+4), e
}
@@ -25,7 +25,7 @@ pub fn mm_alloc(size u64) (byteptr, errno) {
}
pub fn mm_free(addr byteptr) errno {
ap := intptr(addr-4)
ap := &int(addr-4)
size := u64(*ap) * u64(linux_mem.page_size)
return sys_munmap(ap, size)