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) \