From 5eb09ca5de93bb2735be40706d4df371cecfe487 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Fri, 9 Oct 2020 15:43:57 +0000 Subject: [PATCH] Update: Convert stats_get_xml() to take flags --- src/admin.c | 2 +- src/fserve.c | 2 +- src/stats.c | 6 +++--- src/stats.h | 5 ++++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/admin.c b/src/admin.c index f6b1afbe..0cd56a41 100644 --- a/src/admin.c +++ b/src/admin.c @@ -1191,7 +1191,7 @@ static void command_stats(client_t *client, source_t *source, admin_format_t res ICECAST_LOG_DEBUG("Stats request, sending xml stats"); - doc = stats_get_xml(1, mount, client); + doc = stats_get_xml(STATS_XML_FLAG_SHOW_HIDDEN, mount, client); admin_send_response(doc, client, response, STATS_HTML_REQUEST); xmlFreeDoc(doc); return; diff --git a/src/fserve.c b/src/fserve.c index 4d8e5a35..13be4478 100644 --- a/src/fserve.c +++ b/src/fserve.c @@ -480,7 +480,7 @@ int fserve_client_create (client_t *httpclient) char *eol = strrchr (reference, '.'); if (eol) *eol = '\0'; - doc = stats_get_xml (0, reference, httpclient); + doc = stats_get_xml(STATS_XML_FLAG_NONE, reference, httpclient); free (reference); admin_send_response (doc, httpclient, ADMIN_FORMAT_HTML, xslt_playlist_requested); xmlFreeDoc(doc); diff --git a/src/stats.c b/src/stats.c index cf3bed1e..e3f0a6c1 100644 --- a/src/stats.c +++ b/src/stats.c @@ -1051,7 +1051,7 @@ void stats_transform_xslt(client_t *client) char *xslpath = util_get_path_from_normalised_uri(client->uri); const char *mount = httpp_get_param(client->parser, "mount"); - doc = stats_get_xml(0, mount, client); + doc = stats_get_xml(STATS_XML_FLAG_NONE, mount, client); xslt_transform(doc, xslpath, client, 200, NULL, NULL); @@ -1082,7 +1082,7 @@ static void __add_metadata(xmlNodePtr node, const char *tag) { free(name); } -xmlDocPtr stats_get_xml(int show_hidden, const char *show_mount, client_t *client) +xmlDocPtr stats_get_xml(unsigned int flags, const char *show_mount, client_t *client) { xmlDocPtr doc; xmlNodePtr node; @@ -1096,7 +1096,7 @@ xmlDocPtr stats_get_xml(int show_hidden, const char *show_mount, client_t *clien modules = module_container_get_modulelist_as_xml(global.modulecontainer); xmlAddChild(node, modules); - node = _dump_stats_to_doc(node, show_mount, show_hidden, client); + node = _dump_stats_to_doc(node, show_mount, flags & STATS_XML_FLAG_SHOW_HIDDEN ? 1 : 0, client); if (show_mount && node) { avl_tree_rlock(global.source_tree); diff --git a/src/stats.h b/src/stats.h index 299aad36..3b82d784 100644 --- a/src/stats.h +++ b/src/stats.h @@ -21,6 +21,9 @@ #include "icecasttypes.h" #include "refbuf.h" +#define STATS_XML_FLAG_NONE 0x0000U +#define STATS_XML_FLAG_SHOW_HIDDEN 0x0001U + typedef struct _stats_node_tag { char *name; @@ -95,7 +98,7 @@ void stats_callback (client_t *client, void *notused); void stats_transform_xslt(client_t *client); void stats_sendxml(client_t *client); -xmlDocPtr stats_get_xml(int show_hidden, const char *show_mount, client_t *client); +xmlDocPtr stats_get_xml(unsigned int flags, const char *show_mount, client_t *client); char *stats_get_value(const char *source, const char *name); #endif /* __STATS_H__ */