Remove allowproccall code, dedent a block.
This commit is contained in:
parent
385d3708a3
commit
8dc4fcc728
@ -2281,45 +2281,42 @@ restart:
|
||||
} /* if */
|
||||
if (sym!=NULL && lval1->ident==iFUNCTN) {
|
||||
assert(sym->ident==iFUNCTN);
|
||||
if (sc_allowproccall) {
|
||||
// Note: this is unreachable in SourceMod, we don't support paren-less calls.
|
||||
callfunction(sym,NULL,lval1,FALSE);
|
||||
} else if ((sym->usage & uNATIVE) != uNATIVE) {
|
||||
symbol *oldsym=sym;
|
||||
int n=-1,iter=0;
|
||||
int usage = ((sym->usage & uPUBLIC) == uPUBLIC) ? uPUBLIC : 0;
|
||||
cell code_addr=0;
|
||||
for (sym=glbtab.next; sym!=NULL; sym=sym->next) {
|
||||
if (sym->ident==iFUNCTN && sym->vclass == sGLOBAL && (!usage || (sym->usage & usage)))
|
||||
{
|
||||
if (strcmp(sym->name, lval1->sym->name)==0) {
|
||||
n = iter;
|
||||
code_addr = sym->codeaddr;
|
||||
break;
|
||||
}
|
||||
iter++;
|
||||
}
|
||||
}
|
||||
if (n!=-1) {
|
||||
char faketag[sNAMEMAX+1];
|
||||
lval1->sym=NULL;
|
||||
lval1->ident=iCONSTEXPR;
|
||||
/* Generate a quick pseudo-tag! */
|
||||
if (usage == uPUBLIC) {
|
||||
lval1->constval=(n<<1)|1;
|
||||
snprintf(faketag, sizeof(faketag)-1, "$Func@%d", n);
|
||||
} else {
|
||||
lval1->constval=(code_addr<<1)|0;
|
||||
snprintf(faketag, sizeof(faketag)-1, "$Func!%d", code_addr);
|
||||
error(153);
|
||||
}
|
||||
lval1->tag=pc_addtag_flags(faketag, FIXEDTAG|FUNCTAG);
|
||||
oldsym->usage |= uREAD;
|
||||
sym->usage |= uREAD;
|
||||
} else {
|
||||
error(76); /* invalid function call, or syntax error */
|
||||
} /* if */
|
||||
|
||||
if (sym->usage & uNATIVE) {
|
||||
error(76);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
symbol *oldsym=sym;
|
||||
int n=-1,iter=0;
|
||||
int usage = ((sym->usage & uPUBLIC) == uPUBLIC) ? uPUBLIC : 0;
|
||||
cell code_addr=0;
|
||||
for (sym=glbtab.next; sym!=NULL; sym=sym->next) {
|
||||
if (sym->ident==iFUNCTN && sym->vclass == sGLOBAL && (!usage || (sym->usage & usage))) {
|
||||
if (strcmp(sym->name, lval1->sym->name)==0) {
|
||||
n = iter;
|
||||
code_addr = sym->codeaddr;
|
||||
break;
|
||||
}
|
||||
iter++;
|
||||
}
|
||||
}
|
||||
if (n!=-1) {
|
||||
char faketag[sNAMEMAX+1];
|
||||
lval1->sym=NULL;
|
||||
lval1->ident=iCONSTEXPR;
|
||||
/* Generate a quick pseudo-tag! */
|
||||
if (usage == uPUBLIC) {
|
||||
lval1->constval=(n<<1)|1;
|
||||
snprintf(faketag, sizeof(faketag)-1, "$Func@%d", n);
|
||||
} else {
|
||||
lval1->constval=(code_addr<<1)|0;
|
||||
snprintf(faketag, sizeof(faketag)-1, "$Func!%d", code_addr);
|
||||
error(153);
|
||||
}
|
||||
lval1->tag=pc_addtag_flags(faketag, FIXEDTAG|FUNCTAG);
|
||||
oldsym->usage |= uREAD;
|
||||
sym->usage |= uREAD;
|
||||
} else {
|
||||
error(76); /* invalid function call, or syntax error */
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user