mirror of
git://git.code.sf.net/p/dhcpd-pools/code
synced 2025-12-18 08:47:00 +00:00
output: make output_analysis() to be regular function
This commit makes it possible to define alarming thresholds at the same time with other output formats. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
parent
9deeae8c36
commit
abf5d04736
4 changed files with 73 additions and 74 deletions
54
src/output.c
54
src/output.c
|
|
@ -59,7 +59,7 @@
|
|||
#include "dhcpd-pools.h"
|
||||
|
||||
/*! \brief Text output format, which is the default. */
|
||||
int output_txt(void)
|
||||
static int output_txt(void)
|
||||
{
|
||||
unsigned int i;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -214,7 +214,7 @@ int output_txt(void)
|
|||
}
|
||||
|
||||
/*! \brief The xml output formats. */
|
||||
int output_xml(void)
|
||||
static int output_xml(const int print_mac_addreses)
|
||||
{
|
||||
unsigned int i;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -238,7 +238,7 @@ int output_xml(void)
|
|||
|
||||
fprintf(outfile, "<dhcpstatus>\n");
|
||||
|
||||
if (config.print_mac_addreses == 1) {
|
||||
if (print_mac_addreses == 1) {
|
||||
struct leases_t *l;
|
||||
|
||||
for (l = leases; l != NULL; l = l->hh.next) {
|
||||
|
|
@ -317,7 +317,7 @@ int output_xml(void)
|
|||
}
|
||||
|
||||
/*! \brief The json output formats. */
|
||||
int output_json(void)
|
||||
static int output_json(const int print_mac_addreses)
|
||||
{
|
||||
unsigned int i = 0;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -343,7 +343,7 @@ int output_json(void)
|
|||
|
||||
fprintf(outfile, "{\n");
|
||||
|
||||
if (config.print_mac_addreses == 1) {
|
||||
if (print_mac_addreses == 1) {
|
||||
struct leases_t *l;
|
||||
|
||||
fprintf(outfile, " \"active_leases\": [");
|
||||
|
|
@ -595,7 +595,7 @@ static void newsection(FILE *restrict f, char const *restrict title)
|
|||
}
|
||||
|
||||
/*! \brief Output html format. */
|
||||
int output_html(void)
|
||||
static int output_html(void)
|
||||
{
|
||||
unsigned int i;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -783,7 +783,7 @@ int output_html(void)
|
|||
}
|
||||
|
||||
/*! \brief Output cvs format. */
|
||||
int output_csv(void)
|
||||
static int output_csv(void)
|
||||
{
|
||||
unsigned int i;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -925,7 +925,7 @@ int output_csv(void)
|
|||
}
|
||||
|
||||
/*! \brief Output alarm text, and return program exit value. */
|
||||
int output_alarming(void)
|
||||
static int output_alarming(void)
|
||||
{
|
||||
FILE *outfile;
|
||||
struct range_t *range_p;
|
||||
|
|
@ -1093,3 +1093,41 @@ int output_alarming(void)
|
|||
}
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
/*! \brief Return output_format_names enum based on single char input. */
|
||||
int output_analysis(const char c)
|
||||
{
|
||||
int ret = 1;
|
||||
switch (c) {
|
||||
case 't':
|
||||
ret = output_txt();
|
||||
break;
|
||||
case 'a':
|
||||
ret = output_alarming();
|
||||
break;
|
||||
case 'h':
|
||||
error(EXIT_FAILURE, 0, "html table only output format is deprecated");
|
||||
break;
|
||||
case 'H':
|
||||
ret = output_html();
|
||||
break;
|
||||
case 'x':
|
||||
ret = output_xml(0);
|
||||
break;
|
||||
case 'X':
|
||||
ret = output_xml(1);
|
||||
break;
|
||||
case 'j':
|
||||
ret = output_json(0);
|
||||
break;
|
||||
case 'J':
|
||||
ret = output_json(1);
|
||||
break;
|
||||
case 'c':
|
||||
ret = output_csv();
|
||||
break;
|
||||
default:
|
||||
error(EXIT_FAILURE, 0, "unknown output format: '%c'", c);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue