diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3974808c07..29ffa1e962 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-08-06 Tom Tromey + + * gdb_obstack.h (obstack_strdup): Define. + * gdb_obstack.c (obstack_strdup): Don't define. + 2019-08-06 Tom Tromey * xcoffread.c (SYMNAME_ALLOC, process_xcoff_symbol): Use diff --git a/gdb/gdb_obstack.c b/gdb/gdb_obstack.c index 0bf4abb82f..01257120d0 100644 --- a/gdb/gdb_obstack.c +++ b/gdb/gdb_obstack.c @@ -45,13 +45,3 @@ obconcat (struct obstack *obstackp, ...) return (char *) obstack_finish (obstackp); } - -/* See gdb_obstack.h. */ - -char * -obstack_strdup (struct obstack *obstackp, const char *string) -{ - char *obstring = (char *) obstack_alloc (obstackp, strlen (string) + 1); - strcpy (obstring, string); - return obstring; -} diff --git a/gdb/gdb_obstack.h b/gdb/gdb_obstack.h index 143fcf7179..829e2f959c 100644 --- a/gdb/gdb_obstack.h +++ b/gdb/gdb_obstack.h @@ -89,7 +89,11 @@ extern char *obconcat (struct obstack *obstackp, ...) ATTRIBUTE_SENTINEL; /* Duplicate STRING, returning an equivalent string that's allocated on the obstack OBSTACKP. */ -extern char *obstack_strdup (struct obstack *obstackp, const char *string); +static inline char * +obstack_strdup (struct obstack *obstackp, const char *string) +{ + return (char *) obstack_copy0 (obstackp, string, strlen (string)); +} /* An obstack that frees itself on scope exit. */ struct auto_obstack : obstack