diff options
author | Andrew Burgess <aburgess@redhat.com> | 2021-11-08 14:58:46 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2021-11-16 17:45:45 +0000 |
commit | 8579fd136a614985bd27f20539c7bb7c5a51287d (patch) | |
tree | fb84850409a44e13e832cbadc9025d40c1d33d9f /gdbsupport/common-utils.cc | |
parent | 2bb7589ddf61e163f2e414e7033fad56ea17e784 (diff) | |
download | gdb-8579fd136a614985bd27f20539c7bb7c5a51287d.zip gdb-8579fd136a614985bd27f20539c7bb7c5a51287d.tar.gz gdb-8579fd136a614985bd27f20539c7bb7c5a51287d.tar.bz2 |
gdb/gdbsupport: make xstrprintf and xstrvprintf return a unique_ptr
The motivation is to reduce the number of places where unmanaged
pointers are returned from allocation type routines. All of the
callers are updated.
There should be no user visible changes after this commit.
Diffstat (limited to 'gdbsupport/common-utils.cc')
-rw-r--r-- | gdbsupport/common-utils.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gdbsupport/common-utils.cc b/gdbsupport/common-utils.cc index 7a84345..42bce36 100644 --- a/gdbsupport/common-utils.cc +++ b/gdbsupport/common-utils.cc @@ -32,19 +32,18 @@ xzalloc (size_t size) /* Like asprintf/vasprintf but get an internal_error if the call fails. */ -char * +gdb::unique_xmalloc_ptr<char> xstrprintf (const char *format, ...) { - char *ret; va_list args; va_start (args, format); - ret = xstrvprintf (format, args); + gdb::unique_xmalloc_ptr<char> ret = xstrvprintf (format, args); va_end (args); return ret; } -char * +gdb::unique_xmalloc_ptr<char> xstrvprintf (const char *format, va_list ap) { char *ret = NULL; @@ -56,7 +55,7 @@ xstrvprintf (const char *format, va_list ap) happen, but just to be sure. */ if (ret == NULL || status < 0) internal_error (__FILE__, __LINE__, _("vasprintf call failed")); - return ret; + return gdb::unique_xmalloc_ptr<char> (ret); } int |