diff options
Diffstat (limited to 'src')
-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 |