pod: use {} as object delimited, like json

Use <> for sequence
This commit is contained in:
Wim Taymans 2018-08-30 09:53:29 +02:00
parent ff6a244d8f
commit 2631db14a8
7 changed files with 24 additions and 24 deletions

View file

@ -526,7 +526,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
char t = *format;
next:
switch (t) {
case '<':
case '{':
{
uint32_t type = va_arg(args, uint32_t);
uint32_t id = va_arg(args, uint32_t);
@ -539,7 +539,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
case '(':
spa_pod_builder_push_array(builder);
break;
case '{':
case '<':
{
uint32_t unit = va_arg(args, uint32_t);
spa_pod_builder_push_sequence(builder, unit);
@ -570,7 +570,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
spa_pod_builder_push_prop(builder, key, flags);
if (t == '<' || t == '[')
if (t == '{' || t == '[' || t == '<')
goto next;
n_values = -1;
@ -621,7 +621,7 @@ static inline void *spa_pod_builder_add(struct spa_pod_builder *builder, const c
}
#define SPA_POD_OBJECT(type,id,...) \
"<", type, id, ##__VA_ARGS__, ">"
"{", type, id, ##__VA_ARGS__, "}"
#define SPA_POD_STRUCT(...) \
"[", ##__VA_ARGS__, "]"
@ -630,7 +630,7 @@ static inline void *spa_pod_builder_add(struct spa_pod_builder *builder, const c
":", key, spec, value, ##__VA_ARGS__
#define SPA_POD_SEQUENCE(unit,...) \
"{", unit, ##__VA_ARGS__, "}"
"<", unit, ##__VA_ARGS__, ">"
#define SPA_POD_CONTROL(offset,type,...) \
".", offset, type, ##__VA_ARGS__

View file

@ -208,7 +208,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser,
while (format) {
switch (*format) {
case '<':
case '{':
if (pod == NULL || SPA_POD_TYPE(pod) != SPA_TYPE_Object)
return -EINVAL;
if (++parser->depth >= SPA_POD_MAX_DEPTH)
@ -226,7 +226,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser,
it = &parser->iter[parser->depth];
spa_pod_iter_init(it, pod, SPA_POD_SIZE(pod), sizeof(struct spa_pod_struct));
goto read_pod;
case ']': case '>':
case ']': case '}':
if (current != NULL)
return -EINVAL;
if (--parser->depth < 0)
@ -312,7 +312,7 @@ static inline int spa_pod_parser_get(struct spa_pod_parser *parser,
({ \
struct spa_pod_parser __p; \
spa_pod_parser_pod(&__p, pod); \
spa_pod_parser_get(&__p, "<", ##__VA_ARGS__, NULL); \
spa_pod_parser_get(&__p, "{", ##__VA_ARGS__, NULL); \
})
#ifdef __cplusplus