From: Ian Lance Taylor Date: Thu, 25 Aug 1994 18:56:11 +0000 (+0000) Subject: * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=435b470ec338d435c8c63e1e813ca6c67e5f1cc7;p=binutils-gdb.git * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error before adding BYTES_IN_WORD. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1bc2c1cf068..32af35e3ee2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error + before adding BYTES_IN_WORD. + * coffgen.c (coff_find_nearest_line): Look for the best C_FILE, not merely the first. diff --git a/bfd/aoutx.h b/bfd/aoutx.h index f62228d884c..1c716e270ff 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1764,6 +1764,7 @@ add_to_stringtab (abfd, tab, str, copy) boolean copy; { boolean hash; + bfd_size_type index; /* An index of 0 always means the empty string. */ if (*str == '\0') @@ -1775,9 +1776,16 @@ add_to_stringtab (abfd, tab, str, copy) if ((abfd->flags & BFD_TRADITIONAL_FORMAT) != 0) hash = false; - /* Add BYTES_IN_WORD to the return value to account for the space - taken up by the count. */ - return BYTES_IN_WORD + _bfd_stringtab_add (tab, str, hash, copy); + index = _bfd_stringtab_add (tab, str, hash, copy); + + if (index != (bfd_size_type) -1) + { + /* Add BYTES_IN_WORD to the return value to account for the + space taken up by the string table size. */ + index += BYTES_IN_WORD; + } + + return index; } /* Write out a strtab. ABFD is already at the right location in the