Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

Commit 45903fa3 authored by deuce's avatar deuce

getstrvar() -> 64-bit

parent cc06c6de
......@@ -38,7 +38,7 @@
#include "sbbs.h"
#include "cmdshell.h"
char ** sbbs_t::getstrvar(csi_t *bin, long name)
char ** sbbs_t::getstrvar(csi_t *bin, int32_t name)
{
uint i;
......
......@@ -51,7 +51,7 @@ static char* format_string(sbbs_t* sbbs, csi_t* csi)
while(*(csi->ip++)); /* Find '\0' terminator */
args=*(csi->ip++); /* total args */
for(i=0;i<args;i++) {
if((vp=sbbs->getstrvar(csi,*(long *)csi->ip))==NULL) {
if((vp=sbbs->getstrvar(csi,*(int32_t *)csi->ip))==NULL) {
if((lp=sbbs->getintvar(csi,*(int32_t *)csi->ip))==NULL)
fmt=xp_asprintf_next(fmt,XP_PRINTF_CONVERT|XP_PRINTF_TYPE_INT,0);
else
......@@ -78,7 +78,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case CS_VAR_INSTRUCTION:
switch(*(csi->ip++)) { /* sub-op-code stored as next byte */
case PRINT_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp || !*pp) {
lp=getintvar(csi,*(int32_t *)csi->ip);
if(lp)
......@@ -127,7 +127,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
,global_int_var[i]);
return(0);
case DEFINE_STR_VAR:
if(getstrvar(csi,*(long *)csi->ip)) {
if(getstrvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0); }
csi->str_vars++;
......@@ -177,7 +177,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->ip+=4; /* Skip variable name */
return(0);
case DEFINE_GLOBAL_STR_VAR:
if(getstrvar(csi,*(long *)csi->ip)) {
if(getstrvar(csi,*(int32_t *)csi->ip)) {
csi->ip+=4;
return(0); }
global_str_vars++;
......@@ -230,7 +230,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case SET_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
if(pp)
*pp=copystrvar(csi,*pp
......@@ -245,7 +245,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->ip+=4; /* Skip value */
return(0);
case COMPARE_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
if(pp && *pp)
csi->logic=stricmp(*pp
......@@ -258,7 +258,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
while(*(csi->ip++)); /* Find NULL */
return(0);
case STRSTR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
if(pp && *pp && strstr(*pp
,cmdstr((char *)csi->ip,path,csi->str,buf)))
......@@ -269,7 +269,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case STRNCMP_VAR:
i=*csi->ip++;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
if(pp && *pp)
csi->logic=strnicmp(*pp
......@@ -280,9 +280,9 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case STRNCMP_VARS:
i=*csi->ip++;
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp1 && *pp1 && pp2 && *pp2)
csi->logic=strnicmp(*pp1,*pp2,i);
......@@ -290,9 +290,9 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->logic=LOGIC_FALSE;
return(0);
case STRSTR_VARS:
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp1 && *pp1 && pp2 && *pp2 && strstr(*pp1,*pp2))
csi->logic=LOGIC_TRUE;
......@@ -316,11 +316,11 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case COMPARE_VARS:
lp1=lp2=0;
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp1)
lp1=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp2)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
......@@ -360,11 +360,11 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case COPY_VAR:
lp1=lp2=0;
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp1)
lp1=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp2)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
......@@ -389,11 +389,11 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case SWAP_VARS:
lp1=lp2=0;
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp1)
lp1=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp2)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
......@@ -437,7 +437,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
*lp2=l; }
return(0);
case CAT_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
strcpy(tmp,(char *)csi->ip);
while(*(csi->ip++));
......@@ -454,9 +454,9 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
strcat(*pp,tmp);
return(0);
case CAT_STR_VARS:
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip dest variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip source variable name */
/* Concatenate an int var to a str var (as char) */
......@@ -499,7 +499,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
strcat(*pp1,*pp2);
return(0);
case FORMAT_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
p=format_string(this, csi);
cmdstr(p,path,csi->str,str);
......@@ -508,7 +508,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
free(p);
return(0);
case FORMAT_TIME_STR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
strcpy(str,(char *)csi->ip);
while(*(csi->ip++)); /* Find NULL */
......@@ -522,7 +522,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
}
return(0);
case TIME_STR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip str variable name */
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip int variable name */
......@@ -531,7 +531,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
*pp=copystrvar(csi,*pp,str); }
return(0);
case DATE_STR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip str variable name */
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip int variable name */
......@@ -540,7 +540,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
*pp=copystrvar(csi,*pp,str); }
return(0);
case SECOND_STR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip str variable name */
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip int variable name */
......@@ -549,25 +549,25 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
*pp=copystrvar(csi,*pp,str); }
return(0);
case STRUPR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
strupr(*pp);
return(0);
case STRLWR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
strlwr(*pp);
return(0);
case TRUNCSP_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
truncsp(*pp);
return(0);
case STRIP_CTRL_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
strip_ctrl(*pp);
......@@ -651,7 +651,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->ip+=4;
lp2=getintvar(csi,*(int32_t *)csi->ip);
if(!lp2) {
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp || !*pp)
return(0);
l=strtol(*pp,0,0); }
......@@ -706,7 +706,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case DATE_STR_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp && pp && *pp)
*lp=dstrtounix(&cfg,*pp);
......@@ -714,7 +714,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case STRLEN_INT_VAR:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -725,7 +725,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case CRC16_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -736,7 +736,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case CRC32_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -747,7 +747,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case CHKSUM_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
*lp=0;
......@@ -759,7 +759,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case FLENGTH_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -770,7 +770,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case FTIME_TO_INT:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -782,7 +782,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case COPY_FIRST_CHAR: // duplicate functionality - doh!
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -795,7 +795,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case GETNAME_VAR:
case GETSTRUPR_VAR:
case GETSTR_MODE:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
i=*(csi->ip++);
csi->logic=LOGIC_FALSE;
......@@ -828,7 +828,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->logic=LOGIC_TRUE; }
return(0);
case GETNUM_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp)
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
......@@ -852,7 +852,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case SHIFT_STR_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
i=*(csi->ip++);
if(!pp || !*pp)
......@@ -864,7 +864,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case SHIFT_TO_FIRST_CHAR:
case SHIFT_TO_LAST_CHAR:
i=*(csi->ip-1);
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
ch=*(csi->ip++);
csi->logic=LOGIC_FALSE;
......@@ -883,7 +883,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
return(0);
case CHKFILE_VAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp && fexistcase(cmdstr(*pp,path,csi->str,buf)))
csi->logic=LOGIC_TRUE;
......@@ -891,7 +891,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->logic=LOGIC_FALSE;
return(0);
case PRINTFILE_VAR_MODE:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
i=*(short *)(csi->ip);
csi->ip+=2;
......@@ -899,7 +899,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
printfile(*pp,i);
return(0);
case PRINTTAIL_VAR_MODE:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
i=*(short *)(csi->ip);
csi->ip+=2;
......@@ -911,7 +911,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case TELNET_GATE_VAR:
l=*(ulong *)(csi->ip); // Mode
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
telnet_gate(*pp,l);
......@@ -924,7 +924,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
telnet_gate(str,l);
return(0);
case COPY_CHAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(pp==NULL)
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
......@@ -937,7 +937,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
}
return(0);
case COMPARE_FIRST_CHAR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
ch=*(csi->ip++); /* char const */
if(pp==NULL || *pp==NULL)
......@@ -971,7 +971,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case RECEIVE_FILE_VIA_VAR:
j=*(csi->ip-1);
ch=*(csi->ip++); /* Protocol */
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
for(i=0;i<cfg.total_prots;i++)
if(cfg.prot[i]->mnemonic==ch && chk_ar(cfg.prot[i]->ar,&useron))
......@@ -989,7 +989,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case MATCHUSER:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(lp) {
if(pp && *pp)
......@@ -1016,7 +1016,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
cmdstr((char *)csi->ip,path,csi->str,str);
while(*(csi->ip++)); } /* skip filename */
else {
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(!pp || !*pp)
return(0);
......@@ -1069,7 +1069,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case FIO_READ_VAR:
lp1=getintvar(csi,*(int32_t *)csi->ip); /* Handle */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
......@@ -1109,7 +1109,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case FIO_READ_LINE:
lp1=getintvar(csi,*(int32_t *)csi->ip); /* Handle */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
......@@ -1136,7 +1136,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case FIO_WRITE_VAR:
lp1=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(!pp)
lp2=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
......@@ -1307,7 +1307,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
csi->etx=*(csi->ip++);
return(0);
case REMOVE_FILE:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp && remove(*pp)==0)
csi->logic=LOGIC_TRUE;
......@@ -1317,9 +1317,9 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case RENAME_FILE:
case COPY_FILE:
case MOVE_FILE:
pp1=getstrvar(csi,*(long *)csi->ip);
pp1=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4; /* Skip variable name */
pp2=getstrvar(csi,*(long *)csi->ip);
pp2=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp1 && *pp1 && pp2 && *pp2)
switch(*(csi->ip-9)) {
......@@ -1339,7 +1339,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case SET_FILE_ATTRIB:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp && lp) {
if(*(csi->ip-9)==GET_FILE_ATTRIB)
......@@ -1351,7 +1351,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case MAKE_DIR:
case REMOVE_DIR:
case CHANGE_DIR:
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
if(pp && *pp)
switch(*(csi->ip-5)) {
......@@ -1371,7 +1371,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case OPEN_DIR:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
csi->logic=LOGIC_FALSE;
if(pp && *pp && lp) {
......@@ -1382,7 +1382,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
case READ_DIR:
lp=getintvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
csi->ip+=4;
csi->logic=LOGIC_FALSE;
if(pp && lp) {
......@@ -1500,7 +1500,7 @@ int sbbs_t::exec_misc(csi_t* csi, char *path)
while(*(csi->ip++)); /* Find NULL */
return(0);
case CS_USE_INT_VAR: // Self-modifying code!
pp=getstrvar(csi,*(long *)csi->ip);
pp=getstrvar(csi,*(int32_t *)csi->ip);
if(pp && *pp)
l=strtol(*pp,0,0);
else {
......
......@@ -121,7 +121,7 @@ int sbbs_t::exec_net(csi_t* csi)
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* address */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* address */
csi->ip+=4;
w=*(ushort *)csi->ip; /* port */
......@@ -178,7 +178,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_SOCKET_READ:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* buffer */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* buffer */
csi->ip+=4;
w=*(ushort *)csi->ip; /* length */
csi->ip+=2;
......@@ -207,7 +207,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_SOCKET_READLINE:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* buffer */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* buffer */
csi->ip+=4;
w=*(ushort *)csi->ip; /* length */
csi->ip+=2;
......@@ -264,7 +264,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_SOCKET_WRITE:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* buffer */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* buffer */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -283,9 +283,9 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_LOGIN:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp1=getstrvar(csi,*(long *)csi->ip); /* username */
pp1=getstrvar(csi,*(int32_t *)csi->ip); /* username */
csi->ip+=4;
pp2=getstrvar(csi,*(long *)csi->ip); /* password */
pp2=getstrvar(csi,*(int32_t *)csi->ip); /* password */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -349,7 +349,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_CWD:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* path */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* path */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -369,7 +369,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_DIR:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* path */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* path */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -386,7 +386,7 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_DELETE:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp=getstrvar(csi,*(long *)csi->ip); /* path */
pp=getstrvar(csi,*(int32_t *)csi->ip); /* path */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -407,9 +407,9 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_GET:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp1=getstrvar(csi,*(long *)csi->ip); /* src path */
pp1=getstrvar(csi,*(int32_t *)csi->ip); /* src path */
csi->ip+=4;
pp2=getstrvar(csi,*(long *)csi->ip); /* dest path */
pp2=getstrvar(csi,*(int32_t *)csi->ip); /* dest path */
csi->ip+=4;
csi->logic=LOGIC_FALSE;
......@@ -426,9 +426,9 @@ int sbbs_t::exec_net(csi_t* csi)
case CS_FTP_PUT:
lp=getintvar(csi,*(int32_t *)csi->ip); /* socket */
csi->ip+=4;
pp1=getstrvar(csi,*(long *)csi->ip); /* src path */
pp1=getstrvar(csi,*(int32_t *)csi->ip); /* src path */
csi->ip+=4;
pp2=getstrvar(csi,*(long *)csi->ip); /* dest path */