From 8318f3c337cf46ee6309b4a7f06f3934fc94b4bd Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 15 Nov 2019 16:41:12 -0700 Subject: [PATCH] Use cmd_list_element::doc_allocated for Python commands Python commands manage their "doc" string manually, but cmd_list_element already has doc_allocated to handle this case. This changes the Python code to use the existing facility. gdb/ChangeLog 2019-11-26 Tom Tromey * python/py-cmd.c (cmdpy_destroyer): Don't free "doc". (cmdpy_init): Set "doc_allocated". Change-Id: I0014edc117b051bba1f4db267687d231e7fe9b56 --- gdb/ChangeLog | 5 +++++ gdb/python/py-cmd.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 94a8bdc8dc1..821afd313d4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-11-26 Tom Tromey + + * python/py-cmd.c (cmdpy_destroyer): Don't free "doc". + (cmdpy_init): Set "doc_allocated". + 2019-11-26 Tom Tromey * gdbsupport/thread-pool.c (thread_pool::set_thread_count): Set diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c index 87d1888c528..e3497d6f928 100644 --- a/gdb/python/py-cmd.c +++ b/gdb/python/py-cmd.c @@ -98,10 +98,8 @@ cmdpy_destroyer (struct cmd_list_element *self, void *context) gdbpy_ref cmd ((cmdpy_object *) context); cmd->command = NULL; - /* We allocated the name, doc string, and perhaps the prefix - name. */ + /* We allocated the name and perhaps the prefix name. */ xfree ((char *) self->name); - xfree ((char *) self->doc); xfree ((char *) self->prefixname); } @@ -563,6 +561,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw) /* There appears to be no API to set this. */ cmd->func = cmdpy_function; cmd->destroyer = cmdpy_destroyer; + cmd->doc_allocated = 1; obj->command = cmd; set_cmd_context (cmd, self_ref.release ()); -- 2.30.2