428,7 → 428,6 |
bool isptr = false; |
|
/* If we get a name, try to find it in symbol table */ |
if (text[0] < '0' || text[0] > '9') { |
if (text[0] == '&') { |
isaddr = true; |
text++;len--; |
436,6 → 435,7 |
isptr = true; |
text++;len--; |
} |
if (text[0] < '0' || text[0] > '9') { |
strncpy(symname, text, min(len+1, MAX_SYMBOL_NAME)); |
symaddr = get_symbol_addr(symname); |
if (!symaddr) { |
447,6 → 447,9 |
symtab_print_search(symname); |
return -1; |
} |
} else /* It's a number - convert it */ |
*result = atoi(text); |
|
if (isaddr) |
*result = (__native)symaddr; |
else if (isptr) |
453,8 → 456,7 |
*result = **((__native **)symaddr); |
else |
*result = *((__native *)symaddr); |
} else /* It's a number - convert it */ |
*result = atoi(text); |
|
return 0; |
} |
|