diff src/syscall.c @ 32:96af12a50fdb

fix cbc_read
author mir3636
date Tue, 22 Jan 2019 15:48:35 +0900
parents 96a5833d0d82
children a7144583914c
line wrap: on
line diff
--- a/src/syscall.c	Fri Jan 18 18:20:02 2019 +0900
+++ b/src/syscall.c	Tue Jan 22 15:48:35 2019 +0900
@@ -150,7 +150,10 @@
 }
 
 __code cbc_ret(int ret){
-    proc->tf->r0 = ret;
+    int num = proc->cbc_arg.cbc_console_arg.num;
+    if (num != SYS_exec) {
+        proc->tf->r0 = ret;
+    }
     goto cbc_trap_return();
 }
 
@@ -166,7 +169,7 @@
     //cprintf ("syscall(%d) from %s(%d)\n", num, proc->name, proc->pid);
 
     if((num >= NELEM(syscalls)) && (num <= NELEM(cbccodes)) && cbccodes[num]) {
-	
+        proc->cbc_arg.cbc_console_arg.num = num;	
     	goto (cbccodes[num])(cbc_ret);
     }