2002-10-09 David Carlton <carlton@math.stanford.edu>

* symfile.h: Add opaque declaration for struct obstack.
	Declare obsavestring to take a const char *.
	* symfile.c (obsavestring): Make first argument a const char *.
This commit is contained in:
David Carlton 2002-10-17 21:16:12 +00:00
parent abe1a5d0ef
commit 63ca651f75
3 changed files with 14 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2002-10-09 David Carlton <carlton@math.stanford.edu>
* symfile.h: Add opaque declaration for struct obstack.
Declare obsavestring to take a const char *.
* symfile.c (obsavestring): Make first argument a const char *.
2002-10-16 Adam Fedor <fedor@gnu.org> 2002-10-16 Adam Fedor <fedor@gnu.org>
* breakpoint.c (parse_breakpoint_sals): Ignore ObjC method * breakpoint.c (parse_breakpoint_sals): Ignore ObjC method

View file

@ -299,16 +299,16 @@ sort_symtab_syms (register struct symtab *s)
may be part of a larger string and we are only saving a substring. */ may be part of a larger string and we are only saving a substring. */
char * char *
obsavestring (char *ptr, int size, struct obstack *obstackp) obsavestring (const char *ptr, int size, struct obstack *obstackp)
{ {
register char *p = (char *) obstack_alloc (obstackp, size + 1); register char *p = (char *) obstack_alloc (obstackp, size + 1);
/* Open-coded memcpy--saves function call time. These strings are usually /* Open-coded memcpy--saves function call time. These strings are usually
short. FIXME: Is this really still true with a compiler that can short. FIXME: Is this really still true with a compiler that can
inline memcpy? */ inline memcpy? */
{ {
register char *p1 = ptr; register const char *p1 = ptr;
register char *p2 = p; register char *p2 = p;
char *end = ptr + size; const char *end = ptr + size;
while (p1 != end) while (p1 != end)
*p2++ = *p1++; *p2++ = *p1++;
} }

View file

@ -25,6 +25,10 @@
/* This file requires that you first include "bfd.h". */ /* This file requires that you first include "bfd.h". */
/* Opaque declarations. */
struct obstack;
/* Partial symbols are stored in the psymbol_cache and pointers to them /* Partial symbols are stored in the psymbol_cache and pointers to them
are kept in a dynamically grown array that is obtained from malloc and are kept in a dynamically grown array that is obtained from malloc and
grown as necessary via realloc. Each objfile typically has two of these, grown as necessary via realloc. Each objfile typically has two of these,
@ -208,7 +212,7 @@ extern void sort_symtab_syms (struct symtab *);
(and add a null character at the end in the copy). (and add a null character at the end in the copy).
Returns the address of the copy. */ Returns the address of the copy. */
extern char *obsavestring (char *, int, struct obstack *); extern char *obsavestring (const char *, int, struct obstack *);
/* Concatenate strings S1, S2 and S3; return the new string. /* Concatenate strings S1, S2 and S3; return the new string.
Space is found in the symbol_obstack. */ Space is found in the symbol_obstack. */