silence various warnings
diff --git a/src/cmd/9p.c b/src/cmd/9p.c
index bace6d0..99033bc 100644
--- a/src/cmd/9p.c
+++ b/src/cmd/9p.c
@@ -336,10 +336,8 @@
 	if((long)(time0-u) < 6*30*86400)
 		return fmtprint(fmt, "%s %2d %02d:%02d",
 			mon[tm->mon], tm->mday, tm->hour, tm->min);
-	else
-		return fmtprint(fmt, "%s %2d %5d",
-			mon[tm->mon], tm->mday, tm->year+1900);
-	return 0;
+	return fmtprint(fmt, "%s %2d %5d",
+		mon[tm->mon], tm->mday, tm->year+1900);
 }
 
 static int
diff --git a/src/cmd/auth/factotum/conv.c b/src/cmd/auth/factotum/conv.c
index a39abff..cd9d504 100644
--- a/src/cmd/auth/factotum/conv.c
+++ b/src/cmd/auth/factotum/conv.c
@@ -105,7 +105,7 @@
 			return &c->rpc;
 		rpcrespond(c, "phase in state '%s' want '%s'", c->state, rpcname[want]);
 	}
-	return nil;	/* not reached */
+	/* not reached */
 }
 
 /* read until the done function tells us that's enough */
diff --git a/src/cmd/auth/factotum/fs.c b/src/cmd/auth/factotum/fs.c
index 698d330..5e3a64e 100644
--- a/src/cmd/auth/factotum/fs.c
+++ b/src/cmd/auth/factotum/fs.c
@@ -159,7 +159,7 @@
 		a += n;
 		off++;
 	}
-	return -1;		/* not reached */
+	/* not reached */
 }
 
 static int
diff --git a/src/cmd/lex/ncform b/src/cmd/lex/ncform
index 6571735..64740ae 100644
--- a/src/cmd/lex/ncform
+++ b/src/cmd/lex/ncform
@@ -157,7 +157,7 @@
 		if(debug)putchar('\n');
 # endif
 		}
-	return(0);	/* shut up the compiler; i have no idea what should be returned */
+	/* not reached */
 	}
 int
 yyback(int *p, int m)
diff --git a/src/cmd/listen1.c b/src/cmd/listen1.c
index 0f9762f..a9e1a0a 100644
--- a/src/cmd/listen1.c
+++ b/src/cmd/listen1.c
@@ -102,5 +102,4 @@
 			break;
 		}
 	}
-	exits(nil);
 }
diff --git a/src/cmd/proof/screen.c b/src/cmd/proof/screen.c
index dccfe01..a9a7ef1 100644
--- a/src/cmd/proof/screen.c
+++ b/src/cmd/proof/screen.c
@@ -88,7 +88,6 @@
 			}
 		}
 	}
-	return nil;
 }
 
 static char *
diff --git a/src/cmd/spell/sprog.c b/src/cmd/spell/sprog.c
index 971848e..0fe6794 100644
--- a/src/cmd/spell/sprog.c
+++ b/src/cmd/spell/sprog.c
@@ -591,7 +591,6 @@
 		} else if(affix[0] != 0 && affix[0] != '.')
 			print("%s\t%s\n", affix, original);
 	}
-	exits(0);
 }
 
 /*	strip exactly one suffix and do
diff --git a/src/cmd/venti/srv/dat.h b/src/cmd/venti/srv/dat.h
index 5f6d1a3..37c3a05 100644
--- a/src/cmd/venti/srv/dat.h
+++ b/src/cmd/venti/srv/dat.h
@@ -75,17 +75,17 @@
 	/*
 	 * magic numbers on disk
 	 */
-	_ClumpMagic		= 0xd15cb10c,	/* clump header, deprecated */
+	_ClumpMagic		= 0xd15cb10cU,	/* clump header, deprecated */
 	ClumpFreeMagic		= 0,		/* free clump; terminates active clump log */
 
-	ArenaPartMagic		= 0xa9e4a5e7,	/* arena partition header */
-	ArenaMagic		= 0xf2a14ead,	/* arena trailer */
-	ArenaHeadMagic		= 0xd15c4ead,	/* arena header */
+	ArenaPartMagic		= 0xa9e4a5e7U,	/* arena partition header */
+	ArenaMagic		= 0xf2a14eadU,	/* arena trailer */
+	ArenaHeadMagic		= 0xd15c4eadU,	/* arena header */
 	
-	BloomMagic		= 0xb1004ead,	/* bloom filter header */
+	BloomMagic		= 0xb1004eadU,	/* bloom filter header */
 	BloomMaxHash	= 32,
 
-	ISectMagic		= 0xd15c5ec7,	/* index header */
+	ISectMagic		= 0xd15c5ec7U,	/* index header */
 
 	ArenaPartVersion	= 3,
 	ArenaVersion4		= 4,
diff --git a/src/libauthsrv/passtokey.c b/src/libauthsrv/passtokey.c
index 8e267ce..cde9a24 100644
--- a/src/libauthsrv/passtokey.c
+++ b/src/libauthsrv/passtokey.c
@@ -29,5 +29,4 @@
 		}
 		encrypt(key, t, 8);
 	}
-	return 1;	/* not reached */
 }
diff --git a/src/libhttpd/parse.c b/src/libhttpd/parse.c
index de37f91..f03e9c3 100644
--- a/src/libhttpd/parse.c
+++ b/src/libhttpd/parse.c
@@ -348,7 +348,6 @@
 		}
 		lex(h);
 	}
-	return head;
 }
 
 /*
@@ -387,7 +386,6 @@
 		if(lex(h) != ',')
 			return head;
 	}
-	return head;
 }
 
 /*
@@ -840,8 +838,7 @@
 		}
 		return Word;
 	}
-	goto top;
-	return 0;
+	/* not reached */
 }
 
 /*
diff --git a/src/libhttpd/parsereq.c b/src/libhttpd/parsereq.c
index 938d0a3..98a8836 100644
--- a/src/libhttpd/parsereq.c
+++ b/src/libhttpd/parsereq.c
@@ -285,7 +285,6 @@
 		}
 		ch = getc(c);
 	}
-	return nil;
 }
 
 static int
diff --git a/src/libmach/dwarfcfa.c b/src/libmach/dwarfcfa.c
index d09edcb..4980c2c 100644
--- a/src/libmach/dwarfcfa.c
+++ b/src/libmach/dwarfcfa.c
@@ -390,6 +390,6 @@
 			return -1;
 		}
 	}
-	return -1;		/* not reached */		
+	/* not reached */		
 }
 
diff --git a/src/libventi/version.c b/src/libventi/version.c
index c985910..fd1e238 100644
--- a/src/libventi/version.c
+++ b/src/libventi/version.c
@@ -81,8 +81,12 @@
 	vtdebug(z, "version string in: %s", buf);
 
 	p = buf+strlen(prefix);
-	for(;;){
+	for(; *p; p=pp){
+		if(*p == ':' || *p == '-')
+			p++;
 		pp = strpbrk(p, ":-");
+		if(pp == nil)
+			pp = p+strlen(p);
 		for(i=0; okvers[i]; i++)
 			if(strlen(okvers[i]) == pp-p && memcmp(okvers[i], p, pp-p) == 0){
 				*pp = 0;