Skip to content

Commit 9a3360e

Browse files
committed
fix displayed VAT addresses in the VAT View dock.
In the VAT iteration, the vat pointer variable kept being decreased, but that was also the one that was used on the GUI side, so it kept "pointing" to addresses too low (after the variable in question).
1 parent 9726557 commit 9a3360e

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

core/vat.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ static uint8_t calc_tokenized_var_version(const calc_var_t *var) {
289289

290290
void vat_search_init(calc_var_t *var) {
291291
memset(var, 0, sizeof *var);
292-
var->vat = 0xD3FFFF;
292+
var->originalVat = var->vat = 0xD3FFFF;
293293
}
294294

295295
bool vat_search_next(calc_var_t *var) {
@@ -302,6 +302,7 @@ bool vat_search_next(calc_var_t *var) {
302302
if (!var->vat || var->vat < userMem || var->vat <= OPBase || var->vat > symTable) {
303303
return false; /* some sanity check failed */
304304
}
305+
var->originalVat = var->vat;
305306
var->type1 = mem_peek_byte(var->vat--);
306307
var->type = (calc_var_type_t)(var->type1 & 0x3F);
307308
var->type2 = mem_peek_byte(var->vat--);

core/vat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ extern const char *calc_var_type_names[0x40];
5757
const char *calc_var_name_to_utf8(const uint8_t name[8], uint8_t namelen, bool named);
5858

5959
typedef struct calc_var {
60-
uint32_t vat, address;
60+
uint32_t originalVat, vat, address;
6161
uint8_t type1, type2, version, namelen, name[9], *data;
6262
calc_var_type_t type;
6363
uint16_t size;

gui/qt/debugger.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2394,7 +2394,7 @@ void MainWindow::osUpdate() {
23942394
vat_search_init(&var);
23952395
while (vat_search_next(&var)) {
23962396
QTableWidgetItem *varAddr = new QTableWidgetItem(int2hex(var.address, 6));
2397-
QTableWidgetItem *varVatAddr = new QTableWidgetItem(int2hex(var.vat, 6));
2397+
QTableWidgetItem *varVatAddr = new QTableWidgetItem(int2hex(var.originalVat, 6));
23982398
QTableWidgetItem *varSize = new QTableWidgetItem(int2hex(var.size, 4));
23992399
QTableWidgetItem *varName = new QTableWidgetItem(QString(calc_var_name_to_utf8(var.name, var.namelen, var.named)));
24002400
QTableWidgetItem *varType = new QTableWidgetItem(QString(calc_var_type_names[var.type]));

0 commit comments

Comments
 (0)