diff options
-rw-r--r-- | include/osmocom/core/utils.h | 7 | ||||
-rw-r--r-- | include/osmocom/ctrl/control_cmd.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index c08e7753..373522ac 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -1,6 +1,7 @@ #pragma once #include <osmocom/core/backtrace.h> +#include <osmocom/core/talloc.h> /*! \defgroup utils General-purpose utility functions * @{ @@ -59,5 +60,11 @@ do { \ abort(); \ } +static inline void osmo_talloc_replace_string(void *ctx, char **dst, char *newstr) +{ + if (*dst) + talloc_free(*dst); + *dst = talloc_strdup(ctx, newstr); +} /*! @} */ diff --git a/include/osmocom/ctrl/control_cmd.h b/include/osmocom/ctrl/control_cmd.h index 10717acf..e38db037 100644 --- a/include/osmocom/ctrl/control_cmd.h +++ b/include/osmocom/ctrl/control_cmd.h @@ -145,7 +145,7 @@ static int get_##cmdname(struct ctrl_cmd *cmd, void *_data) \ static int set_##cmdname(struct ctrl_cmd *cmd, void *_data) \ { \ dtype *data = cmd->node; \ - bsc_replace_string(cmd->node, &data->element, cmd->value); \ + osmo_talloc_replace_string(cmd->node, &data->element, cmd->value); \ return get_##cmdname(cmd, _data); \ } #define CTRL_CMD_DEFINE_STRING(cmdname, cmdstr, dtype, element) \ |