Replace xstrvprintf usages with string_vprintf

Most usages of xstrvprintf in GDB can be replaced with string_vprintf,
removing some manual memory management.

gdb/ChangeLog:

	* guile/scm-string.c (gdbscm_scm_from_printf): Use
	string_vprintf.
	* guile/scm-utils.c (gdbscm_printf): Likewise.
	* serial.c (serial_printf): Likewise.
	* xml-support.c (gdb_xml_parser::vdebug): Likewise.
This commit is contained in:
Simon Marchi
2018-08-22 10:55:28 -04:00
committed by Simon Marchi
parent 6d52907e22
commit 467dc1e2ea
5 changed files with 18 additions and 18 deletions

View File

@ -1,3 +1,11 @@
2018-08-22 Simon Marchi <simon.marchi@polymtl.ca>
* guile/scm-string.c (gdbscm_scm_from_printf): Use
string_vprintf.
* guile/scm-utils.c (gdbscm_printf): Likewise.
* serial.c (serial_printf): Likewise.
* xml-support.c (gdb_xml_parser::vdebug): Likewise.
2018-08-22 Jan Vrany <jan.vrany@fit.cvut.cz> 2018-08-22 Jan Vrany <jan.vrany@fit.cvut.cz>
* stack.c (print_frame): Print frame architecture when printing on * stack.c (print_frame): Print frame architecture when printing on

View File

@ -62,14 +62,12 @@ SCM
gdbscm_scm_from_printf (const char *format, ...) gdbscm_scm_from_printf (const char *format, ...)
{ {
va_list args; va_list args;
char *string;
SCM result; SCM result;
va_start (args, format); va_start (args, format);
string = xstrvprintf (format, args); std::string string = string_vprintf (format, args);
va_end (args); va_end (args);
result = scm_from_latin1_string (string); result = scm_from_latin1_string (string.c_str ());
xfree (string);
return result; return result;
} }

View File

@ -79,13 +79,11 @@ void
gdbscm_printf (SCM port, const char *format, ...) gdbscm_printf (SCM port, const char *format, ...)
{ {
va_list args; va_list args;
char *string;
va_start (args, format); va_start (args, format);
string = xstrvprintf (format, args); std::string string = string_vprintf (format, args);
va_end (args); va_end (args);
scm_puts (string, port); scm_puts (string.c_str (), port);
xfree (string);
} }
/* Utility for calling from gdb to "display" an SCM object. */ /* Utility for calling from gdb to "display" an SCM object. */

View File

@ -434,16 +434,14 @@ serial_write (struct serial *scb, const void *buf, size_t count)
} }
void void
serial_printf (struct serial *desc, const char *format,...) serial_printf (struct serial *desc, const char *format, ...)
{ {
va_list args; va_list args;
char *buf;
va_start (args, format); va_start (args, format);
buf = xstrvprintf (format, args); std::string buf = string_vprintf (format, args);
serial_write (desc, buf, strlen (buf)); serial_write (desc, buf.c_str (), buf.length ());
xfree (buf);
va_end (args); va_end (args);
} }

View File

@ -179,16 +179,14 @@ void
gdb_xml_parser::vdebug (const char *format, va_list ap) gdb_xml_parser::vdebug (const char *format, va_list ap)
{ {
int line = XML_GetCurrentLineNumber (m_expat_parser); int line = XML_GetCurrentLineNumber (m_expat_parser);
char *message;
message = xstrvprintf (format, ap); std::string message = string_vprintf (format, ap);
if (line) if (line)
fprintf_unfiltered (gdb_stderr, "%s (line %d): %s\n", fprintf_unfiltered (gdb_stderr, "%s (line %d): %s\n",
m_name, line, message); m_name, line, message.c_str ());
else else
fprintf_unfiltered (gdb_stderr, "%s: %s\n", fprintf_unfiltered (gdb_stderr, "%s: %s\n",
m_name, message); m_name, message.c_str ());
xfree (message);
} }
void void