libctrl: remove reference to bsc_replace_string()
... and rather introduce a general osmo_talloc_replace_string() to
libosmocore.
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h
index c08e775..373522a 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 @@
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 10717ac..e38db03 100644
--- a/include/osmocom/ctrl/control_cmd.h
+++ b/include/osmocom/ctrl/control_cmd.h
@@ -145,7 +145,7 @@
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) \