/* Top level stuff for GDB, the GNU debugger.
- Copyright (C) 1986-2013 Free Software Foundation, Inc.
+ Copyright (C) 1986-2014 Free Software Foundation, Inc.
This file is part of GDB.
#include "getopt.h"
#include <sys/types.h>
-#include "gdb_stat.h"
+#include <sys/stat.h>
#include <ctype.h>
-#include "gdb_string.h"
+#include <string.h>
#include "event-loop.h"
#include "ui-out.h"
/* GDB as it has been invoked from the command line (i.e. argv[0]). */
static char *gdb_program_name;
+/* Return read only pointer to GDB_PROGRAM_NAME. */
+const char *
+get_gdb_program_name (void)
+{
+ return gdb_program_name;
+}
+
static void print_gdb_help (struct ui_file *);
/* Relocate a file or directory. PROGNAME is the name by which gdb
saved_command_line[0] = '\0';
instream = stdin;
+#ifdef __MINGW32__
+ /* Ensure stderr is unbuffered. A Cygwin pty or pipe is implemented
+ as a Windows pipe, and Windows buffers on pipes. */
+ setvbuf (stderr, NULL, _IONBF, BUFSIZ);
+#endif
+
gdb_stdout = stdio_fileopen (stdout);
- gdb_stderr = stdio_fileopen (stderr);
+ gdb_stderr = stderr_fileopen ();
+
gdb_stdlog = gdb_stderr; /* for moment */
gdb_stdtarg = gdb_stderr; /* for moment */
gdb_stdin = stdio_fileopen (stdin);
xfree (interpreter_p);
interpreter_p = xstrdup (INTERP_INSIGHT);
#endif
- use_windows = 1;
break;
case OPT_NOWINDOWS:
/* -nw is equivalent to -i=console. */
xfree (interpreter_p);
interpreter_p = xstrdup (INTERP_CONSOLE);
- use_windows = 0;
break;
case 'f':
annotation_level = 1;
- /* We have probably been invoked from emacs. Disable
- window interface. */
- use_windows = 0;
break;
case 's':
symarg = optarg;
}
}
- /* If --help or --version or --configuration, disable window
- interface. */
- if (print_help || print_version || print_configuration)
- {
- use_windows = 0;
- }
-
if (batch_flag)
quiet = 1;
}
}
/* Set off error and warning messages with a blank line. */
- error_pre_print = "\n";
- quit_pre_print = error_pre_print;
warning_pre_print = _("\nwarning: ");
/* Read and execute the system-wide gdbinit file, if it exists.
catch_command_errors returns non-zero on success! */
if (catch_command_errors (exec_file_attach, execarg,
!batch_flag, RETURN_MASK_ALL))
- catch_command_errors (symbol_file_add_main, symarg,
- !batch_flag, RETURN_MASK_ALL);
+ catch_command_errors_const (symbol_file_add_main, symarg,
+ !batch_flag, RETURN_MASK_ALL);
}
else
{
catch_command_errors (exec_file_attach, execarg,
!batch_flag, RETURN_MASK_ALL);
if (symarg != NULL)
- catch_command_errors (symbol_file_add_main, symarg,
- !batch_flag, RETURN_MASK_ALL);
+ catch_command_errors_const (symbol_file_add_main, symarg,
+ !batch_flag, RETURN_MASK_ALL);
}
if (corearg && pidarg)
set_inferior_io_terminal (ttyarg);
/* Error messages should no longer be distinguished with extra output. */
- error_pre_print = NULL;
- quit_pre_print = NULL;
warning_pre_print = _("warning: ");
/* Read the .gdbinit file in the current directory, *if* it isn't
int
gdb_main (struct captured_main_args *args)
{
- use_windows = args->use_windows;
catch_errors (captured_main, args, "", RETURN_MASK_ALL);
/* The only way to end up here is by an error (normal exit is
handled by quit_force()), hence always return an error status. */