Commit Diff


commit - 86a1a5e7b30c37ad1d1a169855eb7b94b00d6aec
commit + 1c171e3add096f5fbecceefd19f21a43c08b5509
blob - f83dce00f20ae5eee01b91638169b96d66b38fe7
blob + b6e959b160d97d01803fea962e3772385a81f839
--- include/9p.h
+++ include/9p.h
@@ -39,7 +39,7 @@ typedef struct Srv Srv;
 struct Fid
 {
 	ulong	fid;
-	char		omode;	/* -1 = not open */
+	int		omode;	/* -1 = not open */
 	File*		file;
 	char*	uid;
 	Qid		qid;
blob - 05b6337c5919fa0c1a8f45992326d749cb912fc4
blob + e39d502a6edbfe41a56ddccde85f9a531b2af1c3
--- include/mach.h
+++ include/mach.h
@@ -481,7 +481,7 @@ struct Symbol
 			uint locals;
 			char *dir;
 			char *file;
-			char frameptr;
+			schar frameptr;
 			uint framesize;
 		} stabs;
 	} u;
blob - ba86ab367668d2c724adcf78421ef3836acbad65
blob + 778c76082846beb54c16afe0d2b2249ac09a525d
--- src/cmd/calendar.c
+++ src/cmd/calendar.c
@@ -174,7 +174,7 @@ void
 upper2lower(char *to, char *from, int len)
 {
 	while(--len>0 && *from!='\0')
-		*to++ = tolower(*from++);
+		*to++ = tolower((uchar)*from++);
 	*to = 0;
 }
 
blob - e43731e5fa0f4694698af027e5244e4b22704bed
blob + 59c14133ed6adfe314ce9df58c486ec6cd784224
--- src/cmd/fmt.c
+++ src/cmd/fmt.c
@@ -175,7 +175,7 @@ nspaceafter(char *s)
 	n = strlen(s);
 	if(n < 2)
 		return 1;
-	if(isupper(s[0]) && n < 4)
+	if(isupper((uchar)s[0]) && n < 4)
 		return 1;
 	if(strchr(".!?", s[n-1]) != nil)
 		return 2;
blob - 8fa1432d0a43e9a9b9e70f62b5fe67262fbbe11c
blob + 1cd11abd00ffff488ddd7571be64a0b91e7fc17b
--- src/cmd/hget.c
+++ src/cmd/hget.c
@@ -712,7 +712,7 @@ hhmtime(char *p, URL *u, Range *r)
 			tm.mon = 5;
 	} else {
 		for(p = month; *p; p++)
-			*p = tolower(*p);
+			*p = tolower((uchar)*p);
 		for(i = 0; i < 12; i++)
 			if(strncmp(&monthchars[i*3], month, 3) == 0){
 				tm.mon = i;
@@ -732,7 +732,7 @@ hhmtime(char *p, URL *u, Range *r)
 				tm.sec = strtoul(p, &p, 10);
 			}
 		}
-		if(tolower(*p) == 'p')
+		if(tolower((uchar)*p) == 'p')
 			tm.hour += 12;
 	}
 
@@ -1129,7 +1129,7 @@ passive(int ctl, URL *u)
 	p = strchr(msg, '(');
 	if(p == nil){
 		for(p = msg+3; *p; p++)
-			if(isdigit(*p))
+			if(isdigit((uchar)*p))
 				break;
 	} else
 		p++;
