summaryrefslogtreecommitdiff
path: root/kernel/sysfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sysfile.c')
-rw-r--r--kernel/sysfile.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/kernel/sysfile.c b/kernel/sysfile.c
index 5dc453b..970a72a 100644
--- a/kernel/sysfile.c
+++ b/kernel/sysfile.c
@@ -24,8 +24,7 @@ argfd(int n, int *pfd, struct file **pf)
int fd;
struct file *f;
- if(argint(n, &fd) < 0)
- return -1;
+ argint(n, &fd);
if(fd < 0 || fd >= NOFILE || (f=myproc()->ofile[fd]) == 0)
return -1;
if(pfd)
@@ -73,7 +72,9 @@ sys_read(void)
int n;
uint64 p;
- if(argfd(0, 0, &f) < 0 || argint(2, &n) < 0 || argaddr(1, &p) < 0)
+ argaddr(1, &p);
+ argint(2, &n);
+ if(argfd(0, 0, &f) < 0)
return -1;
return fileread(f, p, n);
}
@@ -84,8 +85,10 @@ sys_write(void)
struct file *f;
int n;
uint64 p;
-
- if(argfd(0, 0, &f) < 0 || argint(2, &n) < 0 || argaddr(1, &p) < 0)
+
+ argaddr(1, &p);
+ argint(2, &n);
+ if(argfd(0, 0, &f) < 0)
return -1;
return filewrite(f, p, n);
@@ -110,7 +113,8 @@ sys_fstat(void)
struct file *f;
uint64 st; // user pointer to struct stat
- if(argfd(0, 0, &f) < 0 || argaddr(1, &st) < 0)
+ argaddr(1, &st);
+ if(argfd(0, 0, &f) < 0)
return -1;
return filestat(f, st);
}
@@ -292,7 +296,8 @@ sys_open(void)
struct inode *ip;
int n;
- if((n = argstr(0, path, MAXPATH)) < 0 || argint(1, &omode) < 0)
+ argint(1, &omode);
+ if((n = argstr(0, path, MAXPATH)) < 0)
return -1;
begin_op();
@@ -375,9 +380,9 @@ sys_mknod(void)
int major, minor;
begin_op();
+ argint(1, &major);
+ argint(2, &minor);
if((argstr(0, path, MAXPATH)) < 0 ||
- argint(1, &major) < 0 ||
- argint(2, &minor) < 0 ||
(ip = create(path, T_DEVICE, major, minor)) == 0){
end_op();
return -1;
@@ -419,7 +424,8 @@ sys_exec(void)
int i;
uint64 uargv, uarg;
- if(argstr(0, path, MAXPATH) < 0 || argaddr(1, &uargv) < 0){
+ argaddr(1, &uargv);
+ if(argstr(0, path, MAXPATH) < 0) {
return -1;
}
memset(argv, 0, sizeof(argv));
@@ -462,8 +468,7 @@ sys_pipe(void)
int fd0, fd1;
struct proc *p = myproc();
- if(argaddr(0, &fdarray) < 0)
- return -1;
+ argaddr(0, &fdarray);
if(pipealloc(&rf, &wf) < 0)
return -1;
fd0 = -1;