]> Devi Nivas Git - cs3210-lab0.git/commitdiff
Change fetchint, fetcharg, and putint to return -1 on error, 0 on success.
authorrsc <rsc>
Sat, 15 Jul 2006 17:13:56 +0000 (17:13 +0000)
committerrsc <rsc>
Sat, 15 Jul 2006 17:13:56 +0000 (17:13 +0000)
They had been returning 0 on error, 1 on success, but all the callers
were checking for return value < 0.

syscall.c

index 71090006b4e42424da7f3fae829e1c97950e52d9..f5d1c30081118d8c7d7a9cdaa5fb1cbf656a2ac3 100644 (file)
--- 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