From cc13aba182273b5735e25cda841f1a9f3698daa2 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sat, 10 Oct 2020 07:44:26 +0000 Subject: [PATCH] Feature: Added constants for XML namespaces --- src/admin.c | 4 ++-- src/icecasttypes.h | 7 +++++++ src/playlist.c | 2 +- src/xml2json.c | 8 ++++---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/admin.c b/src/admin.c index d1736be2..ecfb23c9 100644 --- a/src/admin.c +++ b/src/admin.c @@ -456,9 +456,9 @@ void admin_send_response(xmlDocPtr doc, char *json; if (strcmp((const char *)xmlroot->name, "iceresponse") == 0) { - ns = "http://icecast.org/specs/legacyresponse-0.0.1"; + ns = XMLNS_LEGACY_RESPONSE; } else { - ns = "http://icecast.org/specs/legacystats-0.0.1"; + ns = XMLNS_LEGACY_STATS; } json = xml2json_render_doc_simple(doc, ns); diff --git a/src/icecasttypes.h b/src/icecasttypes.h index d7374c05..4b340e72 100644 --- a/src/icecasttypes.h +++ b/src/icecasttypes.h @@ -15,6 +15,13 @@ #include "compat.h" +/* ---[ * ]--- */ +/* XML namespaces */ +#define XMLNS_REPORTXML "http://icecast.org/specs/reportxml-0.0.1" +#define XMLNS_XSPF "http://xspf.org/ns/0/" +#define XMLNS_LEGACY_STATS "http://icecast.org/specs/legacystats-0.0.1" +#define XMLNS_LEGACY_RESPONSE "http://icecast.org/specs/legacyresponse-0.0.1" + /* ---[ client.[ch] ]--- */ typedef struct _client_tag client_t; diff --git a/src/playlist.c b/src/playlist.c index a9d8b73e..4f653cce 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -165,7 +165,7 @@ xmlNodePtr playlist_render_xspf(playlist_t *playlist) rootnode = xmlNewNode(NULL, XMLSTR("playlist")); xmlSetProp(rootnode, XMLSTR("version"), XMLSTR("1")); - xmlSetProp(rootnode, XMLSTR("xmlns"), XMLSTR("http://xspf.org/ns/0/")); + xmlSetProp(rootnode, XMLSTR("xmlns"), XMLSTR(XMLNS_XSPF)); tracklist = xmlNewNode(NULL, XMLSTR("trackList")); xmlAddChild(rootnode, tracklist); diff --git a/src/xml2json.c b/src/xml2json.c index fd150ebb..b9ff9509 100644 --- a/src/xml2json.c +++ b/src/xml2json.c @@ -309,7 +309,7 @@ static void render_node_legacystats(json_renderer_t *renderer, xmlDocPtr doc, xm json_renderer_write_key(renderer, "name", JSON_RENDERER_FLAGS_NONE); json_renderer_write_string(renderer, "icestats", JSON_RENDERER_FLAGS_NONE); json_renderer_write_key(renderer, "ns", JSON_RENDERER_FLAGS_NONE); - json_renderer_write_string(renderer, "http://icecast.org/specs/legacystats-0.0.1", JSON_RENDERER_FLAGS_NONE); + json_renderer_write_string(renderer, XMLNS_LEGACY_STATS, JSON_RENDERER_FLAGS_NONE); json_renderer_end(renderer); } json_renderer_begin(renderer, JSON_ELEMENT_TYPE_OBJECT); @@ -634,11 +634,11 @@ static void render_node(json_renderer_t *renderer, xmlDocPtr doc, xmlNodePtr nod href = (const char *)workaroundProp; if (href) { - if (strcmp(href, "http://icecast.org/specs/legacyresponse-0.0.1") == 0) { + if (strcmp(href, XMLNS_LEGACY_RESPONSE) == 0) { render = render_node_legacyresponse; - } else if (strcmp(href, "http://icecast.org/specs/legacystats-0.0.1") == 0) { + } else if (strcmp(href, XMLNS_LEGACY_STATS) == 0) { render = render_node_legacystats; - } else if (strcmp(href, "http://xspf.org/ns/0/") == 0) { + } else if (strcmp(href, XMLNS_XSPF) == 0) { render = render_node_xspf; } }