diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 5ebf6d7d3f7e47a4534963f7174f0568c324e5e9..ad02803ba443972bfb1f537f2a50aacb866d7844 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -1340,25 +1340,25 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 	JSBool		ansi=JS_TRUE;
 	JSBool		ctrl_a=JS_TRUE;
 	JSString*	js_str;
-	int			fg=7;
-	int			bg=0;
-	BOOL		blink=FALSE;
-	BOOL		bold=FALSE;
+	int32		fg=7;
+	int32		bg=0;
+	JSBool		blink=FALSE;
+	JSBool		bold=FALSE;
 	int			esccount=0;
 	char		ansi_seq[MAX_ANSI_SEQ+1];
 	int			ansi_param[MAX_ANSI_PARAMS];
 	int			k,l;
 	ulong		savepos=0;
-	int			hpos=0;
-	int			currrow=0;
+	int32		hpos=0;
+	int32		currrow=0;
 	int			savehpos=0;
 	int			savevpos=0;
-	int			wraphpos=-2;
-	int			wrapvpos=-2;
-	ulong		wrappos=0;
+	int32		wraphpos=-2;
+	int32		wrapvpos=-2;
+	int32		wrappos=0;
 	BOOL		extchar=FALSE;
 	ulong		obsize;
-	int			lastcolor=7;
+	int32		lastcolor=7;
 	char		tmp1[128];
 	struct		tm tm;
 	time_t		now;
@@ -1407,11 +1407,11 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 		if(JSVAL_IS_NUMBER(val))
 			fg=JS_ValueToInt32(cx, val, &lastcolor);
 		JS_GetProperty(cx,stateobj,"blink",&val);
-		if(JSVAL_IS_NUMBER(val))
-			fg=JS_ValueToInt32(cx, val, &blink);
+		if(JSVAL_IS_BOOLEAN(val))
+			fg=JS_ValueToBoolean(cx, val, &blink);
 		JS_GetProperty(cx,stateobj,"bold",&val);
-		if(JSVAL_IS_NUMBER(val))
-			fg=JS_ValueToInt32(cx, val, &bold);
+		if(JSVAL_IS_BOOLEAN(val))
+			fg=JS_ValueToBoolean(cx, val, &bold);
 		JS_GetProperty(cx,stateobj,"hpos",&val);
 		if(JSVAL_IS_NUMBER(val))
 			fg=JS_ValueToInt32(cx, val, &hpos);
@@ -1693,7 +1693,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 						break;
 					case 'A': /* Move up */
 						l=wrappos;
-						if(j > wrappos && hpos==0 && currrow==wrapvpos+1 && ansi_param[0]<=1)  {
+						if(j > (ulong)wrappos && hpos==0 && currrow==wrapvpos+1 && ansi_param[0]<=1)  {
 							hpos=wraphpos;
 							currrow=wrapvpos;
 							j=wrappos;
@@ -1789,7 +1789,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 						break;
 					case '+':
 						if(attr_sp<(int)sizeof(attr_stack))
-							attr_stack[attr_sp++]=(blink?(1<<7):0) | (bg << 4) | (bold?(1<<3):0) | fg;
+							attr_stack[attr_sp++]=(blink?(1<<7):0) | (bg << 4) | (bold?(1<<3):0) | (int)fg;
 						break;
 					case '-':
 						if(attr_sp>0)
@@ -1923,7 +1923,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 						break;
 					case LF:
 						wrapvpos=currrow;
-						if(wrappos<j-3)
+						if((ulong)wrappos<j-3)
 							wrappos=j;
 						currrow++;
 						if(hpos!=0 && tmpbuf[i+1]!=CR)
@@ -1941,7 +1941,7 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 					case CR:
 						if(wraphpos==-2 || hpos!=0)
 							wraphpos=hpos;
-						if(wrappos<j-3)
+						if((ulong)wrappos<j-3)
 							wrappos=j;
 						outbuf[j++]=tmpbuf[i];
 						hpos=0;
@@ -1994,9 +1994,9 @@ js_html_encode(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva
 			,NULL,NULL,JSPROP_ENUMERATE);
 		JS_DefineProperty(cx, stateobj, "lastcolor", INT_TO_JSVAL(lastcolor)
 			,NULL,NULL,JSPROP_ENUMERATE);
-		JS_DefineProperty(cx, stateobj, "blink", INT_TO_JSVAL(blink)
+		JS_DefineProperty(cx, stateobj, "blink", BOOLEAN_TO_JSVAL(blink)
 			,NULL,NULL,JSPROP_ENUMERATE);
-		JS_DefineProperty(cx, stateobj, "bold", INT_TO_JSVAL(bold)
+		JS_DefineProperty(cx, stateobj, "bold", BOOLEAN_TO_JSVAL(bold)
 			,NULL,NULL,JSPROP_ENUMERATE);
 		JS_DefineProperty(cx, stateobj, "hpos", INT_TO_JSVAL(hpos)
 			,NULL,NULL,JSPROP_ENUMERATE);
diff --git a/src/sbbs3/unbaja.c b/src/sbbs3/unbaja.c
index 1d286506f45ce631a464513245f8b308929b6e7e..6c00c164cdea7232cc87b999116513fedb96151f 100644
--- a/src/sbbs3/unbaja.c
+++ b/src/sbbs3/unbaja.c
@@ -2335,7 +2335,7 @@ int main(int argc, char **argv)
 					free(brute_buf);
 					brute_len=0;
 				}
-				if((cache=fopen("unbaja.brute","r"))) {
+				if((cache=fopen("unbaja.brute","r"))!=NULL) {
 					while(fgets(cache_line,sizeof(cache_line),cache)) {
 						truncnl(cache_line);
 						crc=strtok(cache_line,",");
diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index fe1251c9ebef125ac7dc2a2cceef32b03c2c0172..b778b658f936f07fe79ce468a34a70849be3b5bc 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -2136,7 +2136,7 @@ static BOOL get_request_headers(http_session_t * session)
 
 	while(sockreadline(session,head_line,sizeof(head_line)-1)>0) {
 		/* Multi-line headers */
-		while((i=recv(session->socket,&next_char,1,MSG_PEEK)>0)
+		while((i=recv(session->socket,&next_char,1,MSG_PEEK))>0
 			&& (next_char=='\t' || next_char==' ')) {
 			if(i==-1 && ERROR_VALUE != EAGAIN)
 				close_socket(&session->socket);
@@ -3175,7 +3175,7 @@ static BOOL exec_cgi(http_session_t *session)
 				,session->socket, buf);
 			SAFECOPY(header,buf);
 			if(strchr(header,':')!=NULL) {
-				if(directive=strtok_r(header,":",&last))
+				if((directive=strtok_r(header,":",&last))!=NULL)
 					value=strtok_r(NULL,"",&last);
 				else
 					value="";
@@ -3496,6 +3496,7 @@ js_set_cookie(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
 	char	*header;
 	char	*p;
 	int32	i;
+	JSBool	b;
 	struct tm tm;
 	http_session_t* session;
 
@@ -3528,8 +3529,8 @@ js_set_cookie(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
 			header += sprintf(header,"; path=%s",p);
 	}
 	if(argc>5) {
-		JS_ValueToBoolean(cx, argv[5], &i);
-		if(i)
+		JS_ValueToBoolean(cx, argv[5], &b);
+		if(b)
 			header += sprintf(header,"; secure");
 	}
 	strListPush(&session->req.dynamic_heads,header_buf);