+ page_data_t *pg_data = user_data;
+ callback_data_t cb_data = { /* cfg = */ NULL,
+ /* graph_index = */ -1, /* graph_limit = */ 20, /* graph_more = */ 0,
+ /* inst_index = */ -1, /* inst_limit = */ 5, /* inst more = */ 0 };
+
+ if (pg_data->search_term != NULL)
+ {
+ char *search_term_html = html_escape (pg_data->search_term);
+ printf (" <h2>Search results for "%s"</h2>\n",
+ search_term_html);
+ free (search_term_html);
+ }
+
+ printf (" <ul id=\"search-output\" class=\"graph_list\">\n");
+ if (pg_data->search_term == NULL)
+ gl_instance_get_all (print_graph_inst_html, /* user_data = */ &cb_data);
+ else
+ {
+ char *term_lc = strtolower_copy (pg_data->search_term);
+
+ if (strncmp ("host:", term_lc, strlen ("host:")) == 0)
+ gl_search_field (GIF_HOST, term_lc + strlen ("host:"),
+ print_graph_inst_html, /* user_data = */ &cb_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);
+
+ free (term_lc);
+ }