/* This routine fixes up symbol references/aliases to point to the original
- symbol definition. */
+ symbol definition. Returns 0 on failure, non-zero on success. */
static int
resolve_symbol_reference (objfile, sym, p)
/* Get to the end of the list. */
for (temp = SYMBOL_ALIASES (ref_sym);
- temp->next;
- temp = temp->next);
+ temp->next;
+ temp = temp->next)
;
temp->next = alias;
}
SYMBOL_NAME (sym) = SYMBOL_NAME (ref_sym);
/* Done! */
- return 0;
+ return 1;
}
/* Structure for storing pointers to reference definitions for fast lookup
if (refnum >= 0)
ref_add (refnum, sym, string, SYMBOL_VALUE (sym));
else
- resolve_symbol_reference (objfile, sym, string);
+ if (!resolve_symbol_reference (objfile, sym, string))
+ return NULL;
/* S..P contains the name of the symbol. We need to store
the correct name into SYMBOL_NAME. */