mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-20 06:59:58 -05:00
pipewire: impl-metadata: replace open-coded vasprintf()
Simply use `vasprintf()` instead of manual `vsnprintf()` and `malloc()` calls.
This commit is contained in:
parent
3506b7534c
commit
2efccb3d01
1 changed files with 6 additions and 20 deletions
|
|
@ -577,31 +577,17 @@ int pw_impl_metadata_set_propertyf(struct pw_impl_metadata *metadata,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
int n = 0, res;
|
char *value;
|
||||||
size_t size = 0;
|
int res;
|
||||||
char *p = NULL;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
n = vsnprintf(p, size, fmt, args);
|
res = vasprintf(&value, fmt, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
if (n < 0)
|
if (res < 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
size = (size_t) n + 1;
|
res = pw_impl_metadata_set_property(metadata, subject, key, type, value);
|
||||||
p = malloc(size);
|
free(value);
|
||||||
if (p == NULL)
|
|
||||||
return -errno;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
n = vsnprintf(p, size, fmt, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
if (n < 0) {
|
|
||||||
free(p);
|
|
||||||
return -errno;
|
|
||||||
}
|
|
||||||
res = pw_impl_metadata_set_property(metadata, subject, key, type, p);
|
|
||||||
free(p);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue