stupid sun
diff --git a/src/cmd/tbl/tc.c b/src/cmd/tbl/tc.c
index 841680b..6323c26 100644
--- a/src/cmd/tbl/tc.c
+++ b/src/cmd/tbl/tc.c
@@ -6,7 +6,7 @@
 {
 				/* choose funny characters to delimit fields */
 	int	had[128], ilin, icol, k;
-	unsigned char	*s;
+	char	*s;
 
 	for (icol = 0; icol < 128; icol++)
 		had[icol] = 0;
@@ -23,19 +23,19 @@
 			s = table[ilin][icol].col;
 			if (point(s))
 				while (*s)
-					had[*s++] = 1;
+					had[(unsigned char)*s++] = 1;
 			s = table[ilin][icol].rcol;
 			if (point(s))
 				while (*s)
-					had[*s++] = 1;
+					had[(unsigned char)*s++] = 1;
 		}
 	}
 				/* choose first funny character */
 	for (
 	    s = "\002\003\005\006\007!%&#/?,:;<=>@`^~_{}+-*ABCDEFGHIJKMNOPQRSTUVWXYZabcdefgjkoqrstwxyz"; 
 	    *s; s++) {
-		if (had[*s] == 0) {
-			F1 = *s;
+		if (had[(unsigned char)*s] == 0) {
+			F1 = (unsigned char)*s;
 			had[F1] = 1;
 			break;
 		}
@@ -44,8 +44,8 @@
 	for (
 	    s = "\002\003\005\006\007:_~^`@;,<=>#%&!/?{}+-*ABCDEFGHIJKMNOPQRSTUVWXZabcdefgjkoqrstuwxyz"; 
 	    *s; s++) {
-		if (had[*s] == 0) {
-			F2 = *s;
+		if (had[(unsigned char)*s] == 0) {
+			F2 = (unsigned char)*s;
 			break;
 		}
 	}
diff --git a/src/cmd/vac/dat.h b/src/cmd/vac/dat.h
index ec15db4..869ea7a 100644
--- a/src/cmd/vac/dat.h
+++ b/src/cmd/vac/dat.h
@@ -1,10 +1,7 @@
 typedef struct MetaBlock MetaBlock;
 typedef struct MetaEntry MetaEntry;
 
-enum
-{
-	MaxBlock	= (1UL<<31),
-};
+#define MaxBlock (1UL<<31)
 
 enum {
 	BytesPerEntry = 100,	/* estimate of bytes per dir entries - determines number of index entries in the block */
diff --git a/src/cmd/vac/vac.c b/src/cmd/vac/vac.c
index 53a66be..761310b 100644
--- a/src/cmd/vac/vac.c
+++ b/src/cmd/vac/vac.c
@@ -1,3 +1,4 @@
+#include <u.h>
 #include <sys/stat.h>
 #include "stdinc.h"
 #include "vac.h"