Browse Source

Plan 9 from Bell Labs 2005-04-13

David du Colombier 19 years ago
parent
commit
74c468f7cf

+ 12 - 12
dist/replica/_plan9.db

@@ -502,7 +502,7 @@
 386/bin/webfs - 775 sys sys 1109132011 349163
 386/bin/webfsget - 775 sys sys 1104122092 39143
 386/bin/wikifs - 775 sys sys 1108354569 201169
-386/bin/winwatch - 775 sys sys 1112414831 143405
+386/bin/winwatch - 775 sys sys 1113275271 153740
 386/bin/xd - 775 sys sys 1104122093 64039
 386/bin/xmr - 775 sys sys 1104122093 40157
 386/bin/xms - 775 sys sys 1104122093 40735
@@ -627,7 +627,7 @@ acme/bin/386/acd - 775 sys sys 1032232412 137068
 acme/bin/386/adict - 775 sys sys 1015011247 99806
 acme/bin/386/mkwnew - 775 sys sys 1104122115 38959
 acme/bin/386/spout - 775 sys sys 1104122116 61617
-acme/bin/386/win - 775 sys sys 1108354570 178845
+acme/bin/386/win - 775 sys sys 1113275271 178845
 acme/bin/Battery - 775 sys sys 1017457907 451
 acme/bin/Isspam - 775 sys sys 1063951165 235
 acme/bin/Perl - 775 sys sys 1015011260 230
@@ -7558,7 +7558,7 @@ sys/src/cmd/fax/receiverc - 775 sys sys 944960990 581
 sys/src/cmd/fax/send.c - 664 sys sys 944960990 923
 sys/src/cmd/fax/subr.c - 664 sys sys 1015090401 1245
 sys/src/cmd/fcp.c - 644 sys sys 1110816880 3780
-sys/src/cmd/file.c - 664 sys sys 1112972205 23328
+sys/src/cmd/file.c - 664 sys sys 1113312632 23324
 sys/src/cmd/fmt.c - 664 sys sys 1070032009 4088
 sys/src/cmd/fortune.c - 664 sys sys 1072729222 1779
 sys/src/cmd/fossil - 20000000775 sys sys 1042005512 0
@@ -11187,10 +11187,10 @@ sys/src/cmd/wikifs/testwrite.c - 664 sys sys 1018211093 818
 sys/src/cmd/wikifs/tohtml.c - 664 sys sys 1113252121 14301
 sys/src/cmd/wikifs/util.c - 664 sys sys 1018211093 1807
 sys/src/cmd/wikifs/wdir.c - 664 sys sys 1018211094 876
-sys/src/cmd/wikifs/wiki.h - 664 sys sys 1018323492 1891
+sys/src/cmd/wikifs/wiki.h - 664 sys sys 1113275619 1897
 sys/src/cmd/wikifs/wiki2html.c - 664 sys sys 1018211094 815
 sys/src/cmd/wikifs/wiki2text.c - 664 sys sys 1018211094 779
-sys/src/cmd/winwatch.c - 664 sys sys 1113252107 4853
+sys/src/cmd/winwatch.c - 664 sys sys 1113312596 4869
 sys/src/cmd/xd.c - 664 sys sys 944961355 5735
 sys/src/cmd/yacc.c - 664 sys sys 984717754 57876
 sys/src/fs - 20000000775 sys sys 1015110109 0
@@ -11336,7 +11336,7 @@ sys/src/games/music/icon/stop.bit - 644 sys sys 1103793917 143
 sys/src/games/music/icon/trash.bit - 644 sys sys 1103793917 143
 sys/src/games/music/juke.rc - 664 sys sys 1103793915 1352
 sys/src/games/music/jukebox - 20000000775 sys sys 1103794221 0
-sys/src/games/music/jukebox/client.c - 664 sys sys 1105531439 2737
+sys/src/games/music/jukebox/client.c - 664 sys sys 1113342090 2713
 sys/src/games/music/jukebox/client.h - 664 sys sys 1103793917 248
 sys/src/games/music/jukebox/colors.c - 664 sys sys 1103793918 3819
 sys/src/games/music/jukebox/colors.h - 664 sys sys 1103793918 692
@@ -11351,14 +11351,14 @@ sys/src/games/music/jukefs/catset.h - 664 sys sys 1103793919 251
 sys/src/games/music/jukefs/fs.c - 664 sys sys 1103793920 12708
 sys/src/games/music/jukefs/mk.dep - 664 sys sys 1103793920 759
 sys/src/games/music/jukefs/mkfile - 664 sys sys 1103793920 225
