From 074ac0a6637dd72751fe77a6aec76773035047fa Mon Sep 17 00:00:00 2001 From: tracer-ysyx Date: Thu, 11 Jan 2024 22:35:40 +0800 Subject: [PATCH] =?UTF-8?q?>=20compile=20NEMU=20ysyx=5F22040000=20?= =?UTF-8?q?=E6=9D=8E=E5=BF=83=E6=9D=A8=20Linux=20calcite=206.1.69=20#1-Nix?= =?UTF-8?q?OS=20SMP=20PREEMPT=5FDYNAMIC=20Wed=20Dec=2020=2016:00:29=20UTC?= =?UTF-8?q?=202023=20x86=5F64=20GNU/Linux=20=2022:35:40=20=20up=203=20days?= =?UTF-8?q?=2021:36,=20=202=20users,=20=20load=20average:=201.54,=201.13,?= =?UTF-8?q?=200.98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/src/monitor/sdb/sdb.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nemu/src/monitor/sdb/sdb.c b/nemu/src/monitor/sdb/sdb.c index 557c68b..04a083b 100644 --- a/nemu/src/monitor/sdb/sdb.c +++ b/nemu/src/monitor/sdb/sdb.c @@ -123,14 +123,18 @@ static word_t parse_uint(const char *arg, bool *success) { } } -static word_t parse_expr(const char *arg, bool *success) { +static paddr_t parse_expr(const char *arg, bool *success) { if (arg == NULL) { puts("Invalid expr argument."); *success = false; return 0; + } else { + bool res = false; + // FIXME: We cannot use `parse_uint` here, it accept `-1234` as input + paddr_t addr = parse_uint(arg, &res); + *success = res; + return addr; } - - return 0; } static int cmd_c(char *args) {