Add xml_escape_text_append and use it
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 8 Mar 2018 23:04:46 +0000 (18:04 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Thu, 8 Mar 2018 23:04:46 +0000 (18:04 -0500)
commite6a58aa8a70c7fd17d9930e7df8d158a7e3c8c8e
tree37f0732614ae940b7fdc392919c260fc8e63bc6f
parentf6e8a41e6724e641d3b831983e4d158ff069b8ed
Add xml_escape_text_append and use it

[This patch should go on top of "linux_qxfer_libraries_svr4: Use
 std::string", I should have sent them together as a series.]

I noticed that linux_qxfer_libraries_svr4 used xml_escape_text, which
returns an std::string.  That string is then copied into a larger
buffer.  It would be more efficient if we had a version of
xml_escape_text which appended to an existing string instead of
returning a new one.  This is what this patch does.

I manually verified that the output of linux_qxfer_libraries_svr4 didn't
change before/after the patch.

gdb/ChangeLog:

* common/xml-utils.c (xml_escape_text): Move code to...
(xml_escape_text_append): ... this new function.
* common/xml-utils.h (xml_escape_text_append): New declaration.
* unittests/xml-utils-selftests.c (test_xml_escape_text_append):
New function.
(_initialize_xml_utils): register test_xml_escape_text_append as
a selftest.

gdb/gdbserver/ChangeLog:

* linux-low.c (linux_qxfer_libraries_svr4): Use
xml_escape_text_append.
gdb/ChangeLog
gdb/common/xml-utils.c
gdb/common/xml-utils.h
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c
gdb/unittests/xml-utils-selftests.c