From 9b1ce44fda207abd64b712295fdca65553dad745 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Thu, 2 Apr 2020 19:31:11 +0900 Subject: [PATCH] [qwaq] Fix some issues with fetching type encodings Now struct defs show FIXME instead of void data. --- ruamoko/qwaq/debugger/debugger.r | 2 -- ruamoko/qwaq/debugger/localsdata.r | 4 +++- ruamoko/qwaq/debugger/typeencodings.r | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ruamoko/qwaq/debugger/debugger.r b/ruamoko/qwaq/debugger/debugger.r index 4fbba26a4..425a4f4d7 100644 --- a/ruamoko/qwaq/debugger/debugger.r +++ b/ruamoko/qwaq/debugger/debugger.r @@ -234,7 +234,6 @@ is_new_line (qdb_state_t last_state, qdb_state_t state) [self stop:event.what]; break; case prd_subenter: - printf("subenter\n"); if (sub_cond.onEnter) { [self stop:event.what]; } else { @@ -242,7 +241,6 @@ is_new_line (qdb_state_t last_state, qdb_state_t state) } break; case prd_subexit: - printf("subexit\n"); if (sub_cond.onExit) { [self stop:event.what]; } else { diff --git a/ruamoko/qwaq/debugger/localsdata.r b/ruamoko/qwaq/debugger/localsdata.r index d380f9fe5..d65869491 100644 --- a/ruamoko/qwaq/debugger/localsdata.r +++ b/ruamoko/qwaq/debugger/localsdata.r @@ -66,7 +66,9 @@ -fetchData { - qdb_get_data (target, func.local_data, func.local_size, data); + if (data && func.local_size && func.local_data) { + qdb_get_data (target, func.local_data, func.local_size, data); + } return self; } diff --git a/ruamoko/qwaq/debugger/typeencodings.r b/ruamoko/qwaq/debugger/typeencodings.r index 0e2f4fc44..ad04dbbcd 100644 --- a/ruamoko/qwaq/debugger/typeencodings.r +++ b/ruamoko/qwaq/debugger/typeencodings.r @@ -83,7 +83,7 @@ static void type_free (void *t, void *unused) if (qdb_get_data (target, typeAddr, TYPESIZE, &buffer) < 0) { return nil; } - if (!buffer.encoding) { + if (!buffer.size) { return nil; } encoding = qdb_get_string (target, buffer.encoding); @@ -97,7 +97,7 @@ static void type_free (void *t, void *unused) return type; } type = obj_calloc (1, buffer.size); - if (!qdb_get_data (target, typeAddr, TYPESIZE, &buffer)) { + if (qdb_get_data (target, typeAddr, buffer.size, type) < 0) { goto error; } if (!(type.encoding = qdb_get_string (target, type.encoding))) {