commit 34bf830e54a88496b3bd1d0c94678fb5deeb12e1
parent 9306250db9512d4c1848330548396be1576e1a9c
Author: rminnich@nox.hsd1.ca.comcast.net <none@none>
Date:   Tue, 20 Apr 2010 14:35:42 -0700
we now have exec arg printing.
Diffstat:
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/9vx/trap.c b/src/9vx/trap.c
@@ -228,7 +228,8 @@ syscallprint(Ureg *ureg)
 	vlong offset;
 	Fmt fmt;
 	int len;
-  	char *argv;
+  	uint32 argp, a;
+
 	sp = (uint32*)(up->pmmu.uzero + ureg->usp);
 	syscallno = ureg->ax;
 	offset = 0;
@@ -270,13 +271,14 @@ syscallprint(Ureg *ureg)
 		break;
 	case EXEC: 
 		fmtuserstring(&fmt, sp[1], "");
-		argv = uvalidaddr(sp[2], 1, 0);
-/*
-		for(i = 0; argv[i]; i++) {
+		argp = sp[2];
+		for(;;argp += BY2WD) {
+			a = *(uint32*)uvalidaddr(argp, BY2WD, 0);
+			if(a == 0)
+				break;
 			fmtprint(&fmt, " ");
-			fmtuserstring(&fmt, argv[i], "");
+			fmtuserstring(&fmt, a, "");
 		}
- */
 		break;
 	case EXITS:
 		fmtuserstring(&fmt, sp[1], "");
@@ -402,7 +404,7 @@ syscallprint(Ureg *ureg)
 		break;
 	case _READ: 
 	case PREAD:
-		fmtprint(&fmt, "%d %#ux", sp[1], sp[2]);
+		fmtprint(&fmt, "%d ", sp[1]);
 		break;
 	case _WRITE:
 		offset = -1;