Add add_internal_function overload
add_internal_function sets a command destroyer that frees the doc string. However, many callers do not pass in an allocated doc string. This adds a new overload to clearly differentiate the two cases, fixing the latent bug. gdb/ChangeLog 2019-11-26 Tom Tromey <tom@tromey.com> * value.h (add_internal_function): Add new overload. Move documentation from value.h. * value.c (do_add_internal_function): New function. (add_internal_function): Use it. Add new overload. (function_destroyer): Don't free doc. * python/py-function.c (fnpy_init): Update. Change-Id: I3f6df925bc6b3e1bccbad9eeebc487b908bb5a2a
This commit is contained in:
parent
8318f3c337
commit
1a6d41c643
4 changed files with 54 additions and 13 deletions
|
@ -127,7 +127,7 @@ fnpy_init (PyObject *self, PyObject *args, PyObject *kwds)
|
|||
if (! docstring)
|
||||
docstring.reset (xstrdup (_("This function is not documented.")));
|
||||
|
||||
add_internal_function (name, docstring.release (), fnpy_call,
|
||||
add_internal_function (name, std::move (docstring), fnpy_call,
|
||||
self_ref.release ());
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue