diff --git a/src/sbbs3/execmisc.cpp b/src/sbbs3/execmisc.cpp
index 86295920367c28a5ddb1050bf0561370cf1e322b..29a2f52f2506107f02319e174ff5323455a6eb6b 100644
--- a/src/sbbs3/execmisc.cpp
+++ b/src/sbbs3/execmisc.cpp
@@ -135,7 +135,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->str_var=(char **)realloc(csi->str_var
 						,sizeof(char *)*csi->str_vars);
 					csi->str_var_name=(int32_t *)realloc(csi->str_var_name
-						,sizeof(long)*csi->str_vars);
+						,sizeof(int32_t)*csi->str_vars);
 					if(csi->str_var==NULL
 						|| csi->str_var_name==NULL) { /* REALLOC failed */
 						errormsg(WHERE,ERR_ALLOC,"local str var"
@@ -148,7 +148,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 							csi->str_var=0; }
 						csi->str_vars=0; }
 					else {
-						csi->str_var_name[csi->str_vars-1]=*(long *)csi->ip;
+						csi->str_var_name[csi->str_vars-1]=*(int32_t *)csi->ip;
 						csi->str_var[csi->str_vars-1]=0; }
 					csi->ip+=4; /* Skip variable name */
 					return(0);
@@ -160,7 +160,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->int_var=(int32_t *)realloc(csi->int_var
 						,sizeof(char *)*csi->int_vars);
 					csi->int_var_name=(int32_t *)realloc(csi->int_var_name
-						,sizeof(long)*csi->int_vars);
+						,sizeof(int32_t)*csi->int_vars);
 					if(csi->int_var==NULL
 						|| csi->int_var_name==NULL) { /* REALLOC failed */
 						errormsg(WHERE,ERR_ALLOC,"local int var"
@@ -173,7 +173,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 							csi->int_var=0; }
 						csi->int_vars=0; }
 					else {
-						csi->int_var_name[csi->int_vars-1]=*(long *)csi->ip;
+						csi->int_var_name[csi->int_vars-1]=*(int32_t *)csi->ip;
 						csi->int_var[csi->int_vars-1]=0; }
 					csi->ip+=4; /* Skip variable name */
 					return(0);
