Browse Source

Plan 9 from Bell Labs 2004-08-02

David du Colombier 20 years ago
parent
commit
b0f80b8bec
4 changed files with 25 additions and 15 deletions
  1. 4 5
      dist/replica/_plan9.db
  2. 4 4
      dist/replica/plan9.db
  3. 4 0
      dist/replica/plan9.log
  4. 13 6
      sys/src/cmd/du.c

+ 4 - 5
dist/replica/_plan9.db

@@ -453,9 +453,9 @@
 386/bin/upas/unspam - 775 sys sys 1064598367 38
 386/bin/upas/vf - 775 sys sys 1087873352 90619
 386/bin/usb - 20000000775 sys sys 1019538890 0
-386/bin/usb/usbaudio - 775 sys sys 1091242967 183443
+386/bin/usb/usbaudio - 775 sys sys 1091331846 183070
 386/bin/usb/usbd - 775 sys sys 1091242967 127455
-386/bin/usb/usbmouse - 775 sys sys 1085077119 138047
+386/bin/usb/usbmouse - 775 sys sys 1091331846 137865
 386/bin/usb/usbprinter - 775 sys sys 1089408719 222
 386/bin/vac - 775 sys sys 1085077119 167554
 386/bin/vacfs - 775 sys sys 1085077120 172959
@@ -7411,7 +7411,7 @@ sys/src/cmd/dossrv/lock.c - 664 sys sys 954305577 504
 sys/src/cmd/dossrv/mkfile - 664 sys sys 1032057270 310
 sys/src/cmd/dossrv/xfile.c - 664 sys sys 1017679315 4391
 sys/src/cmd/dossrv/xfssrv.c - 664 sys sys 1018323479 3397
-sys/src/cmd/du.c - 664 sys sys 1067719067 3144
+sys/src/cmd/du.c - 664 sys sys 1091379562 3302
 sys/src/cmd/echo.c - 664 sys sys 1081736344 581
 sys/src/cmd/ed.c - 664 sys sys 1055698917 21942
 sys/src/cmd/eqn - 20000000775 sys sys 944960990 0
@@ -12335,5 +12335,4 @@ usr/glenda/lib/profile - 664 glenda glenda 1021580005 847
 usr/glenda/readme.acme - 664 glenda glenda 1019860628 4753
 usr/glenda/readme.rio - 664 glenda glenda 1019860628 6370
 usr/glenda/tmp - 20000000775 glenda glenda 1018802620 0
-386/bin/usb/usbaudio - 775 sys sys 1091329730 183070
-386/bin/usb/usbmouse - 775 sys sys 1091329730 137865
+386/bin/du - 775 sys sys 1091416192 71534

+ 4 - 4
dist/replica/plan9.db

@@ -211,7 +211,7 @@
 386/bin/disk/prep - 775 sys sys 1085077037 95880
 386/bin/disk/sacfs - 775 sys sys 1020319075 79882
 386/bin/dossrv - 775 sys sys 1085077037 136028
-386/bin/du - 775 sys sys 1085077037 68337
+386/bin/du - 775 sys sys 1091416192 71534
 386/bin/echo - 775 sys sys 1085077038 55323
 386/bin/ed - 775 sys sys 1085077038 91066
 386/bin/eqn - 775 sys sys 1087442511 242933
@@ -453,9 +453,9 @@
 386/bin/upas/unspam - 775 sys sys 1064598367 38
 386/bin/upas/vf - 775 sys sys 1087873352 90619
 386/bin/usb - 20000000775 sys sys 1019538890 0
-386/bin/usb/usbaudio - 775 sys sys 1091329730 183070
+386/bin/usb/usbaudio - 775 sys sys 1091331846 183070
 386/bin/usb/usbd - 775 sys sys 1091242967 127455
-386/bin/usb/usbmouse - 775 sys sys 1091329730 137865
+386/bin/usb/usbmouse - 775 sys sys 1091331846 137865
 386/bin/usb/usbprinter - 775 sys sys 1089408719 222
 386/bin/vac - 775 sys sys 1085077119 167554
 386/bin/vacfs - 775 sys sys 1085077120 172959
@@ -7411,7 +7411,7 @@ sys/src/cmd/dossrv/lock.c - 664 sys sys 954305577 504
 sys/src/cmd/dossrv/mkfile - 664 sys sys 1032057270 310
 sys/src/cmd/dossrv/xfile.c - 664 sys sys 1017679315 4391
 sys/src/cmd/dossrv/xfssrv.c - 664 sys sys 1018323479 3397
-sys/src/cmd/du.c - 664 sys sys 1067719067 3144
+sys/src/cmd/du.c - 664 sys sys 1091379562 3302
 sys/src/cmd/echo.c - 664 sys sys 1081736344 581
 sys/src/cmd/ed.c - 664 sys sys 1055698917 21942
 sys/src/cmd/eqn - 20000000775 sys sys 944960990 0

+ 4 - 0
dist/replica/plan9.log

@@ -16395,3 +16395,7 @@
 1091327522 0 c sys/src/cmd/usb/mkfile - 664 sys sys 1091327562 354
 1091331123 0 c 386/bin/usb/usbaudio - 775 sys sys 1091329730 183070
 1091331123 1 c 386/bin/usb/usbmouse - 775 sys sys 1091329730 137865
+1091332923 0 c 386/bin/usb/usbaudio - 775 sys sys 1091331846 183070
+1091332923 1 c 386/bin/usb/usbmouse - 775 sys sys 1091331846 137865
+1091379612 0 c sys/src/cmd/du.c - 664 sys sys 1091379562 3302
+1091417419 0 c 386/bin/du - 775 sys sys 1091416192 71534

+ 13 - 6
sys/src/cmd/du.c

@@ -1,5 +1,6 @@
 #include <u.h>
 #include <libc.h>
+#include <String.h>
 
 extern	vlong	du(char*, Dir*);
 extern	vlong	k(vlong);
@@ -74,7 +75,7 @@ du(char *name, Dir *dir)
 {
 	int fd, i, n;
 	Dir *buf, *d;
-	char file[256];
+	String *file;
 	vlong nk, t;
 
 	if(dir == nil)
@@ -95,7 +96,9 @@ du(char *name, Dir *dir)
 					t = k(d->length);
 					nk += t;
 					if(aflag) {
-						sprint(file, "%s/%s", name, d->name);
+						file = s_copy(name);
+						s_append(file, "/");
+						s_append(file, d->name);
 						if(tflag) {
 							t = d->mtime;
 							if(uflag)
@@ -103,7 +106,8 @@ du(char *name, Dir *dir)
 						}
 						if(qflag)
 							t = d->qid.path;
-						print(fmt, t, file);
+						print(fmt, t, s_to_c(file));
+						s_free(file);
 					}
 					continue;
 				}
@@ -111,8 +115,10 @@ du(char *name, Dir *dir)
 				   strcmp(d->name, "..") == 0 ||
 				   seen(d))
 					continue;
-				sprint(file, "%s/%s", name, d->name);
-				t = du(file, d);
+				file = s_copy(name);
+				s_append(file, "/");
+				s_append(file, d->name);
+				t = du(s_to_c(file), d);
 				nk += t;
 				if(tflag) {
 					t = d->mtime;
@@ -122,7 +128,8 @@ du(char *name, Dir *dir)
 				if(qflag)
 					t = d->qid.path;
 				if(!sflag)
-					print(fmt, t, file);
+					print(fmt, t, s_to_c(file));
+				s_free(file);
 			}
 			free(buf);
 		}