From 08e0f04697166ec26cca18eb7722f16e680b24ad Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 5 Aug 2020 23:45:24 +0200 Subject: ... That was actually very easily done. --- src/config/debug.c | 37 +++++++++++++++++++++++++++++++++ src/config/parameters/parameters.c | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/config/debug.c (limited to 'src') diff --git a/src/config/debug.c b/src/config/debug.c new file mode 100644 index 0000000..277307f --- /dev/null +++ b/src/config/debug.c @@ -0,0 +1,37 @@ + +/**** RELABSD *****************************************************************/ +#include + +#ifndef RELABSD_USE_MACRO_DEBUG +/******************************************************************************/ +/**** LOCAL FUNCTIONS *********************************************************/ +/******************************************************************************/ +int RELABSD_DEBUG_PROGRAM_FLOW = 0; +int RELABSD_DEBUG_CONFIG = 0; +int RELABSD_DEBUG_REAL_EVENTS = 0; +int RELABSD_DEBUG_VIRTUAL_EVENTS = 0; + +/******************************************************************************/ +/**** EXPORTED FUNCTIONS ******************************************************/ +/******************************************************************************/ +void relabsd_debug_toggle_program_flow (void) +{ + RELABSD_DEBUG_PROGRAM_FLOW = !RELABSD_DEBUG_PROGRAM_FLOW; +} + +void relabsd_debug_toggle_config (void) +{ + RELABSD_DEBUG_CONFIG = !RELABSD_DEBUG_CONFIG; +} + +void relabsd_debug_toggle_real_event (void) +{ + RELABSD_DEBUG_REAL_EVENTS = !RELABSD_DEBUG_REAL_EVENTS; +} + +void relabsd_debug_toggle_virtual_event (void) +{ + RELABSD_DEBUG_VIRTUAL_EVENTS = !RELABSD_DEBUG_VIRTUAL_EVENTS; +} + +#endif diff --git a/src/config/parameters/parameters.c b/src/config/parameters/parameters.c index d9a3d46..aca6fab 100644 --- a/src/config/parameters/parameters.c +++ b/src/config/parameters/parameters.c @@ -237,6 +237,26 @@ int relabsd_parameters_parse_options parameters->device_name = argv[i]; } else if + ( + RELABSD_STRING_EQUALS("-v", argv[i]) + || RELABSD_STRING_EQUALS("--verbose", argv[i]) + ) + { + relabsd_debug_toggle_real_event(); + relabsd_debug_toggle_virtual_event(); + } + else if + ( + RELABSD_STRING_EQUALS("-vv", argv[i]) + || RELABSD_STRING_EQUALS("--very-verbose", argv[i]) + ) + { + relabsd_debug_toggle_config(); + relabsd_debug_toggle_program_flow(); + relabsd_debug_toggle_real_event(); + relabsd_debug_toggle_virtual_event(); + } + else if ( RELABSD_STRING_EQUALS("-t", argv[i]) || RELABSD_STRING_EQUALS("--timeout", argv[i]) @@ -367,6 +387,22 @@ int relabsd_parameters_argument_count_for *result = 1; } else if + ( + RELABSD_STRING_EQUALS("-v", option) + || RELABSD_STRING_EQUALS("--verbose", option) + ) + { + *result = 0; + } + else if + ( + RELABSD_STRING_EQUALS("-vv", option) + || RELABSD_STRING_EQUALS("--very-verbose", option) + ) + { + *result = 0; + } + else if ( RELABSD_STRING_EQUALS("-t", option) || RELABSD_STRING_EQUALS("--timeout", option) @@ -442,6 +478,12 @@ void relabsd_parameters_print_usage (const char exec [const restrict static 1]) "\t[-t | --timeout] \n" "\t\tSets a zeroing timeout (0 to disable).\n\n" + "\t[-v | --verbose]\n" + "\t\tPrint incoming and outgoing events to stdout.\n\n" + + "\t[-vv | --very-verbose]\n" + "\t\tPrint program flow, incoming and outgoing events to stdout.\n\n" + ":\n" "\t\n\n" -- cgit v1.2.3-70-g09d2