/* Obstack wrapper for GDB.
- Copyright (C) 2002-2019 Free Software Foundation, Inc.
+ Copyright (C) 2002-2020 Free Software Foundation, Inc.
This file is part of GDB.
return (char *) obstack_copy0 (obstackp, string, strlen (string));
}
+/* Duplicate STRING, returning an equivalent string that's allocated on the
+ obstack OBSTACKP. */
+
+static inline char *
+obstack_strdup (struct obstack *obstackp, const std::string &string)
+{
+ return (char *) obstack_copy0 (obstackp, string.c_str (),
+ string.size ());
+}
+
+/* Duplicate the first N characters of STRING, returning a
+ \0-terminated string that's allocated on the obstack OBSTACKP.
+ Note that exactly N characters are copied, even if STRING is
+ shorter. */
+
+static inline char *
+obstack_strndup (struct obstack *obstackp, const char *string, size_t n)
+{
+ return (char *) obstack_copy0 (obstackp, string, n);
+}
+
/* An obstack that frees itself on scope exit. */
struct auto_obstack : obstack
{