/* Generic serial interface routines
- Copyright (C) 1992-2018 Free Software Foundation, Inc.
+ Copyright (C) 1992-2020 Free Software Foundation, Inc.
This file is part of GDB.
/* Check for a colon, suggesting an IP address/port pair.
Do this *after* checking for all the interesting prefixes. We
don't want to constrain the syntax of what can follow them. */
- else if (!startswith (name, "unix:") && (strchr (name, ':')))
+ else if (strchr (name, ':'))
ops = serial_interface_lookup ("tcp");
else
{
/* Check to see if name is a socket. If it is, then treat it
as such. Otherwise assume that it's a character device. */
struct stat sb;
- if (startswith (name, "unix:") ||
- (stat (name, &sb) == 0 && (sb.st_mode & S_IFMT) == S_IFSOCK))
+ if (stat (name, &sb) == 0 && (sb.st_mode & S_IFMT) == S_IFSOCK)
ops = serial_interface_lookup ("local");
else
#endif
return NULL;
}
+ scb->name = open_name != NULL ? xstrdup (open_name) : NULL;
scb->next = scb_base;
scb_base = scb;
scb = new_serial (ops);
+ scb->name = NULL;
scb->next = scb_base;
scb_base = scb;
if (really_close)
scb->ops->close (scb);
+ xfree (scb->name);
+
/* For serial_is_open. */
scb->bufp = NULL;
static struct cmd_list_element *serial_set_cmdlist;
static struct cmd_list_element *serial_show_cmdlist;
-static void
-serial_set_cmd (const char *args, int from_tty)
-{
- printf_unfiltered ("\"set serial\" must be followed "
- "by the name of a command.\n");
- help_list (serial_set_cmdlist, "set serial ", all_commands, gdb_stdout);
-}
-
-static void
-serial_show_cmd (const char *args, int from_tty)
-{
- cmd_show_list (serial_show_cmdlist, from_tty, "");
-}
-
/* Baud rate specified for talking to serial target systems. Default
is left as -1, so targets can choose their own defaults. */
/* FIXME: This means that "show serial baud" and gr_files_info can
serial_parity = GDBPARITY_NONE;
}
+void _initialize_serial ();
void
-_initialize_serial (void)
+_initialize_serial ()
{
#if 0
add_com ("connect", class_obscure, connect_command, _("\
Use <CR>~. or <CR>~^D to break out."));
#endif /* 0 */
- add_prefix_cmd ("serial", class_maintenance, serial_set_cmd, _("\
+ add_basic_prefix_cmd ("serial", class_maintenance, _("\
Set default serial/parallel port configuration."),
- &serial_set_cmdlist, "set serial ",
- 0/*allow-unknown*/,
- &setlist);
+ &serial_set_cmdlist, "set serial ",
+ 0/*allow-unknown*/,
+ &setlist);
- add_prefix_cmd ("serial", class_maintenance, serial_show_cmd, _("\
+ add_show_prefix_cmd ("serial", class_maintenance, _("\
Show default serial/parallel port configuration."),
- &serial_show_cmdlist, "show serial ",
- 0/*allow-unknown*/,
- &showlist);
+ &serial_show_cmdlist, "show serial ",
+ 0/*allow-unknown*/,
+ &showlist);
/* If target is open when baud changes, it doesn't take effect until
the next open (I think, not sure). */
add_setshow_enum_cmd ("parity", no_class, parity_enums,
&parity, _("\
-Set parity for remote serial I/O"), _("\
-Show parity for remote serial I/O"), NULL,
+Set parity for remote serial I/O."), _("\
+Show parity for remote serial I/O."), NULL,
set_parity,
NULL, /* FIXME: i18n: */
&serial_set_cmdlist, &serial_show_cmdlist);
add_setshow_enum_cmd ("remotelogbase", no_class, logbase_enums,
&serial_logbase, _("\
-Set numerical base for remote session logging"), _("\
-Show numerical base for remote session logging"), NULL,
+Set numerical base for remote session logging."), _("\
+Show numerical base for remote session logging."), NULL,
NULL,
NULL, /* FIXME: i18n: */
&setlist, &showlist);