mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
Add support for NULL strings
This commit is contained in:
parent
323c644084
commit
b589b7062d
4 changed files with 16 additions and 7 deletions
|
|
@ -401,9 +401,13 @@ do { \
|
|||
break; \
|
||||
case 's': \
|
||||
{ \
|
||||
char *strval = va_arg(args, char *) ? : ""; \
|
||||
size_t len = strlen(strval); \
|
||||
spa_pod_builder_string_len(builder, strval, len); \
|
||||
char *strval = va_arg(args, char *); \
|
||||
if (strval != NULL) { \
|
||||
size_t len = strlen(strval); \
|
||||
spa_pod_builder_string_len(builder, strval, len); \
|
||||
} \
|
||||
else \
|
||||
spa_pod_builder_none(builder); \
|
||||
break; \
|
||||
} \
|
||||
case 'S': \
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ static inline bool spa_pod_parser_can_collect(struct spa_pod *pod, char type)
|
|||
|
||||
switch (SPA_POD_TYPE(pod)) {
|
||||
case SPA_POD_TYPE_NONE:
|
||||
return type == 'T' || type == 'O' || type == 'V';
|
||||
return type == 'T' || type == 'O' || type == 'V' || type == 's';
|
||||
case SPA_POD_TYPE_BOOL:
|
||||
return type == 'b';
|
||||
case SPA_POD_TYPE_ID:
|
||||
|
|
@ -116,7 +116,9 @@ do { \
|
|||
*va_arg(args, double*) = SPA_POD_VALUE(struct spa_pod_double, pod); \
|
||||
break; \
|
||||
case 's': \
|
||||
*va_arg(args, char**) = SPA_POD_CONTENTS(struct spa_pod_string, pod); \
|
||||
*va_arg(args, char**) = \
|
||||
(pod == NULL || (SPA_POD_TYPE(pod) == SPA_POD_TYPE_NONE) \
|
||||
? NULL : SPA_POD_CONTENTS(struct spa_pod_string, pod)); \
|
||||
break; \
|
||||
case 'S': \
|
||||
{ \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue