From 65cded61a2219719df46066880ccc80c45112130 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 19 Oct 2022 21:56:47 -0400 Subject: gdbsupport: add string_xml_appendf Add a version of buffer_xml_printf (defined in gdbsupport/buffer.{c,h}) that appends to an std::string, rather than a struct buffer. Call it "string" rather than "buffer" since it operates on an std::string rather than a buffer. And call it "appendf" rather than "printf", since it appends to and does not replace the string's content. This mirrors string_appendf. Place the new version in gdbsupport/xml-utils.h. The code is a direct copy of buffer_xml_printf. The old version is going to disappear at some point, which is why I didn't do any effort to share code. Change-Id: I30e030627ab4970fd0b9eba3b7e8cec78fa561ba Approved-By: Pedro Alves --- gdbsupport/xml-utils.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gdbsupport/xml-utils.h') diff --git a/gdbsupport/xml-utils.h b/gdbsupport/xml-utils.h index 695263c..0971402 100644 --- a/gdbsupport/xml-utils.h +++ b/gdbsupport/xml-utils.h @@ -30,4 +30,14 @@ extern std::string xml_escape_text (const char *text); extern void xml_escape_text_append (std::string &result, const char *text); +/* Simple printf to string function. Current implemented formatters: + %s - append an xml escaped text to BUFFER. + %d - append an signed integer to BUFFER. + %u - append an unsigned integer to BUFFER. + %x - append an unsigned integer formatted in hexadecimal to BUFFER. + %o - append an unsigned integer formatted in octal to BUFFER. */ + +void string_xml_appendf (std::string &buffer, const char *format, ...) + ATTRIBUTE_PRINTF (2, 3); + #endif /* COMMON_XML_UTILS_H */ -- cgit v1.1