Skip to content
Snippets Groups Projects
Commit f8c9dec3 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Address new GCC (10.2) warnings from previous commit

Adding and removing typecasts and changing some types (of ints).
parent 22d6cf8d
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #4467 passed
......@@ -39,11 +39,11 @@ static char* format_string(sbbs_t* sbbs, csi_t* csi)
if((lp=sbbs->getintvar(csi,*(int32_t *)csi->ip))==NULL)
fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,0);
else
fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,*lp);
fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,*lp);
}
else
fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_CHARP,*(char **)vp);
csi->ip+=4;
csi->ip+=4;
}
return xp_asprintf_end(fmt, NULL);
}
......@@ -114,7 +114,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
case DEFINE_STR_VAR:
if(getstrvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0);
return(0);
}
csi->str_vars++;
csi->str_var=(char **)realloc(csi->str_var
......@@ -127,24 +127,24 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
,sizeof(char *)*csi->str_vars);
if(csi->str_var_name) {
free(csi->str_var_name);
csi->str_var_name=0;
csi->str_var_name=0;
}
if(csi->str_var) {
free(csi->str_var);
csi->str_var=0;
csi->str_var=0;
}
csi->str_vars=0;
csi->str_vars=0;
}
else {
csi->str_var_name[csi->str_vars-1]=*(int32_t *)csi->ip;
csi->str_var[csi->str_vars-1]=0;
csi->str_var[csi->str_vars-1]=0;
}
csi->ip+=4; /* Skip variable name */
return(0);
case DEFINE_INT_VAR:
if(getintvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0);
return(0);
}
csi->int_vars++;
csi->int_var=(int32_t *)realloc(csi->int_var
......@@ -157,24 +157,24 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
,sizeof(char *)*csi->int_vars);
if(csi->int_var_name) {
free(csi->int_var_name);
csi->int_var_name=0;
csi->int_var_name=0;
}
if(csi->int_var) {
free(csi->int_var);
csi->int_var=0;
csi->int_var=0;
}
csi->int_vars=0;
csi->int_vars=0;
}
else {
csi->int_var_name[csi->int_vars-1]=*(int32_t *)csi->ip;
csi->int_var[csi->int_vars-1]=0;
csi->int_var[csi->int_vars-1]=0;
}
csi->ip+=4; /* Skip variable name */
return(0);
case DEFINE_GLOBAL_STR_VAR:
if(getstrvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0);
return(0);
}
global_str_vars++;
global_str_var=(char **)realloc(global_str_var
......@@ -187,25 +187,25 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
,sizeof(char *)*global_str_vars);
if(global_str_var_name) {
free(global_str_var_name);
global_str_var_name=0;
global_str_var_name=0;
}
if(global_str_var) {
free(global_str_var);
global_str_var=0;
global_str_var=0;
}
global_str_vars=0;
global_str_vars=0;
}
else {
global_str_var_name[global_str_vars-1]=
*(int32_t *)csi->ip;
global_str_var[global_str_vars-1]=0;
global_str_var[global_str_vars-1]=0;
}
csi->ip+=4; /* Skip variable name */
return(0);
case DEFINE_GLOBAL_INT_VAR:
if(getintvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0);
return(0);
}
global_int_vars++;
global_int_var=(int32_t *)realloc(global_int_var
......@@ -218,18 +218,18 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
,sizeof(char *)*global_int_vars);
if(global_int_var_name) {
free(global_int_var_name);
global_int_var_name=0;
global_int_var_name=0;
}
if(global_int_var) {
free(global_int_var);
global_int_var=0;
global_int_var=0;
}
global_int_vars=0;
global_int_vars=0;
}
else {
global_int_var_name[global_int_vars-1]
=*(int32_t *)csi->ip;
global_int_var[global_int_vars-1]=0;
global_int_var[global_int_vars-1]=0;
}
csi->ip+=4; /* Skip variable name */
return(0);
......@@ -259,7 +259,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(*(csi->ip)==0) /* Blank static str */
csi->logic=LOGIC_TRUE;
else
csi->logic=LOGIC_FALSE;
csi->logic=LOGIC_FALSE;
}
while(*(csi->ip++)); /* Find NULL */
return(0);
......@@ -312,7 +312,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4; /* Skip static value */
if(!lp) { /* Unknown variable */
csi->logic=LOGIC_FALSE;
return(0);
return(0);
}
if(*lp>l)
csi->logic=LOGIC_GREATER;
......@@ -338,17 +338,17 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_TRUE;
else
csi->logic=LOGIC_FALSE;
return(0);
return(0);
}
if(pp1) { /* ASCII */
if(!pp2) {
ultoa(*lp2,tmp,10);
csi->logic=stricmp(*pp1,tmp);
csi->logic=stricmp(*pp1,tmp);
}
else
csi->logic=stricmp(*pp1,*pp2);
return(0);
return(0);
}
/* Binary */
......@@ -360,7 +360,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_LESS;
else
csi->logic=LOGIC_EQUAL;
return(0);
return(0);
}
if(*lp1>*lp2)
csi->logic=LOGIC_GREATER;
......@@ -383,7 +383,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if((!pp1 && !lp1)
|| ((!pp2 || !*pp2) && !lp2)) {
csi->logic=LOGIC_FALSE;
return(0);
return(0);
}
csi->logic=LOGIC_TRUE;
......@@ -393,7 +393,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
else
strcpy(tmp,*pp2);
*pp1=copystrvar(csi,*pp1,tmp);
return(0);
return(0);
}
if(!lp2)
*lp1=strtol(*pp2,0,0);
......@@ -414,7 +414,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(((!pp1 || !*pp1) && !lp1)
|| ((!pp2 || !*pp2) && !lp2)) {
csi->logic=LOGIC_FALSE;
return(0);
return(0);
}
csi->logic=LOGIC_TRUE;
......@@ -423,40 +423,40 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(!pp2) {
if(!strnicmp(*pp1,"0x",2)) {
l=strtol((*pp1)+2,0,16);
ultoa(*lp2,tmp,16);
ultoa(*lp2,tmp,16);
}
else {
l=atol(*pp1);
ultoa(*lp2,tmp,10);
ultoa(*lp2,tmp,10);
}
*pp1=copystrvar(csi,*pp1,tmp);
*lp2=l;
*lp2=l;
}
else {
p=*pp1;
*pp1=*pp2;
*pp2=p;
*pp2=p;
}
return(0);
return(0);
}
/* Binary */
if(!lp2) {
if(!strnicmp(*pp2,"0x",2)) {
l=strtol((*pp2)+2,0,16);
ultoa(*lp1,tmp,16);
ultoa(*lp1,tmp,16);
}
else {
l=atol(*pp2);
ultoa(*lp1,tmp,10);
ultoa(*lp1,tmp,10);
}
*pp2=copystrvar(csi,*pp2,tmp);
*lp1=l;
*lp1=l;
}
else {
l=*lp1;
*lp1=*lp2;
*lp2=l;
*lp2=l;
}
return(0);
case CAT_STR_VAR:
......@@ -472,7 +472,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(*pp)
*pp=(char *)realloc(*pp,strlen(*pp)+strlen(tmp)+1);
else
*pp=(char *)realloc(*pp,strlen(tmp)+1);
*pp=(char *)realloc(*pp,strlen(tmp)+1);
}
if(pp && *pp)
strcat(*pp,tmp);
......@@ -501,7 +501,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(*pp)
*pp=(char *)realloc(*pp,strlen(*pp)+strlen(tmp)+1);
else
*pp=(char *)realloc(*pp,strlen(tmp)+1);
*pp=(char *)realloc(*pp,strlen(tmp)+1);
}
if(pp && *pp)
strcat(*pp,tmp);
......@@ -510,7 +510,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(!pp1 || !pp2 || !*pp2) {
csi->logic=LOGIC_FALSE;
return(0);
return(0);
}
csi->logic=LOGIC_TRUE;
if(*pp1)
......@@ -521,7 +521,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(*pp1)
*pp1=(char *)realloc(*pp1,strlen(*pp1)+strlen(*pp2)+1);
else
*pp1=(char *)realloc(*pp1,strlen(*pp2)+1);
*pp1=(char *)realloc(*pp1,strlen(*pp2)+1);
}
strcat(*pp1,*pp2);
return(0);
......@@ -546,8 +546,8 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
tt=*lp;
if(localtime_r(&tt,&tm)!=NULL) {
strftime(buf,128,str,&tm);
*pp=copystrvar(csi,*pp,buf);
}
*pp=copystrvar(csi,*pp,buf);
}
}
return(0);
case TIME_STR:
......@@ -557,7 +557,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4; /* Skip int variable name */
if(pp && lp) {
strcpy(str,timestr(*lp));
*pp=copystrvar(csi,*pp,str);
*pp=copystrvar(csi,*pp,str);
}
return(0);
case DATE_STR:
......@@ -567,7 +567,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4; /* Skip int variable name */
if(pp && lp) {
unixtodstr(&cfg,*lp,str);
*pp=copystrvar(csi,*pp,str);
*pp=copystrvar(csi,*pp,str);
}
return(0);
case SECOND_STR:
......@@ -577,7 +577,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4; /* Skip int variable name */
if(pp && lp) {
sectostr(*lp,str);
*pp=copystrvar(csi,*pp,str);
*pp=copystrvar(csi,*pp,str);
}
return(0);
case STRUPR_VAR:
......@@ -648,10 +648,10 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
break;
case XOR_INT_VAR:
*lp^=l;
break;
break;
}
return(0);
case COMPARE_ANY_BITS:
case COMPARE_ANY_BITS:
case COMPARE_ALL_BITS:
i=*(csi->ip-1);
lp=getintvar(csi,*(int32_t *)csi->ip);
......@@ -687,7 +687,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp || !*pp)
return(0);
l=strtol(*pp,0,0);
l=strtol(*pp,0,0);
}
else
l=*lp2;
......@@ -721,7 +721,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
break;
case XOR_INT_VARS:
*lp1^=l;
break;
break;
}
return(0);
case RANDOM_INT_VAR:
......@@ -755,7 +755,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=strlen(*pp);
else
*lp=0;
*lp=0;
}
return(0);
case CRC16_TO_INT:
......@@ -767,7 +767,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=crc16(*pp,0);
else
*lp=0;
*lp=0;
}
return(0);
case CRC32_TO_INT:
......@@ -779,7 +779,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=crc32(*pp,0);
else
*lp=0;
*lp=0;
}
return(0);
case CHKSUM_TO_INT:
......@@ -792,7 +792,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp) {
i=0;
while(*((*pp)+i))
*lp+=(uchar)*((*pp)+(i++)); }
*lp+=(uchar)*((*pp)+(i++)); }
}
return(0);
case FLENGTH_TO_INT:
......@@ -804,7 +804,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=(uint32_t)flength(*pp);
else
*lp=0;
*lp=0;
}
return(0);
case FTIME_TO_INT:
......@@ -816,7 +816,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=(int32_t)fdate(*pp);
else
*lp=0;
*lp=0;
}
return(0);
case CHARVAL_TO_INT:
......@@ -829,7 +829,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=**pp;
else
*lp=0;
*lp=0;
}
return(0);
case GETSTR_VAR:
......@@ -858,18 +858,18 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
strcpy(buf,*pp);
else
buf[0]=0;
buf[0]=0;
}
getstr(buf,i,l);
break;
default:
getstr(buf,i,0);
getstr(buf,i,0);
}
if(sys_status&SS_ABORT)
return(0);
if(pp) {
*pp=copystrvar(csi,*pp,buf);
csi->logic=LOGIC_TRUE;
csi->logic=LOGIC_TRUE;
}
return(0);
case GETNUM_VAR:
......@@ -890,11 +890,11 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
ultoa(l,str,10);
*pp=copystrvar(csi,*pp,str);
csi->logic=LOGIC_TRUE;
return(0);
return(0);
}
if(lp) {
*lp=l;
csi->logic=LOGIC_TRUE;
csi->logic=LOGIC_TRUE;
}
return(0);
......@@ -994,7 +994,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_EQUAL;
else if(**pp>ch)
csi->logic=LOGIC_GREATER;
else
else
csi->logic=LOGIC_LESS;
}
return(0);
......@@ -1042,13 +1042,13 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp)
*lp=matchuser(&cfg, *pp, TRUE /*sysop_alias*/);
else
*lp=0;
*lp=0;
}
return(0);
default:
errormsg(WHERE,ERR_CHK,"var sub-instruction",*(csi->ip-1));
return(0);
return(0);
}
case CS_FIO_FUNCTION:
......@@ -1069,7 +1069,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(!pp || !*pp)
return(0);
strcpy(str,*pp);
strcpy(str,*pp);
}
if(csi->files>=MAX_FOPENS)
return(0);
......@@ -1093,8 +1093,8 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(i==csi->files)
csi->files++;
*lp = i; /* store the csi->file index, not the FILE* */
csi->logic=LOGIC_TRUE;
}
csi->logic=LOGIC_TRUE;
}
}
return(0);
case FIO_CLOSE:
......@@ -1102,7 +1102,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(lp && *lp<csi->files) {
csi->logic=fclose(csi->file[*lp]);
csi->file[*lp]=NULL;
csi->file[*lp]=NULL;
if(*lp==(csi->files-1))
csi->files--;
}
......@@ -1134,9 +1134,9 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(!vp)
return(0);
i=*(short *)vp;
i=*(short *)vp;
}
if(i>sizeof(buf)-1)
if(i>(int)sizeof(buf)-1)
i=sizeof(buf)-1;
if(!lp1 || *lp1>=csi->files || (!pp && !lp2))
return(0);
......@@ -1145,22 +1145,22 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(*pp && **pp)
i=strlen(*pp);
else
i=128;
i=128;
}
if((j=fread(buf,1,i,csi->file[*lp1]))==i)
csi->logic=LOGIC_TRUE;
buf[j]=0;
if(csi->etx) {
p=strchr(buf,csi->etx);
if(p) *p=0;
if(p) *p=0;
}
*pp=copystrvar(csi,*pp,buf);
*pp=copystrvar(csi,*pp,buf);
}
else {
*lp2=0;
if(i>4 || i<1) i=4;
if(fread(lp2,1,i,csi->file[*lp1])==i)
csi->logic=LOGIC_TRUE;
if(fread(lp2,1,i,csi->file[*lp1])==(size_t)i)
csi->logic=LOGIC_TRUE;
}
return(0);
case FIO_READ_LINE:
......@@ -1174,18 +1174,18 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(!lp1 || *lp1>=csi->files || feof(csi->file[*lp1]) || (!pp && !lp2))
return(0);
csi->logic=LOGIC_TRUE;
for(i=0;i<sizeof(buf)-1;i++) {
for(i=0;i<(int)sizeof(buf)-1;i++) {
if(!fread(buf+i,1,1,csi->file[*lp1]))
break;
if(*(buf+i)==LF) {
i++;
break;
}
break;
}
}
buf[i]=0;
if(csi->etx) {
p=strchr(buf,csi->etx);
if(p) *p=0;
if(p) *p=0;
}
if(pp)
*pp=copystrvar(csi,*pp,buf);
......@@ -1209,9 +1209,9 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(!vp)
return(0);
i=*(short *)vp;
i=*(short *)vp;
}
if(i>sizeof(buf)-1)
if(i>(int)sizeof(buf)-1)
i=sizeof(buf)-1;
if(!lp1 || *lp1>=csi->files || (!pp && !lp2) || (pp && !*pp))
return(0);
......@@ -1219,19 +1219,19 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
j=strlen(*pp);
if(i<1) i=j;
if(j>i) j=i;
if(fwrite(*pp,1,j,csi->file[*lp1])!=j)
if(fwrite(*pp,1,j,csi->file[*lp1])!=(size_t)j)
csi->logic=LOGIC_FALSE;
else {
if(j<i) {
memset(buf,csi->etx,i-j);
fwrite(buf,1,i-j,csi->file[*lp1]);
fwrite(buf,1,i-j,csi->file[*lp1]);
}
csi->logic=LOGIC_TRUE;
csi->logic=LOGIC_TRUE;
}
} else {
if(i<1 || i>4) i=4;
if(fwrite(lp2,1,i,csi->file[*lp1])==i)
csi->logic=LOGIC_TRUE;
if(fwrite(lp2,1,i,csi->file[*lp1])==(size_t)i)
csi->logic=LOGIC_TRUE;
}
return(0);
case FIO_GET_LENGTH:
......@@ -1247,7 +1247,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp1 && *lp1<csi->files && lp2)
if(lp1 && *lp1<csi->files && lp2)
*lp2=(int32_t)filetime(fileno(csi->file[*lp1]));
return(0);
case FIO_SET_TIME:
......@@ -1258,7 +1258,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
#if 0 /* ftime */
if(lp1 && (uint)*lp1<csi->files && lp2) {
ft=unixtoftime(*lp2);
setftime(fileno(csi->file[*lp1),&ft);
setftime(fileno(csi->file[*lp1),&ft);
}
#endif
return(0);
......@@ -1285,16 +1285,16 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_FALSE;
if(*(csi->ip-5)==FIO_SEEK) {
l=*(int32_t *)csi->ip;
csi->ip+=4;
csi->ip+=4;
}
else {
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(!lp2) {
csi->ip+=2;
return(0);
return(0);
}
l=*lp2;
l=*lp2;
}
i=*(short *)csi->ip;
csi->ip+=2;
......@@ -1309,17 +1309,17 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_FALSE;
if(*(csi->ip-5)==FIO_LOCK) {
l=*(int32_t *)csi->ip;
csi->ip+=4;
csi->ip+=4;
} else {
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(!lp2)
return(0);
l=*lp2;
l=*lp2;
}
if(lp1 && *lp1<csi->files) {
fflush(csi->file[*lp1]);
csi->logic=!lock(fileno(csi->file[*lp1]),ftell(csi->file[*lp1]),l);
csi->logic=!lock(fileno(csi->file[*lp1]),ftell(csi->file[*lp1]),l);
}
return(0);
case FIO_UNLOCK:
......@@ -1329,17 +1329,17 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_FALSE;
if(*(csi->ip-5)==FIO_UNLOCK) {
l=*(int32_t *)csi->ip;
csi->ip+=4;
csi->ip+=4;
} else {
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(!lp2)
return(0);
l=*lp2;
l=*lp2;
}
if(lp1 && *lp1<csi->files) {
fflush(csi->file[*lp1]);
csi->logic=!unlock(fileno(csi->file[*lp1]),ftell(csi->file[*lp1]),l);
csi->logic=!unlock(fileno(csi->file[*lp1]),ftell(csi->file[*lp1]),l);
}
return(0);
case FIO_SET_LENGTH:
......@@ -1349,13 +1349,13 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->logic=LOGIC_FALSE;
if(*(csi->ip-5)==FIO_SET_LENGTH) {
l=*(int32_t *)csi->ip;
csi->ip+=4;
csi->ip+=4;
} else {
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(!lp2)
return(0);
l=*lp2;
l=*lp2;
}
if(lp1 && *lp1<csi->files)
csi->logic=chsize(fileno(csi->file[*lp1]),l);
......@@ -1366,7 +1366,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
p=format_string(this, csi);
if(lp1 && *lp1<csi->files) {
cmdstr(p,path,csi->str,str);
fwrite(str,1,strlen(str),csi->file[*lp1]);
fwrite(str,1,strlen(str),csi->file[*lp1]);
}
free(p);
return(0);
......@@ -1398,7 +1398,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
break;
case MOVE_FILE:
csi->logic=mv(*pp1,*pp2,0);
break;
break;
}
else
csi->logic=LOGIC_FALSE;
......@@ -1412,8 +1412,8 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(pp && *pp && lp) {
if(*(csi->ip-9)==GET_FILE_ATTRIB)
*lp=getfattr(*pp);
else
*lp=CHMOD(*pp,(int)*lp);
else
*lp=CHMOD(*pp,(int)*lp);
}
return(0);
case MAKE_DIR:
......@@ -1431,7 +1431,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
break;
case CHANGE_DIR:
csi->logic=chdir(*pp);
break;
break;
}
else
csi->logic=LOGIC_FALSE;
......@@ -1455,7 +1455,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(i==csi->dirs)
csi->dirs++;
*lp = i; /* store the csi->file index, not the DIR* */
csi->logic=LOGIC_TRUE;
csi->logic=LOGIC_TRUE;
}
}
return(0);
......@@ -1469,8 +1469,8 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
de=readdir(csi->dir[*lp]);
if(de!=NULL) {
csi->logic=LOGIC_TRUE;
*pp=copystrvar(csi,*pp,de->d_name);
}
*pp=copystrvar(csi,*pp,de->d_name);
}
}
return(0);
case REWIND_DIR:
......@@ -1478,7 +1478,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(lp && *lp<csi->dirs) {
rewinddir(csi->dir[*lp]);
csi->logic=LOGIC_TRUE;
csi->logic=LOGIC_TRUE;
} else
csi->logic=LOGIC_FALSE;
return(0);
......@@ -1496,7 +1496,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
default:
errormsg(WHERE,ERR_CHK,"fio sub-instruction",*(csi->ip-1));
return(0);
return(0);
}
case CS_NET_FUNCTION:
......@@ -1507,11 +1507,11 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
csi->ip+=4;
if(!lp) {
skipto(csi,CS_END_SWITCH);
csi->ip++;
csi->ip++;
}
else {
csi->misc|=CS_IN_SWITCH;
csi->switch_val=*lp;
csi->switch_val=*lp;
}
return(0);
case CS_CASE:
......@@ -1570,7 +1570,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(i>=TOTAL_TEXT) {
errormsg(WHERE,ERR_CHK,"replace text #",i);
while(*(csi->ip++)); /* Find NULL */
return(0);
return(0);
}
if(text[i]!=text_sav[i] && text[i]!=nulstr)
free(text[i]);
......@@ -1583,7 +1583,7 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
errormsg(WHERE,ERR_ALLOC,"replacement text",j);
while(*(csi->ip++)); /* Find NULL */
text[i]=text_sav[i];
return(0);
return(0);
}
if(j)
strcpy(text[i],buf);
......@@ -1598,14 +1598,14 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
if(lp)
l=*lp;
else
l=0;
l=0;
}
csi->ip+=4; // Variable
i=*(csi->ip++); // Offset
if(i<1 || csi->ip+1+i>=csi->cs+csi->length) {
errormsg(WHERE,ERR_CHK,"offset",i);
csi->ip++;
return(0);
return(0);
}
switch(*(csi->ip++)) { // Length
case sizeof(char):
......@@ -1619,12 +1619,12 @@ int sbbs_t::exec_misc(csi_t* csi, const char *path)
break;
default:
errormsg(WHERE,ERR_CHK,"length",*(csi->ip-1));
break;
break;
}
return(0);
default:
errormsg(WHERE,ERR_CHK,"shell instruction",*(csi->ip-1));
return(0);
return(0);
}
}
......@@ -100,7 +100,7 @@ int sbbs_t::inkey(int mode, unsigned int timeout)
ch=kbincom(timeout);
if(sys_status&SS_SYSPAGE)
if(sys_status&SS_SYSPAGE)
sbbs_beep(400 + sbbs_random(800), ch == NOINP ? 100 : 10);
if(ch == NOINP) {
......@@ -111,7 +111,7 @@ int sbbs_t::inkey(int mode, unsigned int timeout)
if(cfg.node_misc&NM_7BITONLY
&& (!(sys_status&SS_USERON) || term_supports(NO_EXASCII)))
ch&=0x7f;
ch&=0x7f;
getkey_last_activity = time(NULL);
......@@ -138,7 +138,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
sys_status|=SS_ABORT;
if(mode&K_SPIN) /* back space once if on spinning cursor */
backspace();
return(0);
return(0);
}
if(ch==CTRL_Z && !(mode&(K_MSG|K_GETSTR))
&& action!=NODE_PCHT) { /* Ctrl-Z toggle raw input mode */
......@@ -163,7 +163,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
hotkey_inside &= ~(1<<ch);
if(action!=NODE_MAIN && action!=NODE_XFER)
return(CTRL_Z);
return(0);
return(0);
}
if(console&CON_RAW_IN) /* ignore ctrl-key commands if in raw mode */
......@@ -188,7 +188,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
if(!(sys_status&SS_SPLITP)) {
saveline();
attr(LIGHTGRAY);
CRLF;
CRLF;
}
if(cfg.hotkey[i]->cmd[0]=='?') {
if(js_hotkey_cx == NULL) {
......@@ -200,7 +200,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
external(cmdstr(cfg.hotkey[i]->cmd,nulstr,nulstr,tmp),0);
if(!(sys_status&SS_SPLITP)) {
CRLF;
restoreline();
restoreline();
}
lncntr=0;
hotkey_inside &= ~(1<<ch);
......@@ -211,7 +211,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
switch(ch) {
case CTRL_O: /* Ctrl-O toggles pause temporarily */
console^=CON_PAUSEOFF;
return(0);
return(0);
case CTRL_P: /* Ctrl-P Private node-node comm */
if(!(sys_status&SS_USERON))
break;;
......@@ -223,18 +223,18 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
if(!(sys_status&SS_SPLITP)) {
saveline();
attr(LIGHTGRAY);
CRLF;
CRLF;
}
nodesync(); /* read any waiting messages */
nodemsg(); /* send a message */
sync();
if(!(sys_status&SS_SPLITP)) {
CRLF;
restoreline();
restoreline();
}
lncntr=0;
hotkey_inside &= ~(1<<ch);
return(0);
return(0);
case CTRL_U: /* Ctrl-U Users online */
if(!(sys_status&SS_USERON))
......@@ -247,17 +247,17 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
if(!(sys_status&SS_SPLITP)) {
saveline();
attr(LIGHTGRAY);
CRLF;
CRLF;
}
whos_online(true); /* list users */
sync();
if(!(sys_status&SS_SPLITP)) {
CRLF;
restoreline();
restoreline();
}
lncntr=0;
hotkey_inside &= ~(1<<ch);
return(0);
return(0);
case CTRL_T: /* Ctrl-T Time information */
if(sys_status&SS_SPLITP)
return(ch);
......@@ -283,7 +283,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
restoreline();
lncntr=0;
hotkey_inside &= ~(1<<ch);
return(0);
return(0);
case CTRL_K: /* Ctrl-K Control key menu */
if(sys_status&SS_SPLITP)
return(ch);
......@@ -305,7 +305,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
restoreline();
lncntr=0;
hotkey_inside &= ~(1<<ch);
return(0);
return(0);
case ESC:
i=kbincom((mode&K_GETSTR) ? 3000:1000);
if(i==NOINP) // timed-out waiting for '['
......@@ -313,7 +313,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
ch=i;
if(ch!='[') {
ungetkey(ch, /* insert: */true);
return(ESC);
return(ESC);
}
i=j=0;
autoterm|=ANSI; /* <ESC>[x means they have ANSI */
......@@ -321,7 +321,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
if(sys_status&SS_USERON && useron.misc&AUTOTERM && !(useron.misc&ANSI)
&& useron.number) {
useron.misc|=ANSI;
putuserrec(&cfg,useron.number,U_MISC,8,ultoa(useron.misc,str,16));
putuserrec(&cfg,useron.number,U_MISC,8,ultoa(useron.misc,str,16));
}
#endif
while(i<10 && j<30) { /* up to 3 seconds */
......@@ -402,14 +402,14 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
for(j = i; j > 0; j--)
ungetkey(str[j - 1], /* insert: */true);
ungetkey('[', /* insert: */true);
return(ESC);
return(ESC);
}
if(button == 0x22) // Right-click
return handle_ctrlkey(TERM_KEY_ABORT, mode);
return 0;
}
if(i == 0 && ch == '<' && mouse_mode != MOUSE_MODE_OFF) {
while(i < sizeof(str) - 1) {
while(i < (int)sizeof(str) - 1) {
int byte = kbincom(100);
if(byte == NOINP) {
lprintf(LOG_DEBUG, "Timeout waiting for mouse report character (%d)", i);
......@@ -479,7 +479,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
ungetkey(str[j - 1], /* insert: */true);
ungetkey('<', /* insert: */true);
ungetkey('[', /* insert: */true);
return(ESC);
return(ESC);
}
if(ch == 'M' && button == 2) // Right-click
return handle_ctrlkey(TERM_KEY_ABORT, mode);
......@@ -531,7 +531,7 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
for(j = i; j > 0; j--)
ungetkey(str[j - 1], /* insert: */true);
ungetkey('[', /* insert: */true);
return(ESC);
return(ESC);
}
if(ch=='R') { /* cursor position report */
if(mode&K_ANSI_CPR && i) { /* auto-detect rows */
......@@ -547,15 +547,15 @@ char sbbs_t::handle_ctrlkey(char ch, int mode)
update_nodeterm();
}
}
return(0);
return(0);
}
str[i++]=ch;
str[i++]=ch;
}
for(j = i; j > 0; j--)
ungetkey(str[j - 1], /* insert: */true);
ungetkey('[', /* insert: */true);
return(ESC);
return(ESC);
}
return(ch);
}
......
......@@ -24,7 +24,7 @@
#include "utf8.h"
#include "cp437defs.h"
#define MAX_MSGNUM 0x7FFFFFUL // only 7 (decimal) digits allowed for msg num
#define MAX_MSGNUM 0x7FFFFFUL // only 7 (decimal) digits allowed for msg num
/****************************************************************************/
/* Converts message 'msg' to QWK format, writing to file 'qwk_fp'. */
......@@ -48,7 +48,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
struct tm tm;
smbmsg_t remsg;
time_t tt;
uint subnum = smb->subnum;
int subnum = smb->subnum;
get_msgid(&cfg, subnum, msg, msgid, sizeof(msgid));
offset=(int)ftell(qwk_fp);
......@@ -189,7 +189,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
fprintf(hdrs,"%s: %s\n",smb_hfieldtype(RECIPIENTNETADDR),smb_netaddrstr(&msg->to_net,tmp));
/* FidoNet */
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOAREA,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOAREA,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOSEENBY,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
......@@ -199,11 +199,11 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOREPLYID,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOPID,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOPID,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOFLAGS,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOFLAGS,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOTID,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOTID,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=FIDOCHARSET,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
......@@ -215,11 +215,11 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
,(char*)msg->hfield_dat[i]);
/* Synchronet */
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_EDITOR,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_EDITOR,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_COLUMNS,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_COLUMNS,NULL))!=NULL)
fprintf(hdrs,"%s: %u\n", smb_hfieldtype(hfield_type), *(uint8_t*)p);
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_TAGS,NULL))!=NULL)
if((p=(char*)smb_get_hfield(msg,hfield_type=SMB_TAGS,NULL))!=NULL)
fprintf(hdrs,"%s: %s\n", smb_hfieldtype(hfield_type), p);
/* USENET */
......@@ -258,7 +258,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
if(msg->hdr.type == SMB_MSG_TYPE_NORMAL) {
/* QWKE compatible kludges */
if(msg->from_net.addr && (uint)subnum==INVALID_SUB && !(mode&QM_TO_QNET)) {
if(msg->from_net.addr && subnum==INVALID_SUB && !(mode&QM_TO_QNET)) {
if(msg->from_net.type==NET_FIDO)
sprintf(from,"%.128s@%.128s"
,msg->from,smb_faddrtoa((faddr_t *)msg->from_net.addr,tmp));
......@@ -268,13 +268,13 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
sprintf(from,"%.128s@%.128s",msg->from,(char*)msg->from_net.addr);
}
if(msg->hdr.attr&MSG_ANONYMOUS && !SYSOP)
SAFECOPY(from,text[Anonymous]);
SAFECOPY(from,text[Anonymous]);
else if((mode&QM_EXT) && strlen(from) > QWK_HFIELD_LEN) {
size+=fprintf(qwk_fp,"From: %.128s%c", from, qwk_newline);
SAFECOPY(from,msg->from);
}
SAFECOPY(from,msg->from);
}
if(msg->to_net.addr && (uint)subnum==INVALID_SUB) {
if(msg->to_net.addr && subnum==INVALID_SUB) {
if(msg->to_net.type==NET_FIDO)
sprintf(to,"%.128s@%s",msg->to,smb_faddrtoa((faddr_t *)msg->to_net.addr,tmp));
else if(msg->to_net.type==NET_INTERNET)
......@@ -288,10 +288,10 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
size+=fprintf(qwk_fp,"%.128s@%.128s%c",msg->to,p,qwk_newline);
}
else
sprintf(to,"%.128s",msg->to);
sprintf(to,"%.128s",msg->to);
}
else
sprintf(to,"%.128s@%.128s",msg->to,(char*)msg->to_net.addr);
sprintf(to,"%.128s@%.128s",msg->to,(char*)msg->to_net.addr);
}
else
sprintf(to,"%.128s@%.128s",msg->to,(char*)msg->to_net.addr);
......@@ -301,7 +301,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
if(msg->to_net.type==NET_QWK)
SAFECOPY(to,"NETMAIL");
else
SAFECOPY(to,msg->to);
SAFECOPY(to,msg->to);
}
if((mode&QM_EXT) && strlen(subj) > QWK_HFIELD_LEN)
size+=fprintf(qwk_fp,"Subject: %.128s%c", subj, qwk_newline);
......@@ -309,8 +309,8 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
if(msg->from_net.type==NET_QWK && mode&QM_VIA && !msg->forwarded)
size+=fprintf(qwk_fp,"@VIA: %s%c"
,(char*)msg->from_net.addr,qwk_newline);
if(mode&QM_MSGID && (uint)subnum!=INVALID_SUB) {
if(mode&QM_MSGID && subnum!=INVALID_SUB) {
size+=fprintf(qwk_fp,"@MSGID: %s%c"
,msgid,qwk_newline);
......@@ -346,7 +346,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
size+=fprintf(qwk_fp,"Forwarded from %s on %s%c",p
,timestr(*(time32_t *)msg->hfield_dat[i])
,qwk_newline);
}
}
}
for(l=0;buf[l];l++) {
......@@ -359,7 +359,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
tear=0;
if(tearwatch==4) { /* watch for LF---LF */
tear=1;
tearwatch=0;
tearwatch=0;
}
else if(!tearwatch)
tearwatch=1;
......@@ -367,36 +367,36 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
tearwatch=0;
if(l && buf[l-1]=='\r') /* Replace CRLF with funky char */
ch=qwk_newline; /* but leave sole LF alone */
fputc(ch,qwk_fp);
fputc(ch,qwk_fp);
size++;
continue;
continue;
}
if(ch=='\r') { /* Ignore CRs */
if(tearwatch<4) /* LF---CRLF is okay */
tearwatch=0; /* LF-CR- is not okay */
continue;
continue;
}
if(ch==' ' && tearwatch==4) { /* watch for "LF--- " */
tear=1;
tearwatch=0;
tearwatch=0;
}
if(ch=='-') { /* watch for "LF---" */
if(l==0 || (tearwatch && tearwatch<4))
tearwatch++;
else
tearwatch=0;
tearwatch=0;
}
else
tearwatch=0;
if((uint)subnum!=INVALID_SUB && cfg.sub[subnum]->misc&SUB_ASCII) {
if(subnum!=INVALID_SUB && cfg.sub[subnum]->misc&SUB_ASCII) {
if(ch<' ' && ch!=1)
ch='.';
else if((uchar)ch>0x7f)
ch=exascii_to_ascii_char(ch);
ch=exascii_to_ascii_char(ch);
}
if(ch==qwk_newline) /* funky char */
......@@ -464,29 +464,29 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
break;
case '6':
SAFECOPY(str,ansi(BG_CYAN));
break;
break;
case '7':
SAFECOPY(str,ansi(BG_LIGHTGRAY));
break;
}
if(str[0])
size+=fwrite(str,sizeof(char),strlen(str),qwk_fp);
continue;
continue;
} /* End Expand */
if(mode&QM_RETCTLA && valid_ctrl_a_attr(ch)) {
fputc(CTRL_A,qwk_fp);
fputc(ch,qwk_fp);
size+=2L;
size+=2L;
}
continue;
continue;
} /* End of Ctrl-A shit */
fputc(ch,qwk_fp);
size++;
size++;
}
if(ch!=qwk_newline) {
fputc(qwk_newline,qwk_fp); /* make sure it ends in newline */
size++;
size++;
}
if(mode&QM_TAGLINE && !(cfg.sub[subnum]->misc&SUB_NOTAG)) {
......@@ -511,7 +511,7 @@ int sbbs_t::msgtoqwk(smbmsg_t* msg, FILE *qwk_fp, int mode, smb_t* smb
while(size%QWK_BLOCK_LEN) { /* Pad with spaces */
size++;
fputc(' ',qwk_fp);
fputc(' ',qwk_fp);
}
}
free(buf);
......
......@@ -55,7 +55,7 @@ static bool qwk_parse_header_list(sbbs_t* sbbs, uint confnum, smbmsg_t* msg, str
if((p=iniPopKey(headers,ROOT_SECTION,smb_hfieldtype(hfield_type=RECIPIENT),value))!=NULL) {
if(parse_recipient_hfields)
smb_hfield_str(msg,hfield_type,p);
smb_hfield_str(msg,hfield_type,p);
}
/* Recipient net address and type */
......@@ -202,7 +202,7 @@ bool sbbs_t::qwk_new_msg(uint confnum, smbmsg_t* msg, char* hdrblk, int offset,
smb_hfield_str(msg,RECIPIENT,strip_ctrl(to, to));
if(parse_sender_hfields && msg->from==NULL) {
sprintf(str,"%25.25s",hdrblk+46);
sprintf(str,"%25.25s",hdrblk+46);
truncsp(str);
smb_hfield_str(msg,SENDER,strip_ctrl(str, str));
}
......@@ -238,7 +238,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
ushort xlat=XLAT_NONE;
int dupechk_hashes=SMB_HASH_SOURCE_DUPE;
str_list_t kludges;
uint subnum = smb->subnum;
int subnum = smb->subnum;
*dupe = false;
if(subnum!=INVALID_SUB
......@@ -275,7 +275,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
dupechk_hashes&=~(1<<SMB_HASH_SOURCE_MSG_ID);
sprintf(str,"%u",touser);
smb_hfield_str(msg,RECIPIENTEXT,str);
smb_hfield_str(msg,RECIPIENTEXT,str);
} else {
if(cfg.sub[subnum]->misc&SUB_LZH)
......@@ -288,7 +288,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
if((qwkbuf=(char *)calloc(blocks, QWK_BLOCK_LEN))==NULL) { // over-allocate for NULL termination
errormsg(WHERE,ERR_ALLOC,"QWK msg buf",(blocks-1)*QWK_BLOCK_LEN);
return(false);
return(false);
}
if(fread(qwkbuf,QWK_BLOCK_LEN,blocks-1,qwk_fp) != blocks-1) {
......@@ -301,7 +301,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
if((body=(char *)malloc((blocks-1L)*QWK_BLOCK_LEN*2L))==NULL) {
free(qwkbuf);
errormsg(WHERE,ERR_ALLOC,"QWK msg body",(blocks-1L)*QWK_BLOCK_LEN*2L);
return(false);
return(false);
}
taillen=0;
......@@ -309,7 +309,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
free(qwkbuf);
free(body);
errormsg(WHERE,ERR_ALLOC,"QWK msg tail",(blocks-1L)*QWK_BLOCK_LEN*2L);
return(false);
return(false);
}
kludges=strListInit();
......@@ -321,11 +321,11 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
for(k=0;k<(blocks-1)*QWK_BLOCK_LEN;k++) {
if(qwkbuf[k]==0)
continue;
if(bodylen==0
&& (qwkbuf[k]=='@'
if(bodylen==0
&& (qwkbuf[k]=='@'
|| ((fromhub || (useron.qwk&QWK_EXT) || subnum==INVALID_SUB)
&& (strnicmp(qwkbuf+k,"To:",3)==0
|| strnicmp(qwkbuf+k,"From:",5)==0
&& (strnicmp(qwkbuf+k,"To:",3)==0
|| strnicmp(qwkbuf+k,"From:",5)==0
|| strnicmp(qwkbuf+k,"Subject:",8)==0)))) {
if((p=strchr(qwkbuf+k, '\r'))==NULL
&& (p=strchr(qwkbuf+k, qwk_newline))==NULL) {
......@@ -344,7 +344,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
strcpy(tail,"--- "); /* DO NOT USE SAFECOPY */
taillen=4;
col++;
continue;
continue;
}
if(qwkbuf[k]==qwk_newline) { /* expand QWK_NEWLINE to crlf */
if(!bodylen && !taillen) /* Ignore blank lines at top of message */
......@@ -357,16 +357,16 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
col=0;
if(taillen) {
tail[taillen++]=CR;
tail[taillen++]=LF;
tail[taillen++]=LF;
}
else {
body[bodylen++]=CR;
body[bodylen++]=LF;
body[bodylen++]=LF;
}
continue;
continue;
}
/* beep restrict */
if(!fromhub && qwkbuf[k]==BEL && useron.rest&FLAG('B'))
if(!fromhub && qwkbuf[k]==BEL && useron.rest&FLAG('B'))
continue;
/* ANSI restriction */
if(!fromhub && (qwkbuf[k]==CTRL_A || qwkbuf[k]==ESC)
......@@ -384,8 +384,8 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
if(taillen)
tail[taillen++]=qwkbuf[k];
else
body[bodylen++]=qwkbuf[k];
}
body[bodylen++]=qwkbuf[k];
}
free(qwkbuf);
while(bodylen && body[bodylen-1]==' ') bodylen--; /* remove trailing spaces */
......@@ -407,18 +407,18 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
strListFree(&kludges);
free(body);
free(tail);
return(false);
return(false);
}
SAFEPRINTF2(str,"%s/%s"
,fromhub ? cfg.qhub[fromhub-1]->id : useron.alias,p);
strupr(str);
update_qwkroute(str);
update_qwkroute(str);
}
else {
if(fromhub)
SAFECOPY(str,cfg.qhub[fromhub-1]->id);
else
SAFECOPY(str,useron.alias);
SAFECOPY(str,useron.alias);
}
/* From network type & address: */
strupr(str);
......@@ -428,7 +428,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
} else {
sprintf(str,"%u",useron.number);
smb_hfield_str(msg,SENDEREXT,str);
if((uint)subnum!=INVALID_SUB && cfg.sub[subnum]->misc&SUB_NAME)
if(subnum!=INVALID_SUB && cfg.sub[subnum]->misc&SUB_NAME)
SAFECOPY(from,useron.name);
else
SAFECOPY(from,useron.alias);
......@@ -451,7 +451,7 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
if((p=iniGetValue(kludges,ROOT_SECTION,"@TZ",NULL,NULL)) != NULL) {
if(!fromhub)
set_qwk_flag(QWK_TZ);
msg->hdr.when_written.zone=(short)ahtoul(p);
msg->hdr.when_written.zone=(short)ahtoul(p);
}
if((p=iniGetValue(kludges,ROOT_SECTION,"@REPLYTO",NULL,NULL)) != NULL) {
if(msg->replyto==NULL)
......@@ -501,18 +501,18 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, uint blocks
if(!fromhub) {
if(subnum==INVALID_SUB) {
SAFEPRINTF(str,"duplicate e-mail attempt (%s)", smb->last_error);
logline(LOG_NOTICE,"E!",str);
logline(LOG_NOTICE,"E!",str);
} else {
SAFEPRINTF3(str,"duplicate message attempt in %s %s (%s)"
,cfg.grp[cfg.sub[subnum]->grp]->sname
,cfg.sub[subnum]->lname
,smb->last_error);
logline(LOG_NOTICE,"P!",str);
logline(LOG_NOTICE,"P!",str);
}
}
*dupe=true;
}
else
else
errormsg(WHERE,ERR_WRITE,smb->file,i,smb->last_error);
free(body);
......
......@@ -119,7 +119,7 @@ typedef struct { /* Transfer Library Information */
dl_ar[LEN_ARSTR+1],
ex_ar[LEN_ARSTR+1],
op_ar[LEN_ARSTR+1];
uint32_t offline_dir; /* Offline file directory */
int offline_dir; /* Offline file directory */
uint32_t misc; /* Miscellaneous bits */
enum area_sort sort;
enum vdir_name vdir_name;
......
......@@ -44,7 +44,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
char inbox[MAX_PATH+1];
uchar block[QWK_BLOCK_LEN];
int k,file;
uint i,j,n,lastsub=INVALID_SUB;
int i,j,n,lastsub=INVALID_SUB;
int usernum;
uint blocks;
long l,size,misc;
......@@ -91,17 +91,17 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
i=external(cmdstr(cfg.qhub[hubnum]->unpack,packet,ALLFILES,NULL),EX_OFFLINE);
if(i) {
errormsg(WHERE,ERR_EXEC,cmdstr(cfg.qhub[hubnum]->unpack,packet,ALLFILES,NULL),i);
return(false);
return(false);
}
}
SAFEPRINTF(str,"%sMESSAGES.DAT",cfg.temp_dir);
if(!fexistcase(str)) {
lprintf(LOG_WARNING,"%s doesn't contain MESSAGES.DAT (%s)",packet,str);
return(false);
return(false);
}
if((qwk=fnopen(&file,str,O_RDONLY))==NULL) {
errormsg(WHERE,ERR_OPEN,str,O_RDONLY);
return(false);
return(false);
}
size=(long)filelength(file);
......@@ -174,7 +174,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
,blocks, l+116, packet);
errors++;
blocks=1;
continue;
continue;
}
if(!qwk_new_msg(n, &msg,(char*)block,/* offset: */l,headers,/* parse_sender_hfields: */true)) {
......@@ -186,11 +186,11 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
lprintf(LOG_INFO,"QWK NetMail from %s to %s", cfg.qhub[hubnum]->id, msg.to);
if(!stricmp(msg.to,"NETMAIL")) { /* QWK to FidoNet NetMail */
qwktonetmail(qwk,(char *)block,NULL,hubnum+1);
continue;
continue;
}
if(strchr(msg.to,'@')) {
qwktonetmail(qwk,(char *)block,msg.to,hubnum+1);
continue;
continue;
}
usernum=atoi(msg.to);
if(usernum && usernum>lastuser(&cfg))
......@@ -199,14 +199,14 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
usernum=matchuser(&cfg,msg.to,TRUE /* sysop_alias */);
if(!usernum) {
lprintf(LOG_NOTICE,"!QWK NetMail from %s to UNKNOWN USER: %s", cfg.qhub[hubnum]->id, msg.to);
continue;
continue;
}
misc = getusermisc(&cfg, usernum);
if(misc&NETMAIL && cfg.sys_misc&SM_FWDTONET) {
getuserstr(&cfg, usernum, USER_NETMAIL, str, sizeof(str));
qwktonetmail(qwk,(char*)block,str,hubnum+1);
continue;
continue;
}
smb_stack(&smb,SMB_STACK_PUSH);
......@@ -217,7 +217,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
errormsg(WHERE,ERR_OPEN,smb.file,k,smb.last_error);
smb_stack(&smb,SMB_STACK_POP);
errors++;
continue;
continue;
}
if(!filelength(fileno(smb.shd_fp))) {
smb.status.max_crcs=cfg.mail_maxcrcs;
......@@ -229,22 +229,22 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
errormsg(WHERE,ERR_CREATE,smb.file,k,smb.last_error);
smb_stack(&smb,SMB_STACK_POP);
errors++;
continue;
}
continue;
}
}
if((k=smb_locksmbhdr(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_LOCK,smb.file,k,smb.last_error);
smb_stack(&smb,SMB_STACK_POP);
errors++;
continue;
continue;
}
if((k=smb_getstatus(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_READ,smb.file,k,smb.last_error);
smb_stack(&smb,SMB_STACK_POP);
errors++;
continue;
continue;
}
smb_unlocksmbhdr(&smb);
bool dupe=false;
......@@ -296,7 +296,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
if((k=smb_open(&smb))!=0) {
errormsg(WHERE,ERR_OPEN,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
if(!filelength(fileno(smb.shd_fp))) {
smb.status.max_crcs=cfg.sub[j]->maxcrcs;
......@@ -307,23 +307,23 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
smb_close(&smb);
errormsg(WHERE,ERR_CREATE,smb.file,k,smb.last_error);
errors++;
continue;
}
continue;
}
}
if((k=smb_locksmbhdr(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_LOCK,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
if((k=smb_getstatus(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_READ,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
smb_unlocksmbhdr(&smb);
lastsub=j;
lastsub=j;
}
bool dupe = false;
......
......@@ -40,7 +40,7 @@ bool sbbs_t::unpack_rep(char* repfile)
uint blocks;
int usernum;
long l,size;
ulong n;
int n;
ulong ex;
ulong tmsgs = 0;
ulong dupes = 0;
......@@ -67,7 +67,7 @@ bool sbbs_t::unpack_rep(char* repfile)
bputs(text[QWKReplyNotReceived]);
logline(LOG_NOTICE,"U!",AttemptedToUploadREPpacket);
logline(LOG_NOTICE,nulstr,"REP file not received");
return(false);
return(false);
}
long file_count = extract_files_from_archive(rep_fname
,/* outdir: */cfg.temp_dir
......@@ -98,7 +98,7 @@ bool sbbs_t::unpack_rep(char* repfile)
bputs(text[QWKExtractionFailed]);
logline(LOG_NOTICE,"U!",AttemptedToUploadREPpacket);
logline(LOG_NOTICE,nulstr,"Extraction failed");
return(false);
return(false);
}
}
SAFEPRINTF2(msg_fname,"%s%s.msg",cfg.temp_dir,cfg.sys_id);
......@@ -106,11 +106,11 @@ bool sbbs_t::unpack_rep(char* repfile)
bputs(text[QWKReplyNotReceived]);
logline(LOG_NOTICE,"U!",AttemptedToUploadREPpacket);
logline(LOG_NOTICE,nulstr,"MSG file not received");
return(false);
return(false);
}
if((rep=fnopen(&file,msg_fname,O_RDONLY))==NULL) {
errormsg(WHERE,ERR_OPEN,msg_fname,O_RDONLY);
return(false);
return(false);
}
size=(long)filelength(file);
......@@ -159,7 +159,7 @@ bool sbbs_t::unpack_rep(char* repfile)
bputs(text[QWKReplyNotReceived]);
logline(LOG_NOTICE,"U!",AttemptedToUploadREPpacket);
logline(LOG_NOTICE,nulstr,"Incorrect QWK BBS ID");
return(false);
return(false);
}
/********************/
/* Process messages */
......@@ -232,22 +232,22 @@ bool sbbs_t::unpack_rep(char* repfile)
if(msg.to!=NULL) {
if(stricmp(msg.to,"NETMAIL")==0) { /* QWK to FidoNet NetMail */
qwktonetmail(rep,block,NULL,0);
continue;
continue;
}
if(strchr(msg.to,'@')) {
qwktonetmail(rep,block,msg.to,0);
continue;
continue;
}
if(!stricmp(msg.to,"SBBS")) { /* to SBBS, config stuff */
qwkcfgline(msg.subj,INVALID_SUB);
continue;
continue;
}
}
if(useron.etoday>=cfg.level_emailperday[useron.level] && !(useron.exempt&FLAG('M'))
&& !(useron.rest&FLAG('Q'))) {
bputs(text[TooManyEmailsToday]);
continue;
continue;
}
usernum=0;
if(msg.to!=NULL) {
......@@ -259,17 +259,17 @@ bool sbbs_t::unpack_rep(char* repfile)
}
if(!usernum) {
bputs(text[UnknownUser]);
continue;
continue;
}
if(usernum==1 && useron.rest&FLAG('S')) {
bprintf(text[R_Feedback],cfg.sys_op);
continue;
continue;
}
if((getusermisc(&cfg, usernum) & NETMAIL) && (cfg.sys_misc & SM_FWDTONET)) {
getuserstr(&cfg, usernum, USER_NETMAIL, str, sizeof(str));
qwktonetmail(rep,block,str,0);
continue;
continue;
}
SAFEPRINTF(smb.file,"%smail",cfg.data_dir);
......@@ -277,14 +277,14 @@ bool sbbs_t::unpack_rep(char* repfile)
if(lastsub!=INVALID_SUB) {
smb_close(&smb);
lastsub=INVALID_SUB;
lastsub=INVALID_SUB;
}
smb.subnum=INVALID_SUB;
if((k=smb_open(&smb))!=0) {
errormsg(WHERE,ERR_OPEN,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
if(!filelength(fileno(smb.shd_fp))) {
......@@ -296,22 +296,22 @@ bool sbbs_t::unpack_rep(char* repfile)
smb_close(&smb);
errormsg(WHERE,ERR_CREATE,smb.file,k,smb.last_error);
errors++;
continue;
}
continue;
}
}
if((k=smb_locksmbhdr(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_LOCK,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
if((k=smb_getstatus(&smb))!=0) {
smb_close(&smb);
errormsg(WHERE,ERR_READ,smb.file,k,smb.last_error);
errors++;
continue;
continue;
}
smb_unlocksmbhdr(&smb);
......@@ -341,14 +341,14 @@ bool sbbs_t::unpack_rep(char* repfile)
SAFEPRINTF2(str,text[EmailNodeMsg]
,cfg.node_num,msg.from);
putnmsg(&cfg,k,str);
break;
}
break;
}
}
}
if(cfg.node_num==0 || k>cfg.sys_nodes) {
SAFEPRINTF(str,text[UserSentYouMail],msg.from);
putsmsg(&cfg,usernum,str);
}
putsmsg(&cfg,usernum,str);
}
tmsgs++;
} else {
if(dupe)
......@@ -367,7 +367,7 @@ bool sbbs_t::unpack_rep(char* repfile)
SAFEPRINTF(str,"Invalid QWK conference number %ld", confnum);
logline(LOG_NOTICE,"P!",str);
errors++;
continue;
continue;
}
/* if posting, add to new-scan config for QWKnet nodes automatically */
......@@ -377,7 +377,7 @@ bool sbbs_t::unpack_rep(char* repfile)
if(msg.to!=NULL) {
if(stricmp(msg.to,"SBBS")==0) { /* to SBBS, config stuff */
qwkcfgline(msg.subj,n);
continue;
continue;
}
}
......@@ -388,14 +388,14 @@ bool sbbs_t::unpack_rep(char* repfile)
continue;
sprintf(str,"%-25.25s","ADD"); /* Add to new-scan? */
if(!strnicmp((char *)block+71,str,25)) /* don't allow post */
continue;
continue;
}
#endif
if(useron.rest&FLAG('Q') && !(cfg.sub[n]->misc&SUB_QNET)) {
bputs(text[CantPostOnSub]);
logline(LOG_NOTICE,"P!","Attempted to post QWK message on non-QWKnet sub");
continue;
continue;
}
uint reason = CantPostOnSub;
......@@ -403,14 +403,14 @@ bool sbbs_t::unpack_rep(char* repfile)
bputs(text[reason]);
SAFEPRINTF2(str, "QWK Post not allowed, reason = %u (%s)", reason, text[reason]);
logline(LOG_NOTICE, "P!", str);
continue;
continue;
}
if((block[0]=='*' || block[0]=='+')
&& !(cfg.sub[n]->misc&SUB_PRIV)) {
bputs(text[PrivatePostsNotAllowed]);
logline(LOG_NOTICE,"P!","QWK Private post attempt");
continue;
continue;
}
if(block[0]=='*' || block[0]=='+' /* Private post */
......@@ -418,8 +418,8 @@ bool sbbs_t::unpack_rep(char* repfile)
if(msg.to==NULL || !msg.to[0]
|| stricmp(msg.to,"All")==0) { /* to blank */
bputs(text[NoToUser]); /* or all */
continue;
}
continue;
}
}
#if 0 /* This stuff isn't really necessary anymore */
......@@ -446,7 +446,7 @@ bool sbbs_t::unpack_rep(char* repfile)
if((j=smb_open(&smb))!=0) {
errormsg(WHERE,ERR_OPEN,smb.file,j,smb.last_error);
errors++;
continue;
continue;
}
if(!filelength(fileno(smb.shd_fp))) {
......@@ -459,8 +459,8 @@ bool sbbs_t::unpack_rep(char* repfile)
lastsub=INVALID_SUB;
errormsg(WHERE,ERR_CREATE,smb.file,j,smb.last_error);
errors++;
continue;
}
continue;
}
}
if((j=smb_locksmbhdr(&smb))!=0) {
......@@ -468,17 +468,17 @@ bool sbbs_t::unpack_rep(char* repfile)
lastsub=INVALID_SUB;
errormsg(WHERE,ERR_LOCK,smb.file,j,smb.last_error);
errors++;
continue;
continue;
}
if((j=smb_getstatus(&smb))!=0) {
smb_close(&smb);
lastsub=INVALID_SUB;
errormsg(WHERE,ERR_READ,smb.file,j,smb.last_error);
errors++;
continue;
continue;
}
smb_unlocksmbhdr(&smb);
lastsub=n;
lastsub=n;
}
bool dupe = false;
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment