aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2/report.c
diff options
context:
space:
mode:
Diffstat (limited to 'hardinfo2/report.c')
-rw-r--r--hardinfo2/report.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/hardinfo2/report.c b/hardinfo2/report.c
index e6b3a08f..a5885b26 100644
--- a/hardinfo2/report.c
+++ b/hardinfo2/report.c
@@ -306,7 +306,7 @@ report_create_inner_from_module_list(ReportContext *ctx, GSList *modules)
ShellModule *module = (ShellModule *) modules->data;
GSList *entries;
- if (!gui_running)
+ if (!params.gui_running)
fprintf(stderr, "%s\n", module->name);
report_title(ctx, module->name);
@@ -314,7 +314,7 @@ report_create_inner_from_module_list(ReportContext *ctx, GSList *modules)
for (entries = module->entries; entries; entries = entries->next) {
ShellModuleEntry *entry = (ShellModuleEntry *) entries->data;
- if (!gui_running)
+ if (!params.gui_running)
fprintf(stderr, " * %s\n", entry->name);
ctx->entry = entry;
@@ -421,13 +421,18 @@ report_create_from_module_list(ReportContext *ctx, GSList *modules)
gchar *
report_create_from_module_list_format(GSList *modules, ReportFormat format)
{
- ReportContext *ctx;
- gchar *retval;
+ ReportContext *(*create_context)();
+ ReportContext *ctx;
+ gchar *retval;
- if (format == REPORT_FORMAT_HTML)
- ctx = report_context_html_new();
- else
- ctx = report_context_text_new();
+ if (format >= N_REPORT_FORMAT)
+ return NULL;
+
+ create_context = file_types[format].data;
+ if (!create_context)
+ return NULL;
+
+ ctx = create_context();
report_create_from_module_list(ctx, modules);
retval = g_strdup(ctx->output);