runmodes: code cleanups

pull/4015/head
Victor Julien 6 years ago
parent feda5e7392
commit 3282fb4967

@ -75,7 +75,7 @@ const char *thread_name_counter_wakeup = "CW";
*/
typedef struct RunMode_ {
/* the runmode type */
int runmode;
enum RunModes runmode;
const char *name;
const char *description;
/* runmode function */
@ -83,7 +83,7 @@ typedef struct RunMode_ {
} RunMode;
typedef struct RunModes_ {
int no_of_runmodes;
int cnt;
RunMode *runmodes;
} RunModes;
@ -153,8 +153,7 @@ static const char *RunModeTranslateModeToName(int runmode)
return "WINDIVERT(DISABLED)";
#endif
default:
SCLogError(SC_ERR_UNKNOWN_RUN_MODE, "Unknown runtime mode. Aborting");
exit(EXIT_FAILURE);
FatalError(SC_ERR_UNKNOWN_RUN_MODE, "Unknown runtime mode. Aborting");
}
}
@ -166,15 +165,14 @@ static const char *RunModeTranslateModeToName(int runmode)
* \param runmode The runmode type.
* \param runmode_customd_id The runmode custom id.
*/
static RunMode *RunModeGetCustomMode(int runmode, const char *custom_mode)
static RunMode *RunModeGetCustomMode(enum RunModes runmode, const char *custom_mode)
{
int i;
for (i = 0; i < runmodes[runmode].no_of_runmodes; i++) {
if (strcmp(runmodes[runmode].runmodes[i].name, custom_mode) == 0)
return &runmodes[runmode].runmodes[i];
if (runmode < RUNMODE_USER_MAX) {
for (int i = 0; i < runmodes[runmode].cnt; i++) {
if (strcmp(runmodes[runmode].runmodes[i].name, custom_mode) == 0)
return &runmodes[runmode].runmodes[i];
}
}
return NULL;
}
@ -247,7 +245,7 @@ void RunModeListRunmodes(void)
int j = 0;
for ( ; i < RUNMODE_USER_MAX; i++) {
int mode_displayed = 0;
for (j = 0; j < runmodes[i].no_of_runmodes; j++) {
for (j = 0; j < runmodes[i].cnt; j++) {
if (mode_displayed == 1) {
printf("| ----------------------------------------------"
"-----------------------\n");
@ -269,7 +267,7 @@ void RunModeListRunmodes(void)
if (mode_displayed == 1) {
printf("|-----------------------------------------------------------------"
"-----------------------\n");
}
}
}
return;
@ -418,19 +416,18 @@ int RunModeNeedsBypassManager(void)
* \param description Description for this runmode.
* \param RunModeFunc The function to be run for this runmode.
*/
void RunModeRegisterNewRunMode(int runmode, const char *name,
void RunModeRegisterNewRunMode(enum RunModes runmode,
const char *name,
const char *description,
int (*RunModeFunc)(void))
{
void *ptmp;
if (RunModeGetCustomMode(runmode, name) != NULL) {
SCLogError(SC_ERR_RUNMODE, "A runmode by this custom name has already "
"been registered. Please use an unique name");
return;
FatalError(SC_ERR_RUNMODE, "runmode '%s' has already "
"been registered. Please use an unique name.", name);
}
ptmp = SCRealloc(runmodes[runmode].runmodes,
(runmodes[runmode].no_of_runmodes + 1) * sizeof(RunMode));
void *ptmp = SCRealloc(runmodes[runmode].runmodes,
(runmodes[runmode].cnt + 1) * sizeof(RunMode));
if (ptmp == NULL) {
SCFree(runmodes[runmode].runmodes);
runmodes[runmode].runmodes = NULL;
@ -438,19 +435,18 @@ void RunModeRegisterNewRunMode(int runmode, const char *name,
}
runmodes[runmode].runmodes = ptmp;
RunMode *mode = &runmodes[runmode].runmodes[runmodes[runmode].no_of_runmodes];
runmodes[runmode].no_of_runmodes++;
RunMode *mode = &runmodes[runmode].runmodes[runmodes[runmode].cnt];
runmodes[runmode].cnt++;
memset(mode, 0x00, sizeof(*mode));
mode->runmode = runmode;
mode->name = SCStrdup(name);
if (unlikely(mode->name == NULL)) {
SCLogError(SC_ERR_MEM_ALLOC, "Failed to allocate string");
exit(EXIT_FAILURE);
FatalError(SC_ERR_MEM_ALLOC, "Failed to allocate string");
}
mode->description = SCStrdup(description);
if (unlikely(mode->description == NULL)) {
SCLogError(SC_ERR_MEM_ALLOC, "Failed to allocate string");
exit(EXIT_FAILURE);
FatalError(SC_ERR_MEM_ALLOC, "Failed to allocate string");
}
mode->RunModeFunc = RunModeFunc;
@ -505,7 +501,7 @@ bool IsRunModeSystem(enum RunModes run_mode_to_check)
}
}
bool IsRunModeOffline(int run_mode_to_check)
bool IsRunModeOffline(enum RunModes run_mode_to_check)
{
switch(run_mode_to_check) {
case RUNMODE_CONF_TEST:

@ -78,7 +78,7 @@ const char *RunModeGetMainMode(void);
void RunModeListRunmodes(void);
void RunModeDispatch(int, const char *);
void RunModeRegisterRunModes(void);
void RunModeRegisterNewRunMode(int, const char *, const char *,
void RunModeRegisterNewRunMode(enum RunModes, const char *, const char *,
int (*RunModeFunc)(void));
void RunModeInitialize(void);
void RunModeInitializeOutputs(void);
@ -89,7 +89,7 @@ int RunModeOutputFileEnabled(void);
/* bool indicating if filedata logger is enabled */
int RunModeOutputFiledataEnabled(void);
/** bool indicating if run mode is offline */
bool IsRunModeOffline(int run_mode_to_check);
bool IsRunModeOffline(enum RunModes run_mode_to_check);
bool IsRunModeSystem(enum RunModes run_mode_to_check);
void RunModeEnablesBypassManager(void);

Loading…
Cancel
Save