apple
diff --git a/src/cmd/acidtypes/stabs.c b/src/cmd/acidtypes/stabs.c
index bd6e718..51d71c4 100644
--- a/src/cmd/acidtypes/stabs.c
+++ b/src/cmd/acidtypes/stabs.c
@@ -146,6 +146,7 @@
 	Type *t;
 	char *attr;
 
+	n1 = n2 = 0;
 	parsenum(desc, &n1, &n2, &desc);
 	t = typebynum(n1, n2);
 	if(*desc != '='){
diff --git a/src/cmd/acme/edit.c b/src/cmd/acme/edit.c
index ccc7f58..7bccd3a 100644
--- a/src/cmd/acme/edit.c
+++ b/src/cmd/acme/edit.c
@@ -605,6 +605,7 @@
 	Addr addr;
 	Addr *ap, *nap;
 
+	addr.num = 0;
 	addr.next = 0;
 	addr.u.left = 0;
 	switch(cmdskipbl()){
diff --git a/src/cmd/acme/look.c b/src/cmd/acme/look.c
index 000b340..c22213f 100644
--- a/src/cmd/acme/look.c
+++ b/src/cmd/acme/look.c
@@ -696,6 +696,8 @@
 	Rune *rp;
 	uint dummy;
 
+	r.q0 = 0;
+	r.q1 = 0;
 	if(e->nname == 0){
 		w = t->w;
 		if(w == nil)
diff --git a/src/cmd/auxstats/Darwin.c b/src/cmd/auxstats/Darwin.c
index da6c2a2..46ba5cb 100644
--- a/src/cmd/auxstats/Darwin.c
+++ b/src/cmd/auxstats/Darwin.c
@@ -83,6 +83,7 @@
 void
 xnet(int first)
 {
+#if 0
 	ulong out, in, outb, inb, err;
 	static ulong ifnetaddr;
 	ulong addr;
@@ -123,6 +124,8 @@
 	Bprint(&bout, "ethererr %lud\n", err);
 	Bprint(&bout, "ether %lud\n", in+out);
 	Bprint(&bout, "etherb %lud\n", inb+outb);
+#endif
+	USED(first);
 }
 
 
diff --git a/src/cmd/ed.c b/src/cmd/ed.c
index f44acb0..60ba83c 100644
--- a/src/cmd/ed.c
+++ b/src/cmd/ed.c
@@ -929,7 +929,7 @@
 	*p = 0;
 	pid = fork();
 	if(pid == 0) {
-		execlp("rc", "rc", "-c", buf, 0);
+		execlp("rc", "rc", "-c", buf, (char*)0);
 		sysfatal("exec failed: %r");
 		exits("execl failed");
 	}
diff --git a/src/cmd/hist.c b/src/cmd/hist.c
index 6fa0da9..46fd3f8 100644
--- a/src/cmd/hist.c
+++ b/src/cmd/hist.c
@@ -144,7 +144,7 @@
 				print("diff %s %s\n", pair[toggle^1], pair[toggle]);
 			switch(rfork(RFFDG|RFPROC)){
 			case 0:
-				execlp("diff", "diff", diffb ? "-cb" : "-c", pair[toggle], pair[toggle ^ 1], 0);
+				execlp("diff", "diff", diffb ? "-cb" : "-c", pair[toggle], pair[toggle ^ 1], (char*)0);
 				fprint(2, "can't exec diff: %r\n");
 				exits(0);
 			case -1:
diff --git a/src/cmd/pic/pltroff.c b/src/cmd/pic/pltroff.c
index d3e3151..8f3d5ac 100644
--- a/src/cmd/pic/pltroff.c
+++ b/src/cmd/pic/pltroff.c
@@ -144,11 +144,6 @@
 	vpos = n;
 }
 
-double fabs(double x)
-{
-	return x < 0 ? -x : x;
-}
-
 void hvflush(void)	/* get to proper point for output */
 {
 	if (fabs(hpos-htrue) >= 0.0005) {
diff --git a/src/cmd/postscript/tr2post/Bgetfield.c b/src/cmd/postscript/tr2post/Bgetfield.c
index fc0dfc1..d976b40 100644
--- a/src/cmd/postscript/tr2post/Bgetfield.c
+++ b/src/cmd/postscript/tr2post/Bgetfield.c
@@ -108,7 +108,7 @@
 		while (!bailout && (r = Bgetrune(bp))>=0) {
 			switch (sindex++) {
 			case 0:
-				if (*c == '0') {
+				if (r == '0') {
 					base = 8;
 					continue;
 				}