-sys/src/games/music/jukefs/object.h - 664 sys sys 1103793920 2068
-sys/src/games/music/jukefs/parse.c - 664 sys sys 1112972626 14090
+sys/src/games/music/jukefs/object.h - 664 sys sys 1113342073 2067
+sys/src/games/music/jukefs/parse.c - 664 sys sys 1113342059 14073
 sys/src/games/music/jukefs/parse.h - 664 sys sys 1103793921 418
 sys/src/games/music/jukefs/print.c - 664 sys sys 1103793921 9016
 sys/src/games/music/jukefs/print.h - 664 sys sys 1103793921 174
 sys/src/games/music/jukefs/search.c - 664 sys sys 1103793921 1058
 sys/src/games/music/jukefs/search.h - 664 sys sys 1103793921 101
-sys/src/games/music/jukefs/server.c - 664 sys sys 1112972626 3544
+sys/src/games/music/jukefs/server.c - 664 sys sys 1113342063 3648
 sys/src/games/music/missing - 775 sys sys 1103793915 72
 sys/src/games/music/mkfile - 664 sys sys 1103793915 723
 sys/src/games/music/mkinc - 664 sys sys 1103793915 92
@@ -12477,6 +12477,6 @@ usr/glenda/lib/profile - 664 glenda glenda 1105128663 890
 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/winwatch - 775 sys sys 1113275271 153740
-acme/bin/386/win - 775 sys sys 1113275271 178845
-sys/src/cmd/wikifs/wiki.h - 664 sys sys 1113275619 1897
+386/bin/wikifs - 775 sys sys 1113361803 201588
+386/bin/file - 775 sys sys 1113361802 112820
+386/bin/winwatch - 775 sys sys 1113361803 153750

+ 9 - 9
dist/replica/plan9.db

@@ -224,7 +224,7 @@
 386/bin/faces - 775 sys sys 1106799174 192579
 386/bin/factor - 775 sys sys 1104122008 61475
 386/bin/fcp - 775 sys sys 1110859785 82162
-386/bin/file - 775 sys sys 1113016150 112820
+386/bin/file - 775 sys sys 1113361802 112820
 386/bin/fmt - 775 sys sys 1104122009 65301
 386/bin/fortune - 775 sys sys 1104122009 67136
 386/bin/fossil - 20000000775 sys sys 1042005470 0
@@ -501,8 +501,8 @@
 386/bin/webcookies - 775 sys sys 1108354568 161505
 386/bin/webfs - 775 sys sys 1109132011 349163
 386/bin/webfsget - 775 sys sys 1104122092 39143
-386/bin/wikifs - 775 sys sys 1108354569 201169
-386/bin/winwatch - 775 sys sys 1113275271 153740
+386/bin/wikifs - 775 sys sys 1113361803 201588
+386/bin/winwatch - 775 sys sys 1113361803 153750
 386/bin/xd - 775 sys sys 1104122093 64039
 386/bin/xmr - 775 sys sys 1104122093 40157
 386/bin/xms - 775 sys sys 1104122093 40735
@@ -7558,7 +7558,7 @@ sys/src/cmd/fax/receiverc - 775 sys sys 944960990 581
 sys/src/cmd/fax/send.c - 664 sys sys 944960990 923
 sys/src/cmd/fax/subr.c - 664 sys sys 1015090401 1245
 sys/src/cmd/fcp.c - 644 sys sys 1110816880 3780
-sys/src/cmd/file.c - 664 sys sys 1112972205 23328
+sys/src/cmd/file.c - 664 sys sys 1113312632 23324
 sys/src/cmd/fmt.c - 664 sys sys 1070032009 4088
 sys/src/cmd/fortune.c - 664 sys sys 1072729222 1779
 sys/src/cmd/fossil - 20000000775 sys sys 1042005512 0
@@ -11190,7 +11190,7 @@ sys/src/cmd/wikifs/wdir.c - 664 sys sys 1018211094 876
 sys/src/cmd/wikifs/wiki.h - 664 sys sys 1113275619 1897
 sys/src/cmd/wikifs/wiki2html.c - 664 sys sys 1018211094 815
 sys/src/cmd/wikifs/wiki2text.c - 664 sys sys 1018211094 779
-sys/src/cmd/winwatch.c - 664 sys sys 1113252107 4853
+sys/src/cmd/winwatch.c - 664 sys sys 1113312596 4869
 sys/src/cmd/xd.c - 664 sys sys 944961355 5735
 sys/src/cmd/yacc.c - 664 sys sys 984717754 57876
 sys/src/fs - 20000000775 sys sys 1015110109 0
