From: Florian Forster Date: Wed, 23 Jun 2010 13:18:58 +0000 (+0200) Subject: "list graphs" action: Re-implement "print_host_list". X-Git-Tag: v4.0.0~191 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=c3e2812ad41146fc003f8a74dd8495e88047b873;p=collection4.git "list graphs" action: Re-implement "print_host_list". --- diff --git a/src/action_list_graphs.c b/src/action_list_graphs.c index f883970..ff78482 100644 --- a/src/action_list_graphs.c +++ b/src/action_list_graphs.c @@ -148,101 +148,34 @@ static int print_search_result (void *user_data) /* {{{ */ return (0); } /* }}} int print_search_result */ -struct print_host_list_data_s +static int print_host_list_callback (const char *host, void *user_data) /* {{{ */ { - 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) -{ - 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); + printf ("
  • " + "%s
  • \n", + script_name (), host_html, host_html); - 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); - - 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 */