Re: [PATCH 20/23] Revert 'Remove unused struct serial::name field'

Christian Biesinger via gdb-patches
2019-09-06T23:47:48Z

Have you considered making this an std::string to avoid needing the manual
xfree?

On Fri, Sep 6, 2019, 18:29 Pedro Alves <palves@redhat.com> wrote:

> This commit reverts:
>
> commit 5f5219fc34f7557296272230123a3837960a6f09
> Author: Pedro Alves <palves@redhat.com>
> AuthorDate: Tue Apr 12 16:49:30 2016 +0100
>
> Remove unused struct serial::name field
>
> The following patches will add uses for the field.
>
> gdb/ChangeLog:
> yyyy-mm-dd Pedro Alves <palves@redhat.com>
>
> Revert:
> 2016-04-12 Pedro Alves <palves@redhat.com>
> * serial.c (serial_open, serial_fdopen_ops, do_serial_close):
> Remove references to name.
> * serial.h (struct serial) <name>: Delete.
> ---
> gdb/serial.c | 4 ++++
> gdb/serial.h | 1 +
> 2 files changed, 5 insertions(+)
>
> diff --git a/gdb/serial.c b/gdb/serial.c
> index a881bbc97c..0ed3d37406 100644
> --- a/gdb/serial.c
> +++ b/gdb/serial.c
> @@ -247,6 +247,7 @@ serial_open_ops_1 (const struct serial_ops *ops, const
> char *open_name)
> return NULL;
> }
>
> + scb->name = open_name != NULL ? xstrdup (open_name) : NULL;
> scb->next = scb_base;
> scb_base = scb;
>
> @@ -291,6 +292,7 @@ serial_fdopen_ops (const int fd, const struct
> serial_ops *ops)
>
> scb = new_serial (ops);
>
> + scb->name = NULL;
> scb->next = scb_base;
> scb_base = scb;
>
> @@ -330,6 +332,8 @@ do_serial_close (struct serial *scb, int really_close)
> if (really_close)
> scb->ops->close (scb);
>
> + xfree (scb->name);
> +
> /* For serial_is_open. */
> scb->bufp = NULL;
>
> diff --git a/gdb/serial.h b/gdb/serial.h
> index b75b3666e7..d58ab660e9 100644
> --- a/gdb/serial.h
> +++ b/gdb/serial.h
> @@ -240,6 +240,7 @@ struct serial
> buffer. -ve for sticky errors. */
> unsigned char *bufp; /* Current byte */
> unsigned char buf[BUFSIZ]; /* Da buffer itself */
> + char *name; /* The name of the device or host
> */
> struct serial *next; /* Pointer to the next `struct serial *' */
> int debug_p; /* Trace this serial devices operation. */
> int async_state; /* Async internal state. */
> --
> 2.14.5
>
>