Upgrade GDB from 7.4.1 to 7.6.1 on the vendor branch
[dragonfly.git] / contrib / gdb-7 / gdb / gdb_obstack.c
similarity index 52%
rename from contrib/gdb-7/gdb/tui/tui-main.c
rename to contrib/gdb-7/gdb/gdb_obstack.c
index d12fa74..df34968 100644 (file)
@@ -1,6 +1,6 @@
-/* Main function for TUI gdb.
+/* Obstack wrapper for GDB.
 
-   Copyright (C) 2002, 2004, 2007-2012 Free Software Foundation, Inc.
+   Copyright (C) 2013 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* The binary "gdbtui" is deprecated.
-
-   The binary will be no longer built or installed in GDB 7.5.
-   Use "gdb -tui" instead.  */
-
 #include "defs.h"
-#include "main.h"
-#include "gdb_string.h"
-#include "interps.h"
+#include "gdb_obstack.h"
 
-int
-main (int argc, char **argv)
+/* Concatenate NULL terminated variable argument list of `const char *'
+   strings; return the new string.  Space is found in the OBSTACKP.
+   Argument list must be terminated by a sentinel expression `(char *)
+   NULL'.  */
+
+char *
+obconcat (struct obstack *obstackp, ...)
 {
-  struct captured_main_args args;
-
-  memset (&args, 0, sizeof args);
-  args.argc = argc;
-  args.argv = argv;
-  args.use_windows = 0;
-  args.interpreter_p = INTERP_TUI;
-  return gdb_main (&args);
+  va_list ap;
+
+  va_start (ap, obstackp);
+  for (;;)
+    {
+      const char *s = va_arg (ap, const char *);
+
+      if (s == NULL)
+       break;
+
+      obstack_grow_str (obstackp, s);
+    }
+  va_end (ap);
+  obstack_1grow (obstackp, 0);
+
+  return obstack_finish (obstackp);
 }