X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fmain.c;h=6d8a025a735bb6367e52cc256c0ecfec1c196356;hb=1ca9e6ca7959d20780bb3bc336404549156415c7;hp=5dc526422735559e5f9547ad7069f4e0f85dab73;hpb=6261a817494a678f8bc5dca6718c54c51e6421e0;p=collection4.git diff --git a/src/main.c b/src/main.c index 5dc5264..6d8a025 100644 --- a/src/main.c +++ b/src/main.c @@ -38,8 +38,11 @@ #include "action_graph.h" #include "action_list_graphs.h" +#include "action_list_hosts.h" +#include "action_search.h" #include "action_search_json.h" #include "action_show_graph.h" +#include "action_show_graph_json.h" #include "action_show_instance.h" /* Include this last, so the macro magic of doesn't interfere @@ -60,8 +63,11 @@ static const action_t actions[] = { { "graph", action_graph }, { "list_graphs", action_list_graphs }, + { "list_hosts", action_list_hosts }, + { "search", action_search }, { "search_json", action_search_json }, { "show_graph", action_show_graph }, + { "show_graph_json", action_show_graph_json }, { "show_instance", action_show_instance }, { "usage", action_usage } }; @@ -101,14 +107,28 @@ static int handle_request (void) /* {{{ */ else { size_t i; + int status = ENOENT; + + gl_update (/* request_served = */ 0); for (i = 0; i < actions_num; i++) { if (strcmp (action, actions[i].name) == 0) - return ((*actions[i].callback) ()); + { + status = (*actions[i].callback) (); + break; + } } - return (action_usage ()); + if (i >= actions_num) + status = action_usage (); + + fflush (stdout); + fclose (stdout); + + gl_update (/* request_served = */ 1); + + return (status); } } /* }}} int handle_request */