Add "objfile" parameter to two partial_symtab methods
[deliverable/binutils-gdb.git] / gdb / osdata.c
index f3909400c91f1d917014a2bbe8de24341cb1ddba..9b060475212924d7923ac429d471bb57bb690b3c 100644 (file)
@@ -1,6 +1,6 @@
 /* Routines for handling XML generic OS data provided by target.
 
-   Copyright (C) 2008-2018 Free Software Foundation, Inc.
+   Copyright (C) 2008-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,7 +19,6 @@
 
 #include "defs.h"
 #include "target.h"
-#include "vec.h"
 #include "xml-support.h"
 #include "osdata.h"
 #include "ui-out.h"
@@ -56,14 +55,15 @@ struct osdata_parsing_data
 static void
 osdata_start_osdata (struct gdb_xml_parser *parser,
                         const struct gdb_xml_element *element,
-                        void *user_data, VEC(gdb_xml_value_s) *attributes)
+                        void *user_data,
+                       std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
 
   if (data->osdata != NULL)
     gdb_xml_error (parser, _("Seen more than on osdata element"));
 
-  char *type = (char *) xml_find_attribute (attributes, "type")->value;
+  char *type = (char *) xml_find_attribute (attributes, "type")->value.get ();
   data->osdata.reset (new struct osdata (std::string (type)));
 }
 
@@ -72,7 +72,8 @@ osdata_start_osdata (struct gdb_xml_parser *parser,
 static void
 osdata_start_item (struct gdb_xml_parser *parser,
                   const struct gdb_xml_element *element,
-                  void *user_data, VEC(gdb_xml_value_s) *attributes)
+                  void *user_data,
+                 std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
   data->osdata->items.emplace_back ();
@@ -83,11 +84,12 @@ osdata_start_item (struct gdb_xml_parser *parser,
 static void
 osdata_start_column (struct gdb_xml_parser *parser,
                     const struct gdb_xml_element *element,
-                    void *user_data, VEC(gdb_xml_value_s) *attributes)
+                    void *user_data,
+                   std::vector<gdb_xml_value> &attributes)
 {
   struct osdata_parsing_data *data = (struct osdata_parsing_data *) user_data;
   const char *name
-    = (const char *) xml_find_attribute (attributes, "name")->value;
+    = (const char *) xml_find_attribute (attributes, "name")->value.get ();
 
   data->property_name.assign (name);
 }
@@ -160,11 +162,11 @@ std::unique_ptr<osdata>
 get_osdata (const char *type)
 {
   std::unique_ptr<osdata> osdata;
-  gdb::unique_xmalloc_ptr<char> xml = target_get_osdata (type);
+  gdb::optional<gdb::char_vector> xml = target_get_osdata (type);
 
   if (xml)
     {
-      if (xml.get ()[0] == '\0')
+      if ((*xml)[0] == '\0')
        {
          if (type)
            warning (_("Empty data returned by target.  Wrong osdata type?"));
@@ -172,7 +174,7 @@ get_osdata (const char *type)
            warning (_("Empty type list returned by target.  No type data?"));
        }
       else
-       osdata = osdata_parse (xml.get ());
+       osdata = osdata_parse (xml->data ());
     }
 
   if (osdata == NULL)
@@ -287,8 +289,9 @@ info_osdata_command (const char *arg, int from_tty)
   info_osdata (arg);
 }
 
+void _initialize_osdata ();
 void
-_initialize_osdata (void)
+_initialize_osdata ()
 {
   add_info ("os", info_osdata_command,
            _("Show OS data ARG."));
This page took 0.025972 seconds and 4 git commands to generate.