mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
change and rename gmp_string_asprintf to return an std::string
This was suggested by Simon during a code review of this package upstream. The upside is that this makes the function's API more natural and C++. The downside is an extra malloc, which might be the reason why we went for using a unique_xmalloc_ptr in the first place. Since this function is not expected to be called frequently, the API improvement might be worth the performance impact. gdb/ChangeLog: * gmp-utils.h (gmp_string_printf): Rename from gmp_string_asprintf. Change return type to std::string. Update all callers. * gmp-utils.c (gmp_string_printf): Likewise.
This commit is contained in:
@ -29,9 +29,9 @@
|
||||
#include <gmp.h>
|
||||
#include "gdbsupport/traits.h"
|
||||
|
||||
/* Same as gmp_asprintf, but returning a convenient wrapper type. */
|
||||
/* Same as gmp_asprintf, but returning an std::string. */
|
||||
|
||||
gdb::unique_xmalloc_ptr<char> gmp_string_asprintf (const char *fmt, ...);
|
||||
std::string gmp_string_printf (const char *fmt, ...);
|
||||
|
||||
/* A class to make it easier to use GMP's mpz_t values within GDB. */
|
||||
|
||||
@ -110,8 +110,7 @@ struct gdb_mpz
|
||||
bool unsigned_p) const;
|
||||
|
||||
/* Return a string containing VAL. */
|
||||
gdb::unique_xmalloc_ptr<char> str () const
|
||||
{ return gmp_string_asprintf ("%Zd", val); }
|
||||
std::string str () const { return gmp_string_printf ("%Zd", val); }
|
||||
|
||||
/* The destructor. */
|
||||
~gdb_mpz () { mpz_clear (val); }
|
||||
@ -163,8 +162,7 @@ struct gdb_mpq
|
||||
}
|
||||
|
||||
/* Return a string representing VAL as "<numerator> / <denominator>". */
|
||||
gdb::unique_xmalloc_ptr<char> str () const
|
||||
{ return gmp_string_asprintf ("%Qd", val); }
|
||||
std::string str () const { return gmp_string_printf ("%Qd", val); }
|
||||
|
||||
/* Return VAL rounded to the nearest integer. */
|
||||
gdb_mpz get_rounded () const;
|
||||
|
Reference in New Issue
Block a user