summaryrefslogtreecommitdiff
path: root/libpurple/purpletags.c
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2022-11-28 20:37:34 -0600
committerGary Kramlich <grim@reaperworld.com>2022-11-28 20:37:34 -0600
commit4ef109d2593c0a041af303acbeaf7b4c4de46702 (patch)
treee2e281d162607ad1fa55abe0861e76645322c467 /libpurple/purpletags.c
parent0c8d839626d288260f69e4469c70fb7c961c9378 (diff)
downloadpidgin-4ef109d2593c0a041af303acbeaf7b4c4de46702.tar.gz
Add purple_tags_add_with_value to help people not have to construct their own tags
Testing Done: Ran the unit tests. Reviewed at https://reviews.imfreedom.org/r/2102/
Diffstat (limited to 'libpurple/purpletags.c')
-rw-r--r--libpurple/purpletags.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libpurple/purpletags.c b/libpurple/purpletags.c
index f4b2e972f7..906152fca6 100644
--- a/libpurple/purpletags.c
+++ b/libpurple/purpletags.c
@@ -126,6 +126,26 @@ purple_tags_add(PurpleTags *tags, const gchar *tag) {
tags->tags = g_list_append(tags->tags, g_strdup(tag));
}
+void
+purple_tags_add_with_value(PurpleTags *tags, const char *name,
+ const char *value)
+{
+ char *tag = NULL;
+
+ g_return_if_fail(PURPLE_IS_TAGS(tags));
+ g_return_if_fail(name != NULL);
+
+ if(value != NULL) {
+ tag = g_strdup_printf("%s:%s", name, value);
+ } else {
+ tag = g_strdup(name);
+ }
+
+ purple_tags_add(tags, tag);
+
+ g_free(tag);
+}
+
gboolean
purple_tags_remove(PurpleTags *tags, const gchar *tag) {
g_return_val_if_fail(PURPLE_IS_TAGS(tags), FALSE);