- return MAKE_PROPLIST(pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func));
+ return MAKE_PROPLIST(pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) property_free));
}
/** Will accept only valid UTF-8 */
int pa_proplist_sets(pa_proplist *p, const char *key, const char *value) {
struct property *prop;
}
/** Will accept only valid UTF-8 */
int pa_proplist_sets(pa_proplist *p, const char *key, const char *value) {
struct property *prop;
return -1;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
return -1;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
/** Will accept only valid UTF-8 */
static int proplist_setn(pa_proplist *p, const char *key, size_t key_length, const char *value, size_t value_length) {
struct property *prop;
/** Will accept only valid UTF-8 */
static int proplist_setn(pa_proplist *p, const char *key, size_t key_length, const char *value, size_t value_length) {
struct property *prop;
k = pa_xstrndup(key, key_length);
v = pa_xstrndup(value, value_length);
k = pa_xstrndup(key, key_length);
v = pa_xstrndup(value, value_length);
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), k))) {
prop = pa_xnew(struct property, 1);
prop->key = k;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), k))) {
prop = pa_xnew(struct property, 1);
prop->key = k;
static int proplist_sethex(pa_proplist *p, const char *key, size_t key_length, const char *value, size_t value_length) {
struct property *prop;
static int proplist_sethex(pa_proplist *p, const char *key, size_t key_length, const char *value, size_t value_length) {
struct property *prop;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), k))) {
prop = pa_xnew(struct property, 1);
prop->key = k;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), k))) {
prop = pa_xnew(struct property, 1);
prop->key = k;
/** Will accept only valid UTF-8 */
int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) {
struct property *prop;
/** Will accept only valid UTF-8 */
int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) {
struct property *prop;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes) {
struct property *prop;
int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes) {
struct property *prop;
return -1;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
return -1;
if (!(prop = pa_hashmap_get(MAKE_HASHMAP(p), key))) {
prop = pa_xnew(struct property, 1);
prop->key = pa_xstrdup(key);
while ((prop = pa_hashmap_iterate(MAKE_HASHMAP(other), &state, NULL))) {
if (mode == PA_UPDATE_MERGE && pa_proplist_contains(p, prop->key))
while ((prop = pa_hashmap_iterate(MAKE_HASHMAP(other), &state, NULL))) {
if (mode == PA_UPDATE_MERGE && pa_proplist_contains(p, prop->key))