@@ -185,7 +185,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					global_str_var=(char **)realloc(global_str_var
 						,sizeof(char *)*global_str_vars);
 					global_str_var_name=(int32_t *)realloc(global_str_var_name
-						,sizeof(long)*global_str_vars);
+						,sizeof(int32_t)*global_str_vars);
 					if(global_str_var==NULL
 						|| global_str_var_name==NULL) { /* REALLOC failed */
 						errormsg(WHERE,ERR_ALLOC,"global str var"
@@ -199,7 +199,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 						global_str_vars=0; }
 					else {
 						global_str_var_name[global_str_vars-1]=
-							*(long *)csi->ip;
+							*(int32_t *)csi->ip;
 						global_str_var[global_str_vars-1]=0; }
 					csi->ip+=4; /* Skip variable name */
 					return(0);
@@ -211,7 +211,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					global_int_var=(int32_t *)realloc(global_int_var
 						,sizeof(char *)*global_int_vars);
 					global_int_var_name=(int32_t *)realloc(global_int_var_name
-						,sizeof(long)*global_int_vars);
+						,sizeof(int32_t)*global_int_vars);
 					if(global_int_var==NULL
 						|| global_int_var_name==NULL) { /* REALLOC failed */
 						errormsg(WHERE,ERR_ALLOC,"local int var"
@@ -225,7 +225,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 						global_int_vars=0; }
 					else {
 						global_int_var_name[global_int_vars-1]
-							=*(long *)csi->ip;
+							=*(int32_t *)csi->ip;
 						global_int_var[global_int_vars-1]=0; }
 					csi->ip+=4; /* Skip variable name */
 					return(0);
@@ -242,7 +242,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					lp=getintvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4; /* Skip variable name */
 					if(lp)
-						*lp=*(long *)csi->ip;
+						*lp=*(int32_t *)csi->ip;
 					csi->ip+=4; /* Skip value */
 					return(0);
 				case COMPARE_STR_VAR:
@@ -303,7 +303,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 				case COMPARE_INT_VAR:
 					lp=getintvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4; /* Skip variable name */
-					l=*(long *)csi->ip;
+					l=*(int32_t *)csi->ip;
 					csi->ip+=4; /* Skip static value */
 					if(!lp) {	/* Unknown variable */
 						csi->logic=LOGIC_FALSE;
@@ -586,7 +586,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					i=*(csi->ip-1);
 					lp=getintvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4;
-					l=*(long *)csi->ip;
+					l=*(int32_t *)csi->ip;
 					csi->ip+=4;
 					if(!lp)
 						return(0);
@@ -624,7 +624,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					i=*(csi->ip-1);
 					lp=getintvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4;
-					l=*(long *)csi->ip;
+					l=*(int32_t *)csi->ip;
 					csi->ip+=4;
 					csi->logic=LOGIC_FALSE;
 					if(!lp)
@@ -693,7 +693,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 				case RANDOM_INT_VAR:
 					lp=getintvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4;
-					l=*(long *)csi->ip;
+					l=*(int32_t *)csi->ip;
 					csi->ip+=4;
 					if(lp)
 						*lp=sbbs_random(l);
@@ -811,7 +811,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 							getstr(buf,i,K_LINE);
 							break;
 						case GETSTR_MODE:
-							l=*(long *)csi->ip;
+							l=*(int32_t *)csi->ip;
 							csi->ip+=4;
 							if(l&K_EDIT) {
 								if(pp && *pp)
@@ -910,7 +910,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 						printtail(*pp,j,i);
 					return(0);
 				case TELNET_GATE_VAR:
-					l=*(ulong *)(csi->ip);	// Mode
+					l=*(uint32_t *)(csi->ip);	// Mode
 					csi->ip+=4;
 					pp=getstrvar(csi,*(int32_t *)csi->ip);
 					csi->ip+=4;
@@ -918,7 +918,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 						telnet_gate(*pp,l);
 					return(0);
 				case TELNET_GATE_STR:
-					l=*(ulong *)(csi->ip);	// Mode
+					l=*(uint32_t *)(csi->ip);	// Mode
 					csi->ip+=4;
 					strcpy(str,(char *)csi->ip);
 					while(*(csi->ip++));	/* Find NULL */
@@ -1222,7 +1222,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->ip+=4;
 					csi->logic=LOGIC_FALSE;
 					if(*(csi->ip-5)==FIO_SEEK) {
-						l=*(long *)csi->ip;
+						l=*(int32_t *)csi->ip;
 						csi->ip+=4; }
 					else {
 						lp2=getintvar(csi,*(int32_t *)csi->ip);
@@ -1243,7 +1243,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->ip+=4;
 					csi->logic=LOGIC_FALSE;
 					if(*(csi->ip-5)==FIO_LOCK) {
-						l=*(long *)csi->ip;
+						l=*(int32_t *)csi->ip;
 						csi->ip+=4; 
 					} else {
 						lp2=getintvar(csi,*(int32_t *)csi->ip);
@@ -1263,7 +1263,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->ip+=4;
 					csi->logic=LOGIC_FALSE;
 					if(*(csi->ip-5)==FIO_UNLOCK) {
-						l=*(long *)csi->ip;
+						l=*(int32_t *)csi->ip;
 						csi->ip+=4; 
 					} else {
 						lp2=getintvar(csi,*(int32_t *)csi->ip);
@@ -1283,7 +1283,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 					csi->ip+=4;
 					csi->logic=LOGIC_FALSE;
 					if(*(csi->ip-5)==FIO_SET_LENGTH) {
-						l=*(long *)csi->ip;
+						l=*(int32_t *)csi->ip;
 						csi->ip+=4; 
 					} else {
 						lp2=getintvar(csi,*(int32_t *)csi->ip);
@@ -1428,7 +1428,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 				csi->switch_val=*lp; }
 			return(0);
 		case CS_CASE:
-			l=*(long *)csi->ip;
+			l=*(int32_t *)csi->ip;
 			csi->ip+=4;
 			if(csi->misc&CS_IN_SWITCH && csi->switch_val!=l)
 				skipto(csi,CS_NEXTCASE);
@@ -1441,36 +1441,36 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 			csi->ip+=i;
 			return(0);
 		case CS_TOGGLE_USER_MISC:
-			useron.misc^=*(ulong *)csi->ip;
+			useron.misc^=*(uint32_t *)csi->ip;
 			putuserrec(&cfg,useron.number,U_MISC,8,ultoa(useron.misc,tmp,16));
 			csi->ip+=4;
 			return(0);
 		case CS_COMPARE_USER_MISC:
-			if((useron.misc&*(ulong *)csi->ip)==*(ulong *)csi->ip)
+			if((useron.misc&*(uint32_t *)csi->ip)==*(uint32_t *)csi->ip)
 				csi->logic=LOGIC_TRUE;
 			else
 				csi->logic=LOGIC_FALSE;
 			csi->ip+=4;
 			return(0);
 		case CS_TOGGLE_USER_CHAT:
-			useron.chat^=*(ulong *)csi->ip;
+			useron.chat^=*(uint32_t *)csi->ip;
 			putuserrec(&cfg,useron.number,U_CHAT,8,ultoa(useron.chat,tmp,16));
 			csi->ip+=4;
 			return(0);
 		case CS_COMPARE_USER_CHAT:
-			if((useron.chat&*(ulong *)csi->ip)==*(ulong *)csi->ip)
+			if((useron.chat&*(uint32_t *)csi->ip)==*(uint32_t *)csi->ip)
 				csi->logic=LOGIC_TRUE;
 			else
 				csi->logic=LOGIC_FALSE;
 			csi->ip+=4;
 			return(0);
 		case CS_TOGGLE_USER_QWK:
-			useron.qwk^=*(ulong *)csi->ip;
+			useron.qwk^=*(uint32_t *)csi->ip;
 			putuserrec(&cfg,useron.number,U_QWK,8,ultoa(useron.qwk,tmp,16));
 			csi->ip+=4;
 			return(0);
 		case CS_COMPARE_USER_QWK:
-			if((useron.qwk&*(ulong *)csi->ip)==*(ulong *)csi->ip)
+			if((useron.qwk&*(uint32_t *)csi->ip)==*(uint32_t *)csi->ip)
 				csi->logic=LOGIC_TRUE;
 			else
 				csi->logic=LOGIC_FALSE;
@@ -1523,8 +1523,8 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
 				case sizeof(short):
 					*((short *)(csi->ip+i))=(short)l;
 					break;
-				case sizeof(long):
-					*((long *)(csi->ip+i))=l;
+				case sizeof(int32_t):
+					*((int32_t *)(csi->ip+i))=l;
 					break;
 				default:
 					errormsg(WHERE,ERR_CHK,"length",*(csi->ip-1));
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 97dea055b89040e13c210bff48bcc1a00485bf85..8c62ddd12ca3ff32861033b760f384d352a49711 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2271,7 +2271,7 @@ void event_thread(void* arg)
 				for(j=0;j<sbbs->cfg.qhub[i]->subs;j++) {
 					sbbs->subscan[sbbs->cfg.qhub[i]->sub[j]].ptr=0;
 					if(file!=-1) {
-						lseek(file,sbbs->cfg.sub[sbbs->cfg.qhub[i]->sub[j]]->ptridx*sizeof(long),SEEK_SET);
+						lseek(file,sbbs->cfg.sub[sbbs->cfg.qhub[i]->sub[j]]->ptridx*sizeof(int32_t),SEEK_SET);
 						read(file,&sbbs->subscan[sbbs->cfg.qhub[i]->sub[j]].ptr,sizeof(sbbs->subscan[sbbs->cfg.qhub[i]->sub[j]].ptr)); 
 					}
 				}
@@ -2291,7 +2291,7 @@ void event_thread(void* arg)
 								write(file,&l32,4);		/* initialize ptrs to null */
 							}
 							lseek(file
-								,sbbs->cfg.sub[sbbs->cfg.qhub[i]->sub[j]]->ptridx*sizeof(long)
+								,sbbs->cfg.sub[sbbs->cfg.qhub[i]->sub[j]]->ptridx*sizeof(int32_t)
 								,SEEK_SET);
 							write(file,&sbbs->subscan[sbbs->cfg.qhub[i]->sub[j]].ptr,sizeof(sbbs->subscan[sbbs->cfg.qhub[i]->sub[j]].ptr)); 
 						}
diff --git a/src/sbbs3/unbaja.c b/src/sbbs3/unbaja.c
index 2225a6ade48ff92a4e2c5a22790d13fadcf07913..e9997f11069ab8d164fae1fbd60a7e4a7ce56fed 100644
--- a/src/sbbs3/unbaja.c
+++ b/src/sbbs3/unbaja.c
@@ -202,7 +202,7 @@ void add_bruted(unsigned long name, char good, char *val, int save)
 		free(p);
 		return;
 	}
-	*(long *)p=name;
+	*(int32_t *)p=name;
 	p[4]=good;
 	strcpy(p+5,val);
 	new_bruted[bruted_len-1]=p;
@@ -221,7 +221,7 @@ int check_bruted(long name,char *val)
 	int i;
 
 	for(i=0; i<bruted_len; i++) {
-		if(*(long *)bruted[i]==name) {
+		if(*(int32_t *)bruted[i]==name) {
 			if(!strcmp(val,bruted[i]+5))
 				return(*(bruted[i]+4));
 		}
@@ -234,7 +234,7 @@ char *find_bruted(long name)
 	int i;
 
 	for(i=0; i<bruted_len; i++) {
-		if(*(long *)bruted[i]==name && *(bruted[i]+4))
+		if(*(int32_t *)bruted[i]==name && *(bruted[i]+4))
 			return(bruted[i]+5);
 	}
 	return(NULL);
@@ -257,7 +257,7 @@ char* bruteforce(unsigned long name)
 		return(ret);
 	}
 	memset(brute_buf,0,brute_len+1);
-	memset(brute_crc_buf,0,brute_len*sizeof(long));
+	memset(brute_crc_buf,0,brute_len*sizeof(int32_t));
 	printf("Brute forcing var_%08x\n",name);
 	this_crc=crc32(brute_buf,0);
 	for(;;) {
@@ -325,8 +325,8 @@ BRUTE_DONE:
 
 /* comparison function for var_table */
 static int vt_compare(const void *key, const void *table) {
-	if (*(unsigned long *)key == (*(struct var_table_t *)table).crc) return 0;
-	if (*(unsigned long *)key < (*(struct var_table_t *)table).crc) return -1;
+	if (*(uint32_t *)key == (*(struct var_table_t *)table).crc) return 0;
+	if (*(uint32_t *)key < (*(struct var_table_t *)table).crc) return -1;
 	return 1;
 }
 
@@ -2330,7 +2330,7 @@ int main(int argc, char **argv)
 				brute_buf=(char *)malloc(brute_len+1);
 				if(!brute_buf)
 					brute_len=0;
-				brute_crc_buf=(unsigned long *)malloc(brute_len*sizeof(unsigned long));
+				brute_crc_buf=(uint32_t *)malloc(brute_len*sizeof(uint32_t));
 				if(!brute_crc_buf) {
 					free(brute_buf);
 					brute_len=0;