use E_SYMNMLEN

This commit is contained in:
Jim Kingdon 1993-04-07 17:40:55 +00:00
parent 73d0fc7820
commit f635bd474c
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,7 @@
Wed Apr 7 10:11:22 1993 Jim Kingdon (kingdon@cygnus.com)
* xcoffread.c (read_xcoff_symtab): Use E_SYMNMLEN.
Tue Apr 6 22:30:58 1993 K. Richard Pixley (rich@cygnus.com)
Add section table to objfile struct. Use it for find_pc_section.

View File

@ -1064,13 +1064,14 @@ read_xcoff_symtab (objfile, nsyms)
pointed to by cs->c_name will persist throughout xcoffread. If
we use the new field, it gets overwritten for each symbol. */
cs->c_name = ((struct external_syment *)raw_symbol)->e.e_name;
/* If it's exactly 8 characters long it isn't '\0'-terminated. */
if (cs->c_name[7] != '\0')
/* If it's exactly E_SYMNMLEN characters long it isn't
'\0'-terminated. */
if (cs->c_name[E_SYMNMLEN - 1] != '\0')
{
char *p;
p = obstack_alloc (&objfile->symbol_obstack, 9);
strncpy (p, cs->c_name, 8);
p[8] = '\0';
p = obstack_alloc (&objfile->symbol_obstack, E_SYMNMLEN + 1);
strncpy (p, cs->c_name, E_SYMNMLEN);
p[E_SYMNMLEN] = '\0';
cs->c_name = p;
symname_alloced = 1;
}