aboutsummaryrefslogtreecommitdiff
path: root/gdb/windows-nat.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2023-04-12 16:27:01 -0400
committerSimon Marchi <simon.marchi@efficios.com>2023-11-16 21:26:45 -0500
commitd6ac292e5fecde8fe92f79e83c69d80766f57976 (patch)
treef742a522a32b8c365ec3ba0a9b9b3507ea06b5e3 /gdb/windows-nat.c
parent0da4f405f8d9d15b9381075debce788251e31815 (diff)
downloadfsf-binutils-gdb-d6ac292e5fecde8fe92f79e83c69d80766f57976.zip
fsf-binutils-gdb-d6ac292e5fecde8fe92f79e83c69d80766f57976.tar.gz
fsf-binutils-gdb-d6ac292e5fecde8fe92f79e83c69d80766f57976.tar.bz2
gdb: remove two uses of obstack
Remove uses of obstack in the code generating the libraries XML for Windows and AIX. Use std::string instead. I'm not able to test this change, unfortunately. Change-Id: I28480913337e3fe8d6c31e551626931e6b1367ef Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/windows-nat.c')
-rw-r--r--gdb/windows-nat.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index b446afd..b98efe8 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -2908,30 +2908,25 @@ windows_xfer_shared_libraries (struct target_ops *ops,
ULONGEST offset, ULONGEST len,
ULONGEST *xfered_len)
{
- auto_obstack obstack;
- const char *buf;
- LONGEST len_avail;
-
if (writebuf)
return TARGET_XFER_E_IO;
- obstack_grow_str (&obstack, "<library-list>\n");
+ std::string xml = "<library-list>\n";
for (windows_solib &so : windows_process.solibs)
windows_xfer_shared_library (so.name.c_str (),
(CORE_ADDR) (uintptr_t) so.load_addr,
&so.text_offset,
- current_inferior ()->arch (), &obstack);
- obstack_grow_str0 (&obstack, "</library-list>\n");
+ current_inferior ()->arch (), xml);
+ xml += "</library-list>\n";
- buf = (const char *) obstack_finish (&obstack);
- len_avail = strlen (buf);
+ ULONGEST len_avail = xml.size ();
if (offset >= len_avail)
- len= 0;
+ len = 0;
else
{
if (len > len_avail - offset)
len = len_avail - offset;
- memcpy (readbuf, buf + offset, len);
+ memcpy (readbuf, xml.data () + offset, len);
}
*xfered_len = (ULONGEST) len;