This allows us to build in environments that don't provide stpcpy(). This makes it necessary to traverse the string twice, but should not be noticeable in clients since this function is very unlikely to be part of a performance-critical path.
Signed-off-by: Arun Raghavan arun.raghavan@collabora.co.uk --- src/control/control.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/control/control.c b/src/control/control.c index a0965c6..7ff59e6 100644 --- a/src/control/control.c +++ b/src/control/control.c @@ -417,8 +417,10 @@ int snd_ctl_elem_add_enumerated(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, info->value.enumerated.names_ptr = (uintptr_t)buf; info->value.enumerated.names_length = bytes; p = buf; - for (i = 0; i < items; ++i) - p = stpcpy(p, names[i]) + 1; + for (i = 0; i < items; ++i) { + strcpy(p, names[i]); + p += strlen(names[i]) + 1; + }
err = ctl->ops->element_add(ctl, info);