diff options
| -rw-r--r-- | src/canberra-gtk.c | 1 | ||||
| -rw-r--r-- | src/common.c | 43 | ||||
| -rw-r--r-- | src/common.h | 5 | ||||
| -rw-r--r-- | src/proplist.c | 43 | ||||
| -rw-r--r-- | src/proplist.h | 5 | 
5 files changed, 49 insertions, 48 deletions
diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c index d3be082..70b8d7e 100644 --- a/src/canberra-gtk.c +++ b/src/canberra-gtk.c @@ -30,6 +30,7 @@  #include "canberra-gtk.h"  #include "common.h"  #include "malloc.h" +#include "proplist.h"  /**   * SECTION:canberra-gtk diff --git a/src/common.c b/src/common.c index 78cf921..39766e6 100644 --- a/src/common.c +++ b/src/common.c @@ -313,49 +313,6 @@ int ca_context_open(ca_context *c) {      return ret;  } -int ca_proplist_merge_ap(ca_proplist *p, va_list ap) { -    int ret; - -    ca_return_val_if_fail(p, CA_ERROR_INVALID); - -    for (;;) { -        const char *key, *value; - -        if (!(key = va_arg(ap, const char*))) -            break; - -        if (!(value = va_arg(ap, const char*))) -            return CA_ERROR_INVALID; - -        if ((ret = ca_proplist_sets(p, key, value)) < 0) -            return ret; -    } - -    return CA_SUCCESS; -} - -int ca_proplist_from_ap(ca_proplist **_p, va_list ap) { -    int ret; -    ca_proplist *p; - -    ca_return_val_if_fail(_p, CA_ERROR_INVALID); - -    if ((ret = ca_proplist_create(&p)) < 0) -        return ret; - -    if ((ret = ca_proplist_merge_ap(p, ap)) < 0) -        goto fail; - -    *_p = p; - -    return CA_SUCCESS; - -fail: -    ca_assert_se(ca_proplist_destroy(p) == CA_SUCCESS); - -    return ret; -} -  /**   * ca_context_change_props:   * @c: the context to set the properties on. diff --git a/src/common.h b/src/common.h index 2c82e64..1d93034 100644 --- a/src/common.h +++ b/src/common.h @@ -21,8 +21,6 @@    <http://www.gnu.org/licenses/>.  ***/ -#include <stdarg.h> -  #include "canberra.h"  #include "macro.h"  #include "mutex.h" @@ -48,9 +46,6 @@ typedef enum ca_cache_control {      CA_CACHE_CONTROL_VOLATILE  } ca_cache_control_t; -int ca_proplist_merge_ap(ca_proplist *p, va_list ap); -int ca_proplist_from_ap(ca_proplist **_p, va_list ap); -  int ca_parse_cache_control(ca_cache_control_t *control, const char *c);  #endif diff --git a/src/proplist.c b/src/proplist.c index e52a8f2..0eb26db 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -369,3 +369,46 @@ ca_bool_t ca_proplist_contains(ca_proplist *p, const char *key) {      return b;  } + +int ca_proplist_merge_ap(ca_proplist *p, va_list ap) { +    int ret; + +    ca_return_val_if_fail(p, CA_ERROR_INVALID); + +    for (;;) { +        const char *key, *value; + +        if (!(key = va_arg(ap, const char*))) +            break; + +        if (!(value = va_arg(ap, const char*))) +            return CA_ERROR_INVALID; + +        if ((ret = ca_proplist_sets(p, key, value)) < 0) +            return ret; +    } + +    return CA_SUCCESS; +} + +int ca_proplist_from_ap(ca_proplist **_p, va_list ap) { +    int ret; +    ca_proplist *p; + +    ca_return_val_if_fail(_p, CA_ERROR_INVALID); + +    if ((ret = ca_proplist_create(&p)) < 0) +        return ret; + +    if ((ret = ca_proplist_merge_ap(p, ap)) < 0) +        goto fail; + +    *_p = p; + +    return CA_SUCCESS; + +fail: +    ca_assert_se(ca_proplist_destroy(p) == CA_SUCCESS); + +    return ret; +} diff --git a/src/proplist.h b/src/proplist.h index f795e58..1359e2b 100644 --- a/src/proplist.h +++ b/src/proplist.h @@ -21,6 +21,8 @@    <http://www.gnu.org/licenses/>.  ***/ +#include <stdarg.h> +  #include "canberra.h"  #include "mutex.h" @@ -48,4 +50,7 @@ ca_bool_t ca_proplist_contains(ca_proplist *p, const char *key);  ca_prop* ca_proplist_get_unlocked(ca_proplist *p, const char *key);  const char* ca_proplist_gets_unlocked(ca_proplist *p, const char *key); +int ca_proplist_merge_ap(ca_proplist *p, va_list ap); +int ca_proplist_from_ap(ca_proplist **_p, va_list ap); +  #endif  | 
