Fix small bugs.
diff --git a/src/cmd/ls.C b/src/cmd/ls.C
index de2bee9..8bdeab6 100644
--- a/src/cmd/ls.C
+++ b/src/cmd/ls.C
@@ -101,6 +101,8 @@
return 1;
}
if(db->qid.type&QTDIR && dflag==0){
+ free(db);
+ db = nil;
output();
fd = open(s, OREAD);
if(fd == -1)
diff --git a/src/cmd/rc/plan9ish.c b/src/cmd/rc/plan9ish.c
index 2b9011c..6644778 100644
--- a/src/cmd/rc/plan9ish.c
+++ b/src/cmd/rc/plan9ish.c
@@ -71,7 +71,7 @@
for(s=*env;*s && *s!='(' && *s!='=';s++);
switch(*s){
case '\0':
- pfmt(err, "rc: odd environment %q?\n", *env);
+ // pfmt(err, "rc: odd environment %q?\n", *env);
break;
case '=':
*s='\0';
diff --git a/src/cmd/time.c b/src/cmd/time.c
index d82eaa9..3b52216 100644
--- a/src/cmd/time.c
+++ b/src/cmd/time.c
@@ -11,6 +11,7 @@
{
int i;
Waitmsg *w;
+ vlong t0, t1;
long l;
char *p;
char err[ERRMAX];
@@ -20,6 +21,7 @@
exits("usage");
}
+ t0 = nsec();
switch(fork()){
case -1:
error("fork");
@@ -37,8 +39,9 @@
loop:
w = wait();
+ t1 = nsec();
if(w == nil){
- errstr(err, sizeof err);
+ rerrstr(err, sizeof err);
if(strcmp(err, "interrupted") == 0)
goto loop;
error("wait");
@@ -47,7 +50,7 @@
add("%ld.%.2ldu", l/1000, (l%1000)/10);
l = w->time[1];
add("%ld.%.2lds", l/1000, (l%1000)/10);
- l = w->time[2];
+ l = (t1-t0)/1000000;
add("%ld.%.2ldr", l/1000, (l%1000)/10);
add("\t");
for(i=1; i<argc; i++){