diff options
| -rw-r--r-- | lib/output.c | 8 | ||||
| -rw-r--r-- | lib/output.h | 16 |
2 files changed, 20 insertions, 4 deletions
diff --git a/lib/output.c b/lib/output.c index 01e50770..c408a2f5 100644 --- a/lib/output.c +++ b/lib/output.c | |||
| @@ -253,7 +253,9 @@ char *mp_fmt_output(mp_check check) { | |||
| 253 | mp_subcheck_list *subchecks = check.subchecks; | 253 | mp_subcheck_list *subchecks = check.subchecks; |
| 254 | 254 | ||
| 255 | while (subchecks != NULL) { | 255 | while (subchecks != NULL) { |
| 256 | asprintf(&result, "%s\n%s", result, fmt_subcheck_output(MP_FORMAT_MULTI_LINE, subchecks->subcheck, 1)); | 256 | if (level_of_detail == MP_DETAIL_ALL || mp_compute_subcheck_state(subchecks->subcheck) != STATE_OK) { |
| 257 | asprintf(&result, "%s\n%s", result, fmt_subcheck_output(MP_FORMAT_MULTI_LINE, subchecks->subcheck, 1)); | ||
| 258 | } | ||
| 257 | subchecks = subchecks->next; | 259 | subchecks = subchecks->next; |
| 258 | } | 260 | } |
| 259 | 261 | ||
| @@ -545,3 +547,7 @@ parsed_output_format mp_parse_output_format(char *format_string) { | |||
| 545 | void mp_set_format(mp_output_format format) { output_format = format; } | 547 | void mp_set_format(mp_output_format format) { output_format = format; } |
| 546 | 548 | ||
| 547 | mp_output_format mp_get_format(void) { return output_format; } | 549 | mp_output_format mp_get_format(void) { return output_format; } |
| 550 | |||
| 551 | void mp_set_level_of_detail(mp_output_detail_level level) { level_of_detail = level; } | ||
| 552 | |||
| 553 | mp_output_detail_level mp_get_level_of_detail(void) { return level_of_detail; } | ||
diff --git a/lib/output.h b/lib/output.h index 2bdfa074..3bd91f90 100644 --- a/lib/output.h +++ b/lib/output.h | |||
| @@ -38,8 +38,18 @@ typedef enum output_format { | |||
| 38 | /* | 38 | /* |
| 39 | * Format related functions | 39 | * Format related functions |
| 40 | */ | 40 | */ |
| 41 | void mp_set_format(mp_output_format format); | 41 | void mp_set_format(mp_output_format format); |
| 42 | mp_output_format mp_get_format(void); | 42 | mp_output_format mp_get_format(void); |
| 43 | |||
| 44 | // Output detail level | ||
| 45 | |||
| 46 | typedef enum output_detail_level { | ||
| 47 | MP_DETAIL_ALL, | ||
| 48 | MP_DETAIL_NON_OK_ONLY, | ||
| 49 | } mp_output_detail_level; | ||
| 50 | |||
| 51 | void mp_set_level_of_detail(mp_output_detail_level level); | ||
| 52 | mp_output_detail_level mp_get_level_of_detail(void); | ||
| 43 | 53 | ||
| 44 | /* | 54 | /* |
| 45 | * The main state object of a plugin. Exists only ONCE per plugin. | 55 | * The main state object of a plugin. Exists only ONCE per plugin. |
| @@ -48,7 +58,7 @@ typedef enum output_format { | |||
| 48 | * in the first layer of subchecks | 58 | * in the first layer of subchecks |
| 49 | */ | 59 | */ |
| 50 | typedef struct { | 60 | typedef struct { |
| 51 | char *summary; // Overall summary, if not set a summary will be automatically generated | 61 | char *summary; // Overall summary, if not set a summary will be automatically generated |
| 52 | mp_subcheck_list *subchecks; | 62 | mp_subcheck_list *subchecks; |
| 53 | } mp_check; | 63 | } mp_check; |
| 54 | 64 | ||
