From 416e316564ef7cba2b76f1cf5fc81bc76fba8ecf Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 22 Feb 2013 11:04:35 +0100 Subject: ctrl: Make it possible to re-use the string get and set routine This can be used for the description field that requires some special handling for newlines. --- openbsc/include/openbsc/control_cmd.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openbsc/include/openbsc/control_cmd.h b/openbsc/include/openbsc/control_cmd.h index 9a103515..cd7b7b6d 100644 --- a/openbsc/include/openbsc/control_cmd.h +++ b/openbsc/include/openbsc/control_cmd.h @@ -129,7 +129,7 @@ static struct ctrl_cmd_element cmd_##cmdname = { \ .verify = &verify_##cmdname, \ } -#define CTRL_CMD_DEFINE_STRING(cmdname, cmdstr, dtype, element) \ +#define CTRL_HELPER_GET_STRING(cmdname, dtype, element) \ static int get_##cmdname(struct ctrl_cmd *cmd, void *_data) \ { \ dtype *data = cmd->node; \ @@ -139,13 +139,17 @@ static int get_##cmdname(struct ctrl_cmd *cmd, void *_data) \ return CTRL_CMD_ERROR; \ } \ return CTRL_CMD_REPLY; \ -} \ +} +#define CTRL_HELPER_SET_STRING(cmdname, dtype, element) \ static int set_##cmdname(struct ctrl_cmd *cmd, void *_data) \ { \ dtype *data = cmd->node; \ bsc_replace_string(cmd->node, &data->element, cmd->value); \ return get_##cmdname(cmd, _data); \ -} \ +} +#define CTRL_CMD_DEFINE_STRING(cmdname, cmdstr, dtype, element) \ + CTRL_HELPER_GET_STRING(cmdname, dtype, element) \ + CTRL_HELPER_SET_STRING(cmdname, dtype, element) \ static struct ctrl_cmd_element cmd_##cmdname = { \ .name = cmdstr, \ .param = NULL, \ -- cgit v1.2.3