X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Faction_list_graphs.c;h=81a2e19ae7227422e6918c023cf1a75960cb9c59;hb=5951e4a476166208796392544f8d65f8e524f693;hp=6a7ce4fe2538c4bfbe249a16654eafba714504fb;hpb=8ef2ef705bc5f5b4aa758f92ed8ceb1cec42f7c8;p=collection4.git diff --git a/src/action_list_graphs.c b/src/action_list_graphs.c index 6a7ce4f..81a2e19 100644 --- a/src/action_list_graphs.c +++ b/src/action_list_graphs.c @@ -7,6 +7,7 @@ #include "common.h" #include "graph.h" #include "graph_ident.h" +#include "graph_instance.h" #include "graph_list.h" #include "utils_cgi.h" @@ -78,7 +79,7 @@ static int print_graph_inst_html (graph_config_t *cfg, /* {{{ */ inst_describe (cfg, inst, desc, sizeof (desc)); html_escape_buffer (desc, sizeof (desc)); - printf ("
  • %s
  • \n", + printf ("
  • %s
  • \n", script_name (), params, desc); return (0); @@ -118,9 +119,15 @@ static int print_search_result (void *user_data) /* {{{ */ else if (strncmp ("plugin:", term_lc, strlen ("plugin:")) == 0) gl_search_field (GIF_PLUGIN, term_lc + strlen ("plugin:"), print_graph_inst_html, /* user_data = */ &cb_data); + else if (strncmp ("plugin_instance:", term_lc, strlen ("plugin_instance:")) == 0) + gl_search_field (GIF_PLUGIN_INSTANCE, term_lc + strlen ("plugin_instance:"), + print_graph_inst_html, /* user_data = */ &cb_data); else if (strncmp ("type:", term_lc, strlen ("type:")) == 0) gl_search_field (GIF_TYPE, term_lc + strlen ("type:"), print_graph_inst_html, /* user_data = */ &cb_data); + else if (strncmp ("type_instance:", term_lc, strlen ("type_instance:")) == 0) + gl_search_field (GIF_TYPE_INSTANCE, term_lc + strlen ("type_instance:"), + print_graph_inst_html, /* user_data = */ &cb_data); else gl_search (term_lc, print_graph_inst_html, /* user_data = */ &cb_data); @@ -141,101 +148,34 @@ static int print_search_result (void *user_data) /* {{{ */ return (0); } /* }}} int print_search_result */ -struct print_host_list_data_s -{ - str_array_t *array; - char *last_host; -}; -typedef struct print_host_list_data_s print_host_list_data_t; - -static int print_host_list_callback (graph_config_t *cfg, /* {{{ */ - graph_instance_t *inst, void *user_data) +static int print_host_list_callback (const char *host, void *user_data) /* {{{ */ { - print_host_list_data_t *data = user_data; - graph_ident_t *ident; - const char *host; - - /* make compiler happy */ - cfg = NULL; + char *host_html; - ident = inst_get_selector (inst); - if (ident == NULL) - return (-1); + /* Make compiler happy */ + user_data = NULL; - host = ident_get_host (ident); if (host == NULL) - { - ident_destroy (ident); - return (-1); - } + return (EINVAL); + + host_html = html_escape (host); + if (host_html == NULL) + return (ENOMEM); - if (IS_ALL (host)) - return (0); - - if ((data->last_host != NULL) - && (strcmp (data->last_host, host) == 0)) - { - ident_destroy (ident); - return (0); - } - - free (data->last_host); - data->last_host = strdup (host); + printf ("
  • " + "%s
  • \n", + script_name (), host_html, host_html); - array_append (data->array, host); - - ident_destroy (ident); return (0); } /* }}} int print_host_list_callback */ static int print_host_list (__attribute__((unused)) void *user_data) /* {{{ */ { - print_host_list_data_t data; - int hosts_argc; - char **hosts_argv; - int i; - - data.array = array_create (); - data.last_host = NULL; - - gl_instance_get_all (print_host_list_callback, &data); - - free (data.last_host); - data.last_host = NULL; - - array_sort (data.array); - - hosts_argc = array_argc (data.array); - hosts_argv = array_argv (data.array); - - if (hosts_argc < 1) - { - array_destroy (data.array); - return (0); - } - printf ("

    List of hosts

    \n" "
    \n"); - array_destroy (data.array); - return (0); } /* }}} int print_host_list */