Guard against 'current_directory == NULL' on gdb_abspath (PR gdb/23613)
[deliverable/binutils-gdb.git] / gdb / gdb_obstack.h
index 829e2f959c41475d245fb46d1c911a2fae94a431..3d6a01099fe6599412968c909428776d4bf2f293 100644 (file)
@@ -95,6 +95,27 @@ obstack_strdup (struct obstack *obstackp, const char *string)
   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
 {
This page took 0.025224 seconds and 4 git commands to generate.