projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Error when gdb_is_target_1 is called without running gdb instance
[binutils-gdb.git]
/
gdb
/
xml-support.h
diff --git
a/gdb/xml-support.h
b/gdb/xml-support.h
index 1a1b7fd0e7fe8b9a0199de3f0ab9a43a04b9a080..13edeaec9104a01996899f44daeb796d45d030e0 100644
(file)
--- a/
gdb/xml-support.h
+++ b/
gdb/xml-support.h
@@
-1,6
+1,6
@@
/* Helper routines for parsing XML using Expat.
/* Helper routines for parsing XML using Expat.
- Copyright (C) 2006-20
17
Free Software Foundation, Inc.
+ Copyright (C) 2006-20
22
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-21,9
+21,11
@@
#ifndef XML_SUPPORT_H
#define XML_SUPPORT_H
#ifndef XML_SUPPORT_H
#define XML_SUPPORT_H
-#include "gdb_obstack.h"
-#include "vec.h"
-#include "xml-utils.h"
+#include "gdbsupport/gdb_obstack.h"
+#include "gdbsupport/xml-utils.h"
+#include "gdbsupport/byte-vector.h"
+#include "gdbsupport/gdb_optional.h"
+#include "gdbsupport/function-view.h"
struct gdb_xml_parser;
struct gdb_xml_element;
struct gdb_xml_parser;
struct gdb_xml_element;
@@
-43,20
+45,16
@@
LONGEST xml_builtin_xfer_partial (const char *filename,
gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, LONGEST len);
gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, LONGEST len);
-/* The text of compiled-in XML documents, from xml-builtin.c
- (generated). */
-
-extern const char *xml_builtin[][2];
-
/* Support for XInclude. */
/* Callback to fetch a new XML file, based on the provided HREF. */
/* Support for XInclude. */
/* Callback to fetch a new XML file, based on the provided HREF. */
-typedef char *(*xml_fetch_another) (const char *href, void *baton);
+using xml_fetch_another = gdb::function_view<gdb::optional<gdb::char_vector>
+ (const char * /* href */)>;
/* Append the expansion of TEXT after processing <xi:include> tags in
/* Append the expansion of TEXT after processing <xi:include> tags in
- RESULT. FETCHER will be called
(with FETCHER_BATON) to retrieve
-
any new files. DEPTH
should be zero on the initial call.
+ RESULT. FETCHER will be called
to retrieve any new files. DEPTH
+ should be zero on the initial call.
On failure, this function uses NAME in a warning and returns false.
It may throw an exception, but does not for XML parsing
On failure, this function uses NAME in a warning and returns false.
It may throw an exception, but does not for XML parsing
@@
-64,8
+62,7
@@
typedef char *(*xml_fetch_another) (const char *href, void *baton);
bool xml_process_xincludes (std::string &result,
const char *name, const char *text,
bool xml_process_xincludes (std::string &result,
const char *name, const char *text,
- xml_fetch_another fetcher, void *fetcher_baton,
- int depth);
+ xml_fetch_another fetcher, int depth);
/* Simplified XML parser infrastructure. */
/* Simplified XML parser infrastructure. */
@@
-73,11
+70,13
@@
bool xml_process_xincludes (std::string &result,
struct gdb_xml_value
{
struct gdb_xml_value
{
+ gdb_xml_value (const char *name_, void *value_)
+ : name (name_), value (value_)
+ {}
+
const char *name;
const char *name;
-
void *
value;
+
gdb::unique_xmalloc_ptr<void>
value;
};
};
-typedef struct gdb_xml_value gdb_xml_value_s;
-DEF_VEC_O(gdb_xml_value_s);
/* The type of an attribute handler.
/* The type of an attribute handler.
@@
-145,7
+144,7
@@
enum gdb_xml_element_flag
typedef void (gdb_xml_element_start_handler)
(struct gdb_xml_parser *parser, const struct gdb_xml_element *element,
typedef void (gdb_xml_element_start_handler)
(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);
/* A handler called at the end of an element.
/* A handler called at the end of an element.
@@
-198,8
+197,8
@@
void gdb_xml_error (struct gdb_xml_parser *parser, const char *format, ...)
/* Find the attribute named NAME in the set of parsed attributes
ATTRIBUTES. Returns NULL if not found. */
/* Find the attribute named NAME in the set of parsed attributes
ATTRIBUTES. Returns NULL if not found. */
-struct gdb_xml_value *xml_find_attribute
(VEC(gdb_xml_value_s) *attributes,
-
const char *name);
+struct gdb_xml_value *xml_find_attribute
+
(std::vector<gdb_xml_value> &attributes,
const char *name);
/* Parse an integer attribute into a ULONGEST. */
/* Parse an integer attribute into a ULONGEST. */
@@
-228,9
+227,10
@@
ULONGEST gdb_xml_parse_ulongest (struct gdb_xml_parser *parser,
const char *value);
/* Open FILENAME, read all its text into memory, close it, and return
const char *value);
/* Open FILENAME, read all its text into memory, close it, and return
- the text. If something goes wrong, return NULL and warn. */
+ the text. If something goes wrong, return an uninstantiated optional
+ and warn. */
-extern
char *xml_fetch_content_from_file (const char *filename,
-
void *baton
);
+extern
gdb::optional<gdb::char_vector> xml_fetch_content_from_file
+
(const char *filename, const char *dirname
);
#endif
#endif