aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2014-08-20 22:50:47 +0200
committerHarald Welte <laforge@gnumonks.org>2014-08-21 15:34:17 +0200
commitf3c7e85d05f7b2b7bf093162b776f71b2bc6420d (patch)
tree9c2e543dd52863075e39fa4f5961cd16a98df5a5
parentc9df37d84a7a9bace75cc0549a21fdcd9b178182 (diff)
libctrl: remove reference to bsc_replace_string()
... and rather introduce a general osmo_talloc_replace_string() to libosmocore.
-rw-r--r--include/osmocom/core/utils.h7
-rw-r--r--include/osmocom/ctrl/control_cmd.h2
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) \