This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24576 )
Change subject: stat,rate_ctr: allow setting group name using a format string
......................................................................
stat,rate_ctr: allow setting group name using a format string
Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406
---
M include/osmocom/core/rate_ctr.h
M include/osmocom/core/stat_item.h
M src/rate_ctr.c
M src/stat_item.c
4 files changed, 50 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/24576/1
diff --git a/include/osmocom/core/rate_ctr.h b/include/osmocom/core/rate_ctr.h
index d944cc0..40b432c 100644
--- a/include/osmocom/core/rate_ctr.h
+++ b/include/osmocom/core/rate_ctr.h
@@ -76,6 +76,7 @@
grp->idx = idx;
}
void rate_ctr_group_set_name(struct rate_ctr_group *grp, const char *name);
+void rate_ctr_group_set_name_fmt(struct rate_ctr_group *grp, const char *fmt, ...);
struct rate_ctr *rate_ctr_group_get_ctr(struct rate_ctr_group *grp, unsigned int idx);
diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h
index fbe0433..377c762 100644
--- a/include/osmocom/core/stat_item.h
+++ b/include/osmocom/core/stat_item.h
@@ -83,6 +83,7 @@
}
struct osmo_stat_item *osmo_stat_item_group_get_item(struct osmo_stat_item_group *grp, unsigned int idx);
void osmo_stat_item_group_set_name(struct osmo_stat_item_group *statg, const char *name);
+void osmo_stat_item_group_set_name_fmt(struct osmo_stat_item_group *statg, const char *fmt, ...);
void osmo_stat_item_group_free(struct osmo_stat_item_group *statg);
void osmo_stat_item_inc(struct osmo_stat_item *item, int32_t value);
diff --git a/src/rate_ctr.c b/src/rate_ctr.c
index 4d99699..b860b86 100644
--- a/src/rate_ctr.c
+++ b/src/rate_ctr.c
@@ -283,6 +283,30 @@
osmo_talloc_replace_string(grp, &grp->name, name);
}
+/*! Similar to rate_ctr_group_set_name(), but accepts a format string.
+ * \param[in] grp Rate counter group.
+ * \param[in] fmt Format string for the name.
+ * \param[in] ... Variable argument list for the format string.
+ */
+void rate_ctr_group_set_name_fmt(struct rate_ctr_group *grp,
+ const char *fmt, ...)
+{
+ char *name = NULL;
+
+ if (grp->name != NULL)
+ talloc_free(grp->name);
+
+ if (fmt != NULL) {
+ va_list ap;
+
+ va_start(ap, fmt);
+ name = talloc_vasprintf(grp, fmt, ap);
+ va_end(ap);
+ }
+
+ grp->name = name;
+}
+
/*! Add a number to the counter */
void rate_ctr_add(struct rate_ctr *ctr, int inc)
{
diff --git a/src/stat_item.c b/src/stat_item.c
index 55aa951..c81c704 100644
--- a/src/stat_item.c
+++ b/src/stat_item.c
@@ -187,6 +187,30 @@
osmo_talloc_replace_string(statg, &statg->name, name);
}
+/*! Similar to osmo_stat_item_group_set_name(), but accepts a format string.
+ * \param[in] statg Rate counter group.
+ * \param[in] fmt Format string for the name.
+ * \param[in] ... Variable argument list for the format string.
+ */
+void osmo_stat_item_group_set_name_fmt(struct osmo_stat_item_group *statg,
+ const char *fmt, ...)
+{
+ char *name = NULL;
+
+ if (statg->name != NULL)
+ talloc_free(statg->name);
+
+ if (fmt != NULL) {
+ va_list ap;
+
+ va_start(ap, fmt);
+ name = talloc_vasprintf(statg, fmt, ap);
+ va_end(ap);
+ }
+
+ statg->name = name;
+}
+
/*! Increase the stat_item to the given value.
* This function adds a new value for the given stat_item at the end of
* the FIFO.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24576
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I6e813476cfb6a0ad275c4a51e9f065eeca8cb406
Gerrit-Change-Number: 24576
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210606/c7efbe1a/attachment.htm>