[alsa-devel] [alsa-lib] [PATCH 1/4] control: Use strcpy() instead of stpcpy()

Arun Raghavan arun.raghavan at collabora.co.uk
Tue Jul 17 12:00:14 CEST 2012


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 at 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);
 
-- 
1.7.8.6



More information about the Alsa-devel mailing list