utils.h: add OSMO_STRINGIFY and OSMO_VALUE_STRING macros
OSMO_STRINGIFY particularly allows putting port numbers from a #define into VTY
doc strings, like:
#define FOO_PORT 2342
DEFUN(...,
"Foo UDP port (default: " OSMO_STRINGIFY(FOO_PORT) ")\n")
OSMO_VALUE_STRING creates value_string items with the string being exactly the
enum value's name. Replaces a similar macro def in fsm.c
Change-Id: I857af45ae602bb9a647ba26cf8b0d1b23403b54c
diff --git a/src/fsm.c b/src/fsm.c
index 16699fa..842c766 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -476,14 +476,12 @@
file, line);
}
-#define ENUM_VAL_TO_VALUE_STRING(X) { X, #X }
-
const struct value_string osmo_fsm_term_cause_names[] = {
- ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_PARENT),
- ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REQUEST),
- ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REGULAR),
- ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_ERROR),
- ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_TIMEOUT),
+ OSMO_VALUE_STRING(OSMO_FSM_TERM_PARENT),
+ OSMO_VALUE_STRING(OSMO_FSM_TERM_REQUEST),
+ OSMO_VALUE_STRING(OSMO_FSM_TERM_REGULAR),
+ OSMO_VALUE_STRING(OSMO_FSM_TERM_ERROR),
+ OSMO_VALUE_STRING(OSMO_FSM_TERM_TIMEOUT),
{ 0, NULL }
};