@@ -1253,7 +1253,7 @@ int
 cistrncmp(char *a, char *b, int n)
 {
 	while(n-- > 0){
-		if(tolower(*a++) != tolower(*b++))
+		if(tolower((uchar)*a++) != tolower((uchar)*b++))
 			return -1;
 	}
 	return 0;
blob - 1739ef5d1493f1e8dbf954912426fe3aeb0554dc
blob + 9ce127fec0b1aa77fd0c16d11b70cc1b1e8bccd7
--- src/cmd/join.c
+++ src/cmd/join.c
@@ -355,7 +355,7 @@ oparse(char *s)
 			break;
 		case '1':
 		case '2':
-			if(s[1] == '.' && isdigit(s[2])) {
+			if(s[1] == '.' && isdigit((uchar)s[2])) {
 				olistf[no] = *s=='1'? F1: F2;
 				olist[no] = atoi(s += 2);
 				break;
blob - c4025e207d14d58ab3970f80a92f8bb7e7e7ed9e
blob + e758786ce8c65abd7d7572ab9ae2f042a5b43970
--- src/cmd/split.c
+++ src/cmd/split.c
@@ -166,7 +166,7 @@ fold(char *s, int n)
 		fline = realloc(fline,n+1);
 		linesize = n+1;
 	}
-	for(t=fline; *t++ = tolower(*s++); )
+	for(t=fline; *t++ = tolower((uchar)*s++); )
 		continue;
 		/* we assume the 'A'-'Z' only appear as themselves
 		 * in a utf encoding.
blob - db29986d732cf4a9e371f12fc3500108f53ba53a
blob + b40552bfd98cb6fe699e82e68d77e4cd82a016de
--- src/cmd/tail.c
+++ src/cmd/tail.c
@@ -331,7 +331,7 @@ getnumber(char *s)
 {
 	if(*s=='-' || *s=='+')
 		s++;
-	if(!isdigit(*s))
+	if(!isdigit((uchar)*s))
 		return 0;
 	if(s[-1] == '+')
 		origin = BEG;
@@ -340,7 +340,7 @@ getnumber(char *s)
 	count = atol(s);
 
 	/* check range of count */
-	if(count < 0 ||	(int)count != count)
+	if(count < 0 || (int)count != count)
 		fatal("too big");
 	return 1;
 }	
blob - 122fb5eda15f445aa687fc94b7181ae81f6c125d
blob + 88fb9286481994a367b2327aaba04546fc2be554
--- src/cmd/uniq.c
+++ src/cmd/uniq.c
@@ -34,7 +34,7 @@ main(int argc, char *argv[])
 	f = 0;
 	while(argc > 1) {
 		if(*argv[1] == '-') {
-			if(isdigit(argv[1][1]))
+			if(isdigit((uchar)argv[1][1]))
 				fields = atoi(&argv[1][1]);
 			else
 				mode = argv[1][1];
blob - 7c4a5898ac739b05c12c05783c39195a4f84c677
blob + 944580975a80ce235a9260fc6cb804d7f0d34e2d
--- src/lib9/encodefmt.c
+++ src/lib9/encodefmt.c
@@ -57,7 +57,7 @@ encodefmt(Fmt *f)
 		rv = enc16(out, len, b, ilen);
 		if(rv >= 0 && (f->flags & FmtLong))
 			for(p = buf; *p; p++)
-				*p = tolower(*p);
+				*p = tolower((uchar)*p);
 		break;
 	default:
 		rv = -1;
blob - 737fff1f2e9a9201a47f27cf98329f83cc4cb6ed
blob + 895f14c1e1e4652abf19cfafa3e2260ccced9ba3
--- src/libString/s_tolower.c
+++ src/libString/s_tolower.c
@@ -11,5 +11,5 @@ s_tolower(String *sp)
 	char *cp;
 
 	for(cp=sp->ptr; *cp; cp++)
-		*cp = tolower(*cp);
+		*cp = tolower((uchar)*cp);
 }
blob - 1677c5b527325b73f1f37f259e6919655eace27f
blob + 5e94b016145ca11d827a7880b971137304833ab3
--- src/libdraw/chan.c
+++ src/libdraw/chan.c
@@ -38,10 +38,10 @@ strtochan(char *s)
 
 	c = 0;
 	p=s;
-	while(*p && isspace(*p))
+	while(*p && isspace((uchar)*p))
 		p++;
 
-	while(*p && !isspace(*p)){
+	while(*p && !isspace((uchar)*p)){
 		if((q = strchr(channames, p[0])) == nil) 
 			return 0;
 		t = q-channames;
blob - 741d36785153f161977f3b903b799d3d8fd21c48
blob + 537920d27cf1dbdf4a5c470f2520e0715829502a
--- src/libdraw/x11-init.c
+++ src/libdraw/x11-init.c
@@ -880,7 +880,7 @@ parsewinsize(char *s, Rectangle *r, int *havemin)
 	i = strtol(s, &s, 0);
 	if(*s == 'x'){
 		s++;
-		if(!isdigit(*s))
+		if(!isdigit((uchar)*s))
 			goto oops;
 		j = strtol(s, &s, 0);
 		r->max.x = i;
@@ -891,13 +891,13 @@ parsewinsize(char *s, Rectangle *r, int *havemin)
 			goto oops;
 
 		s++;
-		if(!isdigit(*s))
+		if(!isdigit((uchar)*s))
 			goto oops;
 		i = strtol(s, &s, 0);
 		if(*s != ',' && *s != ' ')
 			goto oops;
 		s++;
-		if(!isdigit(*s))
+		if(!isdigit((uchar)*s))
 			goto oops;
 		j = strtol(s, &s, 0);
 		if(*s != 0)
@@ -911,19 +911,19 @@ parsewinsize(char *s, Rectangle *r, int *havemin)
 	if(c != ' ' && c != ',')
 		goto oops;
 	s++;
-	if(!isdigit(*s))
+	if(!isdigit((uchar)*s))
 		goto oops;
 	j = strtol(s, &s, 0);
 	if(*s != c)
 		goto oops;
 	s++;
-	if(!isdigit(*s))
+	if(!isdigit((uchar)*s))
 		goto oops;
 	k = strtol(s, &s, 0);
 	if(*s != c)
 		goto oops;
 	s++;
-	if(!isdigit(*s))
+	if(!isdigit((uchar)*s))
 		goto oops;
 	l = strtol(s, &s, 0);
 	if(*s != 0)
blob - b47fcd554adae8f174a0ea4fe6a211fbb3d42be5
blob + 1fffaae50e6e6c71fc55bd58731a249d149a11a8
--- src/libmach/mach386.c
+++ src/libmach/mach386.c
@@ -327,9 +327,9 @@ struct	Instr
 	char	asize;		/* address size 'W' or 'L' */
 	uchar	mod;		/* bits 6-7 of mod r/m field */
 	uchar	reg;		/* bits 3-5 of mod r/m field */
-	char	ss;		/* bits 6-7 of SIB */
-	char	index;		/* bits 3-5 of SIB */
-	char	base;		/* bits 0-2 of SIB */
+	schar	ss;		/* bits 6-7 of SIB */
+	schar	index;		/* bits 3-5 of SIB */
+	schar	base;		/* bits 0-2 of SIB */
 	short	seg;		/* segment of far address */
 	ulong	disp;		/* displacement */
 	ulong 	imm;		/* immediate */
blob - d23d5ee09e5048016ad664cb4abbcce2665197d5
blob + 70f3873cea4af6ab31e258bb4424a2ac993ef909
--- src/libndb/ipattr.c
+++ src/libndb/ipattr.c
@@ -15,11 +15,11 @@ ipattr(char *name)
 
 	for(p = name; *p; p++){
 		c = *p;
-		if(isdigit(c))
+		if(isdigit((uchar)c))
 			continue;
-		if(isxdigit(c))
+		if(isxdigit((uchar)c))
 			hex = 1;
-		else if(isalpha(c) || c == '-')
+		else if(isalpha((uchar)c) || c == '-')
 			alpha = 1;
 		else if(c == '.')
 			dot = 1;