1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-01 10:20:42 +00:00

Merge branch 'development' of https://github.com/QB64Team/qb64 into development

This commit is contained in:
Fellippe Heitor 2021-02-15 04:54:23 -03:00
commit 057463104a
9 changed files with 53371 additions and 53145 deletions

View file

@ -792,6 +792,7 @@ __STRING_LASTWARNINGHEADER->len=0;
*__BYTE_DUPLICATECONSTWARNING=0;
*__BYTE_WARNINGSISSUED=0;
*__BYTE_EMPTYSCWARNING=0;
*__LONG_MAXLINENUMBER=0;
*__LONG_EXEICONSET=0;
__STRING_QB64PREFIX->len=0;
*__LONG_QB64PREFIX_SET=0;
@ -2249,6 +2250,7 @@ __STRING_A3->len=0;
*__LONG_FIRSTLINE=0;
__STRING_F->len=0;
*__LONG_DUMMY=0;
__STRING_TERRMSG->len=0;
__STRING_CURRENTDIR->len=0;
*__LONG_BU_DEPENDENCY_CONSOLE_ONLY=0;
*__LONG_CLOSEALL=0;
@ -2284,6 +2286,57 @@ __ARRAY_STRING_WARNING[6]=0;
__ARRAY_STRING_WARNING[0]=(ptrszint)&nothingstring;
}
}
if (__ARRAY_LONG_WARNINGLINES[2]&1){
if (__ARRAY_LONG_WARNINGLINES[2]&2){
memset((void*)(__ARRAY_LONG_WARNINGLINES[0]),0,__ARRAY_LONG_WARNINGLINES[5]*4);
}else{
if (__ARRAY_LONG_WARNINGLINES[2]&4){
cmem_dynamic_free((uint8*)(__ARRAY_LONG_WARNINGLINES[0]));
}else{
free((void*)(__ARRAY_LONG_WARNINGLINES[0]));
}
__ARRAY_LONG_WARNINGLINES[2]^=1;
__ARRAY_LONG_WARNINGLINES[4]=2147483647;
__ARRAY_LONG_WARNINGLINES[5]=0;
__ARRAY_LONG_WARNINGLINES[6]=0;
__ARRAY_LONG_WARNINGLINES[0]=(ptrszint)nothingvalue;
}
}
if (__ARRAY_LONG_WARNINGINCLINES[2]&1){
if (__ARRAY_LONG_WARNINGINCLINES[2]&2){
memset((void*)(__ARRAY_LONG_WARNINGINCLINES[0]),0,__ARRAY_LONG_WARNINGINCLINES[5]*4);
}else{
if (__ARRAY_LONG_WARNINGINCLINES[2]&4){
cmem_dynamic_free((uint8*)(__ARRAY_LONG_WARNINGINCLINES[0]));
}else{
free((void*)(__ARRAY_LONG_WARNINGINCLINES[0]));
}
__ARRAY_LONG_WARNINGINCLINES[2]^=1;
__ARRAY_LONG_WARNINGINCLINES[4]=2147483647;
__ARRAY_LONG_WARNINGINCLINES[5]=0;
__ARRAY_LONG_WARNINGINCLINES[6]=0;
__ARRAY_LONG_WARNINGINCLINES[0]=(ptrszint)nothingvalue;
}
}
if (__ARRAY_STRING_WARNINGINCFILES[2]&1){
if (__ARRAY_STRING_WARNINGINCFILES[2]&2){
tmp_long=__ARRAY_STRING_WARNINGINCFILES[5];
while(tmp_long--){
((qbs*)(((uint64*)(__ARRAY_STRING_WARNINGINCFILES[0]))[tmp_long]))->len=0;
}
}else{
tmp_long=__ARRAY_STRING_WARNINGINCFILES[5];
while(tmp_long--){
qbs_free((qbs*)(((uint64*)(__ARRAY_STRING_WARNINGINCFILES[0]))[tmp_long]));
}
free((void*)(__ARRAY_STRING_WARNINGINCFILES[0]));
__ARRAY_STRING_WARNINGINCFILES[2]^=1;
__ARRAY_STRING_WARNINGINCFILES[4]=2147483647;
__ARRAY_STRING_WARNINGINCFILES[5]=0;
__ARRAY_STRING_WARNINGINCFILES[6]=0;
__ARRAY_STRING_WARNINGINCFILES[0]=(ptrszint)&nothingstring;
}
}
*__LONG_PTRSZ=0;
*__LONG_I2=0;
*__LONG_I3=0;