@@ -11336,7 +11336,7 @@ sys/src/games/music/icon/stop.bit - 644 sys sys 1103793917 143
 sys/src/games/music/icon/trash.bit - 644 sys sys 1103793917 143
 sys/src/games/music/juke.rc - 664 sys sys 1103793915 1352
 sys/src/games/music/jukebox - 20000000775 sys sys 1103794221 0
-sys/src/games/music/jukebox/client.c - 664 sys sys 1105531439 2737
+sys/src/games/music/jukebox/client.c - 664 sys sys 1113342090 2713
 sys/src/games/music/jukebox/client.h - 664 sys sys 1103793917 248
 sys/src/games/music/jukebox/colors.c - 664 sys sys 1103793918 3819
 sys/src/games/music/jukebox/colors.h - 664 sys sys 1103793918 692
@@ -11351,14 +11351,14 @@ sys/src/games/music/jukefs/catset.h - 664 sys sys 1103793919 251
 sys/src/games/music/jukefs/fs.c - 664 sys sys 1103793920 12708
 sys/src/games/music/jukefs/mk.dep - 664 sys sys 1103793920 759
 sys/src/games/music/jukefs/mkfile - 664 sys sys 1103793920 225
-sys/src/games/music/jukefs/object.h - 664 sys sys 1103793920 2068
-sys/src/games/music/jukefs/parse.c - 664 sys sys 1112972626 14090
+sys/src/games/music/jukefs/object.h - 664 sys sys 1113342073 2067
+sys/src/games/music/jukefs/parse.c - 664 sys sys 1113342059 14073
 sys/src/games/music/jukefs/parse.h - 664 sys sys 1103793921 418
 sys/src/games/music/jukefs/print.c - 664 sys sys 1103793921 9016
 sys/src/games/music/jukefs/print.h - 664 sys sys 1103793921 174
 sys/src/games/music/jukefs/search.c - 664 sys sys 1103793921 1058
 sys/src/games/music/jukefs/search.h - 664 sys sys 1103793921 101
-sys/src/games/music/jukefs/server.c - 664 sys sys 1112972626 3544
+sys/src/games/music/jukefs/server.c - 664 sys sys 1113342063 3648
 sys/src/games/music/missing - 775 sys sys 1103793915 72
 sys/src/games/music/mkfile - 664 sys sys 1103793915 723
 sys/src/games/music/mkinc - 664 sys sys 1103793915 92

+ 9 - 0
dist/replica/plan9.log

@@ -14128,3 +14128,12 @@
 1113276701 0 c 386/bin/winwatch - 775 sys sys 1113275271 153740
 1113276701 1 c acme/bin/386/win - 775 sys sys 1113275271 178845
 1113276701 2 c sys/src/cmd/wikifs/wiki.h - 664 sys sys 1113275619 1897
+1113312707 0 c sys/src/cmd/winwatch.c - 664 sys sys 1113312596 4869
+1113312707 1 c sys/src/cmd/file.c - 664 sys sys 1113312632 23324
+1113343314 0 c sys/src/games/music/jukebox/client.c - 664 sys sys 1113342090 2713
+1113343314 1 c sys/src/games/music/jukefs/object.h - 664 sys sys 1113342073 2067
+1113343314 2 c sys/src/games/music/jukefs/parse.c - 664 sys sys 1113342059 14073
+1113343314 3 c sys/src/games/music/jukefs/server.c - 664 sys sys 1113342063 3648
+1113363117 0 c 386/bin/wikifs - 775 sys sys 1113361803 201588
+1113363117 1 c 386/bin/file - 775 sys sys 1113361802 112820
+1113363117 2 c 386/bin/winwatch - 775 sys sys 1113361803 153750

+ 1 - 1
sys/src/cmd/file.c

@@ -523,7 +523,7 @@ Filemagic long0tab[] = {
 	0x04034B50,	0xFFFFFFFF,	"zip archive\n", "application/zip",
 	070707,		0xFFFF,		"cpio archive\n", OCTET,
 	0x2F7,		0xFFFF,		"tex dvi\n", "application/dvi",
-	0xfffa0000,	0xfffe0000,	"mp3 audio",	"audio/mpeg",
+	0xfaff,		0xfeff,		"mp3 audio\n",	"audio/mpeg",
 };
 
 int

+ 1 - 1
sys/src/cmd/winwatch.c

