sample: introduce pa_proplist_setp()
authorLennart Poettering <lennart@poettering.net>
Mon, 25 May 2009 21:50:18 +0000 (23:50 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 May 2009 21:50:18 +0000 (23:50 +0200)
src/map-file
src/pulse/proplist.c
src/pulse/proplist.h

index c6a576e..201e837 100644 (file)
@@ -175,6 +175,7 @@ pa_proplist_iterate;
 pa_proplist_new;
 pa_proplist_set;
 pa_proplist_setf;
+pa_proplist_setp;
 pa_proplist_sets;
 pa_proplist_size;
 pa_proplist_to_string;
index db4c934..c904f53 100644 (file)
@@ -140,6 +140,21 @@ static int proplist_setn(pa_proplist *p, const char *key, size_t key_length, con
     return 0;
 }
 
+/** Will accept only valid UTF-8 */
+int pa_proplist_setp(pa_proplist *p, const char *pair) {
+    const char *t;
+
+    pa_assert(p);
+    pa_assert(pair);
+
+    if (!(t = strchr(pair, '=')))
+        return -1;
+
+    return proplist_setn(p,
+                         pair, t - pair,
+                         t + 1, strchr(pair, 0) - t - 1);
+}
+
 static int proplist_sethex(pa_proplist *p, const char *key, size_t key_length, const char *value, size_t value_length) {
     struct property *prop;
     pa_bool_t add = FALSE;
index 2e7e5ad..7d680d0 100644 (file)
@@ -234,6 +234,14 @@ int pa_proplist_sets(pa_proplist *p, const char *key, const char *value);
 /** Append a new string entry to the property list, possibly
  * overwriting an already existing entry with the same key. An
  * internal copy of the data passed is made. Will accept only valid
+ * UTF-8. The string passed in must contain a '='. Left hand side of
+ * the '=' is used as key name, the right hand side as string
+ * data. \since 0.9.16 */
+int pa_proplist_setp(pa_proplist *p, const char *pair);
+
+/** Append a new string entry to the property list, possibly
+ * overwriting an already existing entry with the same key. An
+ * internal copy of the data passed is made. Will accept only valid
  * UTF-8. The data can be passed as printf()-style format string with
  * arguments. \since 0.9.11 */
 int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4);