[20/23] Revert 'Remove unused struct serial::name field'
Commit Message
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(+)
Comments
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
>
>
On 9/7/19 12:47 AM, Christian Biesinger via gdb-patches wrote:
> Have you considered making this an std::string to avoid needing the manual
> xfree?
>
struct serial hasn't been C++fied yet, it is still allocated with
malloc (XCNEW), so we can't use std::string without further changes.
So I stuck with just reverting the original patch as is, thinking that
a change to use std::string or something like that could be done along
other C++ification changes.
Thanks,
Pedro Alves
> 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
>>
>>
@@ -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;
@@ -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. */