From: Adam Sutton Date: Wed, 20 Jun 2012 11:47:03 +0000 (+0100) Subject: Some additional XML helpers. X-Git-Tag: 3.0~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcbcf4fe35a233c78b770ab06d7dc83c04f7b6c4;p=thirdparty%2Ftvheadend.git Some additional XML helpers. --- diff --git a/src/htsmsg_xml.c b/src/htsmsg_xml.c index e9f691658..0dc40332b 100644 --- a/src/htsmsg_xml.c +++ b/src/htsmsg_xml.c @@ -890,4 +890,21 @@ htsmsg_xml_get_cdata_u32(htsmsg_t *tags, const char *name, uint32_t *u32) return htsmsg_get_u32(sub, "cdata", u32); } +/* + * Get tag attribute + */ +const char * +htsmsg_xml_get_attr_str ( htsmsg_t *tag, const char *name ) +{ + htsmsg_t *attr = htsmsg_get_map(tag, "attrib"); + if (attr) return htsmsg_get_str(tag, name); + return NULL; +} +int +htsmsg_xml_get_attr_u32 ( htsmsg_t *tag, const char *name, uint32_t *ret ) +{ + htsmsg_t *attr = htsmsg_get_map(tag, "attrib"); + if (attr) return htsmsg_get_u32(attr, name, ret); + return HTSMSG_ERR_FIELD_NOT_FOUND; +} diff --git a/src/htsmsg_xml.h b/src/htsmsg_xml.h index 16e548c2b..96b888605 100644 --- a/src/htsmsg_xml.h +++ b/src/htsmsg_xml.h @@ -25,5 +25,7 @@ htsmsg_t *htsmsg_xml_deserialize(char *src, char *errbuf, size_t errbufsize); const char *htsmsg_xml_get_cdata_str (htsmsg_t *tags, const char *tag); int htsmsg_xml_get_cdata_u32 (htsmsg_t *tags, const char *tag, uint32_t *u32); +const char *htsmsg_xml_get_attr_str(htsmsg_t *tag, const char *attr); +int htsmsg_xml_get_attr_u32(htsmsg_t *tag, const char *attr, uint32_t *u32); #endif /* HTSMSG_XML_H_ */