xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 7f419a0d29e0f785dce21b784c4849ae66c790ca
parent 46bbd72f3eeaff9386b2a90af88f3d46b458a0e8
Author: rsc <rsc>
Date:   Sat, 15 Jul 2006 17:13:56 +0000

Change fetchint, fetcharg, and putint to return -1 on error, 0 on success.
They had been returning 0 on error, 1 on success, but all the callers
were checking for return value < 0.

Diffstat:
Msyscall.c | 10+++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/syscall.c b/syscall.c @@ -23,7 +23,7 @@ extern struct spinlock proc_table_lock; /* * fetch 32 bits from a user-supplied pointer. - * returns 1 if addr was OK, 0 if illegal. + * returns 0 if addr was OK, -1 if illegal. */ int fetchint(struct proc *p, unsigned addr, int *ip) @@ -31,9 +31,9 @@ fetchint(struct proc *p, unsigned addr, int *ip) *ip = 0; if(addr > p->sz - 4) - return 0; + return -1; memcpy(ip, p->mem + addr, 4); - return 1; + return 0; } int @@ -49,9 +49,9 @@ int putint(struct proc *p, unsigned addr, int ip) { if(addr > p->sz - 4) - return 0; + return -1; memcpy(p->mem + addr, &ip, 4); - return 1; + return 0; } int