mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-09-22 22:48:08 +03:00
Improve warning messages
This commit is contained in:
+1
-1
@@ -161,7 +161,7 @@ void commandLL() {
|
||||
DEBUG_COMMAND("LL %d,%d,%d,%d:\n",type, link_no, _var, num);
|
||||
|
||||
if (dfile->size < num * sizeof(WORD)) {
|
||||
WARNING("data shortage (req = %d, result = %d)\n", num, dfile->size/ sizeof(WORD));
|
||||
WARNING("data shortage (link_no = %d, requested %d, loaded %d)\n", link_no, num, dfile->size/ sizeof(WORD));
|
||||
/* sysVar[0] = 254; 大嘘*/
|
||||
/* return; */
|
||||
num = dfile->size / sizeof(WORD);
|
||||
|
||||
+11
-3
@@ -54,6 +54,14 @@ int preVarPage; /* 直前にアクセスした変数のページ */
|
||||
int preVarIndex; /* 直前にアクセスした変数のINDEX */
|
||||
int preVarNo; /* 直前にアクセスした変数の番号 */
|
||||
|
||||
static const char *varname(int var) {
|
||||
if (var < nact->ain.varnum)
|
||||
return nact->ain.var[var];
|
||||
static char buf[10];
|
||||
sprintf(buf, "VAR%d", var);
|
||||
return buf;
|
||||
}
|
||||
|
||||
static char *advance(const char *s, int n) {
|
||||
while (*s && n > 0) {
|
||||
s = advance_char(s, nact->encoding);
|
||||
@@ -78,7 +86,7 @@ int *v_ref(int var) {
|
||||
int page = attr->page;
|
||||
int offset = attr->offset;
|
||||
if (*index + offset >= arrayVarBuffer[page - 1].size) {
|
||||
WARNING("%03d:%05x: ArrayIndexOutOfBounds (%d, %d, %d, %d)\n", sl_getPage(), sl_getIndex(), var, *index, page, offset);
|
||||
WARNING("%03d:%05x: Out of bounds array access: %s\n", sl_getPage(), sl_getIndex(), varname(var));
|
||||
return NULL;
|
||||
}
|
||||
preVarIndex = offset + *index;
|
||||
@@ -93,7 +101,7 @@ int *v_ref_indexed(int var, int index) {
|
||||
if (attr->page == 0) {
|
||||
// If VAR_n is not an array variable, VAR_n[i] points to VAR_(n+i).
|
||||
if ((var + index) >= SYSVAR_MAX) {
|
||||
WARNING("%03d:%05x: ArrayIndexOutOfBounds (%d, %d)\n", sl_getPage(), sl_getIndex(), var, index);
|
||||
WARNING("%03d:%05x: Out of bounds index access: %s[%d]\n", sl_getPage(), sl_getIndex(), varname(var), index);
|
||||
return NULL;
|
||||
}
|
||||
preVarIndex = var + index;
|
||||
@@ -104,7 +112,7 @@ int *v_ref_indexed(int var, int index) {
|
||||
int page = attr->page;
|
||||
int offset = attr->offset;
|
||||
if (offset + index >= arrayVarBuffer[page - 1].size) {
|
||||
WARNING("%03d:%05x: ArrayIndexOutOfBounds (%d, %d, %d, %d)\n", sl_getPage(), sl_getIndex(), var, index, page, offset);
|
||||
WARNING("%03d:%05x: Out of bounds index access: %s[%d]\n", sl_getPage(), sl_getIndex(), varname(var), index);
|
||||
return NULL;
|
||||
}
|
||||
preVarIndex = offset + index;
|
||||
|
||||
Reference in New Issue
Block a user