]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Some additional XML helpers.
authorAdam Sutton <dev@adamsutton.me.uk>
Wed, 20 Jun 2012 11:47:03 +0000 (12:47 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Mon, 30 Jul 2012 12:34:22 +0000 (13:34 +0100)
src/htsmsg_xml.c
src/htsmsg_xml.h

index e9f69165887593feaa0b71b97e3de4f3fe3c2b2c..0dc40332bfe763ae1c953ea540ec6a7098cfe737 100644 (file)
@@ -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;
+}
index 16e548c2b3559c1dd48c22f811eecdf844ba54a0..96b8886059e49aafe9588c565299bd7f14179ad2 100644 (file)
@@ -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_ */