@@ -150,7 +150,7 @@ geometry(void)
 	z = 0;
 	rows = (Dy(screen->r)-2*MARGIN+PAD)/(font->height+PAD);
 	if(rows*cols < nwin || rows*cols >= nwin*2){
-		ncols = (nwin+rows-1)/rows;
+		ncols = nwin <= 0 ? 1 : (nwin+rows-1)/rows;
 		if(ncols != cols){
 			cols = ncols;
 			z = 1;

+ 23 - 15
sys/src/games/music/jukebox/client.c

@@ -17,22 +17,24 @@ getroot(void)
 void
 fillbrowsebot(char *onum)
 {
-	char name[256], *p, *q;
+	char *name, *p, *q;
 	Biobuf *b, *d;
 	int c;
 
-	snprint(name, sizeof name, "%s/%s/children", srvmount, onum);
+	name = smprint("%s/%s/children", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
-abort();//		sysfatal("getchildren: %s: %r", name);
+		sysfatal("getchildren: %s: %r", name);
+	free(name);
 	while(p = Brdline(b, '\n')){
 		c = strtol(p, &q, 0);
 		assert(*q == '\n');
 		*q = 0;
-		snprint(name, sizeof name, "%s/%d/type", srvmount, c);
+		name = smprint("%s/%d/type", srvmount, c);
 		d = Bopen(name, OREAD);
 		if(d == nil)
 			sysfatal("getchildren: %s: %r", name);
+		free(name);
 		q = Brdstr(d, '\n', 1);
 		if(q == nil){
 			abort();
@@ -40,10 +42,11 @@ abort();//		sysfatal("getchildren: %s: %r", name);
 		Bterm(d);
 		if(strcmp(q, "performance") == 0)
 			continue;
-		snprint(name, sizeof name, "%s/%d/digest", srvmount, c);
+		name = smprint("%s/%d/digest", srvmount, c);
 		d = Bopen(name, OREAD);
 		if(d == nil)
 			sysfatal("getchildren: %s: %r", name);
+		free(name);
 		q = Brdstr(d, '\n', 1);
 		if(q == nil){
 			Bterm(d);
@@ -57,11 +60,11 @@ abort();//		sysfatal("getchildren: %s: %r", name);
 
 void
 doplay(char *onum){
-	char name[256], *p, *q;
+	char *name, *p, *q;
 	Biobuf *b;
 	int m;
 
-	snprint(name, sizeof name, "%s/%s/files", srvmount, onum);
+	name = smprint("%s/%s/files", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
 abort();//		sysfatal("doplay: %s: %r", name);
@@ -75,20 +78,22 @@ abort();//		sysfatal("doplay: %s: %r", name);
 		*q++ = '\0';
 		sendplaylist(strdup(q), strdup(p));
 	}
+	free(name);
 	Bterm(b);
 }
 
 void
 fillbrowsetop(char *onum)
 {
-	char name[256], *p;
+	char *name, *p;
 	Biobuf *b;
 	int m;
 
-	snprint(name, sizeof name, "%s/%s/parentage", srvmount, onum);
+	name = smprint("%s/%s/parentage", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
 abort();//		sysfatal("gettopwin: %s: %r", name);
+	free(name);
 	while(p = Brdline(b, '\n')){
 		m = Blinelen(b);
 		assert(p[m-1] == '\n');
@@ -101,14 +106,15 @@ abort();//		sysfatal("gettopwin: %s: %r", name);
 void
 fillplaytext(char *onum)
 {
-	char name[256], *p;
+	char *name, *p;
 	Biobuf *b;
 	int m;
 
-	snprint(name, sizeof name, "%s/%s/parentage", srvmount, onum);
+	name = smprint("%s/%s/parentage", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
 		sysfatal("fillplaytext: %s: %r", name);
+	free(name);
 	while(p = Brdline(b, '\n')){
 		m = Blinelen(b);
 		assert(p[m-1] == '\n');
@@ -121,13 +127,14 @@ fillplaytext(char *onum)
 char *
 getoneliner(char *onum)
 {
-	char name[256], *p;
+	char *name, *p;
 	Biobuf *b;
 
-	snprint(name, sizeof name, "%s/%s/miniparentage", srvmount, onum);
+	name = smprint("%s/%s/miniparentage", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
 		sysfatal("gettopwin: %s: %r", name);
+	free(name);
 	p = Brdstr(b, '\n', 1);
 	Bterm(b);
 	return p;
@@ -136,13 +143,14 @@ getoneliner(char *onum)
 char *
 getparent(char *onum)
 {
-	char name[256], *p;
+	char *name, *p;
 	Biobuf *b;
 
-	snprint(name, sizeof name, "%s/%s/parent", srvmount, onum);
+	name = smprint("%s/%s/parent", srvmount, onum);
 	b = Bopen(name, OREAD);
 	if(b == nil)
 abort();//		sysfatal("gettopwin: %s: %r", name);
+	free(name);
 	p = Brdstr(b, '\n', 1);
 	Bterm(b);
 	return p;

+ 1 - 1
sys/src/games/music/jukefs/object.h

@@ -92,7 +92,7 @@ extern	Token	*tokenlist;
 extern	int	ncat;
 extern	Object	**catobjects;
 extern	Biobuf	*f;
-extern	char	file[];
+extern	char	*file;
 extern	Object	*root;
 extern	int	ntoken;
 

+ 7 - 6
sys/src/games/music/jukefs/parse.c

@@ -11,7 +11,7 @@
 
 Biobuf *f;
 static int str;
-char file[256];
+char *file;
 
 Token tokenlistinit[] = {
 	{ "category",	Obj,	Category	, "music"	, {nil,0}},
@@ -165,7 +165,7 @@ getobject(Type t, Object *parent)
 	o->flags |= Hier;
 	if(parent == nil){
 		root = o;
-		o->path = startdir;
+		o->path = strdup(startdir);
 		setmalloctag(o->path, 0x100001);
 	}
 	if(gettoken(token) != BraceO)
@@ -372,7 +372,7 @@ getinclude(Object *o)
 {
 		char *savetext;
 		Biobuf *savef = f;
-		char savefile[256], fname[256];
+		char *savefile, fname[256];
 		Object *oo;
 		int savestr = str;
 		char token[MAXTOKEN], *dirname, *filename;
@@ -384,10 +384,10 @@ getinclude(Object *o)
 			setmalloctag(savetext, 0x100006);
 		}else
 			savetext = nil;
-		strncpy(savefile, file, 256);
 		if((f = Bopen(o->value, OREAD)) == nil)
 			sysfatal("getinclude: %s: %r", o->value);
-		strncpy(file, o->value, 256);
+		savefile = file;
+		file = strdup(o->value);
 		strncpy(fname, o->value, 256);
 		if((filename = strrchr(fname, '/'))){
 			*filename = 0;
@@ -417,7 +417,8 @@ getinclude(Object *o)
 		curtext = nil;
 		if(savetext)
 			curtext = savetext;
-		strncpy(file, savefile, 256);
+		free(file);
+		file = savefile;
 		str = savestr;
 		Bterm(f);
 		f = savef;

+ 16 - 8
sys/src/games/music/jukefs/server.c

@@ -14,7 +14,7 @@ int		p[2];
 int		mfd[2];
 int		debug = 0; //DBGSERVER|DBGSTATE|DBGPICKLE|DBGPLAY;
 Biobuf		*f;
-char		file[64];
+char		*file;
 
 Object *root;
 
@@ -131,11 +131,15 @@ threadmain(int argc, char *argv[]) {
 
 	if((f = Bopen(mapname, OREAD)) == nil)
 		sysfatal("%s: %r", mapname);
+	free(file);
 	file = strdup(mapname);
-	if ((q = strrchr(file, '/'))) *q = 0;
+	free(startdir);
+	startdir = strdup(mapname);
+	if ((q = strrchr(startdir, '/')))
+		*q = '\0';
+	else
+		startdir[0] = '\0';
 	inittokenlist();
-	startdir = strdup(q?file:"");
-	free(file);
 	getobject(Root, nil);
 	Bterm(f);
 	f = nil;
@@ -180,7 +184,7 @@ reread(void)
 
 	assert(f == nil);
 	if((f = Bopen(mapname, OREAD)) == nil)
-		fprint(2, "reread: %s: %r\n", file);
+		fprint(2, "reread: %s: %r\n", mapname);
 	freetree(root);
 	root = nil;
 	for(i = 0; i< ntoken; i++){
@@ -195,10 +199,14 @@ reread(void)
 	tokenlist = nil;
 	ntoken = Ntoken;
 	inittokenlist();
-	file = strdup(mapname);
-	if ((q = strrchr(file, '/'))) *q = 0;
-	startdir = strdup(q?file:"");
 	free(file);
+	file = strdup(mapname);
+	free(startdir);
+	startdir = strdup(mapname);
+	if ((q = strrchr(startdir, '/')))
+		*q = '\0';
+	else
+		startdir[0] = '\0';
 	getobject(Root, nil);
 	root->parent = root;
 	Bterm(f);