----- Original Message -----
Hi Aaron,
I was revisiting your v1 patch, and realized that the duplicate symbol check
also needs to apply to the "can_eval()" section as well, because a user could
enter "dis symbol+<offset>".
So I extracted your do-while loop into a discrete function, and beefed it
up to handle the entry of symbols with multiple text and data symbols, as
well as some other possibilities. In so doing, things got a bit murkier
than your original patch. I've attached what I've come up with so far.
Tell me what you think.
And it's slightly more murkier:
The 1/2 patch needs to be updated to verify that the hexadecimal
address of a symbol is a 't' or 'T' symbol type. Otherwise, the
address of a data symbol could be passed in, and it would disassemble
junk until it got to the next symbol.
The argument passed to can_eval() and then to the resolve_text_symbol()
needs to be verified that the user entered "symbol+offset" and not
"address+offset". If the latter format was entered, then nothing should
be resolved and it should be used as specified.
User-mode addresses should not be passed to resolve_text_symbol().
An updated patch is attached.
Dave