From 261a4830fb28f7ae690176cdfbe21607d27d9bcb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 25 May 2009 23:50:18 +0200 Subject: sample: introduce pa_proplist_setp() --- src/pulse/proplist.c | 15 +++++++++++++++ src/pulse/proplist.h | 8 ++++++++ 2 files changed, 23 insertions(+) (limited to 'src/pulse') diff --git a/src/pulse/proplist.c b/src/pulse/proplist.c index db4c9344..c904f533 100644 --- a/src/pulse/proplist.c +++ b/src/pulse/proplist.c @@ -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; diff --git a/src/pulse/proplist.h b/src/pulse/proplist.h index 2e7e5ad0..7d680d06 100644 --- a/src/pulse/proplist.h +++ b/src/pulse/proplist.h @@ -231,6 +231,14 @@ void pa_proplist_free(pa_proplist* p); * UTF-8. \since 0.9.11 */ 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 -- cgit