28 #if !defined(HAVE_LIBEXPAT)
33 static int have_warned;
38 warning (
_(
"Can not parse XML OS data; XML support was disabled "
69 osdata = XCNEW (
struct osdata);
70 osdata->
type = xstrdup (type);
105 void *user_data,
const char *body_text)
111 item->columns, NULL);
115 col->
value = xstrdup (body_text);
174 osdata_elements, xml, &data) == 0)
189 if (item->columns != NULL)
203 item->columns = NULL;
213 if (osdata->items != NULL)
256 warning (
_(
"Empty data returned by target. Wrong osdata type?"));
258 warning (
_(
"Empty type list returned by target. No type data?"));
267 error (
_(
"Can not fetch data now."));
282 if (strcmp (col->
name, name) == 0)
297 int col_to_skip = -1;
304 if (!type && nrows == 0)
305 error (
_(
"Available types of OS data not reported."));
326 if (strcmp (col->
name,
"Title") == 0)
331 if (col_to_skip >= 0)
347 if (last && last->columns)
359 if (ix == col_to_skip)
362 snprintf (col_name, 32,
"col%d", ix);
364 col_name, col->
name);
393 if (ix_cols == col_to_skip)
396 snprintf (col_name, 32,
"col%d", ix_cols);
415 _(
"Show OS data ARG."));
static void osdata_end_column(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, const char *body_text)
void warning(const char *fmt,...)
struct cleanup * make_cleanup_ui_out_table_begin_end(struct ui_out *ui_out, int nr_cols, int nr_rows, const char *tblid)
struct osdata * get_osdata(const char *type)
int ui_out_is_mi_like_p(struct ui_out *uiout)
initialize_file_ftype _initialize_osdata
#define VEC_safe_push(T, V, O)
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 ui_out_text(struct ui_out *uiout, const char *string)
#define VEC_iterate(T, V, I, P)
const struct gdb_xml_attribute column_attributes[]
int gdb_xml_parse_quick(const char *name, const char *dtd_name, const struct gdb_xml_element *elements, const char *document, void *user_data)
void initialize_file_ftype(void)
struct cleanup * make_cleanup_ui_out_tuple_begin_end(struct ui_out *uiout, const char *id)
char * target_get_osdata(const char *type)
struct cleanup * make_cleanup_osdata_free(struct osdata *data)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
void osdata_free(struct osdata *osdata)
struct cmd_list_element * add_info(const char *name, cmd_cfunc_ftype *fun, const char *doc)
static void osdata_item_clear(struct osdata_item *item)
void gdb_xml_error(struct gdb_xml_parser *parser, const char *format,...)
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)
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)
static void osdata_free_cleanup(void *arg)
struct gdb_xml_value * xml_find_attribute(VEC(gdb_xml_value_s)*attributes, const char *name)
void discard_cleanups(struct cleanup *old_chain)
const struct gdb_xml_element osdata_children[]
void ui_out_table_header(struct ui_out *uiout, int width, enum ui_align alignment, const char *col_name, const char *colhdr)
const char * get_osdata_column(struct osdata_item *item, const char *name)
void info_osdata_command(char *type, int from_tty)
void ui_out_field_string(struct ui_out *uiout, const char *fldname, const char *string)
void ui_out_table_body(struct ui_out *uiout)
struct ui_out * current_uiout
const struct gdb_xml_element item_children[]
void error(const char *fmt,...)
struct osdata * osdata_parse(const char *xml)
const struct gdb_xml_attribute osdata_attributes[]
static void clear_parsing_data(void *p)
void do_cleanups(struct cleanup *old_chain)