View file

@ -30,42 +30,6 @@ if(_FUNC_IDEWARNINGBOX_STRING1_SEP==NULL){
_FUNC_IDEWARNINGBOX_STRING1_SEP=qbs_new_fixed((uint8*)mem_static_malloc(1),1,0);
memset(_FUNC_IDEWARNINGBOX_STRING1_SEP->chr,0,1);
}
ptrszint *_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES=NULL;
if (!_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES){
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES)[8]=(ptrszint)mem_lock_tmp;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[2]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[4]=2147483647;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[5]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[6]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[0]=(ptrszint)nothingvalue;
}
ptrszint *_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES=NULL;
if (!_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES){
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES)[8]=(ptrszint)mem_lock_tmp;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[2]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[4]=2147483647;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[5]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[6]=0;
_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[0]=(ptrszint)nothingvalue;
}
ptrszint *_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES=NULL;
if (!_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES){
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES)[8]=(ptrszint)mem_lock_tmp;
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[2]=0;
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[4]=2147483647;
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[5]=0;
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[6]=0;
_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[0]=(ptrszint)&nothingstring;
}
byte_element_struct *byte_element_4810=NULL;
if (!byte_element_4810){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4810=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4810=(byte_element_struct*)mem_static_malloc(12);
@ -90,11 +54,6 @@ int64 fornext_value4813;
int64 fornext_finalvalue4813;
int64 fornext_step4813;
uint8 fornext_step_negative4813;
int32 *_FUNC_IDEWARNINGBOX_LONG_WARNINGINCLEVEL=NULL;
if(_FUNC_IDEWARNINGBOX_LONG_WARNINGINCLEVEL==NULL){
_FUNC_IDEWARNINGBOX_LONG_WARNINGINCLEVEL=(int32*)mem_static_malloc(4);
*_FUNC_IDEWARNINGBOX_LONG_WARNINGINCLEVEL=0;
}
byte_element_struct *byte_element_4814=NULL;
if (!byte_element_4814){
if ((mem_static_pointer+=12)<mem_static_limit) byte_element_4814=(byte_element_struct*)(mem_static_pointer-12); else byte_element_4814=(byte_element_struct*)mem_static_malloc(12);

View file

@ -7,28 +7,6 @@ free((void*)(_FUNC_IDEWARNINGBOX_ARRAY_UDT_O[0]));
}
free_mem_lock( (mem_lock*)((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_UDT_O)[8] );
qbs_free(_FUNC_IDEWARNINGBOX_STRING1_SEP);
if (_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[2]&1){
if (_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[2]&4){
cmem_dynamic_free((uint8*)(_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[0]));
}else{
free((void*)(_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES[0]));
}
}
free_mem_lock( (mem_lock*)((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGLINES)[8] );
if (_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[2]&1){
if (_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[2]&4){
cmem_dynamic_free((uint8*)(_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[0]));
}else{
free((void*)(_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES[0]));
}
}
free_mem_lock( (mem_lock*)((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_LONG_WARNINGINCLINES)[8] );
if (_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[2]&1){
tmp_long=_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[5];
while(tmp_long--) qbs_free((qbs*)((uint64*)(_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[0]))[tmp_long]);
free((void*)(_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES[0]));
}
free_mem_lock( (mem_lock*)((ptrszint*)_FUNC_IDEWARNINGBOX_ARRAY_STRING_WARNINGINCFILES)[8] );
qbs_free(_FUNC_IDEWARNINGBOX_STRING_THISPROG);
qbs_free(_FUNC_IDEWARNINGBOX_STRING_L);
qbs_free(_FUNC_IDEWARNINGBOX_STRING_L3);

View file

@ -280,6 +280,7 @@ qbs *__STRING_LASTWARNINGHEADER=NULL;
int8 *__BYTE_DUPLICATECONSTWARNING=NULL;
int8 *__BYTE_WARNINGSISSUED=NULL;
int8 *__BYTE_EMPTYSCWARNING=NULL;
int32 *__LONG_MAXLINENUMBER=NULL;
int32 *__LONG_EXEICONSET=NULL;
qbs *__STRING_QB64PREFIX=NULL;
int32 *__LONG_QB64PREFIX_SET=NULL;
@ -609,6 +610,7 @@ int32 *__LONG_LASTLINE=NULL;
int32 *__LONG_FIRSTLINE=NULL;
qbs *__STRING_F=NULL;
int32 *__LONG_DUMMY=NULL;
qbs *__STRING_TERRMSG=NULL;
qbs *__STRING_CURRENTDIR=NULL;
int32 *__LONG_BU_DEPENDENCY_CONSOLE_ONLY=NULL;
int32 *__LONG_CLOSEALL=NULL;
@ -626,6 +628,9 @@ int32 *__LONG_DYNSCOPE=NULL;
int32 *__LONG_ELSEFOLLOWUP=NULL;
int32 *__LONG_DEFININGTYPE=NULL;
ptrszint *__ARRAY_STRING_WARNING=NULL;
ptrszint *__ARRAY_LONG_WARNINGLINES=NULL;
ptrszint *__ARRAY_LONG_WARNINGINCLINES=NULL;
ptrszint *__ARRAY_STRING_WARNINGINCFILES=NULL;
int32 *__LONG_PTRSZ=NULL;
int32 *__LONG_I2=NULL;
int32 *__LONG_I3=NULL;

File diff suppressed because it is too large Load diff

View file

@ -1177,6 +1177,10 @@ if(__BYTE_EMPTYSCWARNING==NULL){
__BYTE_EMPTYSCWARNING=(int8*)mem_static_malloc(1);
*__BYTE_EMPTYSCWARNING=0;
}
if(__LONG_MAXLINENUMBER==NULL){
__LONG_MAXLINENUMBER=(int32*)mem_static_malloc(4);
*__LONG_MAXLINENUMBER=0;
}
if(__LONG_EXEICONSET==NULL){
__LONG_EXEICONSET=(int32*)mem_static_malloc(4);
*__LONG_EXEICONSET=0;
@ -2907,6 +2911,7 @@ __LONG_DUMMY=(int32*)mem_static_malloc(4);
*__LONG_DUMMY=0;
}
int8 pass64;
if (!__STRING_TERRMSG)__STRING_TERRMSG=qbs_new(0,0);
int32 pass66;
int32 pass67;
int32 pass68;
@ -3125,6 +3130,39 @@ __ARRAY_STRING_WARNING[5]=0;
__ARRAY_STRING_WARNING[6]=0;
__ARRAY_STRING_WARNING[0]=(ptrszint)&nothingstring;
}
if (!__ARRAY_LONG_WARNINGLINES){
__ARRAY_LONG_WARNINGLINES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)__ARRAY_LONG_WARNINGLINES)[8]=(ptrszint)mem_lock_tmp;
__ARRAY_LONG_WARNINGLINES[2]=0;
__ARRAY_LONG_WARNINGLINES[4]=2147483647;
__ARRAY_LONG_WARNINGLINES[5]=0;
__ARRAY_LONG_WARNINGLINES[6]=0;
__ARRAY_LONG_WARNINGLINES[0]=(ptrszint)nothingvalue;
}
if (!__ARRAY_LONG_WARNINGINCLINES){
__ARRAY_LONG_WARNINGINCLINES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)__ARRAY_LONG_WARNINGINCLINES)[8]=(ptrszint)mem_lock_tmp;
__ARRAY_LONG_WARNINGINCLINES[2]=0;
__ARRAY_LONG_WARNINGINCLINES[4]=2147483647;
__ARRAY_LONG_WARNINGINCLINES[5]=0;
__ARRAY_LONG_WARNINGINCLINES[6]=0;
__ARRAY_LONG_WARNINGINCLINES[0]=(ptrszint)nothingvalue;
}
if (!__ARRAY_STRING_WARNINGINCFILES){
__ARRAY_STRING_WARNINGINCFILES=(ptrszint*)mem_static_malloc(9*ptrsz);
new_mem_lock();
mem_lock_tmp->type=4;
((ptrszint*)__ARRAY_STRING_WARNINGINCFILES)[8]=(ptrszint)mem_lock_tmp;
__ARRAY_STRING_WARNINGINCFILES[2]=0;
__ARRAY_STRING_WARNINGINCFILES[4]=2147483647;
__ARRAY_STRING_WARNINGINCFILES[5]=0;
__ARRAY_STRING_WARNINGINCFILES[6]=0;
__ARRAY_STRING_WARNINGINCFILES[0]=(ptrszint)&nothingstring;
}
if(__LONG_PTRSZ==NULL){
__LONG_PTRSZ=(int32*)mem_static_malloc(4);
*__LONG_PTRSZ=0;

View file

@ -887,6 +887,7 @@ qbs_free(__STRING_SENDC);
qbs_free(__STRING_C);
qbs_free(__STRING_A3);
qbs_free(__STRING_F);
qbs_free(__STRING_TERRMSG);
qbs_free(__STRING_CURRENTDIR);
qbs_free(__STRING_MYLIB);
qbs_free(__STRING_MYLIBOPT);
@ -896,6 +897,28 @@ while(tmp_long--) qbs_free((qbs*)((uint64*)(__ARRAY_STRING_WARNING[0]))[tmp_long
free((void*)(__ARRAY_STRING_WARNING[0]));
}
free_mem_lock( (mem_lock*)((ptrszint*)__ARRAY_STRING_WARNING)[8] );
if (__ARRAY_LONG_WARNINGLINES[2]&1){
if (__ARRAY_LONG_WARNINGLINES[2]&4){
cmem_dynamic_free((uint8*)(__ARRAY_LONG_WARNINGLINES[0]));
}else{
free((void*)(__ARRAY_LONG_WARNINGLINES[0]));
}
}
free_mem_lock( (mem_lock*)((ptrszint*)__ARRAY_LONG_WARNINGLINES)[8] );
if (__ARRAY_LONG_WARNINGINCLINES[2]&1){
if (__ARRAY_LONG_WARNINGINCLINES[2]&4){
cmem_dynamic_free((uint8*)(__ARRAY_LONG_WARNINGINCLINES[0]));
}else{
free((void*)(__ARRAY_LONG_WARNINGINCLINES[0]));
}
}
free_mem_lock( (mem_lock*)((ptrszint*)__ARRAY_LONG_WARNINGINCLINES)[8] );
if (__ARRAY_STRING_WARNINGINCFILES[2]&1){
tmp_long=__ARRAY_STRING_WARNINGINCFILES[5];
while(tmp_long--) qbs_free((qbs*)((uint64*)(__ARRAY_STRING_WARNINGINCFILES[0]))[tmp_long]);
free((void*)(__ARRAY_STRING_WARNINGINCFILES[0]));
}
free_mem_lock( (mem_lock*)((ptrszint*)__ARRAY_STRING_WARNINGINCFILES)[8] );
qbs_free(__STRING_WHOLESTV);
qbs_free(__STRING_TEMP);
qbs_free(__STRING_L);

View file

@ -9255,22 +9255,14 @@ FUNCTION idewarningbox
'-------- init --------
DIM warningLines(1 TO warningListItems) AS LONG
DIM warningIncLines(1 TO warningListItems) AS LONG
DIM warningIncFiles(1 TO warningListItems) AS STRING
IF LEN(ideprogname) THEN thisprog$ = ideprogname ELSE thisprog$ = "Untitled" + tempfolderindexstr$
maxModuleNameLen = LEN(thisprog$)
'fill arrays
'calculate longest module name
FOR x = 1 TO warningListItems
warningLines(x) = CVL(LEFT$(warning$(x), 4))
IF warningLines(x) = 0 THEN _CONTINUE
warningIncLevel = CVL(MID$(warning$(x), 5, 4))
IF warningIncLevel > 0 THEN
warningIncLines(x) = CVL(MID$(warning$(x), 9, 4))
warningIncFiles(x) = MID$(warning$(x), 13, INSTR(warning$(x), CHR$(255)) - 13)
IF warningIncLines(x) > 0 THEN
IF LEN(warningIncFiles(x)) > maxModuleNameLen THEN
maxModuleNameLen = LEN(warningIncFiles(x))
END IF
@ -9280,21 +9272,21 @@ FUNCTION idewarningbox
'build list
FOR x = 1 TO warningListItems
IF warningLines(x) = 0 THEN
l$ = l$ + MID$(warning$(x), INSTR(warning$(x), CHR$(255)) + 1)
l$ = l$ + warning$(x)
IF x > 1 THEN ASC(l$, treeConnection) = 192
ELSE
l3$ = CHR$(16) + CHR$(2) 'dark grey
IF warningIncLines(x) > 0 THEN
num$ = SPACE$(maxLineNumberLength)
num$ = SPACE$(LEN(STR$(maxLineNumber)) + 1)
RSET num$ = str2$(warningIncLines(x))
l3$ = l3$ + warningIncFiles(x) + SPACE$(maxModuleNameLen - LEN(warningIncFiles(x))) + ":" + CHR$(16) + CHR$(16) + num$
ELSE
num$ = SPACE$(maxLineNumberLength)
num$ = SPACE$(LEN(STR$(maxLineNumber)) + 1)
RSET num$ = str2$(warningLines(x))
l3$ = l3$ + thisprog$ + SPACE$(maxModuleNameLen - LEN(thisprog$)) + ":" + CHR$(16) + CHR$(16) + num$
END IF
treeConnection = LEN(l$) + 1
text$ = MID$(warning$(x), INSTR(warning$(x), CHR$(255)) + 1)
text$ = warning$(x)
IF LEN(text$) THEN
l$ = l$ + CHR$(195) + CHR$(196) + l3$ + ": " + text$
ELSE

View file

@ -110,7 +110,7 @@ REDIM SHARED usedVariableList(1000) AS usedVarList, totalVariablesCreated AS LON
DIM SHARED bypassNextVariable AS _BYTE
DIM SHARED totalWarnings AS LONG, warningListItems AS LONG, lastWarningHeader AS STRING
DIM SHARED duplicateConstWarning AS _BYTE, warningsissued AS _BYTE
DIM SHARED emptySCWarning AS _BYTE
DIM SHARED emptySCWarning AS _BYTE, maxLineNumber AS LONG
DIM SHARED ExeIconSet AS LONG, qb64prefix$, qb64prefix_set
DIM SHARED VersionInfoSet AS _BYTE
@ -1094,7 +1094,9 @@ ideerror:
IF INSTR(idemessage$, sp$) THEN
'Something went wrong here, so let's give a generic error message to the user.
'(No error message should contain sp$ - that is, CHR$(13), when not in Debug mode)
idemessage$ = "Compiler error (check for syntax errors) (" + _ERRORMESSAGE$ + ":"
terrmsg$ = _ERRORMESSAGE$
IF terrmsg$ = "No error" THEN terrmsg$ = "Internal error"
idemessage$ = "Compiler error (check for syntax errors) (" + terrmsg$ + ":"
IF ERR THEN idemessage$ = idemessage$ + str2$(ERR) + "-"
IF _ERRORLINE THEN idemessage$ = idemessage$ + str2$(_ERRORLINE)
IF _INCLERRORLINE THEN idemessage$ = idemessage$ + "-" + _INCLERRORFILE$ + "-" + str2$(_INCLERRORLINE)
@ -1419,6 +1421,10 @@ emptySCWarning = 0
warningListItems = 0
lastWarningHeader = ""
REDIM SHARED warning$(1000)
REDIM SHARED warningLines(1000) AS LONG
REDIM SHARED warningIncLines(1000) AS LONG
REDIM SHARED warningIncFiles(1000) AS STRING
maxLineNumber = 0
uniquenumbern = 0
qb64prefix_set = 0
qb64prefix$ = "_"
@ -25458,26 +25464,37 @@ SUB addWarning (whichLineNumber AS LONG, includeLevel AS LONG, incLineNumber AS
END IF
ELSEIF idemode THEN
IF NOT IgnoreWarnings THEN
IF whichLineNumber > maxLineNumber THEN maxLineNumber = whichLineNumber
IF lastWarningHeader <> header$ THEN
lastWarningHeader = header$
GOSUB increaseWarningCount
warning$(warningListItems) = MKL$(0) + CHR$(255) + header$
warning$(warningListItems) = header$
warningLines(warningListItems) = 0
END IF
GOSUB increaseWarningCount
warning$(warningListItems) = text$
warningLines(warningListItems) = whichLineNumber
IF includeLevel > 0 THEN
thisincname$ = getfilepath$(incFileName$)
thisincname$ = MID$(incFileName$, LEN(thisincname$) + 1)
warning$(warningListItems) = MKL$(whichLineNumber) + MKL$(includeLevel) + MKL$(incLineNumber) + thisincname$ + CHR$(255) + text$
warningIncLines(warningListItems) = incLineNumber
warningIncFiles(warningListItems) = thisincname$
ELSE
warning$(warningListItems) = MKL$(whichLineNumber) + MKL$(0) + CHR$(255) + text$
warningIncLines(warningListItems) = 0
warningIncFiles(warningListItems) = ""
END IF
END IF
END IF
EXIT SUB
increaseWarningCount:
warningListItems = warningListItems + 1
IF warningListItems > UBOUND(warning$) THEN REDIM _PRESERVE warning$(warningListItems + 999)
IF warningListItems > UBOUND(warning$) THEN
REDIM _PRESERVE warning$(warningListItems + 999)
REDIM _PRESERVE warningLines(warningListItems + 999) AS LONG
REDIM _PRESERVE warningIncLines(warningListItems + 999) AS LONG
REDIM _PRESERVE warningIncFiles(warningListItems + 999) AS STRING
END IF
RETURN
END SUB