Don't declare public constants as constants

Public constants must be declared as variables, like it was done
before the previous commit, because they must be visible by the
amx_XXXPubVar API.
This commit is contained in:
Zeex 2015-06-20 09:59:24 +06:00
parent 39828f23f2
commit 88f78aa882

View File

@ -1861,7 +1861,7 @@ static void declfuncvar(int fpublic,int fstatic,int fstock,int fconst)
invalidfunc= fconst || (fpublic && fstock); invalidfunc= fconst || (fpublic && fstock);
if (invalidfunc || !newfunc(name,tag,fpublic,fstatic,fstock)) { if (invalidfunc || !newfunc(name,tag,fpublic,fstatic,fstock)) {
/* if not a function, try a global constant/variable */ /* if not a function, try a global constant/variable */
if (fconst) { if (fconst && !fpublic) {
lexpush(); lexpush();
decl_const(sGLOBAL); decl_const(sGLOBAL);
} else { } else {
@ -2345,7 +2345,7 @@ static int base;
for (d=0; d<dim[cur]; d++) for (d=0; d<dim[cur]; d++)
litq[base++]=(size*dim[cur]+(dim[cur+1]-1)*(dim[cur]*i+d)) * sizeof(cell); litq[base++]=(size*dim[cur]+(dim[cur+1]-1)*(dim[cur]*i+d)) * sizeof(cell);
} else { } else {
/* final dimension is variable length */ /* final dimension is variable length */
constvalue *ld; constvalue *ld;
assert(dim[cur+1]==0); assert(dim[cur+1]==0);
assert(lastdim!=NULL); assert(lastdim!=NULL);