/* Generic serial interface routines
- Copyright 1992, 1993, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GDB.
static struct serial_ops *serial_interface_lookup (char *);
static void serial_logchar (struct ui_file *stream, int ch_type, int ch, int timeout);
-static char logbase_hex[] = "hex";
-static char logbase_octal[] = "octal";
-static char logbase_ascii[] = "ascii";
-static char *logbase_enums[] =
+static const char logbase_hex[] = "hex";
+static const char logbase_octal[] = "octal";
+static const char logbase_ascii[] = "ascii";
+static const char *logbase_enums[] =
{logbase_hex, logbase_octal, logbase_ascii, NULL};
-static char *serial_logbase = logbase_ascii;
+static const char *serial_logbase = logbase_ascii;
\f
if (scb->ops->open (scb, open_name))
{
- free (scb);
+ xfree (scb);
return NULL;
}
- scb->name = strsave (name);
+ scb->name = xstrdup (name);
scb->next = scb_base;
scb->refcnt = 1;
scb->debug_p = 0;
scb->ops->close (scb);
if (scb->name)
- free (scb->name);
+ xfree (scb->name);
if (scb_base == scb)
scb_base = scb_base->next;
break;
}
- free (scb);
+ xfree (scb);
}
void
/* FIXME: cagney/1999-10-11: Don't enable this check until the ASYNC
code is finished. */
if (0 && SERIAL_IS_ASYNC_P (scb) && timeout < 0)
- internal_error ("serial_readchar: blocking read in async mode");
+ internal_error (__FILE__, __LINE__,
+ "serial_readchar: blocking read in async mode");
ch = scb->ops->readchar (scb, timeout);
if (serial_logfp != NULL)
char *buf;
va_start (args, format);
- vasprintf (&buf, format, args);
+ xvasprintf (&buf, format, args);
SERIAL_WRITE (desc, buf, strlen (buf));
- free (buf);
+ xfree (buf);
va_end (args);
}
called? */
if (scb->fd < 0)
{
- internal_error ("serial: FD not valid");
+ internal_error (__FILE__, __LINE__,
+ "serial: FD not valid");
}
return scb->fd; /* sigh */
}
{
printf_unfiltered ("\r\n[Exiting connect mode]\r\n");
SERIAL_SET_TTY_STATE (tty_desc, ttystate);
- free (ttystate);
+ xfree (ttystate);
SERIAL_CLOSE (tty_desc);
}
add_show_from_set
(add_set_enum_cmd ("remotelogbase", no_class,
- logbase_enums, (char *) &serial_logbase,
+ logbase_enums, &serial_logbase,
"Set numerical base for remote session logging",
&setlist),
&showlist);