outputs: small code cleanup

pull/2174/head
Victor Julien 10 years ago
parent f397e7bfc2
commit 7188c2630f

@ -718,58 +718,61 @@ static void SetupOutput(const char *name, OutputModule *module, OutputCtx *outpu
} }
} }
static void RunModeInitializeEveOutput(ConfNode *conf, OutputCtx *parent_ctx) { static void RunModeInitializeEveOutput(ConfNode *conf, OutputCtx *parent_ctx)
{
ConfNode *types = ConfNodeLookupChild(conf, "types"); ConfNode *types = ConfNodeLookupChild(conf, "types");
SCLogDebug("types %p", types); SCLogDebug("types %p", types);
if (types != NULL) { if (types == NULL) {
ConfNode *type = NULL; return;
TAILQ_FOREACH(type, &types->head, next) { }
SCLogConfig("enabling 'eve-log' module '%s'", type->val);
ConfNode *type = NULL;
int sub_count = 0; TAILQ_FOREACH(type, &types->head, next) {
char subname[256]; SCLogConfig("enabling 'eve-log' module '%s'", type->val);
snprintf(subname, sizeof(subname), "eve-log.%s", type->val);
int sub_count = 0;
/* Now setup all registers logger of this name. */ char subname[256];
OutputModule *sub_module; snprintf(subname, sizeof(subname), "eve-log.%s", type->val);
TAILQ_FOREACH(sub_module, &output_modules, entries) {
if (strcmp(subname, sub_module->conf_name) == 0) { /* Now setup all registers logger of this name. */
sub_count++; OutputModule *sub_module;
TAILQ_FOREACH(sub_module, &output_modules, entries) {
if (sub_module->parent_name == NULL || if (strcmp(subname, sub_module->conf_name) == 0) {
sub_count++;
if (sub_module->parent_name == NULL ||
strcmp(sub_module->parent_name, "eve-log") != 0) { strcmp(sub_module->parent_name, "eve-log") != 0) {
FatalError(SC_ERR_INVALID_ARGUMENT, FatalError(SC_ERR_INVALID_ARGUMENT,
"bad parent for %s", subname); "bad parent for %s", subname);
} }
if (sub_module->InitSubFunc == NULL) { if (sub_module->InitSubFunc == NULL) {
FatalError(SC_ERR_INVALID_ARGUMENT, FatalError(SC_ERR_INVALID_ARGUMENT,
"bad sub-module for %s", subname); "bad sub-module for %s", subname);
} }
ConfNode *sub_output_config = ConfNode *sub_output_config =
ConfNodeLookupChild(type, type->val); ConfNodeLookupChild(type, type->val);
// sub_output_config may be NULL if no config // sub_output_config may be NULL if no config
/* pass on parent output_ctx */ /* pass on parent output_ctx */
OutputCtx *sub_output_ctx = OutputCtx *sub_output_ctx =
sub_module->InitSubFunc(sub_output_config, sub_module->InitSubFunc(sub_output_config,
parent_ctx); parent_ctx);
if (sub_output_ctx == NULL) { if (sub_output_ctx == NULL) {
continue; continue;
} }
AddOutputToFreeList(sub_module, sub_output_ctx); AddOutputToFreeList(sub_module, sub_output_ctx);
SetupOutput(sub_module->name, sub_module, SetupOutput(sub_module->name, sub_module,
sub_output_ctx); sub_output_ctx);
}
} }
}
/* Error is no registered loggers with this name /* Error is no registered loggers with this name
* were found .*/ * were found .*/
if (!sub_count) { if (!sub_count) {
FatalErrorOnInit(SC_ERR_INVALID_ARGUMENT, FatalErrorOnInit(SC_ERR_INVALID_ARGUMENT,
"No output module named %s", subname); "No output module named %s", subname);
continue; continue;
}
} }
} }
} }

Loading…
Cancel
Save