command_loop_marker PARAMS ((int));
static void
-print_gdb_version PARAMS ((void));
+print_gdb_version PARAMS ((FILE *));
static void
quit_command PARAMS ((char *, int));
#ifndef GDBINIT_FILENAME
#define GDBINIT_FILENAME ".gdbinit"
#endif
-char gdbinit[] = GDBINIT_FILENAME;
+static char gdbinit[] = GDBINIT_FILENAME;
+static int inhibit_gdbinit = 0;
#define ALL_CLEANUPS ((struct cleanup *)0)
disconnect (signo)
int signo;
{
- catch_errors (quit_cover, NULL, "Could not kill inferior process");
+ catch_errors (quit_cover, NULL,
+ "Could not kill the program being debugged");
signal (SIGHUP, SIG_DFL);
kill (getpid (), SIGHUP);
}
char **argv;
{
int count;
- static int inhibit_gdbinit = 0;
static int quiet = 0;
static int batch = 0;
{"m", no_argument, &mapped_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
+ {"silent", no_argument, &quiet, 1},
{"nx", no_argument, &inhibit_gdbinit, 1},
{"n", no_argument, &inhibit_gdbinit, 1},
{"batch", no_argument, &batch, 1},
#endif
case '?':
fprintf (stderr,
- "Use `%s +help' for a complete list of options.\n",
+ "Use `%s --help' for a complete list of options.\n",
argv[0]);
exit (1);
}
-
}
+
if (print_help)
{
- fputs ("\
-This is GDB, the GNU debugger. Use the command\n\
- gdb [options] [executable [core-file]]\n\
-to enter the debugger.\n\
-\n\
-Options available are:\n\
+ print_gdb_version(stderr);
+ fputs ("\n\
+This is the GNU debugger. Usage:\n\
+ gdb [options] [executable-file [core-file or process-id]]\n\
+Options:\n\
-help Print this message.\n\
-quiet Do not print version number on startup.\n\
-fullname Output information used by emacs-GDB interface.\n\
/* Print all the junk at the top, with trailing "..." if we are about
to read a symbol file (possibly slowly). */
print_gnu_advertisement ();
- print_gdb_version ();
+ print_gdb_version (stdout);
if (symarg)
printf_filtered ("..");
wrap_here("");
if (execarg != NULL
&& symarg != NULL
- && strcmp (execarg, symarg) == 0)
+ && STREQ (execarg, symarg))
{
/* The exec file and the symbol-file are the same. If we can't open
it, better only print one error message. */
int from_tty;
{
register struct cmd_list_element *c;
- register struct command_line *cmdlines;
register enum language flang;
static int warned = 0;
}
#ifdef STOP_SIGNAL
- signal (SIGTSTP, SIG_DFL);
+ signal (STOP_SIGNAL, SIG_DFL);
#endif
immediate_quit--;
int from_tty;
{
register struct command_line *cmds;
- register struct cmd_list_element *c, *newc, *hookc;
+ register struct cmd_list_element *c, *newc, *hookc = 0;
char *tem = comname;
#define HOOK_STRING "hook-"
#define HOOK_LEN 5
/* Look it up, and verify that we got an exact match. */
c = lookup_cmd (&tem, cmdlist, "", -1, 1);
- if (c && 0 != strcmp (comname, c->name))
+ if (c && !STREQ (comname, c->name))
c = 0;
if (c)
/* Look up cmd it hooks, and verify that we got an exact match. */
tem = comname+HOOK_LEN;
hookc = lookup_cmd (&tem, cmdlist, "", -1, 0);
- if (hookc && 0 != strcmp (comname+HOOK_LEN, hookc->name))
+ if (hookc && !STREQ (comname+HOOK_LEN, hookc->name))
hookc = 0;
if (!hookc)
{
}
static void
-print_gdb_version ()
+print_gdb_version (stream)
+ FILE *stream;
{
- printf_filtered ("\
-GDB %s, Copyright 1992 Free Software Foundation, Inc.",
+ fprintf_filtered (stream, "\
+GDB %s, Copyright 1993 Free Software Foundation, Inc.",
version);
}
{
immediate_quit++;
print_gnu_advertisement ();
- print_gdb_version ();
+ print_gdb_version (stdout);
printf_filtered ("\n");
immediate_quit--;
}
{
if (inferior_pid != 0 && target_has_execution)
{
- if (query ("The program is running. Quit anyway? "))
+ if (attach_flag)
{
- if (attach_flag)
+ if (query ("The program is running. Quit anyway (and detach it)? "))
target_detach (args, from_tty);
else
- target_kill ();
+ error ("Not confirmed.");
}
else
- error ("Not confirmed.");
+ {
+ if (query ("The program is running. Quit anyway (and kill it)? "))
+ target_kill ();
+ else
+ error ("Not confirmed.");
+ }
}
/* Save the history information if it is appropriate to do so. */
if (write_history_p && history_filename)
if (args) error ("The \"pwd\" command does not take an argument: %s", args);
getcwd (dirbuf, sizeof (dirbuf));
- if (strcmp (dirbuf, current_directory))
+ if (!STREQ (dirbuf, current_directory))
printf ("Working directory %s\n (canonically %s).\n",
current_directory, dirbuf);
else
struct cleanup *cleanups;
char *file = args;
- if (file == 0)
- /* Let source without arguments read .gdbinit. */
- file = gdbinit;
+ if (file == NULL)
+ {
+ error ("source command requires pathname of file to source.");
+ }
file = tilde_expand (file);
make_cleanup (free, file);
- stream = fopen (file, "r");
+ stream = fopen (file, FOPEN_RT);
if (stream == 0)
perror_with_name (file);
register int c;
if (text)
- while (c = *p++)
+ while ((c = *p++) != '\0')
{
if (c == '\\')
{
int from_tty;
struct cmd_list_element *c;
{
- if (history_size == UINT_MAX)
+ if (history_size == INT_MAX)
unstifle_history ();
else if (history_size >= 0)
stifle_history (history_size);
else
{
- history_size = UINT_MAX;
+ history_size = INT_MAX;
error ("History size must be non-negative");
}
}
{
/* This message is based on ANSI C, section 4.7. Note that integer
divide by zero causes this, so "float" is a misnomer. */
+ signal (SIGFPE, float_handler);
error ("Erroneous arithmetic operation.");
}
Without an argument, saving is enabled.", &sethistlist),
&showhistlist);
- c = add_set_cmd ("size", no_class, var_uinteger, (char *)&history_size,
+ c = add_set_cmd ("size", no_class, var_integer, (char *)&history_size,
"Set the size of the command history, \n\
ie. the number of previous commands to keep a record of.", &sethistlist);
add_show_from_set (c, &showhistlist);